Câu hỏi Đẩy thiết bị SATA vào Linux


Làm thế nào để đẩy mạnh thiết bị SATA trong Linux? Tôi biết lệnh eject có thể làm điều đó cho thiết bị usb:

eject usbDevicePath 

Liệu nó làm việc cùng một cách cho các thiết bị SATA? Nó sẽ đồng bộ cache, và tắt nguồn đúng thiết bị SATA?


4
2018-05-28 09:34


gốc




Các câu trả lời:


Giải pháp là quay xuống ổ đĩa thông qua phần mềm trước khi tắt và rút nó ra. Cách tốt nhất để làm điều này là với một tiện ích gọi là scsiadd. Chương trình này có thể thêm và loại bỏ các ổ đĩa cho hệ thống con SCSI của Linux. Ngoài ra, với các hạt nhân khá hiện đại, việc xóa thiết bị sẽ đưa ra lệnh dừng, đó chính xác là những gì chúng tôi đang tìm kiếm.

Chạy:

$ sudo scsiadd -p

nên in một cái gì đó như:

Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: SAMSUNG HD300LJ  Rev: ZT10
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi4 Channel: 00 Id: 00 Lun: 00
  Vendor: LITE-ON  Model: DVDRW LH-20A1L   Rev: BL05
  Type:   CD-ROM                           ANSI  SCSI revision: 05
Host: scsi5 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: WDC WD10EACS-00Z Rev: 01.0
  Type:   Direct-Access                    ANSI  SCSI revision: 05

Xác định ổ đĩa bạn muốn xóa và sau đó phát hành:

$ sudo scsiadd -r host channel id lun

thay thế các giá trị tương ứng từ đầu ra scsiadd -p. Ví dụ, nếu tôi muốn loại bỏ "WDC WD10EACS-00Z", tôi sẽ chạy:

$ sync & sudo scsiadd -r 5 0 0 0

Nếu mọi thứ hoạt động, scsiadd sẽ in:

Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: SAMSUNG HD300LJ  Rev: ZT10
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi4 Channel: 00 Id: 00 Lun: 00
  Vendor: LITE-ON  Model: DVDRW LH-20A1L   Rev: BL05
  Type:   CD-ROM                           ANSI  SCSI revision: 05

Bạn có thể kiểm tra lại phần cuối của dmesg. Bạn nên thấy:

[608188.235216] sd 5:0:0:0: [sdb] Synchronizing SCSI cache
[608188.235362] sd 5:0:0:0: [sdb] Stopping disk
[608188.794296] ata6.00: disabled

Tại thời điểm này, ổ đĩa được loại bỏ khỏi hệ thống con SCSI của Linux và nó không được quay. Bạn có thể rút phích cắm và tắt an toàn.


9
2018-05-28 09:37



Cảm ơn bạn, điều này hoạt động. Đã kiểm tra, scsiadd không đồng bộ hóa bộ nhớ cache trước khi tắt vì vậy chúng tôi cần thực hiện thủ công. Ngoài ra, ổ cứng WD của tôi đã tắt sau ~ 10 giây sau khi chạy lệnh. - Sergei


Câu trả lời này hữu ích nhất: sau khi umounting, dừng LVM, LUKS, vv bạn làm:

echo 1 >/sys/block/sdX/device/delete

3
2018-06-19 08:39





lệnh mount có thể giúp bạn, xem người đàn ông gắn kết

Vì vậy, bạn cần phải 'đẩy' thiết bị đó, chỉ cần kiểm tra xem thiết bị đó là gì, bạn có thể làm điều đó với:

# sudo df -lh
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       145G   50G   87G  37% /

Vì vậy, nếu bạn muốn 'eject' / dev / sda1 chỉ cần sử dụng:

sudo umount /dev/sda1

Ofcourse nếu thiết bị được sử dụng / bận nó sẽ không cho phép bạn làm điều đó, như sda1 là nơi hệ điều hành của tôi là: d


1
2018-05-28 09:42