金鱼哥RHCA回忆录:RH236GlusterFS-管理快照

举报
金鱼哥 发表于 2022/05/31 08:58:46 2022/05/31
【摘要】 第十一章 GlusterFS-管理快照

🎹 个人简介:大家好,我是 金鱼哥,CSDN运维领域新星创作者,华为云·云享专家,阿里云社区·专家博主
📚个人资质:CCNA、HCNP、CSNA(网络分析师),软考初级、中级网络工程师、RHCSA、RHCE、RHCA、RHCI、ITIL😜
💬格言:努力不一定成功,但要想成功就必须努力🔥


注意:

1.快照必须基于thin pool。

2.对一个volume做快照,实际也就是对brick做快照。


前提(必要时)

# gluster volume set vol1 server.allow-insecure on  
#允许volume能被非安全端口的访问

# vim /etc/glusterfs/glusterd.vol 
option rpc-auth-allow-insecure on 
#在所有节点,允许rpc非安全验证

# systemctl restart glusterd 
#在所有节点重启glusterd服务

创建快照

# gluster volume geo-replication vol1 node5::vol1-slave stop 
注意:文档上说如果有做geo-replication,必须先把geo-replication停掉,实际上,必须将geo-replication删掉才可以继续做快照

# gluster snapshot create vol1-snapshot vol1 
为vol1这个volume创建一个快照,叫vol1-snapshot,默认会为这个快照带一个时间戳,如果不想带,可在命令后面加上no-timestamp

查看快照

# gluster snapshot list 
#列出所有快照

# gluster snapshot info SNAP-NAME 
#查看快照的详细信息

# gluster snapshot status SNAP-NAME 
#查看状态

对快照进行限制

软限制,警告
硬限制,针对一个volume最多能做多少个快照
自动删除,当快照个数,达到软限制,自动删除最老的快照
# gluster snapshot config 
查看限制

# gluster snapshot config vol1 snap-max-hard-limit 100 
对vol1这个volume作限制,硬限制为100

# gluster snapshot config snap-max-soft-limit 50 
设置软限制为50%,不能对单个volume作软限制,只能设默认值

# gluster snapshot config auto-delete enable 
开启自动删除,也只能设全局默认

激活快照

# gluster snapshot activate vol1-snap 
激活快照,只有被激活的快照,才能被访问。

# gluster snapshot deactivate vol1-snap 
不激活快照

访问快照

# mount -t glusterfs node1:/snaps/vol1-snap/vol1 /mnt/snap 
将快照挂载,但只是只读的,这时,就可在挂载目录查看快照

恢复快照

# gluster volume stop vol1 
恢复快照前,必须先把volume停掉

# gluster snapshot restore vol1-snap 
恢复快照

# gluster volume heal vol1 full 
当快照恢复后,volume也已经启动,触发self-heal

# gluster volume start vol1 
还原成功后,启动volume

# gluster snapshot list 
发现快照还原之后就没有了,通过查看LVM卷也能发现LVM的快照被删除了。

# gluster volume geo-replication vol1 node5::vol1-slave start 
启动geo-replication

调度快照

也就是做一个创建快照的计划任务
# gluster volume set all cluster.enable-shared-storage enable 
启用共享卷,所谓共享卷,也就是在集群中的所有主机都能访问,当这个选项启用后,会自动创建一个叫gluster_shared_storage的卷,并挂载到所有节点的/var/run/gluster/shared_storage目录下

# snap_scheduler.py init 
初始化调度功能
# snap_scheduler.py enable 
开启调度功能
# snap_scheduler.py status
查看状态

# snap_scheduler.py add "job1" "* * 1 * *" "vol1" 
为vol1这个volume创建一个调度计划,名字叫job1,每月的1号做一次快照,* * * * *,分、时、日、月、周,这里计划任务就是在调用cron在做计划任务
# snap_scheduler.py edit "job1" "* * 2 * *" "vol1" 
编辑计划任务
# snap_scheduler.py list 
查看计划任务
# snap_scheduler.py delete "job1" 
删除job1这个计划任务

课本练习

[root@workstation ~]# lab snapshot-manage setup


1. 创建snapvol卷的新快照,命名为safetysnap。

[root@servera ~]# gluster snapshot create safetysnap snapvol no-timestamp
snapshot create: success: Snap safetysnap created successfully
[root@servera ~]# gluster snapshot info safetysnap
Snapshot                  : safetysnap
Snap UUID                 : b7ec29ba-a425-4e33-ab88-befa28161642
Created                   : 2020-12-11 09:13:40
Snap Volumes:

	Snap Volume Name          : 55243a7eec904a17b384630808975a1d
	Origin Volume name        : snapvol
	Snaps taken for snapvol      : 2
	Snaps available for snapvol  : 254
	Status                    : Stopped

2. 为snapvol卷启用可用户服务的快照。

原始快照和safetysnap快照都应该可以通过这种方式访问。

[root@workstation ~]# umount /mnt/snapvol

[root@servera ~]# gluster volume set snapvol features.uss enable
volume set: success

[root@workstation ~]# mount /mnt/snapvol

激活原始快照和safetysnap快照。在可以直接挂载快照或使用用户服务的快照挂载快照之前,需要先激活快照。
[root@servera ~]# gluster snapshot activate original
Snapshot activate: original: Snap activated successfully

