不需重启操作系统扩展Vmware磁盘
Tags: LinuxOSVMware WorkStation挂载磁盘
在虚拟机Vmware中我们有时候需要添加新的虚拟磁盘或给已有的虚拟磁盘扩容(expand),在新增磁盘或磁盘扩容后,Linux系统并不能马上识别到。也就是说你看不到磁盘空间变化(使用fdisk -l查看没有变化),这时我们可以通过重启系统(reboot)解决这个问题,但是很多时候,我们并不想在存储扩容时重启系统,因为这样会影响到现有的业务系统。那么为什么新增磁盘或磁盘扩容后,Linux系统识别不到呢?这个是因为连接存储设备的SCSI总线需要重新扫描,才能识别到这些新的存储设备。下面测试一下在添加新的虚拟磁盘或给已有虚拟磁盘扩容如何操作才能不用重启系统
方法一
如下所示,Vmware虚拟磁盘扩容后,使用fdisk -l看不到任何变化
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | [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 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | [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 |
注意:你实验遇到的情况可能跟上面有所细微不同,例如下面例子,而且我们怎么将系统总线标识(2:0:0:0 2:0:1:0)和对应的磁盘联系起来呢?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | [root@Zabbix ~]# cd /sys/class/scsi_disk/ [root@Zabbix scsi_disk]# ls 2:0:0:0 2:0:1:0 [root@Zabbix scsi_disk]# ls -l total 0 lrwxrwxrwx 1 root root 0 Dec 28 16:28 2:0:0:0 -> ../../devices/pci0000:00/0000:00:10.0/host2/target2:0:0/2:0:0:0/scsi_disk/2:0:0:0 lrwxrwxrwx 1 root root 0 Dec 28 16:28 2:0:1:0 -> ../../devices/pci0000:00/0000:00:10.0/host2/target2:0:1/2:0:1:0/scsi_disk/2:0:1:0 [root@Zabbix scsi_disk]# ll /dev/disk/by-path total 0 lrwxrwxrwx 1 root root 9 Jul 23 18:39 pci-0000:00:07.1-ata-1 -> ../../sr0 lrwxrwxrwx 1 root root 9 Jul 23 18:39 pci-0000:00:10.0-scsi-0:0:0:0 -> ../../sda lrwxrwxrwx 1 root root 10 Jul 23 18:39 pci-0000:00:10.0-scsi-0:0:0:0-part1 -> ../../sda1 lrwxrwxrwx 1 root root 10 Jul 23 18:39 pci-0000:00:10.0-scsi-0:0:0:0-part2 -> ../../sda2 lrwxrwxrwx 1 root root 9 Jul 23 18:39 pci-0000:00:10.0-scsi-0:0:1:0 -> ../../sdb lrwxrwxrwx 1 root root 10 Jul 23 18:39 pci-0000:00:10.0-scsi-0:0:1:0-part1 -> ../../sdb1 [root@Zabbix scsi_disk]# ls -l /sys/block total 0 lrwxrwxrwx 1 root root 0 Jul 23 18:39 dm-0 -> ../devices/virtual/block/dm-0 lrwxrwxrwx 1 root root 0 Jul 23 19:17 dm-1 -> ../devices/virtual/block/dm-1 lrwxrwxrwx 1 root root 0 Jul 23 19:17 dm-2 -> ../devices/virtual/block/dm-2 lrwxrwxrwx 1 root root 0 Jul 23 19:17 dm-3 -> ../devices/virtual/block/dm-3 lrwxrwxrwx 1 root root 0 Jul 23 18:39 sda -> ../devices/pci0000:00/0000:00:10.0/host2/target2:0:0/2:0:0:0/block/sda lrwxrwxrwx 1 root root 0 Jul 23 18:39 sdb -> ../devices/pci0000:00/0000:00:10.0/host2/target2:0:1/2:0:1:0/block/sdb lrwxrwxrwx 1 root root 0 Jul 23 18:39 sr0 -> ../devices/pci0000:00/0000:00:07.1/ata1/host0/target0:0:0/0:0:0:0/block/sr0 [root@Zabbix scsi_disk]# |