如上拓扑环境如下:
10.20.10.215 ceph_admin ceph_admin.walkingcloud.cn
10.20.10.216 node1 node1.walkingcloud.cn
10.20.10.217 node2 node2.walkingcloud.cn
10.20.10.218 node3 node3.walkingcloud.cn
三个node节点均配置了一块数据盘/dev/sdb
1、 nmtui修改四台主机的主机名
以第一台为例ceph_admin.walkingcloud.cn,其它主机依次修改
vi /etc/hosts
添加如下行到/etc/hosts
10.20.10.215 ceph_admin ceph_admin.walkingcloud.cn
10.20.10.216 node1 node1.walkingcloud.cn
10.20.10.217 node2 node2.walkingcloud.cn
10.20.10.218 node3 node3.walkingcloud.cn
2、每台主机配置yum Base源 EPEL源以及ceph源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum makecache
vi /etc/yum.repos.d/ceph.repo
[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64/
gpgcheck=0
priority =1
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/
gpgcheck=0
priority =1
[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/SRPMS
gpgcheck=0
priority=1
3、创建部署 CEPH 的用户
ceph-deploy 工具必须以普通用户登录 Ceph 节点,且此用户拥有无密码使用 sudo 的权限,因为它需要在安装软件及配置文件的过程中,不必输入密码。
较新版的 ceph-deploy 支持用 --username 选项提供可无密码使用 sudo 的用户名(包括 root ,虽然不建议这样做)。
使用 ceph-deploy --username {username} 命令时,指定的用户必须能够通过无密码 SSH 连接到 Ceph 节点,因为 ceph-deploy 中途不会提示输入密码
useradd -d /home/admin -m admin
echo "Admin@123"|passwd --stdin admin
echo -e 'Defaults:admin !requiretty\nadmin ALL = (root) NOPASSWD:ALL' | sudo tee /etc/sudoers.d/admin
chmod 0440 /etc/sudoers.d/admin
4、用Ceph用户登录配置SSH免密登录
su - admin
ssh-keygen
ssh-copy-id admin@node1
ssh-copy-id admin@node2
ssh-copy-id admin@node3
为了简单起见,每台都关闭了firewalld防火墙
systemctl stop firewalld
systemctl disable firewalld
验证ssh免密登录是否OK
5、每台机器均关闭selinux
setenforce 0
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
6、管理节点上安装ceph-deploy
su - admin
sudo yum install ceph-deploy -y
7、创建集群
mkdir cluster
cd cluster/
ceph-deploy new ceph_admin
如下图所示,执行时报错
ceph-deploy new ceph_admin
Traceback (most recent call last):
File "/bin/ceph-deploy", line 18, in <module>
from ceph_deploy.cli import main
File "/usr/lib/python2.7/site-packages/ceph_deploy/cli.py", line 1, in <module>
import pkg_resources
ImportError: No module named pkg_resources
解决办法:sudo yum install python-setuptools -y
修改vi ceph.conf
public network = 10.20.10.0/23
osd pool default size = 3
8、ceph-deploy在各节点安装 Ceph
ceph-deploy install ceph_admin node1 node2 node3
9、初始化monitor监控节点
ceph-deploy mon create-initial
10、用 ceph-deploy 把配置文件和 admin 密钥拷贝到管理节点和 Ceph 节点
这样你每次执行 Ceph 命令行时就无需指定 monitor 地址和 ceph.client.admin.keyring 了
ceph-deploy admin ceph_admin node1 node2 node3
11、检查节点的磁盘
ceph-deploy disk list node1 node2 node3
12、用 osd create 命令一次完成准备 OSD 、部署到 OSD 节点、并激活它
ceph-deploy osd create --data /dev/sdb node1
ceph-deploy osd create --data /dev/sdb node2
ceph-deploy osd create --data /dev/sdb node3
13、查看集群健康状态
sudo chmod +r /etc/ceph/ceph.client.admin.keyring
确保你对 ceph.client.admin.keyring 有正确的操作权限
ceph health
ceph -s
14、未完待续