すべてのプロダクト
Search
ドキュメントセンター

Cloud Parallel File Storage:CPFS-POSIX の使用開始

最終更新日:Nov 09, 2025

POSIX クライアントは、複数のデータノードに同時に接続できます。アプリケーションに標準の POSIX および MPI-IO インターフェイスを提供し、最適なパフォーマンスとアプリケーションインターフェイスの互換性を実現します。このトピックでは、Alibaba Cloud Linux を例として、Cloud Parallel File Storage (CPFS) ファイルシステムをデプロイし、CPFS-POSIX クライアントを使用してアクセスする方法について説明します。

説明
  • CPFS-POSIX クライアントは、CPFS-NFS クライアントよりも高い I/O パフォーマンスを提供します。CPFS ファイルシステム用の POSIX マウントポイントを作成すると、CPFS-POSIX クライアントクラスターを管理するために、3 つの従量課金 Elastic Compute Service (ECS) インスタンスが Alibaba Cloud アカウントに自動的に作成されます。ECS インスタンスタイプは ecs.g*.large (g6 以降のインスタンスタイプ) です。これらのインスタンスは、リージョンの ECS 価格に基づいて課金されます。指定されたゾーンでこのインスタンスタイプを購入するために Alibaba Cloud アカウントが使用できることを確認してください。詳細については、「Elastic Compute Service の価格」をご参照ください。

  • 高いパフォーマンス要件がない場合は、コンソールで汎用プロトコルサービスを有効にし、CPFS-NFS クライアントを使用して CPFS にアクセスできます。CPFS-NFS クライアントを使用して CPFS ファイルシステムにアクセスする場合、3 つの追加の ECS インスタンスは必要ありません。詳細については、「プロトコルサービス」をご参照ください。

前提条件

  • CPFS サービスが有効化されていること。

    初めて CPFS コンソールにログインするときは、画面の指示に従って CPFS サービスを有効化します。

  • ECS インスタンスを作成済みであること。インスタンスは、CPFS-POSIX クライアントでサポートされているオペレーティングシステムを実行している必要があります。詳細については、「ECS インスタンスの作成」をご参照ください。

    オペレーティングシステム

    ディストリビューション

    カーネルバージョン

    Alibaba Cloud Linux

    Alibaba Cloud Linux 2.1903 64 ビット

    4.19.91-27.4.al7.x86_64 およびそれ以前のバージョン

    Red Hat Enterprise Linux (RHEL) または CentOS

    8.4

    4.18.0-305.19.1.el8_4

    8.3

    4.18.0-240.22.1.el8_3

    8.2

    4.18.0-193.28.1.el8_2

    8.1

    4.18.0-147.8.1.el8_1

    8.0

    4.18.0-80.11.2.el8_0

    7.9

    3.10.0-1160.42.2.el7

    7.8

    3.10.0-1127.19.1.el7

    7.7

    3.10.0-1062.18.1.el7

    7.6

    3.10.0-957.54.1.el7

    7.5

    3.10.0-862.14.4.el7

    7.4

    3.10.0-693.2.2.el7

    7.3

    3.10.0-514.26.2.el7

    7.2

    3.10.0-514.26.2.el7

    Ubuntu

    20.04.3 LTS

    5.4.0-86-generic

    説明
    • CPFS-POSIX クライアントが計算ノードで適切に実行されるには、少なくとも 2 つの CPU コアと 4 GiB のメモリが必要です。

    • オペレーティングシステムのカーネルバージョンが CPFS-POSIX クライアントでサポートされていない場合は、CPFS-NFS クライアントを使用して CPFS ファイルシステムにアクセスすることをお勧めします。

    • CentOS プロジェクトは、CentOS Linux から CentOS Stream に焦点を移すことを発表しました。Alibaba Cloud CentOS パブリックイメージは CentOS から派生しています。CentOS プロジェクトが CentOS のサポートを終了すると、Alibaba Cloud もこの Linux ディストリビューションのサポートを終了します。CentOS のサポート終了による影響を防ぐために、できるだけ早く CentOS オペレーティングシステムを置き換えることをお勧めします。詳細については、「ECS インスタンスのオペレーティングシステムの移行」をご参照ください。

    このトピックでは、次の構成の ECS インスタンスを使用します。

    • オペレーティングシステム: Alibaba Cloud Linux 2.1903 LTS 64 ビット

    • カーネルバージョン: 4.19.91-27.4.al7.x86_64

    • vCPU: 2 vCPU

    • メモリ: 8 GiB

    • リージョン: 中国 (上海)

    • ゾーン: 上海ゾーン B

    • 内部 IP アドレス: 192.168.1.249

