RHCSA-B6. 创建VDO虚拟卷并自动挂载

Posted 白-胖-子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RHCSA-B6. 创建VDO虚拟卷并自动挂载相关的知识,希望对你有一定的参考价值。

红帽RHCE考试上午-RHCSA(RH134)

serverb.example.com 任务

6. 创建VDO 卷

  • 根据如下要求,创建新的VDO 卷:

任务要求

  • 使用未分区的磁盘
  • 该卷的名称为vdotest
  • 该卷的逻辑大小是50G
  • 该卷使用xfs 文件系统格式化
  • 该卷在系统启动时挂载到/mnt/vdotest 下

完成步骤

  1. 考试的时候vdo应该已经安装过了,可以先确认一下
    yum install vdo -y # 安装vdo
  2. 查看磁盘分区情况,找个空余盘来做vdo
    df -Th
    lsblk
  3. 按题目要求创建vdo
    vdo create --name=vdotest --device=/dev/vdc --vdoLogicalSize=50G # 创建vdo
  • 说明:
--name ##后面跟vdo卷的名称,随便写,好认即可

--device ##后面跟真实的物理磁盘

--vdoLogicalSize ##后面跟vdo卷的容量,这里按真实物理空间的1.5倍
  1. 使用xfs格式新建vdo 格式化的时候会卡好半天呢,稍安勿躁哦
    mkfs.xfs -K /dev/mapper/vdotest # 创建文件系统,俗称格式化
    注意:这里和普通的创建文件系统一样,注意要加-K,类似windows格式中的快速格式化,否则会花很多时间
  2. 编写fstab实现开机自动挂载,因为dov可能被认为是从网络上来的卷,所以写fstab的时候要加上_netdev
vim /etc/fstab
   /dev/mapper/vdotest /mnt/vdotest xfs defaults,_netdev 0 0 
  1. 检查分区是否已挂载并重启
    df -Th
    init 6
  • 以下作为参考
yum install vdo -y # 安装vdo
man vdo # 搜索EXAMPLE 和x-systemd或man systemd.mount 搜索x-systemd 记不住查帮助
vdo create --name=vdotest --device=/dev/vdc --vdoLogicalSize=50G # 创建vdo
mkfs.xfs -K /dev/mapper/vdotest # 创建文件系统,俗称格式化
udevadm settle ## 刷新存储设备
vdostats --human-readable ## 查看设备使用情况
mkdir /mnt/vdotest #新建目录作为挂载点
#注挂载参数不好记的,使用man vdo 搜索fstab,附近有相关挂载参数
man vdo 
echo "/dev/mapper/vdotest /mnt/vdotest xfs defaults,x-systemd.requires=vdo.service 0 0" >> /etc/fstab ## 设置开机自动挂载
mount -a # 查看挂在情况
df -h # 检查分区

考察的知识点

  • 使用 VDO 卷优化正在使用的存储空间。

vdo虚拟磁盘

  • VDO(Virtual Data Optimize)是RHEL8/Centos8上新推出的一个存储相关技术(最早在7.5测试版中开始测试),是Redhat收购的Permabit公司的技术。
  • VDO的主要作用是节省磁盘空间,比如让1T的磁盘能装下1.5T的数据,从而降低数据中心的成本。
  • VDO层放置在现有块存储设备例如RAID设备或本地磁盘的顶部。这些块设备也可以是加密设备。存储层(如LVM logic卷和文件系统)放置在VDO层的顶部。

vdo优化存储的原理

  • VDO按以下顺序将三个阶段应用于数据,减少存储设备上的占用空间
  1. 零区块的排除:
    在初始化阶段,整块为0的会被元数据记录下来,这个可以用水杯里面的水和沙子混合的例子来解释,使用滤纸(零块排除),把沙子(非零空间)给过滤出来,然后就是下一个阶段的处理;
  2. 重复数据删除:
    在第二阶段,输入的数据会判断是不是冗余数据(在写入之前就判断),这个部分的数据通过UDS内核模块来判断(U niversal D eduplication S ervice),被判断为重复数据的部分不会被写入,然后对元数据进行更新,直接指向原始已经存储的数据块即可;
  3. 压缩数据:
    一旦消零和重删完成,LZ4压缩会对每个单独的数据块进行处理,然后压缩好的数据块会以固定大小4KB的数据块存储在介质上,由于一个物理块可以包含很多的压缩块,这个也可以加速读取的性能。-

