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

Cloud Parallel File Storage:Alibaba Cloud Linux:CPFS-POSIX クライアントによる CPFS ファイルシステムのマウント

最終更新日:Aug 27, 2026

Alibaba Cloud Linux 2 に CPFS-POSIX クライアントをインストールし、そのクライアントを使用して CPFS ファイルシステムをマウントします。

背景情報

  • このトピックでいうターゲット ECS インスタンスとは、CPFS ファイルシステムをマウントしてアクセスするコンピューティングノードのことです。

  • Cloud Parallel File Storage (CPFS) は、POSIX インターフェイスと互換性があります。CPFS-POSIX クライアントをインストールし、ファイルシステムをマウントすることで CPFS を使用できます。CPFS-POSIX クライアントはカスタマイズされたサービスを提供し、Alibaba Cloud Linux 2 へのインストールをサポートしています。NFS プロトコルを使用して CPFS ファイルシステムにアクセスする場合は、「CPFS-NFS クライアントを使用したファイルシステムのマウント」をご参照ください。

  • POSIX マウントターゲットを追加すると、CPFS は自動的に 3 つの管理ノード ECS インスタンス (--qr-001、--qr-002、--qr-003) を作成します。リストの最初の管理ノード ECS インスタンス (--qr-001) は、デフォルトの CPFS-POSIX クライアントインストールノードです。

前提条件

  • ファイルシステムが作成済みであること。詳細については、「ファイルシステムの作成」をご参照ください。

  • POSIX マウントターゲットが追加済みであること。詳細については、「POSIX マウントターゲットの追加」をご参照ください。

  • 1 つ以上の Alibaba Cloud Linux 2 ECS インスタンスが作成されており、インスタンスの仕様は次のとおりです。

    • バージョン: Alibaba Cloud Linux 2.1903 LTS 64 ビット

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

      uname -r コマンドを実行して、カーネルバージョンを確認できます。

ステップ 1:ターゲット ECS インスタンスのセキュリティグループの設定

