vmware虚拟机"/dev/centos/root"逻辑卷(xfs文件系统)扩容
目录
3 将新添加的20G容量进行分区(可以不对分区磁盘进行8e的转换也可进行pvcreate操作;如果是新加的磁盘,在不进行分区也可以进行pvcreate操作) 3
5 将新添加的/dev/sda3容量扩展给现有的文件系统 5
6 使用【vgs】,【df -h】,【lsblk】等命令检查是否正确 7
1 centos7 lvm分区格式如下
虚机只有一块硬盘/dev/sda
2 lvm扩展需求
本次VM虚机由硬盘60G扩大硬盘到80G,linux中自动将新增加的磁盘空间添加到/dev/sda上,因此通过lsblk看到的磁盘空间已经是变更后的80G,但显示的分区(/, /home, swap)依旧只是之前的容量,同时新添加的20G不显示。
3 将新添加的20G容量进行分区(可以不对分区磁盘进行8e的转换也可进行pvcreate操作;如果是新加的磁盘,在不进行分区也可以进行pvcreate操作)
3.1 输入【fdisk /dev/sda】,进入/dev/sda磁盘
3.2 命令行提示下输入【m】,将显示所有可用命令选项
3.3 输入命令【n】添加新分区。
3.4 输入命令【p】创建主分区。 请注意一定要是新的分区号码,系统默认有sda1和sda2,我这里新建的是sda3
3.5 输入【回车】,选择默认大小,这样不浪费空间
3.6 输入【回车】,选择默认
3.7输入命令【t】转换分区类型
3.7输入命令【8e】表示转换为linux lvm分区
3.8输入【w】,保持修改
4 输入【reboot】重启linux
需要reboot,否则"ls /dev/sda3"找不到分区,如果是对新加盘"/dev/sdb"进行分区不会出现这种状况。
如果不能reboot,使用partprobe命令也可以。
5 将新添加的/dev/sda3容量扩展给现有的文件系统
5.1 输入【pvs】,此时看到lvm物理卷依旧只有之前的容量
5.2 输入【pvcreate /dev/sda3】,将/dev/sda3的容量添加到lvm物理卷中
5.3 输入【pvs】,此时将看到除了之前的容量,还有出现一条新的记录,显示的是新增加的容量,并且Pfree是可用的。
5.4 输入【vgs】,此时看到卷组的Vsize容量依旧只有之前的大小
5.5 输入【vgextend centos /dev/sda3】将/dev/sda3添加到磁盘卷组centos
5.6 输入【vgs】,此时看到的Vsize容量变成80G的容量,同时Vfree可分配的容量是新增加的20G
lvdisplay查看逻辑卷名称。
5.7 输入【lvextend -L +20G /dev/centos/root】,为逻辑卷root增加容量
5.8 使用下面命令生效新扩容的磁盘空间,请注意这一步必须进行(可能swap会提示错误,请忽略)持续完成后,所新增加的硬盘容量正式生效。
xfs_growfs /dev/centos/root
因为安装CentOS用的xfs分区,所以使用命令xfs_growfs扩展文件系统大小,否则的话使用resize2fs命令。resize2fs /dev/centos/root
6 使用【vgs】,【df -h】,【lsblk】等命令检查是否正确
7 输入【reboot】,重启虚机
再次检查扩容是否正确,确认无误后,扩容完成。
8 总结
(1) lvm原理
物理卷处于LVM中的最底层,可以将其理解为物理硬盘、硬盘分区或者RAID磁盘阵列,这都可以。卷组建立在物理卷之上,一个卷组可以包含多个物理卷,而且在卷组创建之后也可以继续向其中添加新的物理卷。逻辑卷是用卷组中空闲的资源建立的,并且逻辑卷在建立后可以动态地扩展或缩小空间。这就是LVM的核心理念。
物理卷(PV:Physical Volume):物理卷是底层真正提供容量,存放数据的设备,它可以是整个硬盘、硬盘上的分区等。
卷组(VG:Volume Group):卷组建立在物理卷之上,它由一个或多个物理卷组成。即把物理卷整合起来提供容量分配。一个LVM系统中可以只有一个卷组,也可以包含多个卷组。
逻辑卷(LV:Logical Volume):逻辑卷建立在卷组之上,它是从卷组中“切出”的一块空间。它是最终用户使用的逻辑设备。逻辑卷创建之后,其大小可以伸缩。
基本单元(PE:Physical Extents):具有唯一编号的PE是能被LVM寻址的最小单元。PE的大小可以指定,默认为4MB。PE的大小一旦确定将不能改变,同一个卷组中的所有的物理卷的PE的大小是一致的。
(2) lvm常用部署命令
(3) 安装centos系统时选择分区模式为lvm格式时:
1) sda1分区挂载在/boot目录
2) sda2分区被作为物理卷加入到了centos卷组
A centos卷组将/dev/sda2磁盘分区的容量分配给centos卷组中的/dev/centos/swap逻辑卷和
/dev/centos/root逻辑卷。
B /dev/centos/swap逻辑卷挂载到[SWAP]。/dev/centos/root逻辑卷挂载到/目录。
(4) 相关命令
pvs: 物理卷(lvm格式的磁盘分区)
vgs: 物理卷组(将物理卷中的多个lvm磁盘分区加入同一个组)
lvdisplay:查看现有的逻辑卷信息(包括这个逻辑卷属于哪个卷组)
(5) lvm逻辑卷管理思路
0) 通过lsblk命令查看需要扩展的磁盘目录及对应的逻辑卷(centos-root => /)
1) 通过lvdisplay /dev/centos/root命令查看逻辑卷对应的卷组
2) 如果逻辑卷组容量足够
直接从卷组扩展容量到逻辑卷
3) 如果逻辑卷容量不足
A 将空闲磁盘分成为lvm格式的分区
B 将lvm格式的磁盘分区变成物理卷
C 将物理卷加入到卷组
D 从卷组扩展容量到逻辑卷
(6) lvm逻辑卷的扩容和缩容
1) lvm支持文件系统为ext4逻辑卷(挂载点在线或不在线)的扩容和(挂载点不在线)的缩容。
2) lvm只支持文件系统为xfs逻辑卷(挂载点在线或不在线)的扩容,不支持缩容。
3)
lvresize命令实际上是包含了lvextend和lvreduce的功能。
9 磁盘的扩容
2 扩容(可以不卸载lv操作)
(1)
对磁盘进行分区
#
parted /dev/sdb mklabel gpt
#
parted /dev/sdb "mkpart primary 0% 100%"
#
lsblk /dev/sdb
(2)
新加磁盘加入卷组
#
pvcreate /dev/sdb1
#
vgextend ubuntu-vg /dev/sdb1
#
pvs
#
vgs
(3)
ubuntu-lv 59G扩容到119G
# 方法一: 直接增加
lvextend/lvresize -L
+59.99G
/dev/ubuntu-vg/ubuntu-lv
#
方法二: 扩容到
lvextend/lvresize -L
118.99G /dev/ubuntu-vg/ubuntu-lv
(4)
生效扩容
# ext4模式
resize2fs
/dev/ubuntu-vg/ubuntu-lv
注: 如果是xfs文件系统使用下面的命令
xfs_growfs
resize2fs /dev/ubuntu-vg/ubuntu-lv
(5)
查看容量
# lsblk
# df -hT
10 磁盘的缩容
1 增加一块新盘/dev/sdb
2 创建逻辑卷
(1) 对磁盘进行分区
#
parted /dev/sdb mklabel gpt
#
parted /dev/sdb "mkpart primary 0% 10GiB"
#
parted /dev/sdb "mkpart primary 10GiB 30GiB"
#
parted /dev/sdb "mkpart primary 30GiB 100%"
#
lsblk /dev/sdb
(2)
创建卷组
#
pvcreate /dev/sdb1 /dev/sdb2
/dev/sdb3
#
vgcreate test-vg /dev/sdb1 /dev/sdb2 /dev/sdb3
# pvs
# vgs
(3)
创建逻辑卷
#
lvcreate -L 59.98G -n test-lv test-vg
#
mkfs.ext4 /dev/test-vg/test-lv
#
lsblk /dev/sdb
#
mount /dev/test-vg/test-lv /mnt/
# df -hT /dev/test-vg/test-lv
3 缩容操作(不支持xfs,必须卸载lv操作)
(1) 先卸载lv挂载点
#
umount -lf
/mnt/
(2)
检查逻辑卷
#
e2fsck -f /dev/test-vg/test-lv
(3)
缩容逻辑卷到49G
#
resize2fs /dev/test-vg/test-lv 49G
#
lvreduce/lvresize -L 49G /dev/test-vg/test-lv
#
lsblk /dev/sdb
#
mount /dev/test-vg/test-lv /mnt/
#
df -hT /dev/test-vg/test-lv
(4)
删除缩容后空余出的物理卷
# vgreduce test-vg
/dev/sdb1
#
pvremove /dev/sdb1
(5)
补充: 删除逻辑卷
1) 删除逻辑卷设备
#
umount -lf /mnt/
# lvremove
/dev/test-vg/test-lv
2) 删除卷组
#
vgremove test-vg
3) 删除物理卷设备
# pvremove /dev/sdb1 /dev/sdb2
/dev/sdb3