速览体育网

Good Luck To You!

生产环境部署ceph分布式存储系统的关键步骤和注意事项有哪些?

分布式存储系统Ceph以其高可靠性、可扩展性和高性能被广泛应用于企业级存储场景,其部署过程需严格遵循步骤,确保集群稳定运行,本文将从环境准备到集群验证,详细解析Ceph的完整部署流程。

生产环境部署ceph分布式存储系统的关键步骤和注意事项有哪些?

环境准备与基础配置

Ceph部署前需完成硬件、网络及操作系统的基础配置,硬件方面,建议至少3个节点(用于MON和OSD部署),每个节点配置独立数据盘(建议SSD或HDD,根据性能需求选择),内存不低于8GB,CPU核心数不少于4核,网络需划分独立网络,如管理网络(用于节点间通信)、数据网络(用于数据传输)、客户端网络(用于客户端访问),避免流量冲突。

操作系统推荐使用CentOS 7/8或Ubuntu 20.04,需关闭防火墙(或开放必要端口:MON 6789、MGR 6800、OSD 6800-7300)、SELinux,并配置主机名与IP映射(在/etc/hosts中添加所有节点信息),时间同步是关键,需安装chrony或ntp服务,确保所有节点时间误差不超过1秒,可通过chronyc sources命令验证同步状态。

需在所有节点安装依赖包(如CentOS下的wgetcurllsofpython3等),并创建专用部署用户(如cephuser),赋予sudo权限,禁用密码登录(通过SSH密钥实现节点间免密通信)。

部署监控与管理节点

Ceph Monitor(MON)负责维护集群状态映射表,是集群的核心组件;Manager(MGR)提供监控管理接口和仪表盘功能,两者均需部署奇数节点(3或5个)以保证高可用。

在管理节点(如第一个节点)下载Cephadm工具(官方容器化部署工具)或使用ceph-deploy(传统工具,本文以ceph-deploy为例),添加Ceph官方仓库:

# CentOS
rpm --import https://download.ceph.com/keys/release.asc
cat << EOF > /etc/yum.repos.d/ceph.repo
[ceph]
name=Ceph packages
baseurl=https://download.ceph.com/rpm-nautilus/el7/noarch/
enabled=1
gpgcheck=1
type=rpm-md
EOF

更新缓存后安装ceph-deployyum install ceph-deploy

在部署目录(如~/ceph-cluster)初始化集群:

ceph-deploy new --public-network 192.168.10.0/24 --cluster-network 192.168.20.0/24 node1 node2 node3

此命令会生成ceph.conf配置文件,默认配置3副本MON,随后在所有节点安装Ceph软件包:

生产环境部署ceph分布式存储系统的关键步骤和注意事项有哪些?

ceph-deploy install --no-repo-queries node1 node2 node3

最后部署MON节点:

ceph-deploy mon create-initial

此命令会在node1、node2、node3上创建MON服务,并生成密钥环文件,接着部署MGR:

ceph-deploy mgr create node1 node2 node3

配置存储节点(OSD)

OSD是Ceph的数据存储单元,每个数据盘均可配置为一个OSD,首先需初始化数据盘(以/dev/sdb为例),格式化文件系统(推荐XFS):

mkfs.xfs /dev/sdb
mkdir /var/lib/ceph/osd/ceph-0  # OSD ID从0开始
mount /dev/sdb /var/lib/ceph/osd/ceph-0
echo "/dev/sdb /var/lib/ceph/osd/ceph-0 xfs defaults 0 2" >> /etc/fstab

通过ceph-deploy命令创建OSD,需在所有节点执行:

ceph-deploy osd create --data /dev/sdb node1
ceph-deploy osd create --data /dev/sdc node2
ceph-deploy osd create --data /dev/sdb node3

此命令会自动格式化磁盘、创建OSD目录,并将OSD加入集群,完成后可通过ceph osd tree查看OSD状态,确认所有OSD处于upin状态。

创建存储池与客户端认证

存储池(Pool)是数据的逻辑分组,用于控制数据分布和副本策略,默认创建副本池(副本数为3):

ceph osd pool create rbd_pool 128 128  # 128为PG数量,根据OSD数量调整
ceph osd pool set rbd_pool size 3  # 设置3副本

若需创建纠删码池(适用于冷数据),需先安装插件:

ceph osd erasure-code-profile set myprofile k=4 m=2  # 4个数据块,2个校验块
ceph osd pool create ec_pool erasure-code-profile=myprofile

客户端认证需创建用户并生成密钥环,为客户端创建具有读写权限的用户:

生产环境部署ceph分布式存储系统的关键步骤和注意事项有哪些?

ceph auth get-or-create client.admin mon 'allow *' osd 'allow *' mgr 'allow *'
ceph auth get-or-create client.user osd 'allow rwx pool=rbd_pool' mon 'allow r'

将生成的密钥环文件(如ceph.client.user.keyring)分发至客户端,客户端通过ceph -k /path/to/keyring --user user命令访问存储池。

集群验证与功能测试

部署完成后,需验证集群状态和功能,首先查看集群健康状态:

ceph -s

输出应为HEALTH_OK,且所有MON、OSD、MGR状态正常。

通过RADOS命令测试存储功能:

rados -p rbd_pool put test_file /etc/hosts  # 上传文件
rados -p rbd_pool get test_file /tmp/test_file  # 下载文件

若使用RBD(块存储),可创建镜像并挂载:

rbd create rbd_pool/my_image --size 10G
rbd map rbd_pool/my_image
mkfs.ext4 /dev/rbd0
mount /dev/rbd0 /mnt/mydata

可通过Ceph Dashboard(默认端口8443)访问Web管理界面,实时监控集群性能、容量及节点状态,用户名和密码可通过ceph dashboard create-user-admin命令生成。

至此,Ceph分布式存储系统部署完成,后续可根据业务需求调整CRUSH规则、优化网络配置或扩展OSD节点,确保集群满足高可用与高性能要求,部署过程中需注意日志监控(ceph -w),及时发现并解决异常问题。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2026年2月    »
1
2345678
9101112131415
16171819202122
232425262728
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接

Powered By Z-BlogPHP 1.7.4

Copyright Your WebSite.Some Rights Reserved.