一.逻辑卷
pv ##物理卷 被处理过的物理分区
pe ##物理扩展 设定存储最小单元
vg ##物理卷组 捆绑pv到一个组中
lv ##逻辑卷 分配最终的使用设备
监控建立过程
watch -n 1 "pvs;echo ====;vgs;echo =====;lvs;echo =====;df -h /weixindata"
pvcreate /dev/vdb1 ##创建pv
vgcreate -s 2M westosvg /dev/vdb1 ##创建vg -s设定pe大小位2M
vgdisplay
lvcreate -L 200M -n westoslv1 westosvg ##创建lvm -L指定大小 -n指定名称
mkfs.xfs /dev/westosvg/westoslv1 ##格式化
mount /dev/westosvg/westoslv1 /weixindata ##挂载
1.lvm设备建立
建立物理分区并设定分区type为lvm
2.lvm拉伸
当vg中的容量充足:
lvextend -L 500M /dev/westosvg/westoslv1 ##拉伸设备
xfs_growfs /dev/westosvg/westoslv1 ##拉伸文件系统,在rhel7中可以用设备或挂载点,在rhel8.0中只能用挂载点
当vg中的容量不足时:
划分分区
pvcreate /dev/vdb2 ##创建pv
vgextend westosvg /dev/vdb2
lvextend -L 1500M /dev/westosvg/westoslv1 ##拉伸设备
xfs_growfs /dev/westosvg/westoslv1 ##拉伸文件系统,在rhel8.0中只能用挂载点
3.lvm缩减
xfs文件系统不支持缩减,ext文件系统可以
mkfs.ext4 /dev/westosvg/westoslv1 ##格式化为ext文件系统
ext4文件系统拉伸:
umount /weixindata ##卸载
mkfs.ext4 /dev/westosvg/westoslv1 ##格式化为ext文件系统
mount /dev/westosvg/westoslv1 /weixindata/ ##挂载
mount -a
mount ##查看挂载之后文件系统类型
lvextend -L 1800M /dev/westosvg/westoslv1 ##拉伸设备
resize2fs /dev/westosvg/westoslv1 ##拉伸文件系统,当文件系统为ext时使用此命令
缩减步骤:
umount /weixindata
e2fsck -f /dev/westosvg/westoslv1 ##扫描文件大小,个数
resize2fs /dev/westosvg/westoslv1 300M ##改变大小
mount /dev/westosvg/westoslv1 /weixindata/ ##挂载上去
lvreduce -L 300M /dev/westosvg/westoslv1 ##缩减
想要去掉vdb1,首先将vdb1的数据迁移到vdb2中:
pvmove /dev/vdb1 /dev/vdb2 ##将/dev/vdb1 数据移动到/dev/vdb2中
vgreduce westosvg /dev/vdb1 ##将vdb1先从vg下面去掉
pvremove /dev/vdb1 ##删除pv 中的vdb1
4. lvm快照:
touch /weixindata/westosfile{1..4}
ls /weixindata/
umount /weixindata
ls /weixindata/
lvcreate -L 50M -n westoslv1-backup -s /dev/westosvg/westoslv1 ##给lvm照张相
mount /dev/westosvg/westoslv1-backup /weixindata/ ##将快照挂载
ls /weixindata/
rm -fr /weixindata/* ##删除(删除的是快照中的)
ls /weixindata/
umount /weixindata ##卸载
lvremove /dev/westosvg/westoslv1-backup ##将快照移除,删除
lvcreate -L 50M -n westoslv1-backup -s /dev/westosvg/westoslv1 ##重新快照
mount /dev/westosvg/westoslv1-backup /weixindata/ ##快照挂载
ls /weixindata/ ##查看/weixindata/中的文件
5.lvm删除:
umount /weixindata ##卸载
lvremove /dev/westosvg/westoslv1-backup ##如果有快照,先删除快照
lvremove /dev/westosvg/westoslv1 ##删除lv
vgremove westosvg ###删除vg
pvremove /dev/vdb2 ##删除pv
二.vdo(Virtual Data Optimize)
虚拟数据优化器
kvdo ##压缩数据
uds ##优化重复数据
1.vdo建立
dnf install vdo -y
dd if=/dev/zero of=/dev/vdb bs=1M count=1
vdo create --name westos_vdo1 --device /dev/vdb ##需要将虚拟机的memory大小增大,然后再建立vdo
vdo status --name westos_vdo1 | less
cd /mnt/
ls
wget http://172.25.254.250/rhel8.2/images/install.img
vdo status --name westos_vdo1 | less
2.使用vdo设备:
watch -n 1 "vdostats --human-readable" ##监控
mkfs.xfs -K /dev/mapper/westos_vdo1 ##格式化
mount /dev/mapper/westos_vdo1 /weixindata/ ##将vdo挂载
3.测试vdo性能
vdostats --human-readable
cp /mnt/install.img /weixindata/test1
cp /mnt/install.img /weixindata/test2 ##相同的文件只占用一个文件的内存
ls /weixindata/
du -sh /weixindata/test1
du -sh /weixindata/test2
rm -fr /weixindata/test1 ##删除之后,内存还是被占用
rm -fr /weixindata/test2 ##删除之后,内存还是被占用
ls /weixindata/
cp /mnt/install.img /weixindata/test3 ##再次复制相同文件,内存不变
4. vdo永久挂载
开机时需要先开启vdo服务,然后才能去挂载vdo
vim /etc/fstab
/dev/mapper/westos_vdo1 /weixindata xfs defaults,x-systemd.requires=vdo.service 0 0
mount -a
reboot
5.vdo设备删除
vim /etc/fstab ##删除之前编辑的vdo永久挂载的行
umount /weixindata ##卸载
vdo stop --name westos_vdo1
vdo remove --name westos_vdo1 ##vdo设备的删除
vdo status ##查看
测试习题:
1.在虚拟机中添加两块新的硬盘,/dev/vdb大小为5G /dev/vdc 大小为10G
2.在新硬盘/dev/vdb 中建立分区,/dev/vdb1并挂载到/westosdir目录中,分区大小为500M,请使用xfs文件系统
3.设定/westosdir目录中所有用户可以自由新建文件但不能删除不属于自己的文件
4.设定westos用户和lee用户能写入/westosdir目录中的最大数据不能超过10M
5.在/dev/vdb2中添加为系统中swap分区,大小为1G,优先级为1
6.在/dev/vdb中建立分区并完成以下操作
*建立testvg 大小为900M
*建立lvm名称为lv0 大小为500M 并包含pe 个数为100个
*确保此lvm 设备开机自动挂载到/mnt/lv目录中
7.在/dev/vdc中建立vdo卷并开启自动挂载此设备到/mnt/vdo目录中
8.以上要求在重启主机后仍然生效
1.在nodea虚拟机中添加两块新的硬盘,/dev/vdb大小为5G /dev/vdc 大小为10G
2.在新硬盘/dev/vdb 中建立分区,/dev/vdb1并挂载到/westosdir目录中,分区大小为500M,请使用xfs文件系统
3.设定/westosdir目录中所有用户可以自由新建文件但不能删除不属于自己的文件
4.设定westos用户和lee用户能写入/westosdir目录中的最大数据不能超过10M
fdisk /dev/vdb ##新建分区
udevadm settle ##同步分区表
mkdir /westosdir ##建立挂载目录
chmod 1777 /westosdir ##给westodir目录设置权限
mkfs.xfs /dev/vdb1 ##格式化设备为xfs文件系统(相当与在/dev/vdb1安装设备管理软件)
mount /dev/vdb1 /westosdir -o usrquota ##挂载设备并激活配额参数
edquota -u westos ##设定用户westos配额
useradd lee
edquota -u lee ##设定用户lee配额
su - westos ##切换至用户westos进行测试,用户lee同理
dd if=/dev/zero of=/westosdir/westosfile bs=1M count=10
dd if=/dev/zero of=/westosdir/westosfile bs=1M count=11
su - lee ##测试用户lee是否可以删除不是自己所建立的文件
测试westos用户配额:
测试lee用户是否可以删除不属于自己的文件 :
vim /etc/fstab ##永久挂载
mount -a ##重新读取/etc/fstab文件
5.在/dev/vdb2中添加为系统中swap分区,大小为1G,优先级为1
6.在/dev/vdb中建立分区并完成以下操作
*建立testvg 大小为900M
*建立lvm名称为lv0 大小为500M 并包含pe 个数为100个
*确保此lvm 设备开机自动挂载到/mnt/lv目录中
fdisk /dev/vdb
udevadm settle ##分区同步
mkswap /dev/vdb2 ##格式化swap分区
swapon -a /dev/vdb2 -p 1
vim /etc/fstab ##swap永久挂载
swapon -a
swap永久挂载:
pvcreate /dev/vdb3 ##建立pv
vgcreate testvg -s 5M /dev/vdb3 ##建立vg
lvcreate -l 100 -n lv0 testvg ##建立lv
mkfs.xfs /dev/testvg/lv0 ##lv格式化
mkdir /mnt/{lv,vdo}
永久挂载:
vim /etc/fstab
mount -a
7.在/dev/vdc中建立vdo卷并开启自动挂载此设备到/mnt/vdo目录中
重启之后查看挂载: