一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第6天,点击查看活动详情。
1.基本环境(测试)
- 每个节点安装两个网卡
- 每个节点安装ansible-2.9
- 配置好hosts和免密
| 主机名 | IP | CPU | 内存 | 磁盘 | 角色 |
|---|---|---|---|---|---|
| installer.ceph.com | 172.168.105.40 | 3 | 3GB | 30GB | ceph客户端 |
| mon1.ceph.com | 172.168.105.41 | 3 | 3GB | 30GB | MON |
| mon2.ceph.com | 172.168.105.42 | 3 | 3GB | 30GB | MON |
| mon3-ceph.com | 172.168.105.43 | 3 | 3GB | 30GB | MON |
| osd1.ceph.com | 172.168.105.44 | 3 | 3GB | 30/20/10GB | OSD |
| osd2.ceph.com | 172.168.105.45 | 3 | 3GB | 30/20/10GB | OSD |
| osd3.ceph.com | 172.168.105.46 | 3 | 3GB | 30/20/10GB | OSD |
| metrics.ceph.com | 172.168.105.47 | 3 | 3GB | 30GB | Metrics |
| rgw-mds.ceph.com | 172.168.105.48 | 3 | 3GB | 30GB | RGW/MDS |
2.克隆基本环境(installer上操作)
克隆ceph-ansible稳定分支,这里使用稳定版4.0.
yum install -y docker cockpit git epel-release
systemctl enable docker.service
systemctl start docker.service
cd /usr/share
git clone --branch stable-4.0 https://github.com/ceph/ceph-ansible.git
cd ceph-ansible
cp site.yml.sample site.yml
cp site-container.yml.sample site-container.yml
cd ~
sudo git clone https://github.com/red-hat-storage/cockpit-ceph-installer.git
cd cockpit-ceph-installer
ln -snf ~/cockpit-ceph-installer/dist /usr/share/cockpit/cockpit-ceph-installer
systemctl restart cockpit.socket
cp utils/ansible/checkrole.yml /usr/share/ceph-ansible
cp utils/ansible/library/ceph_check_role.py /usr/share/ceph-ansible/library/
3.安装前检查
执行以下命令,执行安装服务。
cd utils/
./ansible-runner-service.sh -s -v
检查ansible-runner服务是否正常启动:
docker ps
检查Cockpit是否正常启动:
systemctl start cockpit
systemctl status cockpit
4.安装
打开installer.ceph.com:9090,也可以用ip地址来代替。
用户名和密码为操作系统的账户密码,输入后登录。在左侧可以看到Ceph Installer的页面。
参考图中的配置。
#如果出现结果不是ok,注意使用以下命令传递公钥
#
for i in mon1 mon2 mon3 osd1 osd2 osd3 metrics rgw-mds
do
ssh-copy-id -f -i /usr/share/ansible-runner-service/env/ssh_key.pub $i
done
依次加入节点,确保所有的节点状态都是OK。
点击Probe Hosts探测机器,需要多等待一会使用结果出来(如何仍不出结果,可以重启docker),我这里使用虚拟机,配置较低,忽略配置较低警告。
点击deploy,系统开始调用playbook自动安装所需组件。
安装报错,如果是ansible的版本问题,需要升级:
docker exec -it runner-service bash
cd /usr/share/ceph-ansible/
pip3 install -r requirements.txt --default-timeout=3000
## 备用
#pip3 install ansible==2.9 -i https://mirrors.aliyun.com/pypi/simple/
在网页上执行Retry后,程序将继续进行安装,耐心等待安装。
注意网页上的提示,有登录的账号的密码,记下备用。
5.客户端访问
在客户端机器上操作:
yum -y install centos-release-ceph-nautilus.noarch
yum -y install ceph-common
scp mon1:/etc/ceph/ceph.conf /etc/ceph
scp mon1:/etc/ceph/ceph.client.admin.keyring /etc/ceph
ceph -s
ceph config set mon auth_allow_insecure_global_id_reclaim false
5.网页访问
我这里直接使用ip地址访问mon1,注意要使用https,用户名admin,密码为之前预设的密码。
点击登录,可以看到ceph的运行状态。
使用metrics:3000端口,可访问grafana,查看集群的各项目指标。
使用metrics:9092端口,可访问prometheus,查看集群的监控指标。
\