前提条件で作成した ECS インスタンスにファイルシステムをマウントする前に、CPFS-POSIX 管理ノード ECS インスタンスのセキュリティグループをターゲット ECS インスタンスに追加する必要があります。これにより、ターゲット ECS インスタンスと CPFS クラスター間のリモート接続およびデータ伝送の失敗を防ぐことができます。

  1. CPFS-POSIX コントロールノードのセキュリティグループ ID を取得します。

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

    2. 左側メニューで、[ファイルシステム] > [ファイルシステムリスト] を選択します。

    3. ページの左上隅で、ターゲットファイルシステムのリソースグループとリージョンを選択します。

      image

    4. ターゲットファイルシステムをクリックします。 詳細ページで、マウント使用 をクリックします。

    5. クライアントマスターノード セクションで、リストの最初の ECS インスタンスをクリックして、インスタンス詳細ページに移動します。

    6. インスタンスの詳細 ページで、[セキュリティグループ] タブをクリックし、コントロールノードの [セキュリティグループ ID/名前] を控えておきます。

      コントロールノードのセキュリティグループ名は、<FSID>-<GENID>-qr-sg の形式です。

      この形式では、<FSID> は CPFS ファイルシステム ID、<GENID> はマウントターゲットのシーケンス番号で、CPFS マウントターゲットが作成されるたびにインクリメントされます。

  2. コントロールノードのセキュリティグループをターゲット ECS インスタンスに追加します。

    1. 左側メニューで、[インスタンスとイメージ] > [インスタンス] を選択します。

    2. [インスタンスリスト] ページで、マウントする ECS インスタンス ID をクリックし、[セキュリティグループ] タブを選択して、[セキュリティグループの変更] をクリックします。

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

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

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

  2. 左側のナビゲーションウィンドウで、ファイルシステム > ファイルシステムリスト を選択します。

  3. ページの左上隅で、ターゲットファイルシステムのリージョンとリソースグループを選択します。

    リソースグループを切り替えるには、上部メニューの [すべてのリソース] ドロップダウンリストを使用します。

  4. ターゲットファイルシステムをクリックしてファイルシステムの詳細ページに移動し、マウント使用 をクリックします。

  5. クライアントマスターノード セクションで、リストの最初の管理ノード ECS インスタンスをクリックして、インスタンスの詳細ページに移動します。

  6. 接続 をクリックして、CPFS-POSIX クライアントインストールノードにログインします。

  7. 管理ノードとターゲット ECS インスタンス間でパスワードなしログインを設定します。

    説明

    複数の CPFS 管理ノードと ECS インスタンス間でパスワードなしログインを設定する前に、ターゲット ECS インスタンスのログインパスワードを同じパスワードに設定することを推奨します。そうしないと、client.list ファイルを複数回作成し、ステップ 9 から 10 を繰り返す必要があります。

    1. client.list ファイルを作成し、ターゲット ECS インスタンスのプライベート IP アドレスを追加します。

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

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

        <ターゲット ECS インスタンス 1 のプライベート IP アドレス> 
        <ターゲット ECS インスタンス 2 のプライベート IP アドレス>
        <ターゲット ECS インスタンス 3 のプライベート IP アドレス>

        例:

        192.168.1.249
        192.168.1.250
        192.168.1.251
        説明

        1 つ以上の ECS インスタンスを追加できます。複数の ECS インスタンスを追加する場合は、ターゲット ECS インスタンスのプライベート IP アドレスを別々の行に入力します。

      3. 保存して終了します。

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

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

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

        10.0.2.41
        10.0.2.42
        10.0.2.43

        クライアントマスターノード セクションに、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. 保存して終了します。

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

    chmod +x auto_ssh.sh
  9. 次のコマンドを実行して、client.list 内のターゲット ECS インスタンスの PASSWD を設定します。

    PASSWD='yourpassword'
    説明

    ターゲット ECS インスタンスの PASSWD が異なる場合は、client.list ファイルを複数回作成し、ステップ 9 から 10 を繰り返す必要があります。

  10. 次のコマンドを実行して、ターゲット ECS インスタンスへのパスワードなしログインを設定します。

    cat client.list | xargs -I {} ./auto_ssh.sh root $PASSWD {}
  11. 次のコマンドを実行して、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"
  12. 次のコマンドを実行して、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"

    この設定を他の ECS インスタンスで再利用するには、設定済みのインスタンスからカスタムイメージを作成します。カスタムイメージの作成方法の詳細については、「カスタムイメージ」をご参照ください。

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

  1. 左側のナビゲーションウィンドウで、[インスタンス] をクリックします。

  2. [インスタンスリスト] ページで、CPFS-POSIX クライアントインストールノード ECS (qr-001) を見つけ、接続 列の 接続 をクリックしてノードにログインします。

    [クライアント管理ノード] セクションに、CPFS-POSIX クライアントインストールノードのログインパスワードが表示されます。

  3. 次のコマンドを実行して、管理ノードとターゲット 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"
  4. 次のコマンドを実行して、ターゲット 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. レスポンス例

      ノードの状態が active に変更されると、対象の ECS インスタンスは 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
  5. 次のコマンドを実行して、ノードリストにターゲット 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
  6. (オプション) デフォルトパスの照会

    ターゲット ECS インスタンスを CPFS-POSIX クライアント管理ノードに追加すると、ファイルシステムはデフォルトパス /cpfs/<FSID シリアル番号> に自動的にマウントされます。デフォルトのマウントパスを表示するには、mmlsfs <FSID シリアル番号>-<GENID> -T コマンドを実行します。

    • コマンド例

      mmlsfs 2989198****323d3-000001 -T
    • レスポンス例

      flag                value                    description
      ------------------- ------------------------ -----------------------------------
       -T                 /cpfs/2989198****323d3-000001 Default mount point

    CPFS ファイルシステムをカスタムパスにマウントするには、mount --bind コマンドを実行します。

    mount --bind /cpfs/2989198****323d3-000001 /mnt/test

    このコマンドでは、/cpfs/2989198****323d3-000001 は CPFS ファイルシステムのデフォルトのマウントパスであり、/mnt/test はカスタムマウントパスです。

    説明
    • CPFS ファイルシステムインストールノードでは、カスタムマウントパスは許可されていません。

    • サブディレクトリのマウントはサポートされていません。

よくある質問

CPFS のマウントに関するその他の FAQ と解決策については、「マウントとアクセスに関する FAQ」をご参照ください。

関連ドキュメント