马哥18-逻辑卷实验

文章目录

1.删除LV逻辑卷中的硬盘设备

在这里插入图片描述

查看我们为实验新增的(三个20G)的硬盘设备

[root@localhost ~]# lsblk 
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  200G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0  100G  0 part /
├─sda3   8:3    0   50G  0 part /data
├─sda4   8:4    0    1K  0 part 
└─sda5   8:5    0    3G  0 part [SWAP]
sdb      8:16   0   20G  0 disk 
sdc      8:32   0   20G  0 disk 
sdd      8:48   0   20G  0 disk 
sr0     11:0    1 1024M  0 rom  

将我们新增的三个硬盘设备创建物理卷

[root@localhost ~]# pvcreate /dev/sdb /dev/sdc /dev/sdd
  Physical volume "/dev/sdb" successfully created.
  Physical volume "/dev/sdc" successfully created.
  Physical volume "/dev/sdd" successfully created.
[root@localhost ~]# pvs
  PV         VG Fmt  Attr PSize  PFree 
  /dev/sdb      lvm2 ---  20.00g 20.00g
  /dev/sdc      lvm2 ---  20.00g 20.00g
  /dev/sdd      lvm2 ---  20.00g 20.00g

将我们创建好的物理卷加入vg666卷组中,并设置其PE大小为15m

[root@localhost ~]# vgcreate vg666 -s 15m /dev/sdb /dev/sdc /dev/sdd  Volume group "vg666" successfully created
[root@localhost ~]# vgs
  VG    #PV #LV #SN Attr   VSize   VFree  
  vg666   3   0   0 wz--n- <59.99g <59.99g

利用卷组中的PE创建一个30G的逻辑卷lv666

[root@localhost ~]# lvcreate -n lv666 -L 30G /dev/vg666
  Logical volume "lv666" created.
[root@localhost ~]# lvs
  LV    VG    Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv666 vg666 -wi-a----- 30.00g 

先检查其它pv中的Free PE的总和是否大于被操作pv里的Allocated PE个数,如果没有足够空间,将无法执行下一步操作

[root@localhost ~]# pvdisplay 
  --- Physical volume ---
  PV Name               /dev/sdb
  VG Name               vg666
  PV Size               20.00 GiB / not usable 5.00 MiB
  Allocatable           yes (but full)
  PE Size               15.00 MiB
  Total PE              1365
  Free PE               0
  Allocated PE          1365
  PV UUID               B9Dixy-J5Or-z2Es-am0m-0xGJ-Z2QS-3z3y1x
   
  --- Physical volume ---
  PV Name               /dev/sdc
  VG Name               vg666
  PV Size               20.00 GiB / not usable 5.00 MiB
  Allocatable           yes 
  PE Size               15.00 MiB
  Total PE              1365
  Free PE               682
  Allocated PE          683
  PV UUID               1PPz12-7M0I-JeNY-7hTX-kz0q-MTdA-JHyyqf
   
  --- Physical volume ---
  PV Name               /dev/sdd
  VG Name               vg666
  PV Size               20.00 GiB / not usable 5.00 MiB
  Allocatable           yes 
  PE Size               15.00 MiB
  Total PE              1365
  Free PE               1365
  Allocated PE          0
  PV UUID               fPBm0Z-LYMr-qQFC-mYVg-orq1-yR3j-NIQ2x1

移除被操作pv中的Allocated PE至其它pv中

[root@localhost ~]# pvmove /dev/sdb
  /dev/sdb: Moved: 0.59%
  /dev/sdb: Moved: 100.00%

使用命令可以查看到,我们想要删除的硬盘所制作的pv当中Allocated PE为0

[root@localhost ~]# pvdisplay 
  --- Physical volume ---
  PV Name               /dev/sdb
  VG Name               vg666
  PV Size               20.00 GiB / not usable 5.00 MiB
  Allocatable           yes 
  PE Size               15.00 MiB
  Total PE              1365
  Free PE               1365
  Allocated PE          0
  PV UUID               B9Dixy-J5Or-z2Es-am0m-0xGJ-Z2QS-3z3y1x
   
  --- Physical volume ---
  PV Name               /dev/sdc
  VG Name               vg666
  PV Size               20.00 GiB / not usable 5.00 MiB
  Allocatable           yes 
  PE Size               15.00 MiB
  Total PE              1365
  Free PE               682
  Allocated PE          683
  PV UUID               1PPz12-7M0I-JeNY-7hTX-kz0q-MTdA-JHyyqf
   
  --- Physical volume ---
  PV Name               /dev/sdd
  VG Name               vg666
  PV Size               20.00 GiB / not usable 5.00 MiB
  Allocatable           yes (but full)
  PE Size               15.00 MiB
  Total PE              1365
  Free PE               0
  Allocated PE          1365
  PV UUID               fPBm0Z-LYMr-qQFC-mYVg-orq1-yR3j-NIQ2x1

使用vgs查看,vg666卷组大小没变

