11.7. 仕様ファイルを使用した HA for CephFS/NFS のデプロイ


仕様ファイルを使用して HA for CephFS/NFS をデプロイするには、最初に NFS サービスをデプロイしてから、同じ NFS サービスに ingress をデプロイします。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • ホストがクラスターに追加されている。
  • すべてのマネージャー、モニター、および OSD デーモンがデプロイされている。
  • NFS モジュールが有効になっていることを確認している。

手順

  1. Cephadm シェルにログインします。

    [root@host01 ~]# cephadm shell

  2. NFS モジュールが有効になっていることを確認します。

    [ceph: root@host01 /]# ceph mgr module ls | more

  3. Cephadm シェルを終了し、nfs.yaml ファイルを作成します。

    [root@host01 ~]# touch nfs.yaml

  4. nfs.yaml ファイルを編集し、以下の詳細を含めます。

    構文

    service_type: nfs
    service_id: SERVICE_ID
    placement:
      hosts:
        - HOST_NAME_1
        - HOST_NAME_2
      count: COUNT
    spec:
      port: PORT_NUMBER

    注記

    NFS サービスに割り当てるホストの数は、デプロイを要求するアクティブな NFS サーバーの数 (placement: count パラメーターで指定) よりも大きくする必要があります。

    service_type: nfs
    service_id: cephfsnfs
    placement:
      hosts:
        - host02
        - host03
      count: 1
    spec:
      port: 12345

    この例では、サーバーは、host02 と host03 のデフォルトポート 2049 ではなく、デフォルト以外のポート 12345 で実行されます。

  5. YAML ファイルをコンテナー内のディレクトリーにマウントします。

    [root@host01 ~]# cephadm shell --mount nfs.yaml:/var/lib/ceph/nfs.yaml

  6. Cephadm シェルにログインし、ディレクトリーに移動します。

    [ceph: root@host01 /]# cd /var/lib/ceph/

  7. サービス仕様を使用して NFS サービスをデプロイします。

    構文

    ceph orch apply -i FILE_NAME.yaml

    [ceph: root@host01 ceph]# ceph orch apply -i nfs.yaml

    注記

    NFS サービスのデプロイメントは非同期で行われるため、サービスが完全に開始される前にコマンドが返ってくる可能性があります。

  8. NFS サービスが正常に開始されたことを確認します。

    構文

    ceph orch ls --service_name=nfs.CLUSTER_ID

    [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

  9. Cephadm シェルを終了し、ingress.yaml ファイルを作成します。

    [root@host01 ~]# touch ingress.yaml

  10. ingress.yaml ファイルを編集して、以下の詳細を含めます。

    構文

    service_type: SERVICE_TYPE
    service_id: SERVICE_ID
    placement:
      count: PLACEMENT
    spec:
      backend_service: SERVICE_ID_BACKEND
      frontend_port: FRONTEND_PORT
      monitor_port: MONITOR_PORT
      virtual_ip: VIRTUAL_IP_WITH_CIDR

    service_type: ingress
    service_id: nfs.cephfsnfs
    placement:
      count: 2
    spec:
      backend_service: nfs.cephfsnfs
      frontend_port: 2049
      monitor_port: 9000
      virtual_ip: 10.10.128.75/22

    注記

    この例では、placement: count: 2keepalived および haproxy サービスをランダムなノードにデプロイします。keepalivedhaproxy をデプロイするノードを指定するには、placement: hosts オプションを使用します。

    service_type: ingress
    service_id: nfs.cephfsnfs
    placement:
      hosts:
        - host02
        - host03

  11. YAML ファイルをコンテナー内のディレクトリーにマウントします。

    [root@host01 ~]# cephadm shell --mount ingress.yaml:/var/lib/ceph/ingress.yaml

  12. Cephadm シェルにログインし、ディレクトリーに移動します。

    [ceph: root@host01 /]# cd /var/lib/ceph/

  13. サービス仕様を使用して ingress サービスをデプロイします。

    構文

    ceph orch apply -i FILE_NAME.yaml

    [ceph: root@host01 ceph]# ceph orch apply -i ingress.yaml

  14. Ingress サービスが正常に開始されたことを確認します。

    構文

    ceph orch ls --service_name=ingress.nfs.CLUSTER_ID

    [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

検証

  • IP エンドポイント、個々の NFS デーモンの IP、および ingress サービスの仮想 IP を表示します。

    構文

    ceph nfs cluster info CLUSTER_ID

    [ceph: root@host01 /]# ceph nfs cluster info cephfsnfs
    
    {
        "cephfsnfs": {
            "virtual_ip": "10.10.128.75",
            "backend": [
                {
                    "hostname": "host02",
                    "ip": "10.10.128.69",
                    "port": 12345
                },
                {
                    "hostname": "host03",
                    "ip": "10.10.128.70",
                    "port": 12345
                }
            ],
            "port": 2049,
            "monitor_port": 9049
        }
    }

  • ホストおよびプロセスをリスト表示します。

    [ceph: root@host01 /]# ceph orch ps | grep nfs
    
    haproxy.nfs.cephfsnfs.host01.ruyyhq     host01  *:2049,9000  running (27m)     6m ago  34m    9.85M        -  2.2.19-7ea3822   5e6a41d77b38  328d27b3f706
    haproxy.nfs.cephfsnfs.host02.ctrhha     host02  *:2049,9000  running (34m)     6m ago  34m    4944k        -  2.2.19-7ea3822   5e6a41d77b38  4f4440dbfde9
    keepalived.nfs.cephfsnfs.host01.fqgjxd  host01               running (27m)     6m ago  34m    31.2M        -  2.1.5            18fa163ab18f  0e22b2b101df
    keepalived.nfs.cephfsnfs.host02.fqzkxb  host02               running (34m)     6m ago  34m    17.5M        -  2.1.5            18fa163ab18f  c1e3cc074cf8
    nfs.cephfsnfs.0.0.host02.emoaut         host02  *:12345      running (37m)     6m ago  37m    82.7M        -  3.5              91322de4f795  2d00faaa2ae5
    nfs.cephfsnfs.1.0.host03.nsxcfd         host03  *:12345      running (37m)     6m ago  37m    81.1M        -  3.5              91322de4f795  d4bda4074f17

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.