目录
管理逻辑卷
认识LInux逻辑卷
LVM基本概念
部署逻辑卷
常用LVM部署命令
案例
管理与调整LVM卷
1.扩展卷组——添加/dev/nvme0n2p4物理卷到vg01中
2.在线扩展逻辑卷
管理逻辑卷
认识LInux逻辑卷
LVM基本概念
1.物理存储介质
这里指系统的存储设备 --- 硬盘,如:/dev/hda1、/dev/sda等等,是存储系统最低层的存储单元
2.物理卷 --- PV(Physical Volume)
物理卷 --- 指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数
3.组卷 --- VG(Volumne Group)
逻辑卷分类:
线性逻辑卷 (Linear Volumes) --- 一个线性逻辑卷聚合多个物理卷成为一个逻辑卷,比如:如果你有两个60GB硬盘,你可以生成120GB的逻辑卷
条块化的逻辑卷(Striped Logical Volumes) --- 当你写数据到此逻辑卷中时, 文件系统可以将数据放置到多个物理卷中 . 对于大量连接读写操作 , 它能 改善数据I/O效率镜像的逻辑卷(Mirrored Logical Volumes) --- 镜像在不同的设备上保存一致的数据。 数据同时被写入原设备及镜像设备。 它 提供设备之间的容错快照卷(Snapshot Volumes)--- 快照卷提供在特定瞬间的一个设备虚拟映像,当快照开始时,它复制一份对当前数据区域的改变,由于 它优先执行这些改变,所以它可以 重构当前设备的状态
5. 物理区域 --- PE(Physical Extent)
系统启动LVM 时激活 VG ,并将 VGDA 加载至内存,来识别 LV 的实际物理存储位置。当系统进行 I/O 操作时,就会 根据VGDA建立的映射机制 来 访问实际的物理位置
部署逻辑卷
常用LVM部署命令
功能/命令 | 物理卷(PV) | 卷组管理(VG) | 逻辑卷管理(LV) |
扫描 |
pvscan
|
vgscan
|
lvscan
|
建立 |
pvcreate
|
vgcreate
|
lvcreate
|
显示 |
pvdisplay
|
vgdisplay
|
lvdisplay
|
删除 |
pvremove
|
vgremove
|
lvremove
|
扩展 |
vgextend
|
lvextend
| |
缩小 |
vgreduce
|
lvreduce
|
案例
1、创建pv
可以使用磁盘或分区,本例使用分区
[root@localhost ~]# parted /dev/nvme0n2 print
创建pv
[root@localhost ~]# pvcreate /dev/nvme0n2p2 /dev/nvme0n2p3
查看pv,详细查看使用pvdisplay
[root@localhost ~]# pvdisplay
[root@localhost ~]# pvs
更改分区类型(如果物理磁盘不需要用):
[root@localhost ~]# parted /dev/nvme0n2 set 2 lvm on
2.创建vg
[root@localhost ~]# vgcreate -s 4M RHCE /dev/nvme0n2p2
[root@localhost ~]# vgs
3.创建lv
方法一 --- 制定LV的大小
[root@localhost ~]# lvcreate -n myvgl -L 50M RHCE
[root@localhost ~]# lvs
方法二 --- 制定LV的PE数量
[root@localhost ~]# lvcreate -n myvg2 -l 10 RHCE
[root@localhost ~]# lvs
lv路径
[root@localhost ~]# ll /dev/RHCE/myvgl /dev/mapper/RHCE-myvgl /dev/dm-1
管理与调整LVM卷
1.扩展卷组——添加/dev/nvme0n2p4物理卷到vg01中
创建nvme0n2p4
[root@localhost ~]# parted /dev/nvme0n2 mkpart logical xfs 1.21G 2G
[root@localhost ~]# pvcreate /dev/nvme0n2p4
[root@localhost ~]# parted /dev/nvme0n2 set 4 lvm on
扩展vg
[root@localhost ~]# vgextend RHCE /dev/nvme0n2p4
[root@localhost ~]# vgs RHCE
2.在线扩展逻辑卷
[root@localhost ~]# mkfs.xfs /dev/RHCE/myvgl
[root@localhost ~]# mkdir /mnt/data1
[root@localhost ~]# mount /dev/RHCE/myvgl /mnt/data1/
[root@localhost ~]# lvs /dev/RHCE/myvgl
[root@localhost ~]# lvextend -L +50M /dev/RHCE/myvgl
[root@localhost ~]# lvs /dev/RHCE/myvgl
注意:使用 -L + 100M 增加 100M ,如果增加到 400M ,使用 -L 400M ,比如[root@localhost ~]# lvextend -L 400M /dev/RHCE/myvgl [root@localhost ~]# lvs /dev/RHCE/myvgl
但是目前文件系统并没有扩容
[root@localhost ~]# df -h | grep /mnt/data1
[root@localhost ~]# xfs_growfs /mnt/data1/
[root@localhost ~]# df -h | grep /mnt/data1
注意:
如果是ext文件系统,即支持扩容(使用resize2fs文件系统扩容),也支持缩减
- 卸载 umount /mnt/lv0
- fsck -f /dev/vg0/lv0 检测文件系统,resize2fs之前会提示先要检测文件系统
- resize2fs /dev/vg0/lv0 10G
- lvreduce -L 10G /dev/vg0/lv0
- mount -a 重新挂载