5.8. ストレージクラスターのアップグレード後の OSD の再デプロイ
本セクションでは、オペレーティングシステムをアップグレードせずに、Red Hat Ceph Storage 3 から専用のデバイスに block.db
を使用する OSD 用の配置されていないデーモンを持つ Red Hat Ceph Storage 4 にアップグレードした後に OSDS を再デプロイする方法を説明します。
この手順は、指定しない限り、ベアメタルおよびコンテナーのデプロイメントの両方に適用されます。
アップグレード後は、OSD を再デプロイする Playbook が以下のエラーメッセージと共に失敗する可能性があります。
GPT headers found, they must be removed on: /dev/vdb
GPT headers found, they must be removed on: /dev/vdb
block.db
デバイスにパーティションを作成し、Ansible Playbook を実行して OSD を再デプロイできます。
前提条件
- 稼働中の Red Hat Ceph Storage クラスター。
- Ansible 管理ノードへのルートレベルのアクセス。
- Ansible ユーザーアカウントが作成されている。
手順
block.db
デバイスにパーティションを作成します。このsgdisk
コマンドは、次に利用可能なパーティション番号を自動的に使用します。Syntax
sgdisk --new=0:0:_JOURNAL_SIZE_ -- NEW_DEVICE_PATH
sgdisk --new=0:0:_JOURNAL_SIZE_ -- NEW_DEVICE_PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
sgdisk --new=0:0:+2G -- /dev/vdb
[root@admin ~]# sgdisk --new=0:0:+2G -- /dev/vdb
Copy to Clipboard Copied! Toggle word wrap Toggle overflow host_vars
ディレクトリーを作成します。mkdir /usr/share/ceph-ansible/host_vars
[root@admin ~]# mkdir /usr/share/ceph-ansible/host_vars
Copy to Clipboard Copied! Toggle word wrap Toggle overflow host_vars
ディレクトリーに移動します。cd /usr/share/ceph-ansible/host_vars
[root@admin ~]# cd /usr/share/ceph-ansible/host_vars
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージクラスター内のすべてのホストに hosts ファイルを作成します。
Syntax
touch NEW_OSD_HOST_NAME
touch NEW_OSD_HOST_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
touch osd5
[root@admin host_vars]# touch osd5
Copy to Clipboard Copied! Toggle word wrap Toggle overflow hosts ファイルで、データデバイスを定義します。
Syntax
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible ユーザーに切り替え、Ansible がすべての Ceph ノードに到達できることを確認します。
ansible all -m ping
[admin@admin ~]$ ansible all -m ping
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ディレクトリーを Ansible 設定ディレクトリーに移動します。
cd /usr/share/ceph-ansible
[admin@admin ~]$ cd /usr/share/ceph-ansible
Copy to Clipboard Copied! Toggle word wrap Toggle overflow --limit
オプションを指定して、以下の Ansible Playbook を実行します。ベアメタル デプロイメント:
ansible-playbook site.yml --limit osds -i hosts
[admin@admin ceph-ansible]$ ansible-playbook site.yml --limit osds -i hosts
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンテナー デプロイメント:
ansible-playbook site-container.yml --limit osds -i hosts
[admin@admin ceph-ansible]$ ansible-playbook site-container.yml --limit osds -i hosts
Copy to Clipboard Copied! Toggle word wrap Toggle overflow