
longhornio/longhorn-engineLonghorn Engine 是 Longhorn 分布式块存储系统的核心运行时组件,负责块存储卷的生命周期管理,包括卷创建、I/O 处理、数据复制、快照生成、备份执行等关键操作。作为 Longhorn 架构的核心,Engine 与 Longhorn Manager、Longhorn UI 等组件协同工作,为 Kubernetes 集群提供企业级持久化存储服务。
Longhorn Engine 通常作为 Longhorn 整体系统的一部分部署,推荐在 Kubernetes 环境中通过 Helm 或 kubectl 部署。以下提供测试环境的 Docker 部署示例及生产环境的 Kubernetes 部署方法。
单节点 Docker 运行示例:
bashdocker run -d \ --name longhorn-engine \ --privileged \ --network host \ -v /var/lib/longhorn:/var/lib/longhorn \ -v /dev:/dev \ -v /proc:/proc \ -e LONGHORN_ENGINE_IMAGE=longhorn/longhorn-engine:v1.6.0 \ -e LONGHORN_MANAGER_URL=[***] \ longhorn/longhorn-engine:v1.6.0
参数说明:
--privileged:需要特权模式以访问主机存储设备-v /var/lib/longhorn:/var/lib/longhorn:挂载 Longhorn 数据目录-v /dev:/dev:访问主机块设备LONGHORN_MANAGER_URL:指定 Longhorn Manager 的 API 地址(需先部署 Longhorn Manager)通过 Helm 部署:
bashhelm repo add longhorn [***] helm repo update
bashhelm install longhorn longhorn/longhorn \ --namespace longhorn-system \ --create-namespace \ --set defaultSettings.defaultReplicaCount=3 \ --set persistence.defaultClass=true
参数说明:
defaultSettings.defaultReplicaCount=3:默认卷副本数为 3(高可用配置)persistence.defaultClass=true:将 Longhorn 设置为 Kubernetes 默认存储类| 参数路径 | 说明 | 默认值 |
|---|---|---|
defaultSettings.defaultReplicaCount | 新创建卷的默认副本数 | 3 |
defaultSettings.backupTarget | 快照备份目标 URL(格式:s3://bucket@region/path 或 nfs://server/path) | "" |
defaultSettings.backupTargetCredentialSecret | 备份目标认证密钥名称 | "" |
defaultSettings.defaultVolumeSize | 默认卷大小 | "20Gi" |
defaultSettings.storageOverProvisioningPercentage | 存储超配百分比(0-1000) | 200 |
defaultSettings.replicaZoneSoftAntiAffinity | 是否开启副本跨可用区反亲和性 | false |
| 环境变量 | 说明 | 示例值 |
|---|---|---|
LONGHORN_MANAGER_URL | Longhorn Manager API 地址 | [***] |
LONGHORN_ENGINE_IMAGE | Engine 镜像名称及版本 | longhorn/longhorn-engine:v1.6.0 |
NODE_NAME | 节点名称(用于标识存储节点) | node-1 |
LISTEN_ADDR | Engine 监听地址 | 0.0.0.0:8500 |
DATA_PATH | 卷数据存储路径 | /var/lib/longhorn/replicas |
yamlapiVersion: v1 kind: PersistentVolumeClaim metadata: name: longhorn-test-pvc spec: accessModes: - ReadWriteOnce storageClassName: longhorn resources: requests: storage: 10Gi
应用 PVC:
bashkubectl apply -f test-pvc.yaml
bashlonghornctl snapshot create my-volume --name snapshot-20240501
bashlonghornctl backup create my-volume snapshot-20240501 --target-url s3://my-backup-bucket@us-west-2/longhorn-backups






manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务