如果首次安装没有使用ceph作为存储,同样也可以重新部署为存储使用ceph,注意,在本例中,重新部署后,所有的后端存储都使用ceph,包括虚拟机文件、cinder、glance、对象存储。另外,本示例的前提是一开始就使用kolla作为部署工具。
下面是简单步骤:
1.增加一块硬盘,/dev/sdb,然后分区:
1
|
parted
/dev/sdb
-s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP 1 -1
|
查看结果:
parted /dev/sdb print
2.配置ceph:
创建/etc/kolla/config/ceph.conf:
1
2
3
|
[global]
osd pool default size = 2
osd pool default min size = 1
|
上面的配置表示ceph的对象存储副本数是2,最小副本数是1
3.修改/etc/kolla/global.yml文件:
1
2
3
4
5
|
enable_cinder:
"yes"
enable_ceph:
"yes"
enable_ceph_rgw:
"yes"
enable_ceph_rgw_keystone:
"yes"
glance_backend_ceph:
"yes"
|
如果是使用虚拟化实验环境,那么你需要把virt_type=qemu :
1
2
3
4
5
6
|
mkdir
-p
/etc/kolla/config/nova
cat
<< EOF >
/etc/kolla/config/nova/nova-compute
.conf
[libvirt]
virt_type=qemu
cpu_mode = none
EOF
|
4.修改/root/kolla-ansible-4.0.3.dev36/ansible/inventory/all-in-one文件,将localhost改为control01:
1
2
|
vim
/root/kolla-ansible-4
.0.3.dev36
/ansible/inventory/all-in-one
:%s
/localhost/control01/g
|
注意,多节点实现方法也是一样的。
5.执行deploy:
1
|
/root/kolla-ansible-4
.0.3.dev36
/tools/kolla-ansible
deploy -i
/root/kolla-ansible-4
.0.3.dev36
/ansible/inventory/all-in-one
|
后续如果扩容磁盘,也是非常方便的,直接在宿主机上增加硬盘,然后对每一块硬盘打标签,然后重新执行deploy即可,步骤如下:
1..OSD盘打标:
1
2
|
parted
/dev/sdc
-s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP 1 -1
parted
/dev/sdd
-s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP 1 -1
|
注意,整块盘作为一个OSD只能用标签KOLLA_CEPH_OSD_BOOTSTRAP ,如果日志分区单独使用SSD固态硬盘的分区,则使用不同标签,比如/dev/sdb 标签为KOLLA_CEPH_OSD_BOOTSTRAP_SDC ,日志分区/dev/sdh1 标签为:KOLLA_CEPH_OSD_BOOTSTRAP_SDC_J
2.部署前的检查:
1
|
tools
/kolla_ansible
prechecks -i 3node
|
注意:3node是inventory文件,根据实际环境替换。
检查报错6780端口占用,查询这个端口是ceph_rgw容器占用,临时将这个容器关闭: docker stop ceph_rgw
3.部署:
1
|
tools
/kolla_ansible
deploy -i 3node
|
注意:3node是inventory文件,根据实际环境替换。
部署完成后,将上面关闭的容器ceph_rgw启动:
1
|
docker start ceph_rgw
|
4、检查OSD的CRUSH规则(数据分布存放规则):
1
2
|
docker
exec
-it ceph_mon ceph osd getcrushmap -o
/var/log/kolla/ceph/crushmap
.bin
docker
exec
-it ceph_mon crushtool -d
/var/log/kolla/ceph/crushmap
.bin -o
/var/log/kolla/ceph/crushmap
|
5.修改镜像转换成raw格式:
qemu-img convert -f qcow2 -O raw CentOS-7-x86_64-GenericCloud-1711.qcow2 CentOS-7-x86_64-GenericCloud-1711.raw
6.重新上传镜像:
openstack image create centos7-raw --disk-format raw \
--container-format bare --file CentOS-7-x86_64-GenericCloud-1711.raw