linux識別熱插拔硬碟

2021-10-06 00:02:52 字數 1479 閱讀 2460

在向伺服器新增scsi硬碟時,可以在伺服器不停機的情況下,讓系統識別出新插入的硬碟,具體步驟如下:

第一步:將新硬碟插到機器上;

第二步:以root使用者執行命令:

echo 「scsi add-single-device x y z u」 > /proc/scsi/scsi

其中:x是硬碟所在scsi控制器號(一般機器就乙個scsi控制器,所以就是0);

y是硬碟所在scsi通道的編號(一般單通道的就是0,多通道的要看是哪個通道了);

z是硬碟的scsi id號(可以通過具體插入的硬碟插槽來判斷);

u是硬碟的lun號(預設情況都是0)

插入第三塊硬碟,執行的命令是:

echo 「scsi add-single-device 0 0 2 0」 > /proc/scsi/scsi

如果x y z引數不正確,系統是不能識別新增的硬碟的,可以通過檢視/proc/scsi/scsi檔案的內容來判斷是否新增成功。新增好之後,這個檔案中會多出乙個裝置。這個檔案中包含系統識別到的所有scsi裝置的詳細資訊,包括廠商、型號、介質訪問型別等。

在執行上面的命令後檢視檔案/proc/scsi/scsi,發現多了乙個裝置(最後乙個):

attached devices:

host: scsi0 channel: 00 id: 00 lun: 00

vendor: maxtor model: atlasu320_18_sca rev: b120

type: direct-access ansi scsi revision: 03

host: scsi0 channel: 00 id: 01 lun: 00

vendor: ibm model: ic35l036ucdy10-0 rev: s28f

type: direct-access ansi scsi revision: 03

host: scsi0 channel: 00 id: 06 lun: 00

vendor: esg-shv model: sca hsbp m17 rev: 1.15

type: processor ansi scsi revision: 02

host: scsi0 channel: 00 id: 02 lun: 00

vendor: ibm model: ic35l146ucdy10-0 rev: s26b

type: direct-access ansi scsi revision: 03

然後再看/proc/partition檔案,發現已經識別出硬碟了!接下來就可以分割槽、格式化、使用了,由於使用parted分割槽工具不需要重新引導系統,所以整個新增硬碟的過程是不需要重啟系統的。

如果要移除硬碟,那麼可以這樣操作:

第一步:以root使用者執行命令:

echo 「scsi remove-single-device x y z u」 > /proc/scsi/scsi

x y z u的定義同上

第二步:物理上斷開硬碟的連線。

熱插拔操作

熱插拔事件的實際控制是通過一套儲存於 kset hotplug ops 結構的方法完成.struct kset hotplug ops 乙個指向這個結構的指標在 kset 結構的 hotplug ops 成員中.如果乙個給定的kobject 不包含在乙個 kset 中,核心搜尋整個層次 通過 par...

伺服器最大熱插拔硬碟數

熱插拔 hot plugging或hot swap 功能就是允許使用者在不關閉系統,不切斷電源的情況下取出和更換損壞的硬碟 電源或板卡等部件,從而提高了系統對災難的及時恢復能力 擴充套件性和靈活性等,例如一些面向高階應用的磁碟映象系統都可以提供磁碟的熱插拔功能。具體用學術的說法就是 熱替換 hot ...

linux 實現監聽熱插拔事件

在一些跑linux 系統的平台上,比如故事機,會支援sdcard 熱插拔的功能,也就是在sdcard 插入後,把sdcard mount到檔案系統中,sdcard拔出後移除。上層應用要怎麼知道這個事件呢,應用層可以註冊監聽uevent 事件即可,下面給出對應的實現。include include i...