このトピックでは、Alibaba Cloud Linux を例に、クラウド並列ファイルストレージ (CPFS) ファイルシステムを作成し、CPFS-POSIX クライアントを使用してマウントする方法を説明します。CPFS-POSIX クライアントは、複数のデータノードに同時に接続し、アプリケーションに標準の POSIX および MPI-IO インターフェイスを提供することで、高いパフォーマンスとアプリケーションの互換性の両方を保証します。
-
CPFS-POSIX クライアントは、CPFS-NFS クライアントよりも高い I/O パフォーマンスを提供します。POSIX マウントポイントを作成すると、ご利用の Alibaba Cloud アカウントに、CPFS-POSIX クライアントクラスターを管理するための 3 つの従量課金制 Elastic Compute Service (ECS) インスタンスが自動的に作成されます。インスタンスタイプは ecs.g*.large (g6 以降) で、料金はリージョンごとの標準の ECS 料金に基づいて請求されます。ご利用の Alibaba Cloud アカウントが、対象ゾーンでこのインスタンスタイプを購入する権限を持っていることを確認してください。料金の詳細については、「ECS 料金」をご参照ください。
-
高いパフォーマンスが重要な要件でない場合は、CPFS-NFS クライアントを使用して CPFS ファイルシステムにアクセスすることを推奨します。この方法では、追加の 3 つの ECS インスタンスは必要ありません。プロトコルサービスの詳細については、「プロトコルサービス」をご参照ください。
前提条件
開始する前に、次の要件が満たされていることを確認してください:
-
CPFS サービスの有効化:初めて CPFS コンソールにログインする際に、画面の指示に従ってサービスを有効化します。
-
ECS インスタンス:CPFS-POSIX クライアントがサポートするオペレーティングシステムを実行している ECS インスタンス。サポートされているオペレーティングシステムとインスタンスの要件については、「ECS インスタンスの作成」をご参照ください。
オペレーティングシステムタイプ
ディストリビューション
カーネルバージョン
Alibaba Cloud Linux
Alibaba Cloud Linux 2.1903 64 ビット
4.19.91-27.4.al7.x86_64 およびそれ以前のバージョン
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 Project は、CentOS Linux のサポート終了 (EOL) 計画を発表しました。Alibaba Cloud 上のパブリック CentOS Linux イメージは、公式の CentOS ディストリビューションから提供されています。CentOS Linux が EOL に達した後、Alibaba Cloud はそれに対するサポートを提供しなくなります。中断を避けるために、サポートされているオペレーティングシステムに移行してください。詳細については、「オペレーティングシステムの移行」をご参照ください。
-
このトピックでは、次の構成の 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
操作手順
デプロイメントプロセスは 5 つの段階で構成されます:
-
CPFS ファイルシステムの作成:対象のリージョンとゾーンにファイルシステムを作成します。
-
POSIX マウントポイントの追加とクォーラムノードのセキュリティグループへの参加:マウントポイントを作成し、ECS インスタンスをクォーラムノードのセキュリティグループに追加して、クライアントがコントロールプレーンに接続できるようにします。
-
CPFS-POSIX クライアントのインストール:パスワードなしのログインを構成し、リモートインストールスクリプトを実行します。
-
ファイルシステムのマウント:ECS インスタンスでマウントコマンドを実行します。
-
マウントの確認:ファイルシステムがアクセス可能であることを確認します。
ステップ 2:マウントポイントの追加とセキュリティグループへの参加
-
左側のナビゲーションウィンドウで、[ファイルシステム] > [ファイルシステムリスト] に移動し、作成したファイルシステムの名前をクリックします。
-
ファイルシステムの詳細ページで、マウント使用 タブをクリックします。
-
POSIX クライアントのマウントポイントを追加します。
-
POSIX クライアントマウントポイントの追加 をクリックし、必須パラメーターを構成します。他のパラメーターはデフォルト値を使用するか、必要に応じて構成します。
パラメーター
説明
スイッチ
ご利用の ECS インスタンスと同じ VPC にある vSwitch を選択します。
-
OK をクリックします。
-
-
クォーラムノードのセキュリティグループ情報を取得します。
-
[クライアント管理ノード] セクションで、リストの最初の ECS インスタンスをクリックします。
-
ECS インスタンスの詳細ページで、[セキュリティグループ] タブをクリックし、セキュリティグループ情報を記録します。
-
-
対象の ECS インスタンスをクォーラムノードのセキュリティグループに追加します。
-
左側のナビゲーションウィンドウで、[インスタンス & イメージ] > [インスタンス] を選択します。
-
CPFS ファイルシステムをマウントする予定の ECS インスタンスの ID をクリックします。
-
[セキュリティグループ] タブをクリックし、[セキュリティグループに参加] をクリックします。先ほど記録したクォーラムノードのセキュリティグループ (<FSID>-<GENID>-qr-sg) を選択し、[OK] をクリックします。
-
ステップ 3:CPFS-POSIX クライアントのインストール
-
左側のナビゲーションウィンドウで、[インスタンス & イメージ] > [インスタンス] を選択します。
-
管理ノード (cpfs-****-000001-qr-001 のような名前の ECS インスタンス) の 操作 列で、接続 をクリックします。インスタンスへの接続方法の詳細については、「インスタンスへの接続」をご参照ください。
最初のクライアント管理ノードのログインパスワードを見つけるには、NAS コンソールでご利用のファイルシステムの マウント使用 ページに移動します。[クライアント管理ノード] セクションで、[初期パスワード] 列の値を記録します。
-
管理ノードから対象の ECS インスタンスへのパスワードなしのログインを構成します。
説明複数の ECS インスタンスに対してパスワードなしのログインを構成する前に、すべての対象 ECS インスタンスに同じログインパスワードを設定することを推奨します。そうしない場合、インスタンスごとに個別の client.list を作成し、ステップ 6 から 8 の操作を繰り返す必要があります。
-
client.listファイルを作成し、対象の ECS インスタンスの内部 IP アドレスを追加します。-
client.listファイルを作成します。touch client.list -
client.listファイルを開き、対象の ECS インスタンスの内部 IP アドレスを追加します。192.168.1.249説明複数の ECS インスタンスを追加するには、各内部 IP アドレスを新しい行に入力します。
-
ファイルを保存して閉じます。
-
-
qr.listファイルを作成し、クォーラムノードの IP アドレスを追加します。-
qr.listファイルを作成します。touch qr.list -
qr.listファイルを開き、クォーラムノードの IP アドレスを追加します。以下に例を示します:192.168.*.*** 192.168.*.*** 192.168.*.***クォーラムノードの IP アドレスは、コンソールの クライアントマスターノード セクションで確認できます。
-
ファイルを保存して閉じます。
-
-
auto_ssh.shスクリプトを作成して構成します。-
auto_ssh.shファイルを作成します。touch 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 { #first connect, no public key in ~/.ssh/known_hosts "Are you sure you want to continue connecting (yes/no)?" { send "yes\r" expect "password:" send "$password\r" } #already has public key in ~/.ssh/known_hosts "password:" { send "$password\r" } "Now try logging into the machine" { #it has authorized, do nothing! } "already exist on the remote" { #it has authorized, do nothing! } } expect eof -
ファイルを保存して閉じます。
-
-
-
auto_ssh.shスクリプトを実行可能にします。chmod +x auto_ssh.sh -
対象の ECS インスタンスのパスワード変数を設定します。
PASSWD='<your_ecs_instance_password>'説明ECS インスタンスのログインパスワードが異なる場合は、インスタンスごとに client.list ファイルを作成し、ステップ 6 からステップ 8 を繰り返す必要があります。
-
クライアントノードのパスワードなしのログインを構成します。
cat client.list | xargs -I {} ./auto_ssh.sh root $PASSWD {} -
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" -
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 インスタンスを作成できます。カスタムイメージの作成方法の詳細については、「カスタムイメージの概要」をご参照ください。
ステップ 4:CPFS ファイルシステムのマウント
ステップ 5:マウントの確認
ファイルシステムがマウントされると、ECS インスタンス上の標準ディレクトリとして機能し、ファイルの読み書きができます。
-
対象の ECS インスタンスに接続します。詳細については、「ECS インスタンスへの接続」をご参照ください。
-
次のコマンドを実行して、マウントポイントがリストされていることを確認します。
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 がマウントポイントです。
-
次のコマンドを実行して、CPFS ファイルシステムのディレクトリに移動します。
cd <mount_target>CPFS ファイルシステムは、他のディレクトリと同じように使用できます。