Longhorn部署
环境信息
软件 | 版本 |
---|---|
操作系统 | centos7.8 |
rancher | v2.3.8-ent2 |
Kubernetes | 1.17.4 |
Longhorn |
初始化
节点上安装iscsi插件
1 | yum install iscsi-initiator-utils |
将需要添加到Longhorn的磁盘进行格式化和挂载到/var/lib/longhorn目录
1 | mkfs.xfs /dev/vdb |
1 | mount /dev/vdb /var/lib/longhorn |
部署Longhorn
通过Rancher应用商店启动Longhorn
根据实际情况配置参数
启动后访问Longhorn
在rancher中创建workload绑定PVC进行测试
扩容磁盘
在Longhorn界面上选择对应的节点
添加磁盘挂载路径即可
存储卷扩容
有两种扩展Longhorn体积的方法:使用PersistentVolumeClaim(PVC)和Longhorn UI。
如果使用的是Kubernetes v1.14或v1.15,则只能使用Longhorn UI扩展卷。
通过PVC
仅在以下情况下应用此方法:
- Kubernetes版本v1.16或更高版本。
- Kubernetes使用Longhorn StorageClass动态设置PVC。
- StorageClass中的allowVolumeExpansion字段设置为true。
用法:将workload副本设置为0,在Longhorn卷找到相应的PVC,然后通过kubectl修改对应的pvc中的spec.resources.requests.字段,在Longhorn中对应的卷大小会自动更新。
存储卷快照
选择对应的存储卷,创建快照
还原快照
1、将挂载此卷的workload副本数设置为0
2、重新将此卷使用维护模式挂载到对应的节点。
3、选择卷快照还原,还原后将磁盘从对应节点卸载。
4、应用启动查看数据。
Longhorn备份和灾难恢复
概述
Longhorn做为分布式块存储,本身能支持针对存储卷的备份和数据卷的灾难恢复。用以下示例讲解Longhorn存储卷备份和灾难恢复。
数据卷备份
Longhorn支持存储卷的备份,将数据卷备份到AWS S3、NFSv4,采用快照方式增量备份到后端的backend存储上。以NFSv4做为后端backend为例配置后端存储。
节点安装NFS套件
1 | yum install nfs-utils |
创建共享目录
1 | mkdir /nfsdata |
配置exports
1 | vim /etc/exports |
1 | /nfsdata *(rw,sync,no_root_squash) |
启动服务并设置开机启动
1 | systemctl enable rpcbind |
NFSV4挂载测试
1 | mount -t nfs host_ip:/nfsdata /mnt/ |
在Longhorn界面上配置存储对接
创建备份
在对应的backup选项内可以看见创建出来的备份
对应nfs服务器查看数据,可以看见数据被分成了一个个块,以分块的方式存储。
1 | [root@iZ2zegq8vbaetetmgkyq4pZ /]# tree /nfsdata/ |
数据卷还原
数据卷还原步骤:
1、workload暂停使用,副本设置为0。
2、基于备份卷创建一个还原卷。
3、基于还原卷可创建新的PV和PVC或覆盖原有pvc。
基于备份卷创建新的PVC
填写卷名
基于卷创建对应的PV和PVC
若覆盖现用的PVC
1、覆盖原有pvc需要在Longhorn界面将原有volume删除或删除对应的PVC。
2、若覆盖现用的PVC,需要勾选 Use Previous Name,就创建与之前对应的卷名。
2、基于volume创建对应PV/PVC
3、将POD副本重新设置为正常,启动后查看卷内数据。
数据卷的灾难恢复
Longhorn数据卷的灾难恢复步骤:
1、A集群做为主集群对数据卷进行备份到远端backend。
2、B集群做为备集群指向与A集群一样的远端backend。
3、在B集群基于备份卷创建Create Disaster Recovery Volume。
4、基于创建的Create Disaster Recovery Volume创建PVC到对应的namespace。
激活Disaster Recovery
5、创建POD挂载新建的PVC。