プロシージャ

ステップ 1: ファイルシステムの作成

  1. CPFS コンソールにログインします。

  2. 概要 ページの下部で、[CPFS の作成] をクリックします。

  3. [CPFS (従量課金)] ページで、次の表の説明に従って必須パラメーターを設定します。他のパラメーターについては、デフォルト設定を使用するか、必要に応じてカスタム値を指定できます。詳細については、「ファイルシステムの作成」をご参照ください。

    パラメーター

    説明

    リージョン

    ドロップダウンリストから、[中国 (上海)] を選択します。

    ゾーン

    [上海ゾーン B] を選択します。ファイルシステムと ECS インスタンスは同じゾーンにある必要があります。

    タイプ

    [100 MB/s/TiB ベースライン] を選択します。

    ストレージ容量

    ファイルシステムのストレージ容量を選択します。このトピックでは、例として [3600 GiB] を使用します。

    VPC

    既存の VPC を選択します。

    vSwitch

    選択した VPC 内にある vSwitch を選択します。

  4. 今すぐ購入 をクリックし、画面の指示に従って購入を完了します。

ステップ 2: POSIX マウントポイントの追加と、ECS インスタンスのクォーラムノードのセキュリティグループへの追加

  1. 左側のナビゲーションウィンドウで、[ファイルシステム] > [ファイルシステムリスト] を選択し、作成したファイルシステムの名前をクリックします。

  2. ファイルシステムの詳細ページで、[マウント] タブをクリックします。

  3. POSIX クライアントマウントポイントを追加します。

    1. [POSIX クライアントマウントポイントの追加] をクリックし、必須パラメーターを設定します。他のパラメーターについては、必要に応じて設定するか、デフォルト設定を保持します。

      [VSwitch]: ECS インスタンスと同じ VPC にある vSwitch を選択します。

    2. OK をクリックします。

  4. クォーラムノードのセキュリティグループ情報を取得します。

    1. [クライアント管理ノード] エリアで、リストの最初の ECS インスタンスをクリックして詳細ページに移動します。

    2. ECS インスタンスの詳細ページで、[セキュリティグループ] タブをクリックし、セキュリティグループ情報を記録します。

      image.png

  5. 宛先 ECS インスタンスを CPFS クォーラムノードのセキュリティグループに追加します。

    1. 左側のナビゲーションウィンドウで、[インスタンス & イメージ] > [インスタンス] を選択します。

    2. CPFS ファイルシステムをマウントする ECS インスタンスの ID をクリックして、詳細ページに移動します。

    3. [セキュリティグループ] タブをクリックし、[セキュリティグループの変更] をクリックします。

    4. [セキュリティグループの変更] ダイアログボックスで、前のステップで記録したクォーラムノードのセキュリティグループ (<FSID>-<GENID>-qr-sg) を [セキュリティグループ] ドロップダウンリストから選択し、[OK] をクリックします。

      image

