如何在虚拟机中为Linux添加新磁盘而不用重启
1、在虚拟机客户端扩充磁盘空间:在为 Linux 系统增加磁盘卷之前,您首先需要添加一块新的物理磁盘,或在 VMware vShere、VMware 工作站以及你使用的其它虚拟环境软件中进行设置来增加一块虚拟磁盘的容量。
2、检查磁盘空间:运行如下命令来检查当前磁盘空间大小。# df -h# fdisk -l如图可以看到,虽然我们已经在后端给其增加到 50 GB 的空间,但此时的总磁盘大小仍然为 10 GB。
3、扩展空间而无需重启虚拟机现在运行如下命令,通过重新扫描 SCSI (注:Small 觊皱筠桡Computer System Interface 蟛杆戛攉小型计算机系统接口)总线并添加 SCSI 设备,系统就可以扩展操作系统的物理卷磁盘空间,而且不需要重启虚拟机。# ls /sys/class/scsi_host/# echo "- - -" > /sys/class/scsi_host/host0/scan# echo "- - -" > /sys/class/scsi_host/host1/scan# echo "- - -" > /sys/class/scsi_host/host2/scan使用下面的命令来检查 SCSI 设备的名称,然后重新扫描 SCSI 总线。# ls /sys/class/scsi_device/# echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan# echo 1 > /sys/class/scsi_device/2\:0\:0\:0/device/rescan如下图所示,会重新扫描 SCSI 总线,随后我们在虚拟机客户端设置的磁盘大小会正常显示。
4、创建新磁盘分区:一旦在系统中可以看到扩展的磁盘空间,就可以运行如下命令来格式化您的磁盘以首疏扌熘创建一个新的分区。请按如下操作步骤来扩充您的物理磁盘卷。# fdisk /dev/sdaWelc泠贾高框ome to fdisk (util-linux 2.23.2) press the 'm' key for helpCommand (m for help): mCommand actiona toggle a bootable flagb edit bsd disklabelc toggle the dos compatibility flagd delete a partitiong create a new empty GPT partition tableG create an IRIX (SGI) partition tablel list known partition typesm print this menun add a new partitiono create a new empty DOS partition tablep print the partition tableq quit without saving changess create a new empty Sun disklabelt change a partition's system idu change display/entry unitsv verify the partition tablew write table to disk and exitx extra functionality (experts only)Command (m for help):
5、键入'p'来查看当前的分区表信息,然后键入'n'键来创建一个新的主分区,选择所有可用的扇区,使用't'命令改变磁盘类型为'Linux LVM',然后选择编码 '8e' 或者默认不选,它默认的类型编码为 '83'。现在输入 'w' 来保存分区表信息并且退出命令环境,如下示:Command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: Device or resource busy.The kernel still uses the old table.The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8)
6、创建物理卷:根据上述提示,运行'partprob'或'kpartx'命令以使分区表生效,然后使用如下的命令来创建新的物理卷。# partprobe# pvcreate /dev/sda3要检查新创建的卷,运行如下的命令可以看出新的物理卷是否已经被创建,是否可用。接下来,我们就可以使用这个新的物理卷来扩展 'CentOS' 卷组了,如下示:# pvdisplay# vgextend centos /dev/sda3
7、扩展逻辑卷:现在我们使用如下的命令扩展逻辑卷,以增加我们系统正使用的磁盘空间。# lvextend -L +40G /dev/mapper/centos-root一旦返回增加成功的消息,就可以运行如下命令来扩展您的逻辑卷大小。# xfs_growfs /dev/mapper/centos-root'/' 分区的大小已经成功的增加了,可以使用 'df' 命令来检查您磁盘驱动器的大小。如图示。