002.Ceph安装部署
一 前期准备
1.1 配置规格

1.2 前置准备
- 所有节点NTP安装及配置,具体操作略;
- 所有节点更新环境:
1 yum -y update
- deploy节点安装pip环境:
1 [root@deploy ~]# curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 2 [root@deploy ~]# python get-pip.py
- 配置国内yum源:
1 [root@node1 ~]# rm /etc/yum.repos.d/* -rf 2 [root@node1 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 3 [root@node1 ~]# yum -y install epel-release 4 [root@node1 ~]# mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup 5 [root@node1 ~]# mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup 6 [root@node1 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo提示:以上操作需要在所有节点操作,工具会默认安装(采用)国外官方源,国内环境建议EPEL和CEPH都替换为国内源。
- 部署节点配置主机名:
1 [root@deploy ~]# vi /etc/hosts 2 172.24.8.71 deploy 3 172.24.8.72 node1 4 172.24.8.73 node2 5 172.24.8.74 node3提示:主机名应该能正确解析主机名,若管理节点同时也是一个Ceph节点,也要确认能正确解析自己的主机名和IP地址。
- 配置deploy节点到所有OSD node节点的免秘钥登录:
1 [root@deploy ~]# useradd manager 2 [root@deploy ~]# echo manager | passwd --stdin manager #创建非root的管理用户 3 [root@deploy ~]# for i in {1..3}; do echo "====node${i}====";ssh root@node${i} 'useradd -d /home/cephuser -m cephuser; echo "cephuser" | passwd --stdin cephuser'; done #所有OSD node节点创建cephuser用户 4 [root@deploy ~]# for i in {1..3}; do echo "====node${i}====";ssh root@node${i} 'echo "cephuser ALL = (root) NOPASSWD:ALL" > /etc/sudoers.d/cephuser'; done 5 [root@deploy ~]# for i in {1..3}; do echo "====node${i}====";ssh root@node${i} 'chmod 0440 /etc/sudoers.d/cephuser'; done 6 [root@deploy ~]# su - manager 7 [manager@deploy ~]$ ssh-keygen -f ~/.ssh/id_rsa -N '' 8 [manager@deploy ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub cephuser@172.24.8.72 9 [manager@deploy ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub cephuser@172.24.8.73 10 [manager@deploy ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub cephuser@172.24.8.74提示:管理节点必须能够通过SSH无密码地访问各Ceph节点,建议使用非root用户; 用户名 “ceph” 保留给了Ceph守护进程。若Ceph节点上已经存在“ceph”用户,升级前必须先删掉这个用户。
1 [manager@deploy ~]$ vi ~/.ssh/config #修改ceph-deploy管理节点上~/.ssh/config文件 2 Host node1 3 Hostname node1 4 User cephuser 5 Host node2 6 Hostname node2 7 User cephuser 8 Host node3 9 Hostname node3 10 User cephuser 11 [manager@deploy ~]$ chmod 600 .ssh/config 12 [manager@deploy ~]$ ssh node1 #测试 13 [cephuser@node1 ~]$ exit提示:修改config后deploy节点所建的用户名登录Ceph节点无需每次指定 --username cephuser ,简化了ssh和scp的用法。
1.3 部署需求
首先创建一个Ceph存储集群,它有一个Monitor和三个OSD守护进程,Monitor节点也作为OSD节点。二 正式部署
2.1 部署deploy节点
1 [root@deploy ~]# cat << EOM > /etc/yum.repos.d/ceph.repo 2 [ceph-noarch] 3 name=Ceph noarch packages 4 baseurl=https://download.ceph.com/rpm-mimic/el7/noarch 5 enabled=1 6 gpgcheck=1 7 type=rpm-md 8 gpgkey=https://download.ceph.com/keys/release.asc 9 EOM提示:国内也可采用阿里源,参考如下:
1 [root@deploy ~]# vi /etc/yum.repos.d/ceph.repo 2 [ceph-noarch] 3 name=Ceph noarch packages 4 baseurl=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/noarch 5 enabled=1 6 gpgcheck=1 7 type=rpm-md 8 gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
1 [root@deploy ~]# yum install -y ceph-deploy
2.2 创建集群
1 [root@deploy ~]# su - manager 2 [manager@deploy ~]$ mkdir my-cluster 3 [manager@deploy ~]$ cd my-cluster/ 4 [manager@deploy my-cluster]$ ceph-deploy new node1 5 [manager@deploy my-cluster]$ ll

2.3 安装Ceph
1 [manager@deploy my-cluster]$ ceph-deploy install node1 node2 node3


1 ceph-deploy install node1 node2 node3 --repo-url=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/ --gpg-url=https://mirrors.aliyun.com/ceph/keys/release.asc
2.4 初始化monitor
1 [manager@deploy my-cluster]$ ceph-deploy mon create-initial #初始monitor、并收集所有密钥 2 [manager@deploy my-cluster]$ ll

2.5 部署MGR
1 [manager@deploy my-cluster]$ ceph-deploy mgr create node1 node2 node3
提示:ceph12版本之后,就需要为集群部署mgr服务,Ceph-Mgr将作为Ceph集群的管理进程,负责整个集群的管理操作和监控。
2.6 复制key
1 [manager@deploy my-cluster]$ ceph-deploy admin node1 node2 node3
提示:为方便后期deploy节点管理node1、node2、node3,在CLI中使用命令中简化相关key的输出,可将key复制至相应节点。
2.7 添加OSD
1 [manager@deploy my-cluster]$ ceph-deploy disk list node1 node2 node3 #列出磁盘 2 [manager@deploy my-cluster]$ ceph-deploy osd create --data /dev/sdb node1 3 [manager@deploy my-cluster]$ ceph-deploy osd create --data /dev/sdb node2 4 [manager@deploy my-cluster]$ ceph-deploy osd create --data /dev/sdb node3提示:生产环境强烈强烈不建议在单分区单硬盘上运行多个OSD; 强烈不建议在运行OSD的单分区硬盘上同时运行监视器或元数据服务器,即OSD建议采用独立的硬盘,且OSD及其日志使用独立硬盘或分区。 当前官方似乎已经不支持指定不同目录弄多个OSD节点的形式。
2.8 检测健康状态
1 [manager@deploy my-cluster]$ ssh node1 sudo ceph health 2 [manager@deploy my-cluster]$ ssh node1 sudo ceph -s

2.9 开启dashboard
1 [root@node1 ~]# ceph mgr module enable dashboard #开启dashboard模块 2 [root@node1 ~]# ceph dashboard create-self-signed-cert提示:默认情况下,dashboard的所有HTTP连接均使用SSL/TLS进行保护。以上内置命令可快速生成并安装自签名证书。
1 [root@node1 ~]# ceph dashboard set-login-credentials admin admin #创建管理员 2 [root@node1 ~]# ceph mgr services #确认验证



更多精彩