少し問題があります。 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
示しています。
答え2
これはすべてのデバイスを更新するのに役立ちました。 (実行しやすい命令で)
echo "- - -" | tee /sys/class/scsi_host/host*/scan
3つのダッシュは、チャネル、SCSIターゲットID、LUNなど、すべての項目を再検索するワイルドカードとして機能します。
答え3
接続されている新しいハードドライブが表示されるようにホストデバイスを検索するために実行する必要があるコマンドは次のとおりです。
echo "- - -" >> /sys/class/scsi_host/host_$i/scan
$i はホスト番号です。
答え4
また、実行を試すことができます
partprobe
このコマンドは、パーティション表の変更を確認し、それをオペレーティングシステムに通知します。