
Longhorn Manager 是 Longhorn(开源分布式块存储系统)的核心管理组件,负责协调 Longhorn 集群中的存储卷、副本、节点及备份等资源,确保分布式存储服务的稳定运行。其主要用途包括:
open-iscsi initiator(用于块设备挂载);open-iscsi(如 Ubuntu: apt install open-iscsi,CentOS: yum install iscsi-initiator-utils);node-role.kubernetes.io/storage=longhorn),便于调度;Longhorn Manager 需配合其他组件(如 longhorn-engine、longhorn-instance-manager)部署,推荐通过 Helm 或官方 YAML 部署。
方法 1:使用 Helm 部署(推荐)
bash# 添加 Longhorn Helm 仓库 helm repo add longhorn https://charts.longhorn.io helm repo update # 安装 Longhorn(含 manager、engine、ui 等组件) helm install longhorn longhorn/longhorn \ --namespace longhorn-system \ --create-namespace \ --version 1.5.1 # 指定版本(需与 K8s 版本兼容,详见官方文档)
方法 2:使用 kubectl 部署
bash# 部署 Longhorn 核心组件(含 manager) kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/v1.5.1/deploy/longhorn.yaml
Longhorn Manager 配置通过环境变量或 Helm Values 定义,以下为主要参数说明:
| 参数名 | 环境变量对应 | 说明 | 默认值 |
|---|---|---|---|
defaultReplicaCount | DEFAULT_REPLICA_COUNT | 新建卷的默认副本数(建议 3,需 ≥1) | 3 |
backupTarget | BACKUP_TARGET | 备份目标 URL(格式:s3://bucket@region/path 或 nfs://<ip>/path) | 空(需手动配置) |
backupTargetCredentialSecret | BACKUP_TARGET_CREDENTIAL_SECRET | 备份目标认证 Secret 名称(存储访问密钥等) | 空 |
logLevel | LOG_LEVEL | 日志级别(debug/info/warn/error) | info |
storageMinimalAvailablePercentage | STORAGE_MINIMAL_AVAILABLE_PERCENTAGE | 节点磁盘可用空间阈值(低于此值拒绝调度新副本) | 10(%) |
csiAttacherImage | CSI_ATTACHER_IMAGE | CSI Attacher 镜像地址(Longhorn 依赖组件) | longhornio/csi-attacher:v4.2.0 |
1. 创建存储卷(通过 Kubernetes PVC)
yaml# pvc-example.yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: name: longhorn-pvc spec: accessModes: - ReadWriteOnce # Longhorn 支持 ReadWriteOnce、ReadWriteMany(需配置) storageClassName: longhorn # 需确保存在名为 longhorn 的 StorageClass resources: requests: storage: 10Gi # 卷大小
应用配置:kubectl apply -f pvc-example.yaml
2. 配置备份目标(通过 Longhorn UI)
kubectl get svc -n longhorn-system longhorn-frontend 查看);Backup Target(如 s3://my-backup-bucket@us-east-1/longhorn-backup);access-key 和 secret-key),并在 UI 中指定 Secret 名称。3. 扩容存储卷
bash# 修改 PVC 的 storage.requests 字段 kubectl patch pvc longhorn-pvc -p '{"spec":{"resources":{"requests":{"storage":"20Gi"}}}}'
bash# 添加仓库 helm repo add longhorn https://charts.longhorn.io helm repo update # 创建自定义 values.yaml cat > values.yaml << EOF defaultReplicaCount: 2 # 副本数设为 2(适用于小规模集群) backupTarget: "nfs://192.168.1.100/backup/longhorn" # NFS 备份目标 storageMinimalAvailablePercentage: 15 # 磁盘可用空间阈值 15% ingress: enabled: true # 启用 Ingress 访问 Longhorn UI hosts: - host: longhorn.example.com paths: ["/"] EOF # 安装/升级 Longhorn helm install longhorn longhorn/longhorn \ --namespace longhorn-system \ --create-namespace \ --version 1.5.1 \ -f values.yaml
注意:生产环境需部署在 Kubernetes 集群,以下为单机模拟示例。
yaml# docker-compose.yml version: '3' services: longhorn-manager: image: longhorn/longhorn-manager:v1.5.1 privileged: true # 需特权模式访问主机设备 network_mode: host # 主机网络(模拟节点通信) environment: - POD_NAMESPACE=longhorn-system - NODE_NAME=test-node - DEFAULT_REPLICA_COUNT=1 - LOG_LEVEL=debug volumes: - /var/run/docker.sock:/var/run/docker.sock - /dev:/dev - /var/lib/longhorn:/var/lib/longhorn - /etc/iscsi:/etc/iscsi
启动:docker-compose up -d
/tmp)存储数据,建议使用持久化磁盘(如 /dev/sdb);您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。



探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务