插件窝 干货文章 中兴新支点系统离线安装ceph 16.2.10

中兴新支点系统离线安装ceph 16.2.10

Ceph keyring sudo mon 101    来源:    2025-04-20

中兴新支点系统离线安装Ceph 16.2.10指南

准备工作

  1. 下载离线安装包

    • 从Ceph官方或可信源获取Ceph 16.2.10的离线安装包
    • 包括所有依赖包(通常是一个包含所有RPM/DEB包的完整仓库镜像)
  2. 系统要求

    • 确保中兴新支点系统满足Ceph 16.2.10的最低要求
    • 每节点至少4GB RAM(生产环境建议更多)
    • 足够的磁盘空间(至少10GB用于系统,额外空间用于OSD)

离线安装步骤

1. 准备离线仓库

# 创建本地仓库目录
sudo mkdir -p /opt/ceph-offline-repo

# 将下载的离线安装包复制到该目录
# 假设离线包是一个tar.gz文件
sudo tar -xzvf ceph-16.2.10-offline-packages.tar.gz -C /opt/ceph-offline-repo

# 创建本地仓库索引(如果提供的是原始包而非仓库)
cd /opt/ceph-offline-repo
sudo createrepo .

2. 配置本地YUM/DNF源

# 创建repo文件
sudo tee /etc/yum.repos.d/ceph-local.repo << 'EOF'
[ceph-local]
name=Ceph Local Repository
baseurl=file:///opt/ceph-offline-repo
enabled=1
gpgcheck=0
EOF

# 清理并重建缓存
sudo dnf clean all
sudo dnf makecache

3. 安装Ceph组件

# 安装Ceph基础组件
sudo dnf install -y ceph-common ceph-mon ceph-osd ceph-mgr ceph-radosgw

# 安装部署工具(如果需要)
sudo dnf install -y ceph-deploy

4. 初始化Ceph集群

# 创建集群配置目录
sudo mkdir -p /etc/ceph
cd /etc/ceph

# 生成集群FSID
uuidgen > fsid

# 创建初始配置文件
sudo tee /etc/ceph/ceph.conf << 'EOF'
[global]
fsid = $(cat /etc/ceph/fsid)
mon initial members = ${HOSTNAME}
mon host = ${IP_ADDRESS}
public network = ${NETWORK_CIDR}
cluster network = ${NETWORK_CIDR}
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
osd journal size = 1024
osd pool default size = 3
osd pool default min size = 2
osd pool default pg num = 128
osd pool default pgp num = 128
osd crush chooseleaf type = 1
EOF

# 替换上述${...}为实际值

5. 部署MON服务

# 创建mon keyring
sudo ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'

# 创建admin keyring
sudo ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --set-uid=0 --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'

# 创建bootstrap keyrings
sudo ceph-authtool --create-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring --gen-key -n client.bootstrap-osd --cap mon 'profile bootstrap-osd' --cap mgr 'allow r'
sudo ceph-authtool --create-keyring /var/lib/ceph/bootstrap-mds/ceph.keyring --gen-key -n client.bootstrap-mds --cap mon 'profile bootstrap-mds'
sudo ceph-authtool --create-keyring /var/lib/ceph/bootstrap-rgw/ceph.keyring --gen-key -n client.bootstrap-rgw --cap mon 'profile bootstrap-rgw'

# 导入keyrings到mon keyring
sudo ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
sudo ceph-authtool /tmp/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring
sudo ceph-authtool /tmp/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-mds/ceph.keyring
sudo ceph-authtool /tmp/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-rgw/ceph.keyring

# 创建monmap
monmaptool --create --add ${HOSTNAME} ${IP_ADDRESS} --fsid $(cat /etc/ceph/fsid) /tmp/monmap

# 创建mon数据目录
sudo mkdir -p /var/lib/ceph/mon/ceph-${HOSTNAME}

# 初始化mon
sudo ceph-mon --mkfs -i ${HOSTNAME} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring

# 启动mon服务
sudo systemctl start ceph-mon@${HOSTNAME}
sudo systemctl enable ceph-mon@${HOSTNAME}

6. 部署OSD服务

# 列出可用磁盘
sudo ceph-volume inventory

# 为每个磁盘创建OSD(示例)
sudo ceph-volume lvm create --data /dev/sdX

# 或者使用传统方法
sudo ceph-disk prepare /dev/sdX
sudo ceph-disk activate /dev/sdX1

7. 部署MGR服务

# 创建mgr keyring
sudo ceph auth get-or-create mgr.${HOSTNAME} mon 'allow profile mgr' osd 'allow *' mds 'allow *' -o /var/lib/ceph/mgr/ceph-${HOSTNAME}/keyring

# 启动mgr服务
sudo systemctl start ceph-mgr@${HOSTNAME}
sudo systemctl enable ceph-mgr@${HOSTNAME}

验证安装

# 检查集群状态
sudo ceph -s

# 检查OSD状态
sudo ceph osd stat

# 检查MON状态
sudo ceph mon stat

注意事项

  1. 中兴新支点系统是基于Linux的国产操作系统,安装步骤与CentOS/RHEL类似
  2. 确保所有节点的系统时间同步(建议安装配置chrony或ntpd)
  3. 离线环境需要预先解决所有依赖关系
  4. 生产环境建议至少3个MON节点以实现高可用
  5. 根据实际硬件配置调整ceph.conf中的参数

常见问题解决

  1. 依赖缺失

    • 检查/opt/ceph-offline-repo是否包含所有必需包
    • 使用dnf deplist <package>检查依赖关系
  2. 服务启动失败

    • 检查日志:journalctl -u ceph-<service>@<hostname>
    • 确保SELinux已禁用或配置正确
  3. 网络问题

    • 确保防火墙允许Ceph使用的端口(默认6789 for MON, 6800-7300 for OSD)
    • 检查public_network和cluster_network配置是否正确

如需更详细的配置或遇到特定问题,请提供具体的错误信息以便进一步诊断。