Vmware擴展磁盤如何不需重啟系統


    在虛擬機Vmware中我們有時候需要添加新的虛擬磁盤或給已有虛擬磁盤擴容(expand),在新增磁盤或磁盤擴容后,Linux系統並不能馬上識別到。也就是說你看不到磁盤空間變化(使用fdisk -l查看),這時我們可以通過重啟系統(reboot)解決這個問題,但是很多時候,我們並不想在存儲擴容時重啟系統,因為這樣會影響到現有的業務系統。那么為什么新增磁盤或磁盤擴容后,Linux系統識別不到呢?這個是因為連接存儲設備的SCSI總線需要重新掃描,才能識別到這些新的存儲設備。下面測試一下在添加新的虛擬磁盤或給已有虛擬磁盤擴容如何操作才能不用重啟系統

1:Vmware虛擬磁盤擴容

如下所示,Vmware虛擬磁盤擴容后,使用fdisk -l看不到任何變化

[root@localhost ~]# fdisk -l
 
Disk /dev/sda: 171.7 GB, 171798691840 bytes
255 heads, 63 sectors/track, 20886 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14       15665   125724690   8e  Linux LVM
/dev/sda3           15666       15795     1044225   83  Linux
/dev/sda4           15796       20886    40893457+  83  Linux
 
Disk /dev/dm-0: 126.6 GB, 126600871936 bytes
255 heads, 63 sectors/track, 15391 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
Disk /dev/dm-0 doesn't contain a valid partition table
 
Disk /dev/dm-1: 2113 MB, 2113929216 bytes
255 heads, 63 sectors/track, 257 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
Disk /dev/dm-1 doesn't contain a valid partition table

 

clip_image001

 

方法1:echo 1 > /sys/class/scsi_device/device/rescan

[root@localhost ~]# cd /sys/class/scsi_disk/
[root@localhost scsi_disk]# ls
0:0:0:0
[root@localhost scsi_disk]# cd 0\:0\:0\:0/
[root@localhost 0:0:0:0]# echo '1' > device/rescan 
[root@localhost 0:0:0:0]# fdisk -l
 
Disk /dev/sda: 173.9 GB, 173946175488 bytes
255 heads, 63 sectors/track, 21147 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14       15665   125724690   8e  Linux LVM
/dev/sda3           15666       15795     1044225   83  Linux
/dev/sda4           15796       20886    40893457+  83  Linux
 
Disk /dev/dm-0: 126.6 GB, 126600871936 bytes
255 heads, 63 sectors/track, 15391 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
Disk /dev/dm-0 doesn't contain a valid partition table
 
Disk /dev/dm-1: 2113 MB, 2113929216 bytes
255 heads, 63 sectors/track, 257 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
Disk /dev/dm-1 doesn't contain a valid partition table

clip_image002

 

方法2:重新掃描特定的 SCSI Device

echo 1 > /sys/block/$DEVICE/device/rescan 用sda, sdb, sdc等替換$DEVICE

[root@localhost ~]# echo 1 > /sys/block/sda/device/rescan

2:Vmware新增虛擬磁盤

首先找到您的主機總線編號

[root@localhost ~]# grep mpt /sys/class/scsi_host/host?/proc_name
 
/sys/class/scsi_host/host0/proc_name:mptspi

使用下面命令掃描SCSI總線

[root@localhost ~]# echo "- - -" > /sys/class/scsi_host/host0/scan

參考資料:

http://thornelabs.net/2012/08/22/linux-rescan-scsi-bus.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM