下载离线安装包:
系统要求:
# 创建本地仓库目录
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 .
# 创建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
# 安装Ceph基础组件
sudo dnf install -y ceph-common ceph-mon ceph-osd ceph-mgr ceph-radosgw
# 安装部署工具(如果需要)
sudo dnf install -y ceph-deploy
# 创建集群配置目录
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
# 替换上述${...}为实际值
# 创建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}
# 列出可用磁盘
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
# 创建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
依赖缺失:
dnf deplist <package>
检查依赖关系服务启动失败:
journalctl -u ceph-<service>@<hostname>
网络问题:
如需更详细的配置或遇到特定问题,请提供具体的错误信息以便进一步诊断。