3.4. Ceph の設定
この Red Hat Quay の設定では、以下のように 3 ノードの Ceph クラスターを作成し、他にもいくつかのサポートノードを用意します。
- ceph01、ceph02、ceph03 - Ceph Monitor、Ceph Manager、Ceph OSD の各ノード
- ceph04 - Ceph RGW ノード
- ceph05 - Ceph Ansible 管理ノード
Ceph ノードのインストールの詳細は、Red Hat Enterprise Linux への Red Hat Ceph Storage のインストール を参照してください。
Ceph ストレージクラスターを設定したら、Ceph Object Gateway (RADOS ゲートウェイとも呼ばれる) を作成します。詳細は、Ceph Object Gateway のインストール を参照してください。
3.4.1. 各 Ceph ノードのインストール リンクのコピーリンクがクリップボードにコピーされました!
ceph01、ceph02、ceph03、ceph04、および ceph05 で、以下の作業を行います。
Red Hat Ceph Storage をインストールするための要件 で、Ceph ノード設定の前提条件を確認します。特に以下を確認します。
- OSD ノードで RAID コントローラー を使用するかどうかを決定します。
- Ceph のネットワーク設定 に別のクラスターネットワークを使用するかどうかを決定します。
-
OSD ストレージを準備 (ceph01、ceph02、ceph03 のみ) します。3 つの OSD ノード (ceph01、ceph02、ceph03) で OSD ストレージを設定します。サポート対象のストレージタイプの詳細は、表 3 .2 の OSD Ansible 設定を参照してください。これは、後で Ansible 設定に入力します。この例では、OSD ノードのそれぞれに、OS とは別のフォーマットされていないブロックデバイス (
/dev/sdb) が 1 つ設定されています。メタルにインストールする場合は、この目的用にマシンに別のハードドライブを追加するとよいでしょう。 - RHEL 7 インストールガイド に記載されている通り、Red Hat Enterprise Linux Server エディションをインストールします。
Red Hat Ceph Storage Nodes の登録 で説明したように、各 Ceph ノードを登録してサブスクライブします。ここでは、必要な repo をサブスクライブする方法を説明します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 各ノードに root 権限のある ansible ユーザーを作成します。任意の名前を選んでください。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4.2. Ceph Ansible ノード (ceph05) の設定 リンクのコピーリンクがクリップボードにコピーされました!
Ceph Ansible ノード (ceph05) にログインし、以下のように設定します。この手順を実行するには、ceph01、ceph02、ceph03 の各ノードが稼働している必要があります。
Ansible ユーザーのホームディレクトリーに、ceph-ansible Playbook で作成した一時的な値を保存するディレクトリーを作成します。
USER_NAME=ansibleadmin sudo su - $USER_NAME
# USER_NAME=ansibleadmin # sudo su - $USER_NAME [ansibleadmin@ceph05 ~]$ mkdir ~/ceph-ansible-keysCopy to Clipboard Copied! Toggle word wrap Toggle overflow ansible ユーザーにパスワードレスの ssh を有効にします。ceph05 で ssh-keygen を実行してから (パスフレーズは空のまま)、ceph01、ceph02、ceph03 システムの Ansible ユーザーにも、ssh-copy-id を実行して繰り返し、公開鍵をコピーします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph-ansible パッケージをインストールします。
yum install ceph-ansible
# yum install ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow この 2 つのディレクトリーの間にシンボリックを作成します。
ln -s /usr/share/ceph-ansible/group_vars \ /etc/ansible/group_vars# ln -s /usr/share/ceph-ansible/group_vars \ /etc/ansible/group_varsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 修正する Ceph サンプル yml ファイルのコピーを作成します。
cd /usr/share/ceph-ansible cp group_vars/all.yml.sample group_vars/all.yml cp group_vars/osds.yml.sample group_vars/osds.yml cp site.yml.sample site.yml
# cd /usr/share/ceph-ansible # cp group_vars/all.yml.sample group_vars/all.yml # cp group_vars/osds.yml.sample group_vars/osds.yml # cp site.yml.sample site.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow コピーした group_vars/all.yml ファイルを編集します。詳細は、表 3.1 の Ansible の一般的な設定を参照してください。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ご使用のネットワーク機器やアドレス範囲は、異なる場合があります。
コピーした
group_vars/osds.ymlファイルを編集します。詳細は、表 3.2 の OSD Ansible 設定を参照してください。この例では、各 OSD ノードの 2 番目のディスクデバイス (/dev/sdb) がデータとジャーナルの両方のストレージに使用されています。osd_scenario: collocated devices: - /dev/sdb dmcrypt: true osd_auto_discovery: false
osd_scenario: collocated devices: - /dev/sdb dmcrypt: true osd_auto_discovery: falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow etc/ansible/hostsインベントリーファイルを編集して、Ceph ノードを Ceph モニター、OSD、マネージャーノードとして識別します。この例では、各ノードでストレージデバイスも識別されています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow この行を
/etc/ansible/ansible.cfgファイルに追加して、Ansible Playbook の各実行結果の出力を Ansible ユーザーのホームディレクトリーに保存します。retry_files_save_path = ~/
retry_files_save_path = ~/Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible が、設定したすべての Ceph ノードに、Ansible ユーザーとして接続できることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph-ansible Playbook を (Ansible のユーザーとして) 実行します。
cd /usr/share/ceph-ansible/ ansible-playbook site.yml
[ansibleadmin@ceph05 ~]$ cd /usr/share/ceph-ansible/ [ansibleadmin@ceph05 ~]$ ansible-playbook site.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow この時点で、Ansible Playbook が Ceph ノードをチェックし、要求したサービス向けに設定します。失敗した場合は、必要な修正を行い、コマンドを再実行してください。
3 つの Ceph ノード (ceph01、ceph02、または ceph03) のいずれかにログインし、Ceph クラスターの正常性を確認します。
ceph health
# ceph health HEALTH_OKCopy to Clipboard Copied! Toggle word wrap Toggle overflow 同じノードで、rados を使用してモニタリングが機能していることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4.3. Ceph Object Gateway のインストール リンクのコピーリンクがクリップボードにコピーされました!
Ansible システム (cef05) で、Ceph Storage クラスターへの Ceph Object Gateway を設定します (最終的には cef04 で実行します)。詳細は、Ceph Object Gateway のインストール を参照してください。