安装vdo

  • rhel7.5及以后版本才支持vdo
    [root@rhel7u5a ~]# yum install vdo kmod-kvdo

创建vdo卷

  • 你被允许在一个10G的块设备上创建100G的vdo虚拟磁盘
[root@rhel7u5a ~]# vdo create --name=vdoasync --device=/dev/sdc --vdoLogicalSize=100G --writePolicy=async
Creating VDO vdoasync
Starting VDO vdoasync
Starting compression on VDO vdoasync
VDO instance 0 volume is ready at /dev/mapper/vdoasync
[root@rhel7u5a ~]#

使用vdo卷

  • 你可以像使用普通磁盘分区一样挂载vdo卷到一个目录上
    mkfs.xfs -K /dev/mapper/vdoasync
    mount /dev/mapper/vdoasync /mnt/vdoasync
  • 你甚至可以将vdo卷初始化成lvs逻辑卷的pv
要设置我的容量优化 NFS 服务器,我首先需要在我的服务器上配置 VDO 逻辑卷。 
然后,我将使用逻辑逻辑卷管理器 (LVM) 配置一个配置瘦的存储池,以便在 VDO 卷之上提供快速可扩展的快照功能。
最后,我将把该池创建单独的文件系统,通过 NFS 进行共享。
  1. 先创建vdo虚拟卷
    vdo create --device=/dev/md0 --sparseIndex=enabled --indexMem=2 --name=vdo0
  2. 在vdo虚拟卷上创建lvs逻辑卷
pvcreate /dev/mapper/vdo0
vgcreate vg00 /dev/mapper/vdo0
lvcreate --discards=passdown -L 40T -T vg00/lvpool0 -V 10T -n lvol0
lvcreate -V 10T --discards=passdown -T vg00/lvpool0 -n lvol1
lvcreate -V 10T --discards=passdown -T vg00/lvpool0 -n lvol2
lvcreate -V 10T --discards=passdown -T vg00/lvpool0 -n lvol3
  1. 格式化逻辑卷
mkfs.xfs -K /dev/vg00/lvol0
mkfs.xfs -K /dev/vg00/lvol1
mkfs.xfs -K /dev/vg00/lvol2
mkfs.xfs -K /dev/vg00/lvol3
  1. 创建目录并编写fstab实现自动挂载
mkdir -p /shares/fs0; chmod 755 /shares/fs0
mkdir -p /shares/fs1; chmod 755 /shares/fs1
mkdir -p /shares/fs2; chmod 755 /shares/fs2
mkdir -p /shares/fs3; chmod 755 /shares/fs3
vim /etc/fstab
    /dev/vg00/lvol0 /shares/fs0 xfs defaults,discard,x-systemd.requires=vdo.service 0 0
   /dev/vg00/lvol1 /shares/fs1 xfs defaults,discard,x-systemd.requires=vdo.service 0 0
  /dev/vg00/lvol2 /shares/fs2 xfs defaults,discard,x-systemd.requires=vdo.service 0 0
/dev/vg00/lvol3 /shares/fs3 xfs defaults,discard,x-systemd.requires=vdo.service 0 0
  1. 确认效果
    mount -a
    df -Th

删除vdo设备

  1. umount /westosdir:取消挂载
  2. vim /etc/fstab:删除vdo开机自动挂载
  3. vdo stop --name westos_vdo1:停止vdo
  4. vdo remove --name westos_vdo1:删除vdo
  5. vdostats --human-readable:查看设备使用情况

以上是关于RHCSA-B6. 创建VDO虚拟卷并自动挂载的主要内容,如果未能解决你的问题,请参考以下文章

什么是虚拟数据优化器vdo?vdo设备的管理

RHCSA-B5. 创建逻辑卷

RHCSA-B4. 创建交换分区swap

Linux先添加一块磁盘制作LVM卷并进行分区挂载

使用创建过分区(后来又删除)的硬盘创建vdo时报错的解决办法

记一次虚拟机无法挂载volume的怪异问题排查