记录下longhorn的使用 - rancherlab提供的开源分布式块存储方案
Longhorn 支持以下架构:
- AMD64
- ARM64(实验性)
longhotn需要open-iscsi,curl,findmnt,grep,awk,blkid,lsblk的依赖(是否需要单独安装可以使用这个脚本进行验证,centos7有可能需要单独安装下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(默认数据路径)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 将显示每个节点的空间分配、调度和使用信息:

Size
column:Longhorn 卷可以使用的最大实际可用空间。它等于节点的总磁盘空间减去保留空间。
Allocated
列:左边的数字是已经用于卷调度的大小,并不表示空间已经用于Longhorn卷数据存储。正确的数字是卷调度的最大大小,Size
乘以Storage Over Provisioning Percentage
. (在上图中,Storage Over Provisioning Percentage
是 500。)因此,这两个数字之间的差异(我们称之为可分配空间)决定了是否可以将卷副本调度到该节点。
Used
column:左边部分表示该节点当前使用的空间。整条表示节点的总空间。
注意,设置大于 100 时,可分配空间可能会大于节点的实际可用空间Storage Over Provisioning Percentage
。如果卷被大量使用,卷快照中会存储大量历史数据,请谨慎使用此设置的值很大。有关设置的更多信息,请参阅此处了解详细信息。