开发者学堂课程【Linux 磁盘与文件系统管理:LVM 管理快照】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/589/detail/8334
LVM 管理快照
内容介绍:
一、逻辑卷管理快照
二、如何实现快照
一、逻辑卷管理快照
快照的作用,目的是为了快速的对数据做备份。
如果用传统的备份方法,数据量比较大,所谓的备份不就实际上本质上就是复制,一个大数据肯定是需要花比较长的时间的。在这段时间之内。用户的访问对服务器的影响也是比较大的,所以快照的目的就是能够快速的把数据做备份。
在一个在逻辑卷中实现。而不是在普通分区上实现。
1、快照是特殊的逻辑卷,他是在生成快照时存在的逻辑卷的准确拷贝
2、对于需要备份或者复制现有数据临时拷贝以及其他操作来说,快照是最合适的选择
3、快照只有在它们和原来的逻辑卷不同时才会消耗空间
(1)在生成快照时会分配给它们一定的空间,但只有在原来的逻辑卷或者快照有所改变才会使用这些空间
(2)当原来的逻辑卷中有所改变时,会将旧的数据复制到快照中
(3)快照中只含有原来的逻辑卷中更改的数据或者生成快照后的快照中更改的数据
(4)建立快照的卷大小只需要原始逻辑卷的15%--20%就够了,也可以使用 lvextend 放大快照
4、快照的工作原理
假设这有一个卷组。然后在这个逻辑卷卷组中,咱们是先有一个所谓的逻辑卷。在当前的逻辑卷中有三个文件,假设要对逻辑卷快照开始做。做的就是在这个逻辑卷中的同一卷组中在创建一个,也就是逻辑卷的逻辑卷,普通的逻辑卷,但是这个不同于传统的逻辑卷,他是快照的逻辑卷,由于是同一个卷组中,所以画圈在里边。
创建名字之后,快照就是能够在磁盘上立刻分配一个空间,假设逻辑卷是10G,由于快照也是个逻辑卷,所以要指定大小,不一定要和逻辑卷一样大,可以小一点。
创建快照的时候会自动创建一个卷组分配的量,快照之所以快,是由于他在磁盘上分配了空间,也就是说起到了备份作用。但是从目前来说他没有实现真正的备份,但是后续对逻辑卷进行操作,他就起到了一个被动的效果。
当我们做完快照之后,在逻辑卷同一卷组上还有空间,这个空间里面是没有任何数据的,但是我们的原始数据还在里面,F1,F2,F3,但是后期对M1做了修改,比如将他改成了F1’,那么系统就会自动把旧的F1推送到快照中。
在逻辑卷里放修改文件的最早版本,,所以如果这个目录里,这个逻辑卷里面所有数据全改了,那你至少空间和他一样就行,比方说他把十个 G 都都占满了,全改了,就全部放进来。如果只是改了一部分,所以逻辑卷快照是就要小于他的大小,小于等于,但是要预估,预先估计出来,逻辑卷里面可能会改多少文件。
二、快照的实现
1、快照具有备份的特性
2、相关代码
Vgdisplay
Vgimport newvg0
Ivdisplay
Vgchange -ay newvg0
Ivgdisplay
Df
Mount/dev/newvg0/Iv-myswqI /mnt/mysqI/
Cd/mnt/mysqI/
cp /etc/fst ab
cp /etc/pas swd
cp /etc/iss ue
Is
Cd
vgdisplay
Ivgcreat -n Iv-mysqI-snap -s -L 1G /dev/newvg0/Iv-mysqI
只读快照逻辑卷
bIkid
Mkdir /mnt/snap
Mount /dev/newvgo/Iv-mysqI-snap /mnt/snap
Is /mnt/snap
Is mnt/snap
Is /mnt/mysqI/
Vim /mnt/mysqI/f1
更改之后逻辑卷里边就是旧数据了
rm-f/mnt/mysqI/f2
II /mnt/snap/
快照不能代替备份
还原数据:
Is/mnt/mysqI/
第一步
取消挂载
Is mnt/mysqI/
Umount/mnt/snap
Df
第二步
Ivconvert --merge (合并) /dev/newvg0/Iv-mysqI-snap ^C
Mount /dev/newvg0/Iv-mgsqI.mnt/mysqI/
Mount/dev/newvg0/Iv-vg0Iv-snap /mnt/snap/
Is /mnt/mysqI
Cp/etcpasswd/mnt/mysqI/f4
II/mnt/snap/
Umount /mnt/snap/
Umount/mnt/mysqI
Vgdisplay
Mount /dev/newvg0/Iv-mysqI /mnt/mysqI/
Is/mnt/mysqI/-I
不同版本:bIkid
Df-T
1s /mnt/d ata
cp /etc/stab /mnt/data/f1
p /etc/fstab/mnt/data/f2
p/etc/fstab/mnt/data/f3
Is /mnt/ddata
II/mnt/d data
Vg0display
创建快照
Ivcreat - Iv-data-snap-s -L 1G /dev/vg0/Iv-data
Mkdir /mnt/snap
Mount /dev/vg0/Iv-data-snap /mnt/snap/ -o ro
Bikid
Idisplay
挂载不上去,xfs 系统特殊,由于文件系统一样,导致无法进行挂载。需要单独加一个特殊的挂载选项
Mount -o nouuid /dev/vg0/Iv-data -snap/mnt/snap/
Is /mnt/snap/
II mnt/snap/
II mnt/data
Vim/mnt/data/f1
Cat /mnt/data/f1
Cat /mnt/snap/f1
Rm -f /mnt/data/f2
Is /mnt/snap/ -I
II/mnt/data/
Cp /etc/passwd/mnt/data/f4
II/mnt.data
II/mnt/snap/
Cd
还原:
取消所有挂载,在取消 swap
Umount/mnt/data
Umount/mnt/snap/
Ivconvert --merge /dev/vg0/Iv-data-snap
Ivdisplay
Mount /dev/vg0/Iv-data /mnt/data/
Is mnt/data/ -I
上述为快照的还原和创建
Ivcreat -n Iv-mgsqI-snap -L 1G -s -p r
/dev/newvg0/Iv-mysqI
删除逻辑卷快照
Df
要取消挂载,
umount/mnt/mgsqI
Umount /mnt/data
Ivremove /dev/newvg0/Iv-mysqI
Ivremove dev/vg0/Iv-data
Ivdisplay
删除卷组
Vgremove vg0
Vgremove newvg0
Vg
Vgs
Pvs
Pvremove/dev/sdd/dev/sdf
Pvs
Pvs
IsbIk
917
918实验: ext LV 的快照,并恢复
919 1 lvcreate -n lv data snap -p r-S -L 1G
/dev/vg0/lv_data
920
921 2 mount -o /dev/vg0/lv_data_snap /mnt/snap/
922
923 3 umount /mnt/data
924 umount /mnt/snap/
925 4lvconvert--merge /dev/vg0/lv data snap
926
927 实验: xfs LV 的快照,并恢复
928
929 1 lvcreate -n lv data snap-s -L 1G /dev/vg0lv_data
930
931 2 mount -o nouuid, ro/dev/vg0/lv_data snap/mnt/snap/
932
933 3umount /nnt/data
934umount /mnt/snap/
935
936
4 lvonver--merge /dev/vg0/lv data-snap
3、挂载
4、
Swap
5、
Dd
6、
Raid
7、
Lvm
三、命令表
1、
findmnt
2、
Mount
3、
Mdadm
4、
Eject
5、
Swap
6、
Swapoff
7、
Mkswap
8、
Mkisosfs
9、
Wodim
刻光盘的命令
10、
Dmesg
11、
Mdadm
12、
Pvs
13、
Pvdisplay
14、
Pvscan
15、
Pvcreat
16、
Pvmove
17、
Vgdispaly
18、
Vgs
19、
Vgcreat
20、
Vgreduce
21、
Vgremove
22、
Vgextend
23、
Vgexport
24、
Lvcreat
25、
Lsusb
26、
Lvs
27、
Lvdisplay
28、
Lvrename
29、
Lvreduce
30、
Lvextend
31、
Lvcovert
4、课后要求
888 实验:分区表的备份和还原
889
890
891 /dev/sda2[root@centos6 ~]#blkid -u `sed -rn 's#^UUID=(.*) /.*#\1#p' /etc/fstab
892
893 在 centos6 之前版手动创建的 ext 分区,默认没有 ACL 功能894
895 一个设备可以同时挂载到多个目录
896 一个目录可挂载多个设备呢?不可以
897
898 实验:增加一块新硬盘,分区,创建文件系统 xFSIEXT4,挂载
899
900 实验: /etc/fstab 文件错误,无法启动,故障排错 centos6
901
902 实验:实现 swap 分区
903
904 实验:迁移 /home 目录到新分区中
905
906 实验:实现 raid10
907
908 实验:创建 LVM
909
924 实验:扩展LVM
925
926 1 vgdisplay 查看VG有空闲空间
927
928 2 lvextend -1 +1008FREE /dev/vg0/lv mysql
929
930 3 resize2fs /dev/vg0/lv mysql
931
932 2、3合并成 lvextend
933 lvextend-r-L5G /dev/vg0/lv data
934
935 4 df
936
937 实验:扩展 VG
938
939
940 实验:缩减 LVM
941
942 1 umount /mnt/mysql
943
944 2 fsck-f/dev/vg0/lv mysql
945
946 3 resize2fs /dev/vg0/lv_mysq1 20
947
948 4 lvreduce-L20 /dev/vg0/lv mysql
949
950 5 mount /dev/vg0/lv mysql /mnt/mysql
951
952
953 实验: ext LV的快照,并恢复
954 1 lvcreate -n lv data snap-pr -s -L 1G /dev/vg0/ v data
955
956 2 mount -o /dev/vg0/lv data snap /mnt/snap/
umount /mnt/data
umount /mnt/snap/
lvconvert--merge /dev/vg0/lv data snap
实验: xfsLV 的快照,并恢复
1 lvcreate -n lv data snap-s-L1G /dev/vg0/lv data965
2 mount -o nouuid, ro/dev/vg0/lv_data_snap /mnt/sna p/
3 umount /mnt/data
umount /mnt/snap/
4 lvconvert--merge /dev/vg0/lv data snap