Điểm:0

Điều gì có thể ngăn trao đổi nóng hdd trong linux ahci?

lá cờ pk

Tôi đang xé tóc ra về vấn đề này.

Tôi muốn thêm một khoang trao đổi nóng vào máy chủ của mình để dễ dàng thêm và xóa ổ cứng, chẳng hạn như để dễ dàng xoay vòng các bản sao lưu ngoài trang web. Bo mạch chính được đề cập là bo mạch chủ Asrock J4105-ITX với bốn cổng SATA riêng, được phân chia giữa ASM1062 và bộ điều khiển SATA của bộ xử lý Intel. Cả hai đều hoạt động tốt và sử dụng ahci mô-đun hạt nhân. Có một tùy chọn trao đổi nóng trong BIOS nhưng dường như nó không có tác dụng.

Nếu một ổ đĩa bị ngắt kết nối (thông qua tiếng vang 1 > /sys/block/sdX/thiết bị/xóa hoặc bằng cách tháo ổ đĩa một cách thô bạo), sẽ không có thiết bị mới nào được nhận dạng sau khi kết nối lại. Tôi đã thử buộc quét lại (tiếng vang "- - -" > /sys/class/scsi_host/host<n>/scan) nhưng không có kết quả, cổng SATA thực tế không thể sử dụng được nữa cho đến lần khởi động lại tiếp theo. Tôi cũng đã thử một số lệnh cực đoan hơn mà không gặp may:

tiếng vang 1 > /sys/class/scsi_device/2:0:0:0/device/reset
tiếng vang 1 > /sys/devices/pci0000:00/0000:00:1f.2/rescan
tiếng vang 1 > /sys/devices/pci0000:00/0000:00:1f.2/reset

(được lấy từ Làm cách nào để Linux nhận ra ổ đĩa SATA/dev/sda mới mà tôi đã trao đổi nóng mà không cần khởi động lại?)

"Được rồi, có thể chipset không hỗ trợ trao đổi nóng hoặc BIOS bị rối." Vì vậy, tôi đã đặt hàng hai Bộ điều khiển PCIe SATA (một bộ sử dụng ASM1064, bộ còn lại sử dụng Marvell 88SE9215). Cả hai đều có cùng một vấn đề, mặc dù những người mua khác nói rằng tính năng hoán đổi nóng phù hợp với họ, vì vậy tôi đoán vấn đề có liên quan đến phần mềm (cài đặt của tôi? Tôi đang chạy Arch OS, được cập nhật thường xuyên).

Một số thông tin hy vọng hữu ích:

$ uname -a
Tên máy chủ Linux 5.14.14-arch1-1 #1 SMP PREEMPT Thứ tư, ngày 20 tháng 10 năm 2021 21:35:18 +0000 x86_64 GNU/Linux

$dmesg | grep ahci
[ 0.447450] ahci 0000:00:12.0: phiên bản 3.0
[ 0.447842] ahci 0000:00:12.0: Đã đặt cờ SSS, tắt tính năng quét xe buýt song song
[ 0.457970] ahci 0000:00:12.0: AHCI 0001.0301 32 khe 2 cổng 6 Gbps 0x3 impl chế độ SATA
[ 0.457981] ahci 0000:00:12.0: flags: 64bit ncq sntf stag pm clo only pmp pio slum part sxs deso sadm sds apst 
[ 0,458750] máy chủ scsi0: ahci
[ 0,459204] máy chủ scsi1: ahci
[ 0.469788] ahci 0000:01:00.0: AHCI 0001.0000 32 khe 4 cổng 6 Gbps 0xf impl chế độ SATA
[ 0.469801] ahci 0000:01:00.0: flags: 64bit ncq sntf chỉ dẫn pmp fbs pio slum part sxs 
[ 0,470767] máy chủ scsi2: ahci
[ 0,471203] máy chủ scsi3: ahci
[ 0,471562] máy chủ scsi4: ahci
[ 0,471904] máy chủ scsi5: ahci
[ 0.472341] ahci 0000:04:00.0: Đã đặt cờ SSS, tắt tính năng quét xe buýt song song
[ 0.472376] ahci 0000:04:00.0: AHCI 0001.0200 32 khe cắm 2 cổng 6 Gbps 0x3 impl chế độ SATA
[ 0.472382] ahci 0000:04:00.0: flags: 64bit ncq sntf stag led clo pmp pio slum part ccc 
[ 0,472803] máy chủ scsi6: ahci
[ 0.473011] scsi host7: ahci

$ lspci -v
[…]
01:00.0 Bộ điều khiển SATA: Marvell Technology Group Ltd. 88SE9215 Bộ điều khiển PCIe 2.0 x1 4 cổng SATA 6 Gb/s (rev 11) (prog-if 01 [AHCI 1.0])
    Hệ thống con: Marvell Technology Group Ltd. 88SE9215 Bộ điều khiển PCIe 2.0 x1 4 cổng SATA 6 Gb/s
    Cờ: bus master, devsel nhanh, độ trễ 0, IRQ 127
    Các cổng I/O ở e050 [size=8]
    Các cổng I/O ở e040 [size=4]
    Các cổng I/O ở e030 [size=8]
    Cổng I/O ở e020 [size=4]
    Cổng I/O tại e000 [size=32]
    Bộ nhớ ở a1340000 (32-bit, không thể tìm nạp trước) [size=2K]
    ROM mở rộng ở a1300000 [đã tắt] [size=256K]
    Khả năng: [40] Quản lý năng lượng phiên bản 3
    Khả năng: [50] MSI: Enable+ Count=1/1 Maskable- 64bit-
    Khả năng: [70] Express Legacy Endpoint, MSI 00
    Khả năng: [e0] SATA HBA v0.0
    Khả năng: [100] Báo cáo lỗi nâng cao
    Trình điều khiển hạt nhân đang sử dụng: ahci
[…]
Điểm:0
lá cờ pk

Cuối cùng tôi đã tìm ra lý do: Việc điều chỉnh powertop của tôi quá mạnh!

Bởi vì máy chủ này hoạt động 24/7 và điện khá đắt ở đây nên tôi đã thêm một dịch vụ systemd để tự động điều chỉnh tất cả các tùy chọn của powertop:

$ con mèo /etc/systemd/system/powertop.service
[Đơn vị]
Mô tả=Điều chỉnh Powertop

[Dịch vụ]
Loại=oneshot
RemainafterExit=có
ExecStart=/usr/bin/powertop --auto-tune

[Cài đặt]
WantedBy=multi-user.target

Điều này cũng giống như mở powertop tui và đặt tất cả các tùy chọn thành 'Tốt'. Bit quan trọng là bốn dòng về PM thời gian chạy cho cổng ataX:

   PM thời gian chạy tốt cho cổng ata3 của thiết bị PCI: Marvell Technology Group Ltd. 88SE9215 PCIe 2.0 x1 4 cổng SATA 6 Gb/s Controller
   PM thời gian chạy không tốt cho cổng ata4 của thiết bị PCI: Marvell Technology Group Ltd. 88SE9215 Bộ điều khiển PCIe 2.0 x1 4 cổng SATA 6 Gb/s
   PM thời gian chạy tốt cho cổng ata5 của thiết bị PCI: Marvell Technology Group Ltd. 88SE9215 PCIe 2.0 x1 Bộ điều khiển 4 cổng SATA 6 Gb/s
>> PM thời gian chạy tốt cho cổng ata6 của thiết bị PCI: Marvell Technology Group Ltd. 88SE9215 PCIe 2.0 x1 4 cổng SATA 6 Gb/s Controller
   PM thời gian chạy tốt cho thiết bị PCI Marvell Technology Group Ltd. 88SE9215 Bộ điều khiển 4 cổng SATA 6 Gb/s PCIe 2.0 x1

Họ thực hiện echo 'auto' > '/sys/bus/pci/devices/0000:01:00.0/ata4/power/control'; điều này rõ ràng khiến thẻ SATA không bao giờ nhận ra thiết bị mới trên cổng!

Chỉ sau khi thiết lập quyền lực/kiểm soát đến trên (tùy chọn 'Xấu' theo powertop) sau khi thực hiện thì thẻ có tìm thiết bị mới không tiếng vang 0 0 0 | sudo tee /sys/class/scsi_host/host*/scan

Điều duy nhất tôi thiếu là quét lại tự động vì máy tính để bàn của tôi sẽ tự động tìm thiết bị mới mà không cần ghi vào máy chủX/quét, nhưng bây giờ tôi có thể sống với điều này. Đây là một trải nghiệm cực kỳ khó chịu vì vậy tôi hy vọng điều này có thể giúp ai đó gặp phải vấn đề tương tự.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.