ステップ 3: CPFS-POSIX クライアントのインストール

  1. 左側のナビゲーションウィンドウで、[インスタンス & イメージ] > [インスタンス] を選択します。

  2. CPFS-POSIX クライアントをインストールする ECS インスタンス (cpfs-****-000001-qr-001) の [アクション] 列で、[リモート接続] をクリックします。インスタンスにログインします。ECS インスタンスへの接続方法の詳細については、インスタンスへの接続 をご参照ください。

    NAS コンソールにログインできます。作成したファイルシステムの [マウント] タブで、[クライアント管理ノード] エリアにある最初の ECS インスタンスのパスワードを表示できます。客户端密码

  3. クォーラムノードから宛先 ECS インスタンスへのパスワードなしのログインを有効にします。

    説明

    複数の ECS インスタンスと CPFS マスターノード間のパスワードなしのログインを設定する前に、すべてのターゲット ECS インスタンスに同じログインパスワードを設定することをお勧めします。そうしないと、client.list ファイルを作成し、ステップ 6 から ステップ 8 までのプロシージャを複数回繰り返す必要があります。

    1. client.list ファイルを作成し、宛先 ECS インスタンスの内部 IP アドレスをファイルに追加します。

      1. client.list ファイルを作成します。

        touch client.list
      2. vi client.list コマンドを実行して client.list ファイルを開き、ターゲット ECS インスタンスの内部 IP アドレスを追加します。

        192.168.1.249
        説明

        1 つ以上の ECS インスタンスを追加できます。複数のインスタンスを追加する場合は、各インスタンスの内部 IP アドレスを新しい行に入力します。

      3. ファイルを保存して閉じます。

    2. qr.list ファイルを作成し、クォーラムノードの IP アドレスを追加します。

      1. qr.list ファイルを作成します。

        touch qr.list
      2. vi qr.list コマンドを実行して qr.list ファイルを開き、マスターノードの IP アドレスを追加します。次のコードは例です。

        192.168.*.***
        192.168.*.***
        192.168.*.***

        [クライアント管理ノード] エリアから CPFS-POSIX クライアントクォーラムノードの IP アドレスを取得できます。

      3. ファイルを保存して閉じます。

    3. auto_ssh.sh スクリプトを作成して設定します。

      1. auto_ssh.sh ファイルを作成します。

        touch auto_ssh.sh
      2. vi auto_ssh.sh コマンドを実行して auto_ssh.sh ファイルを開き、次の内容を追加します。

        #!/usr/bin/expect
        set timeout 10
        set username [lindex $argv 0]
        set password [lindex $argv 1]
        set hostname [lindex $argv 2]
        spawn ssh-copy-id -i /root/.ssh/id_rsa.pub $username@$hostname
        expect {
         #初回接続、~/.ssh/known_hosts に公開鍵なし
         "Are you sure you want to continue connecting (yes/no)?" {
         send "yes\r"
         expect "password:"
         send "$password\r"
         }
         #~/.ssh/known_hosts にすでに公開鍵あり
         "password:" {
         send "$password\r"
         }
         "Now try logging into the machine" {
         #承認済み、何もしない
         }
         "already exist on the remote" {
         #承認済み、何もしない
         }
        }
        expect eof
        
      3. ファイルを保存して閉じます。

  4. 次のコマンドを実行して、ユーザーに auto_ssh.sh ファイルの実行権限を付与します。

    chmod +x auto_ssh.sh
  5. 次のコマンドを実行して、宛先 ECS インスタンスのパスワードを client.list ファイルに記録します。

    PASSWD='yourpassword'
    説明

    宛先の ECS インスタンスのパスワードが異なる場合は、インスタンスごとに client.list ファイルを作成し、ステップ 6 から ステップ 8 を繰り返します。

  6. 次のコマンドを実行して、クォーラムノードのパスワードなしのログインを設定します。

    cat client.list | xargs -I {} ./auto_ssh.sh root $PASSWD {}
  7. 次のコマンドを実行して、client.list ファイルで指定された ECS インスタンスに CPFS クライアントをリモートでインストールします。出力に Complete! が含まれている場合、インストールは成功です。

    region_id=`curl http://100.100.100.200/latest/meta-data/region-id`;
    wget https://cpfs-${region_id}-pre.oss-${region_id}-internal.aliyuncs.com/cpfs/CPFS2.3.4-CentOS.tar.gz -O /root/CPFS2.3.4-CentOS.tar.gz;
    cat client.list | xargs -I {} scp /root/CPFS2.3.4-CentOS.tar.gz {}:/root/
    pssh -ih client.list "tar xzvf /root/CPFS2.3.4-CentOS.tar.gz"
    pssh -ih client.list "cd /root/CPFS2.3.4-CentOS/CentOS7;yum install -y gpfs.adv-*.x86_64.rpm gpfs.base-*.x86_64.rpm gpfs.docs-*.noarch.rpm gpfs.gpl-*.noarch.rpm gpfs.gskit-*.x86_64.rpm gpfs.gss.pmsensors-*.x86_64.rpm gpfs.license.dm-*.x86_64.rpm gpfs.msg.en_US-*.noarch.rpm"
  8. 次のコマンドを実行して、client.list ファイルで指定された ECS インスタンスのカーネル拡張をリモートでコンパイルします。

    pssh -ih client.list "/usr/bin/yum -y install cpp gcc-c++ elfutils-libelf-devel" 
    pssh -ih client.list "export LINUX_DISTRIBUTION=KERNEL_ORG_LINUX; /usr/lpp/mmfs/bin/mmbuildgpl"

    設定が完了したら、環境のイメージを作成できます。CPFS ファイルシステムにアクセスするために新しい ECS インスタンスを追加する場合、環境を再設定することなく、イメージからインスタンスを作成できます。イメージの作成方法の詳細については、カスタムイメージの概要 をご参照ください。