[root@localhost ~]# vgs
  VG    #PV #LV #SN Attr   VSize   VFree  
  vg666   3   1   0 wz--n- <59.99g <29.99g 

使用vgreduce将我们所需应建设别从卷组vg666移除

[root@localhost ~]# vgreduce vg666 /dev/sdb
  Removed "/dev/sdb" from volume group "vg666"

使用vgs查看到,vg666卷组大小已缩减,并且pv输从3变更成2

[root@localhost ~]# vgs
  VG    #PV #LV #SN Attr   VSize  VFree
  vg666   2   1   0 wz--n- 39.99g 9.99g

使用pvs查看,我们所需设备已不再vg666卷组中

[root@localhost ~]# pvs
  PV         VG    Fmt  Attr PSize   PFree 
  /dev/sdb         lvm2 ---   20.00g 20.00g
  /dev/sdc   vg666 lvm2 a--  <20.00g  9.99g
  /dev/sdd   vg666 lvm2 a--  <20.00g     0 

使用pvremove 彻底将我们所需设备从pv中删除

[root@localhost ~]# pvremove /dev/sdb
  Labels on physical volume "/dev/sdb" successfully wiped.

此时我们所需设备sdb硬盘即可拔出

[root@localhost ~]# lsblk 
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0  200G  0 disk 
├─sda1          8:1    0    1G  0 part /boot
├─sda2          8:2    0  100G  0 part /
├─sda3          8:3    0   50G  0 part /data
├─sda4          8:4    0    1K  0 part 
└─sda5          8:5    0    3G  0 part [SWAP]
sdb             8:16   0   20G  0 disk 
sdc             8:32   0   20G  0 disk 
└─vg666-lv666 253:0    0   30G  0 lvm  
sdd             8:48   0   20G  0 disk 
└─vg666-lv666 253:0    0   30G  0 lvm  
sr0            11:0    1 1024M  0 rom  

2.LVM设置快照及恢复快照

给咱们的逻辑卷设置ext4的文件系统

[root@localhost ~]# mkfs.ext4 /dev/vg666/lv666 
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1966080 inodes, 7864320 blocks
393216 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2155872256
240 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

新建所需目录,将逻辑卷挂载至所建目录,并且查看

[root@localhost ~]# mkdir /mnt/lv666 ; mount /dev/vg666/lv666 /mnt/lv666
[root@localhost ~]# df -hT
Filesystem              Type      Size  Used Avail Use% Mounted on
devtmpfs                devtmpfs  711M     0  711M   0% /dev
tmpfs                   tmpfs     727M     0  727M   0% /dev/shm
tmpfs                   tmpfs     727M   11M  716M   2% /run
tmpfs                   tmpfs     727M     0  727M   0% /sys/fs/cgroup
/dev/sda2               xfs       100G  4.1G   96G   5% /
/dev/sda3               xfs        50G   33M   50G   1% /data
/dev/sda1               xfs      1014M  168M  847M  17% /boot
tmpfs                   tmpfs     146M  4.0K  146M   1% /run/user/42
tmpfs                   tmpfs     146M   56K  146M   1% /run/user/0
/dev/mapper/vg666-lv666 ext4       30G   45M   28G   1% /mnt/lv666

进入目录,cp所需文件至目录下

[root@localhost ~]# cd /mnt/lv666/
[root@localhost lv666]# cp /etc/fstab f1
[root@localhost lv666]# cp /etc/passwd f2
[root@localhost lv666]# cp /etc/issue f3
[root@localhost lv666]# cp /etc/group f4
[root@localhost lv666]# ls
f1  f2  f3  f4  lost+found

为逻辑卷lv666创建名为lv666_snapshot的快照

[root@localhost lv666]# lvcreate -n lv666_snapshot -s -L 1G  /dev/vg666/lv666
  Rounding up size to full physical extent 1.01 GiB
  Logical volume "lv666_snapshot" created.

使用命令查看,显示快照已创建

[root@localhost lv666]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/vg666/lv666
  LV Name                lv666
  VG Name                vg666
  LV UUID                sUNijp-dHJt-UM37-Spll-Kz1l-vjRh-vduYLX
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2019-10-20 14:22:58 +0800
  LV snapshot status     source of
                         lv666_snapshot [active] #表示这是一个快照
  LV Status              available
  # open                 1
  LV Size                30.00 GiB
  Current LE             2048
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/vg666/lv666_snapshot
  LV Name                lv666_snapshot
  VG Name                vg666
  LV UUID                bolJ4M-cAvQ-eHin-2Oq4-C3Fj-zeIS-WmJnC8
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2019-10-20 15:22:33 +0800
  LV snapshot status     active destination for lv666 #表示这是一个针对lv666的快照
  LV Status              available
  # open                 0
  LV Size                30.00 GiB
  Current LE             2048
  COW-table size         1.01 GiB
  COW-table LE           69
  Allocated to snapshot  0.01%
  Snapshot chunk size    4.00 KiB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:3

创建快照所需目录,将快照挂载至目录并且设置为只读权限


