Linux磁盘管理(LVM,Stratis和VDO)

LVM管理

[root@fanssi ~]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0   20G  0 disk 
sdb             8:16   0   20G  0 disk 
[root@fanssi ~]# parted -s /dev/sda mkpart primary 1MiB 769MiB
[root@fanssi ~]# parted -s /dev/sda mkpart primary 770MiB 1026MiB
[root@fanssi ~]# parted -s /dev/sda set 1 lvm on 
[root@fanssi ~]# parted -s /dev/sda set 2 lvm on 
[root@fanssi ~]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0   20G  0 disk 
├─sda1          8:1    0  768M  0 part 
└─sda2          8:2    0  256M  0 part 
sdb             8:16   0   20G  0 disk 
[root@fanssi ~]# pvcreate /dev/sda2 /dev/sda1
  Physical volume "/dev/sda2" successfully created.
  Physical volume "/dev/sda1" successfully created
[root@fanssi ~]# vgcreate readhat  /dev/sda1 /dev/sda2
  Volume group "readhat" successfully created
[root@fanssi ~]# lvcreate -n readhat1 -L 100M readhat 
  Logical volume "readhat1" created.
[root@fanssi ~]# mkfs -t ext4 /dev/readhat/readhat1
mke2fs 1.45.4 (23-Sep-2019)
Creating filesystem with 102400 1k blocks and 25688 inodes
...
Writing superblocks and filesystem accounting information: done 
[root@fanssi ~]# mkdir /mnt/readhat
[root@fanssi ~]# echo '/dev/readhat/readhat1 /mnt/readhat ext4 defaults 1 2' >> /etc/fstab
[root@fanssi ~]# mount /dev/readhat/readhat1 
[root@fanssi ~]# lsblk
NAME                 MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                    8:0    0   20G  0 disk 
├─sda1                 8:1    0  768M  0 part 
│ └─readhat-readhat1 253:2    0  100M  0 lvm  /mnt/readhat
└─sda2                 8:2    0  256M  0 part 
sdb                    8:16   0   20G  0 disk 
[root@fanssi ~]# lvdisplay 
  --- Logical volume ---
	...
  LV Size                100.00 MiB
   ...   
[root@fanssi ~]# lvextend -L +100M /dev/readhat/readhat1 
  Size of logical volume readhat/readhat1 changed from 100.00 MiB (25 extents) to 200.00 MiB (50 extents).
  Logical volume readhat/readhat1 successfully resized.
[root@fanssi ~]# resize2fs -p /dev/readhat/readhat1 
resize2fs 1.45.4 (23-Sep-2019)
...
The filesystem on /dev/readhat/readhat1 is now 204800 (1k) blocks long.
[root@fanssi ~]# lvdisplay 
  --- Logical volume ---
	...
  LV Size                200.00 MiB

VDO

[root@fanssi ~]# yum install vdo kmod-kvdo
...
Complete!
[root@fanssi ~]# vdo create --name=vdo1 --device=/dev/sdb --vdoLogicalSize=80G
...
VDO instance 0 volume is ready at /dev/mapper/vdo1
[root@fanssi ~]# lsblk
sdb                    8:16   0   20G  0 disk 
└─vdo1               253:3    0   80G  0 vdo  
[root@fanssi ~]# vdo status --name=vdo1
VDO status:
  Date: '2020-11-16 19:36:36+08:00'
...
[root@fanssi ~]# vdo start --name=vdo1
Starting VDO vdo1
VDO instance 0 volume is ready at /dev/mapper/vdo
[root@fanssi ~]# mkdir /mnt/vdotest
[root@fanssi ~]# mkfs -t xfs /dev/mapper/vdo1 
meta-data=/dev/mapper/vdo1       isize=512    agcount=4, agsize=5242880 blks
...
[root@fanssi ~]# echo '/dev/mapper/vdo1 /mnt/vdotest xfs defaults 0 0' >> /etc/fstab 
[root@fanssi ~]# mount /mnt/vdotest/
[root@fanssi ~]# lsblk
sdb                    8:16   0   20G  0 disk 
└─vdo1               253:3    0   80G  0 vdo  /mnt/vdotest

