本专栏前一篇文章介绍了搭建Cgroup的具体操作,下面我将详细介绍Docker基础之搭建ceph环境的指令。
一、基础环境配置
首先使用ifconfig
查看网卡信息
确保网卡信息之后下载镜像
docker pull ceph/daemon:tag-build-master-jewel-ubuntu-16.04
yum install ceph-common
二、运行monitor
docker run -d --privileged --net=host -v /etc/ceph:/etc/ceph -v /var/lib/ceph/:/var/lib/ceph/ -e MON_IP=192.168.56.101 -e CEPH_PUBLIC_NETWORK=192.168.56.0/24 ceph/daemon:tag-build-master-jewel-ubuntu-16.04 mon
三、修改/etc/ceph/ceph.conf
新增最后两个属性使用 vi /etc/ceph/ceph.conf,将下面的字段复制进去
[global]
fsid = 7d885ac4-b748-40d0-992b-394b9f0322b8
mon initial members = fqhnode01
mon host = 192.168.56.101
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
public network = 192.168.56.0/24
cluster network = 192.168.56.0/24
osd journal size = 100
osd max object name len = 256
osd max object namespace len = 64
四、新建OSD目录
创建文件夹的指令如下:
cd /var/lib/osd
mkdir ceph-0
mkdir ceph-1
mkdir ceph-2
之后执行三次docker exec ceph osd create
docker exec 4489d6bc0cc7 ceph osd create
docker exec 4489d6bc0cc7 ceph osd create
docker exec 4489d6bc0cc7 ceph osd create
五、起osd
首先,启动docker容器
docker run -d --privileged --net=host -v /etc/ceph:/etc/ceph -v /var/lib/ceph/:/var/lib/ceph/ -e MON_IP=192.168.56.101 -e CEPH_PUBLIC_NETWORK=192.168.56.0/24 ceph/daemon:tag-build-master-jewel-ubuntu-16.04 osd_directory
之后查看相关信息
ceph -s
六、消除错误
由于默认只有一个rbd pool,所以我们需要调整rbd pool的pg数。由于我们有3个OSD,而副本数目前为3,所以3*100/3=100,取2的次方为128。
ceph osd pool set rbd pg_num 128
ceph osd pool set rbd pgp_num 128
ceph -s
系统默认按主机来对副本进行存储的,而我们的系统为单机环境,所以把rbd pool的副本数调整为1。
ceph osd pool set rbd size 1
ceph -s
rados lspools