扩展LVM卷的流程
# 背景 现在有一个Centos的虚拟机,就只有一块磁盘和两个挂载点: /dev/sda1 -> /swap -> /dev/centos_node1/root /dev/sda2 -> / -> /dev/centos_no…
# 背景
现在有一个Centos的虚拟机,就只有一块磁盘和两个挂载点:
- /dev/sda1 -> /swap -> /dev/centos_node1/root
- /dev/sda2 -> / -> /dev/centos_node1/swap
现在发现/
分区不够用了,想要通过Vmware Workstation的功能来把磁盘大小扩容,然后将空间分配给/分区,应该怎么操作呢
但是这个虚拟机的磁盘采用lvm卷的形式,直接扩容是不可能的,所以我总结了几步,可以扩容
扩容
步骤大概有以下几步:
- 在后面的空白未分配空间创建一个新分区
- 在新分区上创建一个物理卷
- 将物理卷添加到卷宗组
- 扩展逻辑卷
- 调整文件系统大小
大概就是这几步
创建新分区
fdisk /dev/sda
对sda进行操作,参数如下
主分区,分区顺序默认即可,再按t更改分区类型,类型代码为8e,然后w写入分区表
然后直接重启,更新分区表
创建物理卷
使用pvcreate
工具,命令
sudo pvcreate /dev/sda3
添加物理卷到卷宗组
sudo vgextend /dev/centos_node1 /dev/sda3
注意是
/dev/centos_node1
,而不是/dev/centos_node1/root
扩展逻辑卷
使用lvextend -l +100%FREE /dev/centos_node1/root
这个lvextend
命令的参数有-l
和-L
-l
的时候可以直接写-l +100%FREE
这种命令直接按百分比把所有可用空间分配给他-L
的时候可以写-L +20G
这种命令具体制定给多少存储空间
这就已经好了,这一步完成了
调整文件系统大小
其实虽然在这时候,使用lsblk
命令去看,新分区的空间已经全部分配给了你需要的分区了,但是如果看df -h
或者是gui自带的文件管理器会发现其实还是像原来一样多的空间,没变化,这就是因为还没有调整文件系统的大小。
如果在
lsblk
命令中能看到磁盘空间已经增加,但是df
命令看不到这种变化,这通常是因为lsblk
显示的是底层磁盘和分区的大小,而df
显示的是文件系统层面的使用情况。当你扩展了磁盘或逻辑卷后,还需要对文件系统进行扩展,以便它能使用这些新分配的空间。
主要是两种文件系统,一种ext4
和xfs
- ext4:
resize2fs /dev/mapper/yourvg-yourlv
# 应该是Ubuntu专属的吧,今天没用ubuntu,不太清楚 - xfs:
xfs_growfs /
# 如果你要扩展的是根目录的空间,这个和上面不一样,通常其实是在挂载点的位置扩展空间
然后就好了,应该不需要重启
其他
LVM真的太难用了,或者说我还没学会怎么使用lvm的灵活
感觉lvm就是把很多分区可以合并为一个卷宗组,然后因为混在一起了,有点重新分配那个意思,然后卷宗组又可以分为很多个卷宗,这才对应的是实际的各个分区
我们实际上对分区扩容就是对卷宗进行扩容,然后需要把一个新的标准磁盘空间变成lvm卷宗的形式,然后添加到卷宗组这个大锅饭中,然后再分配给别的卷宗(也就是分区),然后再在文件系统层面进行更新分区大小就行了