再起動せずに新しく接続されたハードドライブをどのように検出できますか?

再起動せずに新しく接続されたハードドライブをどのように検出できますか?

少し問題があります。 RHEL 6.7(VM)で実行されているライブシステムがあり、VMware 6.5(私たちのグループでは管理されていません)があります。問題は、他のグループが仮想マシンの既存のディスク容量を拡張しようとしていることです。その後、通常どおりscanコマンドを実行して新しいディスクを検索しましたが、echo "- - -" > /sys/class/scsi_host/host0/scan何も起こりませんでした。彼らはsdbディスクに40Gを追加しましたが、100Gでなければなりませんでした。 VMで変更されたのを見ましたが、Linuxでは変更されませんでした。それでは、問題は何ですか?私が言ったように、これはライブシステムなので、再起動したくありません。

システムは次のとおりです。

# df -h /dev/mapper/itsmvg-bmclv
                       59G   47G  9.1G  84% /opt/bmc

# lsblk sdb                          8:16   0   60G  0 disk  └─itsmvg-bmclv (dm-2)      253:2    0   60G  0 lvm  /opt/bmc

# vgs   VG       #PV #LV #SN Attr   VSize  VFree    itsmvg     1   1   0 wz--n- 59.94g     0 

# pwd   /sys/class/scsi_host

# ll lrwxrwxrwx 1 root root 0 Nov 13 16:18 host0 -> ../../devices/pci0000:00/0000:00:07.1/host0/scsi_host/host0 lrwxrwxrwx 1 root root 0 Nov 13 16:19 host1 -> ../../devices/pci0000:00/0000:00:07.1/host1/scsi_host/host1 lrwxrwxrwx 1 root root 0 Nov 13 16:19 host2 -> ../../devices/pci0000:00/0000:00:15.0/0000:03:00.0/host2/scsi_host/host2

ベストアンサー1

上記のように、1行ですべての既存のホストを検索できます。

for host in /sys/class/scsi_host/*; do echo "- - -" | sudo tee $host/scan; ls /dev/sd* ; done

結果:

$ for host in /sys/class/scsi_host/*; do echo "- - -" | sudo tee $host/scan; ls /dev/sd* ; done
- - -
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdb1  /dev/sdc  /dev/sdc1
- - -
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdb1  /dev/sdc  /dev/sdc1


- - -
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdb1  /dev/sdc  /dev/sdc1
- - -
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdb1  /dev/sdc  /dev/sdc1
- - -
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdb1  /dev/sdc  /dev/sdc1  /dev/sdd  /dev/sdd1

最後の行は、我々がデバイスを発見したことを/dev/sdd示しています。

おすすめ記事