stratis

#stratis架构中几个硬盘转变为一个池,即池化,而文件系统大小从池中来获取。
#stratis的优点:stratis注重文件系统的精简分配,可以实现我们用一个文件系统的时候不用指定任何大小。
没有限制,精简分配。只需要将池子创建出来,文件系统不需要指定大小,需要多大的空间,直接从池子里面取。

#接下来,我们开始管理精简配置的文件系统:
#首先我们要先安装软件包

yum install -y stratis-cli stratisd
#激活服务
systemctl enable --now stratisd	#开机自启动stratis服务并且立即生效。
[root@fanssi ~]# stratis pool create pool01 /dev/sdc #创建池,先以一块盘为例子。
[root@fanssi ~]# stratis pool list	 #查看精简池的信息
Name      Total Physical Size  Total Physical Used
pool01                 20 GiB               52 MiB
[root@fanssi ~]# stratis blockdev list pool01 
Pool Name  Device Node    Physical Size   State  Tier
pool01     /dev/sdc              20 GiB  In-use  Data
[root@fanssi ~]# stratis pool add-data pool01 /dev/sdd #往精简池里面添加一块盘
[root@fanssi ~]# stratis pool list
Name      Total Physical Size  Total Physical Used
pool01                 40 GiB               72 MiB
[root@fanssi ~]# stratis blockdev list pool01 #查看精简池中的硬盘
Pool Name  Device Node    Physical Size   State  Tier
pool01     /dev/sdc              20 GiB  In-use  Data
pool01     /dev/sdd              20 GiB  In-use  Data


#创建文件系统
[root@fanssi ~]# stratis filesystem create pool01 fs01 #用pool01这个池创建文件系统
[root@fanssi ~]# stratis filesystem list 
Pool Name  Name  Used     Created      Device      UUID                             
pool01   fs01  546 MiB  Jun 07 2020 01:30 /stratis/pool01/fs01  ...
#文件系统的大小,位置,uuid都已经自动创建成功,与lvm相比节省了很多步骤。
#可以直接进行挂载,不需要再进行格式化,因为stratis基于xfs,所以文件系统默认为xfs
[root@fanssi ~]# mount /stratis/pool01/fs01 /file
[root@fanssi ~]# df -TH


#创建快照
#在创建快照之前要先把挂载给卸载掉
[root@fanssi ~]# stratis filesystem snapshot pool01 fs01 snap01 #创建快照
[root@fanssi ~]# stratis filesystem list pool01 
Pool Name  Name    Used     Created            Device                  UUID                         pool01     fs01    546 MiB  Jun 07 2020 01:30  /stratis/pool01/fs01     ...  
pool01     snap01  546 MiB  Jun 07 2020 01:37  /stratis/pool01/snap01   ...
#可以看到 这个快照和源文件有着同等的大小,甚至有着自己的路径。但是,stratis和lvm快照的最大区别就是,lvm的快照和源文件有一定的关系,而stratis的快照做好之后,和之前的源文件就没有任何关系了。

#恢复快照
[root@fanssi ~]# stratis filesystem destroy pool01 fs01 #删除原文件系统
[root@fanssi ~]# stratis filesystem list pool01  #查看,可以发现fs01没了
Pool Name  Name    Used     Created            Device                  UUID                
pool01     snap01  546 MiB  Jun 07 2020 01:37  /stratis/pool01/snap01  ...
[root@fanssi ~]# stratis filesystem snapshot pool01 snap01 fs01 #根据快照再创建出原文件系统
[root@fanssi ~]# stratis filesystem list pool01  #查看文件系统的信息。发现fs01回来了而且与原来没差别
Pool Name  Name    Used     Created            Device                  UUID
pool01     snap01  546 MiB  Jun 07 2020 01:37  /stratis/pool01/snap01  ...  
pool01     fs01    546 MiB  Jun 07 2020 01:43  /stratis/pool01/fs01    ...
#至此完成了恢复快照
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值