RH236GlusterFS-管理快照

简介: RH236GlusterFS-管理快照

RH236GlusterFS-管理快照

RHCSA专栏:戏说 RHCSA 认证

RHCE专栏:戏说 RHCE 认证

此文章(第十一章 GlusterFS-管理快照)收录在RHCA专栏:RHCA 回忆录


注意:

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


总结

以上就是【金鱼哥】对 GlusterFS管理快照的分享 。希望能对看到此文章的小伙伴有所帮助。

如果这篇【文章】有帮助到你,希望可以给【金鱼哥】点个赞👍,创作不易,相比官方的陈述,我更喜欢用【通俗易懂】的文笔去讲解每一个知识点,如果有对【运维技术】感兴趣,也欢迎关注❤️❤️❤️ 【金鱼哥】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💕💕!

目录
相关文章
|
8月前
|
存储 关系型数据库 数据库
【北亚企安数据恢复】Ceph分布式存储基本架构&Ceph数据恢复流程
Ceph存储可分为块存储,对象存储和文件存储。Ceph基于对象存储,对外提供三种存储接口,故称为统一存储。 Ceph的底层是RADOS(分布式对象存储系统),RADOS由两部分组成:OSD和MON。 MON负责监控整个集群,维护集群的健康状态,维护展示集群状态的各种图表,如OSDMap、MonitorMap、PGMap和CRUSHMap。 OSD负责存储数据、复制数据、平衡数据、恢复数据,与其它OSD间进行心跳检查等。通常情况下一块硬盘对应一个OSD。
|
11月前
|
Linux KVM 虚拟化
KVM无法创建快照解决
KVM无法创建快照解决
241 0
|
移动开发 关系型数据库 MySQL
LVM 管理快照| 学习笔记
快速学习 LVM 管理快照
207 0
LVM 管理快照| 学习笔记
|
存储 Kubernetes 应用服务中间件
k8s使用glusterfs实现动态持久化存储
简介 本文章介绍如何使用glusterfs为k8s提供动态申请pv的功能。glusterfs提供底层存储功能,heketi为glusterfs提供restful风格的api,方便管理glusterfs。
2445 0
|
存储 Kubernetes 应用服务中间件
K8S中如何使用Glusterfs做持久化存储?
本文通过步骤讲解,旨在让读者了解Kubernetes中如何使用持久化存储,对glusterfs的配置相对简单,不建议在生产环境下使用。 集群详情 Kubernetes 1.6.0 Docker 1.
3239 0
|
网络协议 监控