====== 38 cephadmでcephインストール後、openstackで利用 ======
===== 1.Ceph install =====
==== cephadm install ====
# curl --silent --remote-name --location https://github.com/ceph/ceph/raw/octopus/src/cephadm/cephadm
# chmod +x cephadm
==== add repogitory ====
# echo deb https://download.ceph.com/debian-octopus/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
# wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -
# apt update
=== quincy ===
# echo deb https://download.ceph.com/debian-quincy/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
# wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -
# apt update
==== install cephadm ====
# ./cephadm install
==== initial bootstrap ceph ====
192.168.0.101は、ストレージネットワーク
# mkdir -p /etc/ceph
# cephadm bootstrap --mon-ip 192.168.0.101 --initial-dashboard-user admin --initial-dashboard-password XXXXX
==== install ceph-common ====
# apt install ceph-common
==== cephadmにホスト登録しラベル付け ====
ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph01
ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph02
ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph03
ceph orch host add ceph01 192.168.0.101
ceph orch host add ceph02 192.168.0.102
ceph orch host add ceph03 192.168.0.103
ceph orch host label ceph01 mon
ceph orch host label ceph02 mon
ceph orch host label ceph03 mon
ceph orch host label ceph01 osd
ceph orch host label ceph02 osd
ceph orch host label ceph03 osd
ceph orch host label ceph01 mgr
=== 確認 ===
# ceph orch host ls
HOST ADDR LABELS STATUS
ceph01 192.168.0.101 _admin mon osd mgr
ceph02 192.168.0.102 mon osd
ceph03 192.168.0.103 mon osd
3 hosts in cluster
==== configファイル用意 ====
# vim ceph_cluster_conf.yaml
service_type: mon
placement:
count: 3
label: mon
---
service_type: mgr
placement:
count: 1
label: mgr
---
service_type: osd
service_id: osd_using_paths
placement:
hosts:
- ceph01
- ceph02
- ceph03
spec:
data_devices:
paths:
- /dev/sdb
- /dev/sdc
==== デプロイ ====
# ceph orch apply -i ceph_cluster_conf.yaml
下記で見ているとだんだんcephが構築されていってるのが見える
watch ceph -s
=== cephadmでceph.confを持ってくる場合 ===
cephadm shell cat /etc/ceph/ceph.conf > /etc/ceph/ceph.conf
===== 2 openstack用設定 =====
==== openstack用のpoolを用意しておく ====
# ceph osd pool create volumes
# ceph osd pool create images
# ceph osd pool create backups
# ceph osd pool create vms
# rbd pool init volumes
# rbd pool init images
# rbd pool init backups
# rbd pool init vms
==== openstack用のkeyingを用意しておく ====
# ceph auth get-or-create client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=images' -o /etc/ceph/ceph.client.glance.keyring
# ceph auth get-or-create client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=images' -o /etc/ceph/ceph.client.cinder.keyring
# ceph auth get-or-create client.nova mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=vms, allow rx pool=images' -o /etc/ceph/ceph.client.nova.keyring
# ceph auth get-or-create client.cinder-backup mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=backups' -o /etc/ceph/ceph.client.cinder-backup.keyring
==== OpenStack設定変更 ====
このrbd-1ってのが、cephになります。
# vi /etc/kolla/globals.yml
# Cinder
enable_cinder: "yes"
enable_cinder_backend_nfs: "yes"
skip_cinder_backend_check: True
cinder_enabled_backends:
- name: rbd-1
- name: linstor-drbd
- name: nfs-1
# Cinder-Backup
enable_cinder_backup: "yes"
cinder_backup_driver: "nfs"
cinder_backup_share: "192.168.0.101:/nfs"
## ceph
glance_backend_ceph: "yes"
cinder_backend_ceph: "yes"
==== ceph.conf修正 ====
ansibleを流すときに、ceph.confにタブがあると失敗するのでタブを削除
sed -i 's/\t//'g /etc/ceph/ceph.conf
==== ceph用のファイル用意 ====
mkdir /etc/kolla/config
mkdir /etc/kolla/config/nova
mkdir /etc/kolla/config/glance
mkdir -p /etc/kolla/config/cinder/cinder-volume
mkdir /etc/kolla/config/cinder/cinder-backup
cp /etc/ceph/ceph.conf /etc/kolla/config/cinder/
cp /etc/ceph/ceph.conf /etc/kolla/config/nova/
cp /etc/ceph/ceph.conf /etc/kolla/config/glance/
cp /etc/ceph/ceph.client.glance.keyring /etc/kolla/config/glance/
cp /etc/ceph/ceph.client.nova.keyring /etc/kolla/config/nova/
cp /etc/ceph/ceph.client.cinder.keyring /etc/kolla/config/nova/
cp /etc/ceph/ceph.client.cinder.keyring /etc/kolla/config/cinder/cinder-volume/
cp /etc/ceph/ceph.client.cinder.keyring /etc/kolla/config/cinder/cinder-backup/
cp /etc/ceph/ceph.client.cinder-backup.keyring /etc/kolla/config/cinder/cinder-backup/
==== deploy ====
kolla-ansible -i ./multinode deploy
{{tag>Ceph openstack}}