非常简单的ceph部署手册,主要方便大家用于学习研究,非生产可用!!
基础环境信息
版本信息
操作系统:ubuntu16.04
内核版本:4.4.0-87-generic
ceph版本:13.2.7(mimic)
主机角色信息
主机名 |
IP地址 |
角色 |
配置 |
rke-node1 |
192.168.0.5 |
ceph-mon |
— |
rke-node2 |
192.168.0.6 |
ceph-osd1 |
100G HDD |
rke-node3 |
192.168.0.7 |
ceph-osd2 |
100G HDD |
rke-node4 |
192.168.0.8 |
ceph-osd3 |
100G HDD |
部署安装
配置源
1
| echo deb https://download.ceph.com/debian-{ceph-stable-release}/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
|
安装python-minimal
安装ceph-deploy
1 2
| sudo apt install ceph-deploy
|
创建普通用户
在集群中所有节点创建ceph用户,主要用于ceph-deploy部署(虽然可以用root,但不建议这样做)
1 2 3 4 5 6
| useradd -d /home/ceph -m ceph passwd ceph
echo "ceph ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph
chmod 0440 /etc/sudoers.d/ceph
|
在ceph-deploy节点使用ceph用户登录,配置节点免密码ssh
建立集群
创建集群文件夹
创建集群部署ceph-monitor
1 2 3 4 5
| sudo ceph-deploy new rke-node1
注: rke-node1为我要部署monitor的实际的FQDN主机名
|
1 2
| sudo ceph-deploy install rke-node1 rke-node2 rke-node3 rke-node4 --repo-url=http://mirrors.aliyun.com/ceph/debian-mimic
|
注:
这里指定使用安装源,因为连国外网慢
初始化ceph-mon
1
| ceph-deploy mon create-initial
|
注意:
1、若遇到没有权限创建/var/run/ceph目录时可以手动创建然后将用户和属主改为ceph。
同步权限配置文件
1
| sudo ceph-deploy admin rke-node1 rke-node2 rke-node3 rke-node4
|
部署ceph-mgr
1
| sudo ceph-deploy mgr create rke-node1
|
初始化并启动OSD
1 2 3
| sudo ceph-deploy osd create --data /dev/vdb rke-node2 sudo ceph-deploy osd create --data /dev/vdb rke-node3 sudo ceph-deploy osd create --data /dev/vdb rke-node4
|
查看是否加入成功和ceph集群状态
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| sudo ceph -s cluster: id: dc33e445-6157-47cd-81b2-23f9b233839e health: HEALTH_OK
services: mon: 1 daemons, quorum rke-node1 mgr: rke-node1(active) osd: 3 osds: 3 up, 3 in
data: pools: 0 pools, 0 pgs objects: 0 objects, 0 B usage: 3.0 GiB used, 294 GiB / 297 GiB avail pgs:
|
查看osd状态
1 2 3 4 5 6 7 8 9 10
| sudo ceph osd tree ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF -1 0.29008 root default -3 0.09669 host rke-node2 0 hdd 0.09669 osd.0 up 1.00000 1.00000 -5 0.09669 host rke-node3 1 hdd 0.09669 osd.1 up 1.00000 1.00000 -7 0.09669 host rke-node4 2 hdd 0.09669 osd.2 up 1.00000 1.00000
|
启用ceph-dashboard
通过ceph-mgr启用dashboard功能
1
| ceph mgr module enable dashboard
|
设置访问ip和端口
1 2 3
| ceph config set mgr mgr/dashboard/server_addr 172.16.0.195 ceph config set mgr mgr/dashboard/server_port 8800
|
设置管理员帐号和密码
1
| ceph dashboard set-login-credentials admin admin@2019
|
访问http://主机ip:8800
测试
创建pool
因为我们osd数量小于4设置pg为128
1
| ceph osd pool create test-pool 128
|
在pool内创建文件
在test-pool内创建一个名为rbdtest的文件
1
| rbd -p test-pool create rbdtest -s 1G
|
查看是否创建成功
1 2
| rbd ls -p test-pool rbdtest
|
使用nbd将块映射到宿主机
因为ceph比较新,ubuntu16.04默认内核不支持一些新feture,所以这里就不用rbd进行map了。
安装
1 2 3 4 5
| rbd-nbd map test-pool/test-rbd
rbd-nbd list-mapped id pool image snap device 31755 test-pool rbdtest - /dev/nbd0
|
格式化
挂载并测试写入数据
卸载
1 2
| umount /mnt rbd-nbd unmap /dev/nbd0
|