系列文章目录
RHCSA_2、网络管理
RHCSA_3、软件管理(rpm、yum)
RHCSA_4、磁盘管理和文件系统
一、逻辑卷管理
- PV(PhysicalVolume): 物理卷,物理磁盘上的分区,是LVM的基本存储逻辑块包括很多默认4MB大小的PE(physicalextent,物理单元)
- VG(VolumeGroup):卷组,由一个或多个PV组成的存储池
- LV(LogicalVolume):逻辑卷,建立在VG之上的逻辑分区
- PE(PhysicalExtend):物理块,LVM中的最小存储单元,在创建VG时可以定义PE块大小,默认是4M
- LE:(LogicalExtend):逻辑块,逻辑卷中可以被寻址的基本单位,在同一卷组中,LE和PE大小相同且一一对应。
1.使用分区工具创建一个普通的分区,并修改分区类型为8e
2.将已划分好的分区创建为物理卷(PV)
pvcreate /dev/sdb5
3.创建卷组,并将物理卷加入到卷组中
vgcreate VG_NAME /dev/sdb5
[root@myth~]# vgcreate df_vg1 /dev/sdb5
# Volume group "df_vg1" successfully created
# VG_NAME是卷组的名字,自己定义。默认PE大小是4M,可以使用-s进行指定
# vgcreate VG_NAME -s 32M /dev/sdb1
4.创建逻辑卷
lvcreate -n LV_NAME -L 5G VG_NAME PV_NAME [可选]
#[root@myth~]# lvcreate -n df_lv01 -L 3G df_vg1
#Logicalvolume "df_lv01" created .
#-n指定逻辑卷名称,
#LV_NAME是逻辑卷的名称,自行定义逻辑卷大小:使用-L或-l指定大小
#-L直接指定逻辑卷具体大小
#lvcreate -n LV_NAME -L 5G VG_NAME
#-l指定PE个数
#lvcreate -n LV_NAME -l 100 VG_NAME
5.格式化逻辑卷并进行挂载
mkfs -t xfs/ dev/VG_NAME/LV_NAME
mount /dev/VG_NAME/LV_NAME /MOUNT_POINT
# 查看pv
[root@client ~]# pvs ----pv块
PV VG Fmt Attr PSize PFree
/dev/sda2 rhel lvm2 a-- <19.00g 0
/dev/sdc1 VG1 lvm2 a-- <2.00g 0
/dev/sdc2 VG1 lvm2 a-- <2.00g 1016.00m
/dev/sdc3 VG1 lvm2 a-- 1020.00m 1020.00m
[root@client ~]# pvdisplay ----pv详细信息
--- Physical volume ---
PV Name /dev/sdc1
VG Name VG1
PV Size 2.00 GiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 511
Free PE 0
Allocated PE 511
PV UUID HpVisp-uMD9-fJmT-nd4K-r2IE-NfFx-CyZsLM
[root@client ~]# pvscan ----pv块
PV /dev/sdc1 VG VG1 lvm2 [<2.00 GiB / 0 free]
PV /dev/sdc2 VG VG1 lvm2 [<2.00 GiB / 1016.00 MiB free]
PV /dev/sdc3 VG VG1 lvm2 [1020.00 MiB / 1020.00 MiB free]
PV /dev/sda2 VG rhel lvm2 [<19.00 GiB / 0 free]
Total: 4 [23.98 GiB] / in use: 4 [23.98 GiB] / in no VG: 0 [0 ]
# 查看vg
vgs vgdisplay vgscan
# 查看lv
lvs lvdisplay lvscan
扩展卷组
1.创建新的物理卷
2.向卷组中添加新的物理卷
vgextend VG_NAME /dev/sdb3
[root@myth~]# vgextend df_vg1 /dev/sdb6
扩展逻辑卷
1.扩展逻辑卷(卷组VG中需要有足够的空间)
lvextend -r -L +2G /dev/VG_NAME/LV_NAME
[root@myth~] # lvextend -L +2G /dev/mapper/df_vg1-df_lv01
-L 10G 将lv大小正好调整到10G
-L +10G 将lv增加10G
-l 100 将lv大小正好调整为100个PE大小
-l +100
-l +50% FREE 向lv中增加卷组剩余空间的50%
-r 选项可以一并扩展文件系统
2.扩展文件系统
# ext4文件系统扩展
resize2fs /dev/VG_NAME/LV_NAME
# xfs文件系统扩展
xfs_growfs /dev/VG_NAME/LV_NAME
缩减逻辑卷
1.缩减卷组:
pvmove /dev/sdb3
vgreduce VG_NAME/dev/sdb3
2.缩减逻辑卷:
#1.卸载文件系统
#2.对文件系统进行检查
e2fsck -f /dev/vg_name/lv_name
#3.缩减文件系统
resize2fs /dev/vg_name/lv_name2G
#4.缩减lv
lvreduce -L -1G /dev/vg_name/lv_name
#5.重新挂载文件系统
注意:xfs文件系统不支持缩减
二、Vdo高级存储
基本概念
- 红帽企业Linux8 使用vdo功能,可以优化块设备上数据空间占用问题,它可以减少块设备上的磁盘使 用空间,同时最大限度减少数据重复,从而节省磁盘空间,甚至提高数据的吞吐量。
- Vdo包含两个模块:Kvdo用于控制数据压缩,uds用于重复数据的删除。
- vdo层位于现在块设备(RAID或者本地磁盘)之上,存储层(如LVM和文件系统)位于vdo之上。
Vdo特性
- 利用vdo创建的逻辑设备成为vdo卷,vdo卷与磁盘类似,可以将这些卷格式化为所需要的文件系统类型。此外,还可以将vdo卷用作LVM物理卷。
- 在创建vdo卷时,可以指定块设备,以及vdo向用户显示的逻辑设备的名称。也可以指定vdo卷的逻辑大小,vdo卷的逻辑大小可以大于实际块设备的物理大小。
- 如果未指定逻辑大小,则vdo会将实际物理大小视为卷的逻辑大小,这种方式有利于提高性能,但是会降低存储空间的使用效率,应视情况而定。由于vdo卷采用了精简配置,因此用户只能看到正在使用的逻辑空间,而无法了解实际可用的物理空间。
- vdo卷的逻辑大小超过实际物理大小,应使用vdostatus-verbose命令查看实际使用情况。
Vdo配置
1、首先安装vdo的软件包
[root@RHEL8~]# yum -y install vdo kmod-kvdo
2、创建一个20G的VDO卷
[root@RHEL8~]# vdocreate --name=vdo0 --device /dev/sdc --vdoLogicalSize=20G ----可通过man vdo 里面的模板来具体配置
[root@RHEL8~]# vdo list ----查看vdo卷
[root@RHEL8~]# vdostats --human-readable ----用vdostatus来查看卷的状态
3、将vdo格式化为xfs文件系统
[root@RHEL8~]# mkfs.xfs -K /dev/mapper/vdo0 ---- -K可以提高格式化速率
# mkfs.xfs-K选项可以防止文件系统中未使用的块被立即丢弃,这样可以让命令更快的返回
4、挂载在file01目录上
[root@RHEL8/]# mount /dev/mapper/vdo0 /vdofile/
[root@RHEL8 vdofile]# vdostats --human-readable ----查看真实使用的磁盘用量
Vdo永久挂载
vdo的永久挂载,其实和普通的永久挂载不一样。需要在defaults后面上 ,xsystemd.requires=vdo.service
挂载选项 ,x-systemd.requires=vdo.service 意思为可延迟挂载文件系统,直到vdo.service启动为止。
[root@RHEL8/]# vim /etc/fstab
/dev/mapper/vdo0 /vdofilexfs defaults,x-systemd.requires=vdo.service 0 0
# 该挂载也可通过 man vdo 里面的模板来具体配置