CentOS 5 VMがあり、VMディスクを10Gから20Gに増やしたところですが、再起動しないとfdiskで新しいディスクサイズを確認できません。
試してみましecho 1 > /sys/block/sda/device/rescan
たが、新しいサイズが見えることを示しているようですが、fdiskで新しいパーティションを作成すると、ディスクはまだ10Gとして表示されます。
何か案は?
CentOS 5 VMがあり、VMディスクを10Gから20Gに増やしたところですが、再起動しないとfdiskで新しいディスクサイズを確認できません。
試してみましecho 1 > /sys/block/sda/device/rescan
たが、新しいサイズが見えることを示しているようですが、fdiskで新しいパーティションを作成すると、ディスクはまだ10Gとして表示されます。
何か案は?
回答:
SCSIバスに再スキャンコマンドを発行する必要があります。
VMwareでは、SCSIコントローラーが通常とは異なる場所で見つかる場合があります。最初にそれを見つけます:
find /sys -iname 'scan'
戻ってきた私にとって
/sys/devices/pci0000:00/0000:00:07.1/host0/scsi_host/host0/scan
/sys/devices/pci0000:00/0000:00:07.1/host1/scsi_host/host1/scan
/sys/devices/pci0000:00/0000:00:10.0/host2/scsi_host/host2/scan
次に、rescanコマンドを発行します
echo "- - -" >/sys/devices/pci0000:00/0000:00:07.1/host0/scsi_host/host0/scan
echo "- - -" >/sys/devices/pci0000:00/0000:00:07.1/host0/scsi_host/host1/scan
echo "- - -" >/sys/devices/pci0000:00/0000:00:10.0/host0/scsi_host/host2/scan
それが役立つはずです。:)
ls /sys/class/scsi_host
多分速いです。
SLES 11サーバーで同様の問題に対処する必要がありました。LVMはrawディスクで構築され、VMWare ESXiで実行されています
# pvcreate /dev/sdd; vgextend ....
しばらくしてLVMサイズを増やす必要がありましたが、以前と同様に補助ディスクを追加してからpvcreate + vgextendを追加しませんでしたが、既存のディスク(この場合は/ dev / sddのサイズを増やすことを選択しました)。VMWareの増加を行った後、私は
# rescan-scsi-bus.sh
しかし、pvdisplayは「古い」ディスクサイズを表示し続けていました。する必要がありました
# echo 1 > /sys/block/sdd/device/rescan
カーネルが/ dev / sddの新しいディスクサイズを学習するため
echo 1 > /sys/block/sda/device/rescan
CentOSで私のために働いていた
更新: Centos 6-アクティブなディスクのパーティションテーブルをオンラインで更新できない、Centos 7- growpartで最後のパーティションを拡張するか、fdiskで新しいパーティションを作成し、partprobeで再起動せずに表示することができます。おそらくubuntu / debianでも同じです。-2.6カーネルがアクティブディスクのパーティションテーブルのオンライン再読み込みのサポートを開始した後のある時点で。質問はCentos 5向けであるため、私は仕方がないと言います。
パーティションを使用している場合は、新しいスペースを使用するために再起動する必要があります。これを回避する方法が見つかりませんでした。誰かが私に知らせた場合。
ただし、ディスク上の最後のパーティションを拡張するか、新しいパーティションを追加した後、再起動する必要があります。前に再起動する意味がありません。
再スキャン後に最初に気付くのは、fdiskおよびlsblkのディスクサイズが大きいことです。表示されない場合は、これらのecho 1およびecho---コマンドを使用する必要があります。
より多くのスペースが表示されたら、パーティションを拡張/追加し、再起動し、vgを拡張し、lvとfsを拡張します。
再起動を回避する場合は、sda1 / 2/3にパーティション化せずに、raw sda / b / cディスクをボリュームグループに割り当てる必要があります。その後、再起動する必要はありません。
LinuxがLVMから起動できなかったとき、パーティション分割が必要でしたが、今ではできます。
lsblkを実行すると、パーティションまたはlvmを使用しているかどうかに応じてパーティションまたはlvmsが表示されます。lvmを使用しない場合はすべてのパーツを、パーティションを使用しない場合はすべてのlvmsを使用できます。次に例を示します。
root@srv4 ~ $ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 7.3T 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 7.3T 0 part
├─vg_srv4-LogVol13 (dm-0) 253:0 0 7.1T 0 lvm /
├─vg_srv4-LogVol05 (dm-1) 253:1 0 100G 0 lvm /var/log
├─vg_srv4-LogVol04 (dm-2) 253:2 0 20G 0 lvm /var
├─vg_srv4-LogVol01 (dm-5) 253:5 0 20G 0 lvm /opt
├─vg_srv4-LogVol00 (dm-6) 253:6 0 20G 0 lvm /home
├─vg_srv4-LogVol03 (dm-7) 253:7 0 20G 0 lvm /usr
└─vg_srv4-LogVol02 (dm-8) 253:8 0 8G 0 lvm /tmp
既存のディスクへの変更を検出するには:
echo 1 > /sys/class/block/sdX/device/rescan
新しいディスクを検出するには:
echo 1 > /sys/class/scsi_device/X:X:X:X/device/block/device/rescan
最初の状況でXを見つけるには、を使用できますfdisk -l
。
https://kerneltalks.com/disk-management/how-to-rescan-disk-in-linux-after-extending-vmware-disk/