Linux 第二本书 第六章linux高级存储管理

本文详细介绍了Linux系统下LVM(逻辑卷管理)的创建、扩展、缩减、快照以及删除等操作,包括物理卷、卷组、逻辑卷的概念及其使用。同时,讲解了VDO(Virtual Data Optimizer)的设置和使用,以及如何通过VDO实现数据压缩和重复数据优化。此外,还涵盖了VDO的创建、挂载、性能测试和删除等步骤。文章以具体的命令行操作为例,指导读者进行实践。
摘要由CSDN通过智能技术生成

一.逻辑卷

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目录中

 

 

重启之后查看挂载:

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值