虚拟机扩容
背景:虚拟机装 Linux 时硬盘空间设置的不够用,所以需要再加点容量
30 G -> 80 G
-
首先通过虚拟机来扩展硬盘
note: 需要关闭 Linux 系统;需要删除之前的快照
-
启动虚拟机,root用户操作
查看分区情况:
[root@xxxx ~]# fdisk -l 磁盘 /dev/sda:85.9 GB, 85899345920 字节,167772160 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x000c4d98 设备 Boot Start End Blocks Id System /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 62914559 30407680 8e Linux LVM
可以看到系统空间增加了是85.9 GB
-
设置分区
[root@xxxx ~]# fdisk /dev/sda ... m 回车 (print this menu) n 回车 (add a new partition) p 回车 3 回车 (原来有两个分区sda1和sda2,现在是第3个) 输入默认值 (第三个分区开始的位置)回车 输入默认值 (第三个分区结束的额位置)回车 w (保存)回车
再次查看多了一个分区
[root@xxxx ~]# fdisk -l 磁盘 /dev/sda:85.9 GB, 85899345920 字节,167772160 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x000c4d98 设备 Boot Start End Blocks Id System /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 62914559 30407680 8e Linux LVM /dev/sda3 62914560 167772159 52428800 83 Linux
接下来将 sda3 分区的类型修改为和主分区一样的类型 Linux LVM,和 sda2 类型一样
[root@xxxx ~]# fdisk /dev/sda ... t 回车 (print this menu) 3 回车 (原来有两个分区sda1和sda2,现在是第3个) L 回车 8e 回车 w (保存)回车
再次查看:System 类型已变成Linux LVM
[root@xxxx ~]# fdisk -l 磁盘 /dev/sda:85.9 GB, 85899345920 字节,167772160 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x000c4d98 设备 Boot Start End Blocks Id System /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 62914559 30407680 8e Linux LVM /dev/sda3 62914560 167772159 52428800 8e Linux LVM
-
重启虚拟机
将新分区格式化为 ext3:
[root@xxxx ~]# mkfs.ext3 /dev/sda3 mke2fs 1.42.9 (28-Dec-2013) 文件系统标签= OS type: Linux
将硬盘新分区初始化为物理卷:
[root@xxxx ~]# pvcreate /dev/sda3 WARNING: ext3 signature detected on /dev/sda3 at offset 1080. Wipe it? [y/n]: y Wiping ext3 signature on /dev/sda3. Physical volume "/dev/sda3" successfully created.
查看主分区的VG Name:
[root@xxxx ~]# vgdisplay --- Volume group --- VG Name centos System ID Format lvm2
将刚才初始化的物理卷添加到主分区的物理卷:
[root@xxxx-1 ~]# vgextend centos /dev/sda3 Volume group "centos" successfully extended
报错:
Couldn't create temporary archive name.
原因:主分区的文件系统空间使用量已经到达了100%,已经用完了
解决:在root用户下删除一些不用的文件,如已经解压安装过的压缩文件等。之后再次执行
再次查看主分区的物理卷大小:
[root@xxxx ~]# vgdisplay --- Volume group --- VG Name centos System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 4 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 78.99 GiB PE Size 4.00 MiB Total PE 20222 Alloc PE / Size 7422 / 28.99 GiB Free PE / Size 12800 / 50.00 GiB
可以发现由原来的 30 G 变为了 78.99 G,空现空间大概增加了50 G
接下来就是将增加了的物理卷扩展到真正可使用的文件系统中
查看主文件系统:(空间最大的)
[root@xxxx ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 27G 1.9G 26G 8% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 12M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 1014M 146M 869M 15% /boot tmpfs 378M 0 378M 0% /run/user/0
将物理卷扩展到文件系统 centos-root 下:
[root@xxxx ~]# lvextend -l +100%FREE /dev/mapper/centos-root /dev/sda3 ... Logical volume centos/root successfully resized.
+100%FREE 是分配剩余所有可用的,当然也可以自定义分配
-
将已经扩展好的主文件系统挂载到挂载点
查看文件系统cl-root的类型:
[root@xxxx ~]# df -hT 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root xfs 27G 1.9G 26G 8% / devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs tmpfs 1.9G 12M 1.9G 1% /run tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 xfs 1014M 146M 869M 15% /boot tmpfs tmpfs 378M 0 378M 0% /run/user/0
可以看到类型为:xfs ,所以使用xfs_growfs来挂载。如果类型为 ext1-ext4,就用resize2fs来挂载
挂载:
[root@xxxx ~]# xfs_growfs / meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=1768960 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=7075840, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=3455, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 7075840 to 20182016
检查:
[root@xxxx ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 77G 1.9G 76G 3% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 12M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 1014M 146M 869M 15% /boot tmpfs 378M 0 378M 0% /run/user/0
结束。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类