11.6. 仕様ファイルを使用した HA for CephFS/NFS のデプロイ
仕様ファイルを使用して HA for CephFS/NFS をデプロイするには、最初に NFS サービスをデプロイしてから、同じ NFS サービスに ingress
をデプロイします。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ホストがクラスターに追加されている。
- すべてのマネージャー、モニター、および OSD デーモンがデプロイされている。
- NFS モジュールが有効になっていることを確認している。
手順
Cephadm シェルにログインします。
例
cephadm shell
[root@host01 ~]# cephadm shell
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NFS モジュールが有効になっていることを確認します。
例
[ceph: root@host01 /]# ceph mgr module ls | more
[ceph: root@host01 /]# ceph mgr module ls | more
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cephadm シェルを終了し、
nfs.yaml
ファイルを作成します。例
touch nfs.yaml
[root@host01 ~]# touch nfs.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow nfs.yaml
ファイルを編集し、以下の詳細を含めます。構文
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記NFS サービスに割り当てるホストの数は、デプロイを要求するアクティブな NFS サーバーの数 (
placement: count
パラメーターで指定) よりも大きくする必要があります。例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、サーバーは、host02 と host03 のデフォルトポート
2049
ではなく、デフォルト以外のポート12345
で実行されます。YAML ファイルをコンテナー内のディレクトリーにマウントします。
例
cephadm shell --mount nfs.yaml:/var/lib/ceph/nfs.yaml
[root@host01 ~]# cephadm shell --mount nfs.yaml:/var/lib/ceph/nfs.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cephadm シェルにログインし、ディレクトリーに移動します。
例
[ceph: root@host01 /]# cd /var/lib/ceph/
[ceph: root@host01 /]# cd /var/lib/ceph/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow サービス仕様を使用して NFS サービスをデプロイします。
構文
ceph orch apply -i FILE_NAME.yaml
ceph orch apply -i FILE_NAME.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 ceph]# ceph orch apply -i nfs.yaml
[ceph: root@host01 ceph]# ceph orch apply -i nfs.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記NFS サービスのデプロイメントは非同期で行われるため、サービスが完全に開始される前にコマンドが返ってくる可能性があります。
NFS サービスが正常に開始されたことを確認します。
構文
ceph orch ls --service_name=nfs.CLUSTER_ID
ceph orch ls --service_name=nfs.CLUSTER_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# ceph orch ls --service_name=nfs.cephfsnfs NAME PORTS RUNNING REFRESHED AGE PLACEMENT nfs.cephfsnfs ?:12345 2/2 3m ago 13m host02;host03
[ceph: root@host01 /]# ceph orch ls --service_name=nfs.cephfsnfs NAME PORTS RUNNING REFRESHED AGE PLACEMENT nfs.cephfsnfs ?:12345 2/2 3m ago 13m host02;host03
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cephadm シェルを終了し、
ingress.yaml
ファイルを作成します。例
touch ingress.yaml
[root@host01 ~]# touch ingress.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ingress.yaml
ファイルを編集して、以下の詳細を含めます。構文
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記この例では、
placement: count: 2
はkeepalived
およびhaproxy
サービスをランダムなノードにデプロイします。keepalived
とhaproxy
をデプロイするノードを指定するには、placement: hosts
オプションを使用します。例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow YAML ファイルをコンテナー内のディレクトリーにマウントします。
例
cephadm shell --mount ingress.yaml:/var/lib/ceph/ingress.yaml
[root@host01 ~]# cephadm shell --mount ingress.yaml:/var/lib/ceph/ingress.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cephadm シェルにログインし、ディレクトリーに移動します。
例
[ceph: root@host01 /]# cd /var/lib/ceph/
[ceph: root@host01 /]# cd /var/lib/ceph/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow サービス仕様を使用して
ingress
サービスをデプロイします。構文
ceph orch apply -i FILE_NAME.yaml
ceph orch apply -i FILE_NAME.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 ceph]# ceph orch apply -i ingress.yaml
[ceph: root@host01 ceph]# ceph orch apply -i ingress.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ingress サービスが正常に開始されたことを確認します。
構文
ceph orch ls --service_name=ingress.nfs.CLUSTER_ID
ceph orch ls --service_name=ingress.nfs.CLUSTER_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# ceph orch ls --service_name=ingress.nfs.cephfsnfs NAME PORTS RUNNING REFRESHED AGE PLACEMENT ingress.nfs.cephfsnfs 10.10.128.75:2049,9000 4/4 4m ago 22m count:2
[ceph: root@host01 /]# ceph orch ls --service_name=ingress.nfs.cephfsnfs NAME PORTS RUNNING REFRESHED AGE PLACEMENT ingress.nfs.cephfsnfs 10.10.128.75:2049,9000 4/4 4m ago 22m count:2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
IP エンドポイント、個々の NFS デーモンの IP、および
ingress
サービスの仮想 IP を表示します。構文
ceph nfs cluster info CLUSTER_NAME
ceph nfs cluster info CLUSTER_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ホストおよびプロセスをリスト表示します。
例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow