付録A トラブルシューティング
A.1. 予想したデバイスよりも少ないため、Ansible がインストールを停止します。
Ansible 自動化アプリケーションはインストールプロセスを停止し、以下のエラーを返します。
- name: fix partitions gpt header or labels of the osd disks (autodiscover disks) shell: "sgdisk --zap-all --clear --mbrtogpt -- '/dev/{{ item.0.item.key }}' || sgdisk --zap-all --clear --mbrtogpt -- '/dev/{{ item.0.item.key }}'" with_together: - "{{ osd_partition_status_results.results }}" - "{{ ansible_devices }}" changed_when: false when: - ansible_devices is defined - item.0.item.value.removable == "0" - item.0.item.value.partitions|count == 0 - item.0.rc != 0
エラー内容:
/usr/share/ceph-ansible/group_vars/osds.yml
ファイルで osd_auto_discovery
パラメーターが true
に設定されている場合、Ansible は利用可能なすべてのデバイスを自動的に検出して設定します。このプロセス中、Ansible はすべての OSD が同じデバイスを使用することを想定します。デバイスは、Ansible が名前を検出するのと同じ順序で名前を取得します。いずれかの OSD でデバイスのいずれかが失敗すると、Ansible は障害が発生したデバイスの検出に失敗し、インストールプロセス全体を停止します。
状況例:
-
3 つの OSD ノード (
host1
、host2
、host3
) は、/dev/sdb
ディスク、/dev/sdc
ディスク、およびdev/sdd
ディスクを使用します。 -
host2
では、/dev/sdc
ディスクに障害が発生し、削除されます。 -
次回の再起動時に、Ansible は削除した
/dev/sdc
ディスクの検出に失敗し、host2
、/dev/sdb
および/dev/sdc
(以前は/dev/sdd
) には 2 つのディスクのみが使用されることを想定します。 - Ansible はインストールプロセスを停止し、上記のエラーメッセージを返します。
この問題を修正するには、以下を実行します。
/etc/ansible/hosts
ファイルで、障害が発生したディスクを持つ OSD ノードが使用するデバイスを指定します (上記の例の host2
)。
[osds] host1 host2 devices="[ '/dev/sdb', '/dev/sdc' ]" host3
詳細は5章Ansible を使用した Red Hat Ceph Storage のインストール をご覧ください。