vmware虚拟机磁盘扩容centos7虚拟机磁盘
vmware添加磁盘的方式给centos7系统扩容
·
vmware扩容centos7虚拟机磁盘
关闭虚拟机,添加一个要扩容的磁盘
磁盘类型跟原有磁盘类型保持一致
本篇介绍如何扩容“/”目录
- 查看文件系统
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 12G 0 12G 0% /dev
tmpfs 12G 0 12G 0% /dev/shm
tmpfs 12G 12M 12G 1% /run
tmpfs 12G 0 12G 0% /sys/fs/cgroup
/dev/mapper/centos-root 44G 44G 81M 100% / ######后面需要使用
/dev/sda1 1014M 151M 864M 15% /boot
tmpfs 2.4G 0 2.4G 0% /run/user/0
- 查看分区,使用命令** fdisk -l **可以看到新加入的磁盘在 /dev/sdb 进行展示;
[root@localhost /]# fdisk -l
磁盘 /dev/sda:268.4 GB, 268435456000 字节,524288000 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00098152
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 104857599 51379200 8e Linux LVM
磁盘 /dev/sdb:322.1 GB, 322122547200 字节,629145600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xce68971a
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 629145599 314571776 83 Linux
磁盘 /dev/mapper/centos-root:321.0 GB, 321048805376 字节,627048448 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-swap:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
- 输入“p” 回车 ,#查看已分区数量;
- 输入“n”回车, #新增一个分区;
- 输入“p”回车,#使用默认分区号;
- 在起始扇区处回车(使用默认值);
- 在弹出last后回车
- 接着在输入“p”查看当前分区信息;
- 输入“w”写入磁盘信息并保存;
- 重启虚机格式化新建分区;
[root@localhost ~]# init 6 重启虚拟机
- vgdisplay
[root@localhost /]# vgdisplay
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 348.99 GiB
PE Size 4.00 MiB
Total PE 89342
Alloc PE / Size 77824 / 304.00 GiB
Free PE / Size 11518 / 44.99 GiB
VG UUID Sgtg4e-RfAY-ibF8-diCD-Lgqt-NPy1-f3K1sQ
- 初始化建立的分区;
pvcreate /dev/sdb1
- 把分区加入虚拟卷;
[root@localhost ~]# vgextend centos /dev/sdb1
Volume group "centos" successfully extended #命令执行结果,卷组“centos”成功扩展
- 再 lvextend -L +19G /dev/mapper/centos-root扩展卷组容量,磁盘 /dev/mapper/centos-root使用fdisk -l查询的结果;
[root@localhost ~]# lvextend -L +19G /dev/mapper/centos-root
Insufficient free space: 5120 extents needed, but only 5119 available
- xfs_growfs /dev/mapper/centos-root 扩展磁盘空间;
[root@localhost ~]# xfs_growfs /dev/mapper/centos-root
- 接下来就是挂载,df -h查看未挂载前磁盘情况
- 这边无法直接进行挂载,因为磁盘系统格式非ext4;
- 使用命令mkfs.ext4 /dev/sdb1 对硬盘进行格式化,格式为ext4
[root@localhost ~]# mkfs.ext4 /dev/sdb1
- mount对磁盘进行挂载
[root@localhost ~]# mount /dev/sdb1 /
pvs命令
pvs命令输出可以看出,系统中存在三个物理卷(PV):
/dev/sda2: 属于名为centos的卷组(VG),大小为49GB,没有空闲空间。
/dev/sdb1: 不属于任何卷组,大小为300GB,全部空闲。
[unknown]: 属于名为centos的卷组,大小为300GB,全部空闲。这个物理卷的设备路径显示为[unknown],表明系统无法识别或找到与之关联的实际设备。
结合你之前执行vgextend centos /dev/sdb1命令时遇到的错误,可以推测:
卷组centos原本包含两个物理卷:/dev/sda2和另一个UUID为h9gDN6-wvlC-CQMY-wwte-r5XH-3Lh8-QTPkYg的设备。
但是现在系统无法找到UUID为h9gDN6-wvlC-CQMY-wwte-r5XH-3Lh8-QTPkYg的设备,因此在pvs命令的输出中将其显示为[unknown]。
为了解决这个问题,你可以尝试以下步骤:
1、使用pvscan命令扫描系统中的所有物理卷。这个命令会强制LVM重新扫描设备,有时可以发现之前无法识别的设备。
2、如果pvscan命令没有找到丢失的设备,可以尝试使用vgreduce --removemissing centos命令从卷组centos中移除丢失的物理卷。这个命令会将卷组的元数据更新为不再包含丢失的物理卷。
3、使用vgextend centos /dev/sdb1命令将/dev/sdb1加入到卷组centos中。
4、使用pvs命令再次检查物理卷的状态,确认/dev/sdb1已经成功加入到卷组centos。
再出使用pvs命令
现在运行pvs命令的输出来看,问题已经解决。让我们来分析一下:
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <49.00g 0
/dev/sdb1 centos lvm2 a-- <300.00g <300.00g
/dev/sda2物理卷属于卷组centos,大小为49GB,没有空闲空间。
/dev/sdb1物理卷现在也属于卷组centos,大小为300GB,全部空闲。
这表明你成功地将/dev/sdb1物理卷添加到了centos卷组中。卷组centos现在总共有大约349GB的空间,其中300GB是空闲的。
你可以使用这个新添加的空间来创建新的逻辑卷(LV),或者扩展现有的逻辑卷。例如,如果你想创建一个名为data的新逻辑卷,大小为100GB,可以使用以下命令:
lvcreate -L 100G -n data centos
这个命令会在centos卷组中创建一个名为data,大小为100GB的新逻辑卷。
如果你想扩展一个现有的逻辑卷,例如将名为root的逻辑卷扩展到100GB,可以使用以下命令:
lvextend -L 100G /dev/mapper/centos-root
这个命令会将/dev/mapper/centos-root 逻辑卷的大小扩展到100GB。
扩展逻辑卷后,你还需要使用相应的文件系统工具(如resize2fs或xfs_growfs)来扩展逻辑卷上的文件系统,以便实际使用新增加的空间。
例如,如果/dev/mapper/centos-root 上使用的是ext4文件系统,你可以使用以下命令来扩展文件系统:
resize2fs /dev/centos/root
fsck命令
可以尝试以下步骤来修复文件系统:
首先,运行fsck(文件系统一致性检查)来检查和修复文件系统的错误:
fsck -y /dev/mapper/centos-root
-y选项表示自动修复错误。根据文件系统的大小和错误数量,这个过程可能需要一些时间。
如果fsck成功修复了错误,再次尝试使用resize2fs扩展文件系统:
resize2fs /dev/mapper/centos-root
如果fsck无法修复错误,或者resize2fs在修复后仍然失败,你可能需要考虑从备份中恢复文件系统。如果你没有最近的备份,你可以尝试使用一些高级的数据恢复工具,如testdisk或photorec来恢复尽可能多的数据。
如果数据恢复不可行,你可能需要重新格式化逻辑卷并重新安装系统。在这种情况下,你将丢失所有未备份的数据。
执行fsck -y /dev/mapper/centos-root查看文件系统类型
[root@localhost ~]# fsck -y /dev/mapper/centos-root
fsck,来自 util-linux 2.23.2
/sbin/fsck.xfs: XFS file system.
xfs_growfs 命令
从fsck的输出来看,你的根文件系统似乎是XFS文件系统,而不是我之前假设的ext4。对于XFS文件系统,fsck命令实际上并不执行任何修复操作,它只是检查文件系统是否是XFS。
对于XFS文件系统,你应该使用xfs_repair工具来尝试修复文件系统:
xfs_repair /dev/mapper/centos-root
如果xfs_repair成功修复了文件系统,你可以再次尝试使用xfs_growfs来扩展文件系统:
xfs_growfs /dev/mapper/centos-root
请注意,与ext4不同,XFS文件系统不需要卸载就可以扩展,所以你可以在挂载状态下使用xfs_growfs。
如果xfs_repair无法修复文件系统,情况可能会比较复杂。XFS是一个日志文件系统,它使用日志来保证元数据操作的一致性。如果日志损坏,文件系统可能会进入一种不一致的状态。
在这种情况下,你可能需要使用xfs_repair的-L选项来重建文件系统的日志:
xfs_repair -L /dev/mapper/centos-root
结束
最后使用df -h 查看操作结果
[root@localhost /]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 12G 0 12G 0% /dev
tmpfs 12G 0 12G 0% /dev/shm
tmpfs 12G 12M 12G 1% /run
tmpfs 12G 0 12G 0% /sys/fs/cgroup
/dev/mapper/centos-root 299G 44G 256G 15% /
/dev/sda1 1014M 151M 864M 15% /boot
tmpfs 2.4G 0 2.4G 0% /run/user/0
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)