记录下 Longhorn 的使用 - Rancher Lab 提供的开源分布式块存储方案
Longhorn 支持以下架构:
- AMD64
- ARM64(实验性)
Longhorn 需要 open-iscsi、curl、findmnt、grep、awk、blkid、lsblk 的依赖(是否需要单独安装可以使用这个脚本进行验证,CentOS 7 有可能需要单独安装下 jq 和 open-iscsi)
利用 Rancher 安装
在 Rancher UI 上选择自己的集群,然后找到对应 App 安装即可,v2.6.3 测试没问题(尝试用 kubectl 安装的时候告诉我缺少 NODE_NAME ENV,但是 Rancher 就正常):https://longhorn.io/docs/1.2.3/deploy/install/install-with-rancher/
查看对应几个 Node 是否正常创建 Longhorn
默认数据路径:
1 | ls /var/lib/longhorn |
界面

创建应用进行测试
应用 yaml 创建 PVC 和 pod
pvc.yaml
1 | apiVersion: v1 |
pod.yaml
1 | apiVersion: v1 |
整个集群空间使用
在 Dashboard 页面中,Longhorn 会显示集群空间使用信息:

Schedulable:可用于 Longhorn 卷调度的实际空间。Reserved:为其他应用程序和系统保留的空间。Used:Longhorn、系统和其他应用程序使用的实际空间。Disabled:不允许调度 Longhorn 卷的磁盘/节点的总空间。
每个节点的空间使用
在 Node 页面中,Longhorn 将显示每个节点的空间分配、调度和使用信息:

Sizecolumn:Longhorn 卷可以使用的最大实际可用空间。它等于节点的总磁盘空间减去保留空间。Allocated列:左边的数字是已经用于卷调度的大小,并不表示空间已经用于 Longhorn 卷数据存储。右边的数字是卷调度的最大大小,Size乘以Storage Over Provisioning Percentage。(在上图中,Storage Over Provisioning Percentage是 500。)因此,这两个数字之间的差异(我们称之为可分配空间)决定了是否可以将卷副本调度到该节点。Usedcolumn:左边部分表示该节点当前使用的空间。整条表示节点的总空间。
注意:设置大于 100 时,可分配空间可能会大于节点的实际可用空间
Storage Over Provisioning Percentage。如果卷被大量使用,卷快照中会存储大量历史数据,请谨慎使用此设置的值很大。有关设置的更多信息,请参阅此处了解详细信息。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 小五的个人杂货铺!