NFS サーバ要件の確認

Private Cloud Edition は、ネットワークファイルシステム (NFSv4) プロトコルをサポートします。

必要なポートが開いていることを確認する

NFS サーバを使用するには、ポート 2049 と 111 が開いている必要があります。

netcat ツールを使用して、必要なポートが開いていることを確認してください。netcat ツールは、TCP または UDP を使用してネットワーク接続を読み書きするためのコンピュータネットワーキングユーティリティです。

以下のコマンドを実行して、必要なポートが開いていることを確認します。

  • nc -zvu <host_name> 111

  • nc -zv <host_name> 2049

ポートが開いていれば、次のような出力が返されます。

[ec2-user@ip-10-1-1-97 ~]$ nc -zv <nfs_host_name> 2049
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 10.1.0.155:2049.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.

NFS サーバをマウントする

NFS サーバをホスト上の一時ディレクトリにマウントします。

  1. 次のコマンドでルートに切り替えます。
    sudo su

  2. NFS を一時ディレクトリにマウントするには、次のコマンドを (<nfs-server><nfs-path> に適切な値を入力して) 実行します。
    次のコマンドを実行します。
    mkdir -p /mnt/home
    そして、次のコマンドを実行します。
    mount -t nfs4 -o proto=tcp,port=2049 <nfs-server>:<path> /mnt/home/
    マウントが失敗した場合は、必要な権限を持っていないことが考えられます。

NFS パフォーマンスを検証する

クライアントとサーバの視点から環境を慎重に分析して、最適な NFS プラットフォームであることを検証してください。

NFS パフォーマンスを検証するための概要手順は以下の通りです。

  1. いくつかの基本操作を実行して、NFS サーバのパフォーマンスと遅延をテストします。具体的には:

    • クライアント (Anypoint Platform 環境) から NFS サーバにデータを転送します。

    • 各転送に要した時間を測定します。

  2. Anypoint Platform による NFS ファイル転送の処理を検証するために、大きいファイル (128MB) と小さいファイル (80KB) で readwrite 操作の両方をテストします。

  3. time dd if=/dev/zero of=/mnt/home/<nameOfFile> bs=<blockSize> count=<amountOfBlocks> を使用して次のファイルを転送し、NFS サーバのパフォーマンスをテストします。

    • 名前は <nameOfFile>

    • ブロックサイズとブロック数は、それぞれ <blockSize><amountOfBlocks>

NFS サーバで大きいファイルの書き込みと読み出しをテストする

これらの writeread テストは、大きいファイルを使用して行います。

  • ファイルサイズ: 128 MB

  • ブロックサイズ: 4 KB

  • ブロック数: 32768

テストの実行中は、異なるファイルが生成されます (各テストで 1 つずつ)。

  1. テストを開始するため、NFS サーバをマウントするディレクトリを作成します。

    sudo su
    mkdir -p /mnt/home
  2. NFS サーバをマウントします。

    mount -t nfs4 -o proto=tcp,port=2049 <nfs-server>:<path> /mnt/home/
  3. 次のコマンドで、NFS サーバにデータ (各 128 MB のファイル 5 つ) を書き込みます。

    time for i in {1..5}; do dd if=/dev/zero of=/mnt/home/greatfile$i.test bs=4k count=32768; done

    このコマンドは、次のような出力を返します。

    [root@ip-10-1-1-97 ec2-user]# time for i in {1..5}; do dd if=/dev/zero of=/mnt/home/greatfile$i.test bs=4k count=32768; done
    32768+0 records in
    32768+0 records out
    134217728 bytes (134 MB) copied, 2.12805 s, 63.1 MB/s
    .
    .
    .
    real 0m8.378s
    user 0m0.034s
    sys 0m0.792s

    出力に含まれる real パラメータ値が 15 秒未満であることを確認してください。

読み出しパフォーマンスを検証する

  1. NFS サーバをマウント解除します。

    umount /mnt/home
  2. 次のコマンドで NFS サーバを再びマウントします。

    mount -t nfs4 -o proto=tcp,port=2049 <nfs-server>:<path> /mnt/home/
  3. 次のコマンドで NFS サーバからデータを読み出します。

    time for i in {1..5}; do dd if=/mnt/home/greatfile$i.test of=/dev/null bs=4k; done

    出力に含まれる real パラメータ値が 15 秒未満であることを確認してください。

キャッシュをクリアする

NFS サーバをマウント解除してキャッシュをクリアします。

umount /mnt/home

NFS サーバで小さいファイルの書き込みと読み出しをテストする

大きいファイルと同じように以下の小さいファイルでテストを実行します。

  • ファイルサイズ: 80 KB

  • ブロックサイズ: 4 KB

  • ブロック数: 20

テストを開始する前に、前回のテストで作成された /mnt/home ディレクトリが残っていることを確認します。

  1. NFS サーバをマウントします。

    mount -t nfs4 -o proto=tcp,port=2049 <nfs-server>:<path> /mnt/home/
  2. 次のコマンドを実行して、NFS サーバにデータ (各 80 KB のファイル 5 つ) を書き込みます。

    time for i in {1..30}; do dd if=/dev/zero of=/mnt/home/smallfile$i.test bs=4k count=20; done

    出力に含まれる real パラメータ値が 2 秒前後であることを確認してください。

読み出しパフォーマンスを検証する

  1. NFS サーバをマウント解除します。

    umount <nfs-server>
  2. NFS サーバを再びマウントします。

    mount -t nfs4 -o proto=tcp,port=2049 <nfs-server>:<path> /mnt/home/
  3. 次のコマンドを実行して、NFS サーバからデータを読み出します。

    time for i in {1..30}; do dd if=/mnt/home/smallfile$i.test of=/dev/null bs=4k; done

    テストで重要なパラメータは出力に含まれる real パラメータで、この値が 2 秒前後であることを確認してください。

テストファイルを削除する

パフォーマンステストを完了したら、テストファイルを削除します。

  1. 次のコマンドを実行して、生成したファイルをすべて削除します。

    rm -f /mnt/home/*.test
  2. そして、NFS サーバをマウント解除します。

    umount /mnt/home

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub