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
[…]