我在 vSphere 下将一个厚虚拟硬盘扩展至 80 GB,用于 CentOS 虚拟服务器。
我需要将逻辑卷扩展到允许的最大值。物理 sda2 目前只能识别 63.25 GB。
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
LogVol00 vg_cpanel02 -wi-ao---- 4.00g
LogVol01 vg_cpanel02 -wi-ao---- 59.25g
PV VG Fmt Attr PSize PFree
/dev/sda2 vg_cpanel02 lvm2 a--u 63.25g 0
答案1
简而言之,步骤是:
重新启动或重新扫描 scsi 总线:
echo '1' > /sys/class/scsi_disk/0\:0\:0\:0/device/rescan
识别正确的磁盘:
fdisk -l
这将类似于 /dev/sda 或 /dev/vda。
使用 fdisk 创建一个新分区并将其标记为 LVM(将 sdx 替换为正确的磁盘):
fdisk /dev/[sdx]
Press p to print the partition table to identify the number of partitions.
Press n to create a new primary partition.
Press p for primary.
Press a number for the partition number, depending on the output of the partition table print.
Press Enter two times.
Press t to change the system's partition ID.
Press the number of the just created partition.
Type 8e to change the Hex Code of the partition for Linux LVM.
Press w to write the changes to the partition table.
创建一个新的 PV(将 sdx 和 0 替换为正确的磁盘和分区):
pvcreate /dev/[sdx][0]
使用新的 PV 扩展 VG:
vgextend vg_cpanel02 /dev/[sdx][0]
使用所有可用大小扩展正确的 LV(确保这是正确的 LV!):
lvextend -l +100%FREE /dev/vg_cpanel02/LogVol00
现在,LV 的大小将被调整,唯一剩下的就是调整文件系统的大小。您可以使用 xfs_grow 或 resize2fs 来执行此操作,具体取决于您使用的文件系统。
VMWare 文档中对扩展磁盘进行了简短的解释:
CentOS 中 LVM 的完整文档在这里:
https://www.centos.org/docs/5/html/Cluster_Logical_Volume_Manager/index.html
请小心。如果您不确定自己是否在做正确的事情,请在按 Enter 之前重新阅读命令并在测试环境中进行测试!
答案2
有时您需要进行不同的扫描来检测新的调整大小的磁盘而无需重新启动
扫描装置
#list devices
ls /sys/class/scsi_device/
#rescan device
echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan
#another type rescan device
echo "- - -" > /sys/class/scsi_host/host#/scan
如果可以重新启动机器,ps rebbot 是最好的。
扫描后dmesg
学校会向您显示有关更改的信息
调整磁盘大小
扫描列 PFree 后应显示可用空间
# and you now schoul have option resize lvm
lvextend -l +100%FREE /dev/vg_cpanel02/LogVol01
# and resize file system
resize2fs /dev/vg_cpanel02/LogVol01