[root@localhost lv666]# mkdir /mnt/lv666_snapshot
[root@localhost lv666]# mount -r /dev/vg666/lv666 /mnt/lv666_snapshot/
[root@localhost ~]# ls /mnt/lv666
f1  f2  f3  f4  lost+found
[root@localhost ~]# ls /mnt/lv666_snapshot/
f1  f2  f3  f4  lost+found #虽然快照挂载目录下有我们cp到逻辑卷下的文件,但是这里的文件并不是真实的文件,只是一个映射而已,文件指向的还是逻辑卷目录下的文件

我们现在清空逻辑卷下的文件f1

[root@localhost mnt]# > ./lv666/f1
[root@localhost mnt]# ll lv666
total 16
-rw-r--r--. 1 root root    0 Oct 20 15:50 f1
-rw-r--r--. 1 root root 2256 Oct 20 15:48 f2
-rw-r--r--. 1 root root   23 Oct 20 15:48 f3
-rw-r--r--. 1 root root  963 Oct 20 15:49 f4
drwx------. 2 root root 4096 Oct 20 15:15 lost+found
[root@localhost mnt]# ll lv666_snapshot/
total 32
-rw-r--r--. 1 root root   595 Oct 20 15:21 f1
-rw-r--r--. 1 root root  2256 Oct 20 15:21 f2
-rw-r--r--. 1 root root    23 Oct 20 15:22 f3
-rw-r--r--. 1 root root   963 Oct 20 15:22 f4
drwx------. 2 root root 16384 Oct 20 15:15 lost+found

我们现在删除逻辑卷下的所有文件,可以看到快照的文件还在,但是逻辑卷下的文件f开头的文件已被删除

[root@localhost mnt]# rm -f ./lv666/f*
[root@localhost mnt]# ll lv666
total 4
drwx------. 2 root root 4096 Oct 20 15:15 lost+found
[root@localhost mnt]# ll lv666_snapshot/
total 32
-rw-r--r--. 1 root root   595 Oct 20 15:21 f1
-rw-r--r--. 1 root root  2256 Oct 20 15:21 f2
-rw-r--r--. 1 root root    23 Oct 20 15:22 f3
-rw-r--r--. 1 root root   963 Oct 20 15:22 f4
drwx------. 2 root root 16384 Oct 20 15:15 lost+found

现在我们把逻辑卷以及快照都从目录下取消挂载

[root@localhost mnt]# umount /mnt/lv666
[root@localhost mnt]# umount /mnt/lv666_snapshot/

现在我们使用lvconvert --merge进行恢复快照lv666_snapshot

[root@localhost mnt]# lvconvert --merge /dev/vg666/lv666_snapshot 
  Merging of volume vg666/lv666_snapshot started.
  vg666/lv666: Merged: 100.00%

现在我们看到,逻辑卷的快照卷已经消失了

[root@localhost mnt]# lsblk 
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0  200G  0 disk 
├─sda1          8:1    0    1G  0 part /boot
├─sda2          8:2    0  100G  0 part /
├─sda3          8:3    0   50G  0 part /data
├─sda4          8:4    0    1K  0 part 
└─sda5          8:5    0    3G  0 part [SWAP]
sdb             8:16   0   20G  0 disk 
sdc             8:32   0   20G  0 disk 
└─vg666-lv666 253:0    0   30G  0 lvm  
sdd             8:48   0   20G  0 disk 
└─vg666-lv666 253:0    0   30G  0 lvm  
sr0            11:0    1 1024M  0 rom 

现在我们将原来的逻辑卷挂会原来的目录下

[root@localhost mnt]# mount /dev/vg666/lv666  /mnt/lv666

可以看到,刚才被我们删除的f开头的文件都已通过快照恢复了

[root@localhost lv666]# cd
[root@localhost ~]# ll /mnt/lv666
total 32
-rw-r--r--. 1 root root   595 Oct 20 15:21 f1
-rw-r--r--. 1 root root  2256 Oct 20 15:21 f2
-rw-r--r--. 1 root root    23 Oct 20 15:22 f3
-rw-r--r--. 1 root root   963 Oct 20 15:22 f4
drwx------. 2 root root 16384 Oct 20 15:15 lost+found

此处要注意的是,快照只会记录逻辑卷当中第一次更改之前的原始数据,在文件被修改第一次之后,再对同一文件进行修改时,快照是不会再次记录的。

32
-rw-r–r--. 1 root root 595 Oct 20 15:21 f1
-rw-r–r--. 1 root root 2256 Oct 20 15:21 f2
-rw-r–r--. 1 root root 23 Oct 20 15:22 f3
-rw-r–r--. 1 root root 963 Oct 20 15:22 f4
drwx------. 2 root root 16384 Oct 20 15:15 lost+found

## 此处要注意的是,快照只会记录逻辑卷当中第一次更改之前的原始数据,在文件被修改第一次之后,再对同一文件进行修改时,快照是不会再次记录的。







































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值