[root@servera ~]# gluster snapshot activate safetysnap
Snapshot activate: safetysnap: Snap activated successfully

3. 按要求挂载。

[root@workstation ~]# mkdir /mnt/original
[root@workstation ~]# echo "servera:/snaps/original/snapvol /mnt/original glusterfs _netdev 0 0" >> /etc/fstab 
[root@workstation ~]# mount -a
[root@workstation ~]# df -h
Filesystem                       Size  Used Avail Use% Mounted on
/dev/vda1                         10G  3.0G  7.0G  30% /
devtmpfs                         902M     0  902M   0% /dev
tmpfs                            920M   84K  920M   1% /dev/shm
tmpfs                            920M   17M  904M   2% /run
tmpfs                            920M     0  920M   0% /sys/fs/cgroup
tmpfs                            184M   16K  184M   1% /run/user/42
tmpfs                            184M     0  184M   0% /run/user/0
servera:/snapvol                 2.0G   33M  2.0G   2% /mnt/snapvol
servera:/snaps/original/snapvol  2.0G   33M  2.0G   2% /mnt/original
[root@workstation ~]# cat /mnt/original/file00 
This file is original

4. 将文件file02、file04、file08和file16从原始快照恢复到snapvol卷。

[root@workstation ~]# for FILE in /mnt/original/file{02,04,08,16} 
> do
> cp ${FILE} /mnt/snapvol/
> done

cp: overwrite ‘/mnt/snapvol/file02’? y
cp: overwrite ‘/mnt/snapvol/file04’? y
cp: overwrite ‘/mnt/snapvol/file08’? y
cp: overwrite ‘/mnt/snapvol/file16’? y

5. 脚本评分。

[root@workstation ~]# lab snapshot-manage grade


课本练习

[root@workstation ~]# lab snapshot-schedule setup


1. 按照指定配置快照限制。

[root@servera ~]# gluster snapshot config snap-max-hard-limit 10 snap-max-soft-limit 50
Changing snapshot-max-hard-limit will limit the creation of new snapshots if they exceed the new snapshot-max-hard-limit.
If Auto-delete is enabled, snap-max-soft-limit will trigger deletion of oldest snapshot, on the creation of new snapshot, when the snap-max-soft-limit is reached.
Do you want to continue? (y/n) y
snapshot config: snap-max-hard-limit & snap-max-soft-limit for system set successfully

当超过snap-max-soft-limit时,启用自动删除快照
[root@servera ~]# gluster snapshot config auto-delete enable
snapshot config: auto-delete successfully set

启用新快照的自动激活
[root@servera ~]# gluster snapshot config activate-on-create enable
snapshot config: activate-on-create successfully set

2. 通过启用共享存储和允许crond访问标记为fusefs_t的文件,准备用于快照调度的servera和serverb。

[root@servera ~]# gluster volume set all cluster.enable-shared-storage enable
volume set: success

在servera和serverb上,通过持久地启用cron_system_cronjob_use_shares SELinux布尔值,允许crond访问标记为fusefs_t的文件
# setsebool -P cron_system_cronjob_use_shares 1

3. 在servera和serverb上初始化并启用和设置快照调度程序。

然后创建一个名为serenity的新调度程序,该调度程序每两分钟获取snapvol卷的快照
[root@servera ~]# snap_scheduler.py init
snap_scheduler: Successfully initialised snapshot scheduler for this node
[root@serverb ~]# snap_scheduler.py init
snap_scheduler: Successfully initialised snapshot scheduler for this node

[root@servera ~]# snap_scheduler.py enable
snap_scheduler: Snapshot scheduling is enabled
[root@servera ~]# snap_scheduler.py add serenity "*/2 * * * *" snapvol
snap_scheduler: Successfully added snapshot schedule

4. 验证快照现在以两分钟的间隔安排。

[root@servera ~]# snap_scheduler.py list
JOB_NAME         SCHEDULE         OPERATION        VOLUME NAME      
--------------------------------------------------------------------
serenity         */2 * * * *      Snapshot Create  snapvol          

[root@servera ~]# gluster snapshot list
original
safetysnap
Scheduled-serenity-snapvol_GMT-2020.12.11-13.56.01

[root@servera ~]# gluster snapshot list
original
safetysnap
Scheduled-serenity-snapvol_GMT-2020.12.11-13.56.01
Scheduled-serenity-snapvol_GMT-2020.12.11-13.58.01

5. 脚本评分。

[root@workstation ~]# lab snapshot-schedule grade


总结

RHCA认证需要经历5门的学习与考试,还是需要花不少时间去学习与备考的,好好加油,可以噶🤪。

以上就是【金鱼哥】对 第十一章 GlusterFS-管理快照 的简述和讲解。希望能对看到此文章的小伙伴有所帮助。

💾红帽认证专栏系列:
RHCSA专栏:戏说 RHCSA 认证
RHCE专栏:戏说 RHCE 认证
此文章收录在RHCA专栏:RHCA 回忆录

如果这篇【文章】有帮助到你,希望可以给【金鱼哥】点个赞👍,创作不易,相比官方的陈述,我更喜欢用【通俗易懂】的文笔去讲解每一个知识点。

如果有对【运维技术】感兴趣,也欢迎关注❤️❤️❤️ 【金鱼哥】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💕💕!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。