ステップ 4: CPFS ファイルシステムのマウント

  1. 次のコマンドを実行して、マスターノードとターゲット ECS インスタンスの hosts ファイルを更新します。

    pssh -ih client.list "hostname;ifconfig eth0 | grep -v inet6 | grep inet | awk '{print \$2}'" | grep -v SUCC | sed 'N;s/\n/ /' > /tmp/ip-host-client.list
    pssh -ih qr.list "hostname;ifconfig eth0 | grep -v inet6 | grep inet | awk '{print \$2}'" | grep -v SUCC | sed 'N;s/\n/ /' > /tmp/ip-host-qr.list
    cat /tmp/ip-host-client.list | awk '{print $2,$1,$1"t_MAGICTAG"}' > /etc/client-hosts.append
    cat /tmp/ip-host-qr.list | awk '{print $2,$1,$1"t_MAGICTAG"}' > /etc/qr-hosts.append
    pssh -ih client.list "cp /etc/hosts hosts.bak"
    pssh -ih qr.list "cp /etc/hosts hosts.bak"
    cat client.list | xargs -I {} scp /etc/client-hosts.append {}:/etc/
    cat client.list | xargs -I {} scp /etc/qr-hosts.append {}:/etc/
    cat qr.list | xargs -I {} scp /etc/client-hosts.append {}:/etc/
    pssh -ih client.list "cat /etc/client-hosts.append >> /etc/hosts"
    pssh -ih client.list "cat /etc/qr-hosts.append >> /etc/hosts"
    pssh -ih qr.list "cat /etc/client-hosts.append >> /etc/hosts"
  2. 次のコマンドを実行して、ターゲット ECS インスタンスを CPFS クラスターに追加します。

    1. コマンドを実行します。

      mmaddnode -N client.list
      mmchlicense client --accept -N client.list
      mmchnode --perfmon -N client.list
      mmstartup -N client.list
      mmgetstate -a
    2. 応答の例を表示します。

      ターゲット ECS インスタンスノードの状態が active に変わると、ノードは正常に CPFS クラスターに追加されます。

       Node number  Node name                            GPFS state  
      ---------------------------------------------------------------
                 1  cpfs-2989198****323d3-000001-qr-001  active
                 2  cpfs-2989198****323d3-000001-qr-002  active
                 3  cpfs-2989198****323d3-000001-qr-003  active
                 4  iZ0jl91t3p5kehvr6i5****              active
  3. 次のコマンドを実行して、ノードリストにターゲット ECS インスタンスが含まれていることを確認します。

    • コマンドを実行します。

      mmlscluster
    • 応答の例を表示します。

       Node  Daemon node name                     IP address    Admin node name                      Designation
      -----------------------------------------------------------------------------------------------------------
         1   cpfs-2989198****323d3-000001-qr-001  192.168.3.57  cpfs-2989198****323d3-000001-qr-001  quorum-manager-perfmon
         2   cpfs-2989198****323d3-000001-qr-002  192.168.3.58  cpfs-2989198****323d3-000001-qr-002  quorum-manager-perfmon
         3   cpfs-2989198****323d3-000001-qr-003  192.168.3.56  cpfs-2989198****323d3-000001-qr-003  quorum-manager-perfmon
         4   iZ0jl91t3p5kehvr6i5****             192.168.3.59  iZ0jl91t3p5kehvr6i5****            perfmon

ステップ 5: マウントの確認

ファイルシステムがマウントされた後、ECS インスタンス上の通常のディレクトリとしてアクセスして使用できます。

  1. 宛先 ECS インスタンスに接続します。詳細については、「ECS インスタンスへの接続」をご参照ください。

  2. 次のコマンドを実行して、マウントポイントをクエリします。

    df -h

    出力例は次のとおりです。

    Filesystem               Size  Used Avail Use% Mounted on
    devtmpfs                 7.6G     0  7.6G   0% /dev
    tmpfs                    7.6G     0  7.6G   0% /dev/shm
    tmpfs                    7.6G  512K  7.6G   1% /run
    tmpfs                    7.6G     0  7.6G   0% /sys/fs/cgroup
    /dev/vda1                 40G  3.4G   37G   9% /
    tmpfs                    1.6G     0  1.6G   0% /run/user/0
    01a392bac3****-000001    3.6T  432M  3.6T   1% /cpfs/01a392bac3****-000001

    出力では、/cpfs/01a392bac3****-000001 がマウントポイントです。

  3. 次のコマンドを実行して、ディレクトリを CPFS ファイルシステムに変更します。

    cd <mount_target>

    これで、CPFS ファイルシステムに通常のディレクトリとしてアクセスして使用できます。