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

File Storage NAS:Linux ECSインスタンスにNFSファイルシステムをマウントする

最終更新日:Dec 16, 2024

このトピックでは、Linux Elastic Compute Service (ECS) インスタンスにNetwork File System (NFS) ファイルシステムをマウントする方法について説明します。 NFSファイルシステムを複数のECSインスタンスにマウントして、ECSインスタンスがファイルシステムへのアクセスを共有できるようにすることができます。

前提条件

  • Linux ECSインスタンスが作成されました。 詳細は、「ECS インスタンスの作成」をご参照ください。

  • NFSファイルシステムは、ECSインスタンスと同じ仮想プライベートクラウド (VPC) およびリージョンに作成されます。 ファイルシステムのマウント対象を取得します。 詳細については、「ファイルシステムの作成」をご参照ください。

ステップ1: NFSクライアントのインストール

Linux ECSインスタンスにNFSファイルシステムをマウントする前に、NFSクライアントをインストールする必要があります。 各Linux ECSインスタンスにNFSクライアントを1回だけインストールする必要があります。 次回ECSインスタンスにファイルシステムをマウントするときに、NFSクライアントをインストールする必要はありません。

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

  2. NFSクライアントをインストールします。

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

    インストールコマンド

    Alibaba Cloud Linux

    sudo yum install nfs-utils

    CentOS

    Redhat

    Ubuntu

    次のインストールコマンドを順番に実行します。

    1. sudo apt-get update
    2. sudo apt-get install nfs-common

    Debian

  3. 必要に応じて、 NFSクライアントから送信できる同時NFSリクエストの最大数を増やします。

    次のコマンドを実行して、同時NFSリクエストの最大数を128に設定します。詳細については、「NFSクライアントからの同時NFSリクエストの最大数を変更するにはどうすればよいですか?」をご参照ください。

    if (lsmod | grep sunrpc); then
    (modinfo sunrpc | grep tcp_max_slot_table_entries) && sysctl -w sunrpc.tcp_max_slot_table_entries=128
    (modinfo sunrpc | grep tcp_slot_table_entries) && sysctl -w sunrpc.tcp_slot_table_entries=128
    fi
    (modinfo sunrpc | grep tcp_max_slot_table_entries) && echo "options sunrpc tcp_max_slot_table_entries=128" >> /etc/modprobe.d/sunrpc.conf
    (modinfo sunrpc | grep tcp_slot_table_entries) && echo "options sunrpc tcp_slot_table_entries=128" >> /etc/modprobe.d/sunrpc.conf

ステップ2: NFSファイルシステムをマウントする

NFSファイルシステムは、Linux ECSインスタンスに手動または自動でマウントできます。 手動取り付けは一時的な取り付けに適しています。 ECSインスタンスにNASファイルシステムを手動でマウントする場合、ECSインスタンスが起動または再起動されるたびにファイルシステムを再マウントする必要があります。 自動取り付けは永続的な取り付けに適しています。 NASファイルシステムの自動マウントを有効にした場合、ECSインスタンスが起動または再起動されるたびにファイルシステムを再マウントする必要はありません。 ECSインスタンスの再起動後にマウント情報が失われるのを防ぐため、ファイルシステムを手動でマウントした後、NASファイルシステムの自動マウントを有効にすることを推奨します。

NFSファイルシステムを手動でマウントする

NFSファイルシステムのマウントターゲットを使用して、Linux ECSインスタンスにファイルシステムをマウントできます。

説明
  • 最適なアクセスパフォーマンスを確保するために、NFSv3を使用してファイルシステムをマウントすることを推奨します。

  • NFSv4.0は、範囲ロックを含むファイルロックをサポートします。 複数のLinux ECSインスタンスのファイルを同時に変更する必要がある場合は、NFSv4.0を使用してファイルシステムをマウントすることを推奨します。

  • NASコンソールでは、数回クリックするだけでECSインスタンスにファイルシステムをマウントできます。 NASコンソールを使用してファイルシステムをマウントすることを推奨します。 詳細については、「NASコンソールでのNFSファイルシステムのマウント」をご参照ください。

  1. NFSファイルシステムをマウントします。

    • 汎用NASファイルシステムをマウントするには、次のいずれかのコマンドを実行します。

      NFSv3を使用したファイルシステムのマウント

      sudo mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.region.nas.aliyuncs.com:/ /mnt

      NFSv4を使用したファイルシステムのマウント

      sudo mount -t nfs -o vers=4,minorversion=0,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.region.nas.aliyuncs.com:/ /mnt                                
    • Extreme NASファイルシステムをマウントするには、次のコマンドを実行します。

      sudo mount -t nfs -o vers=3,nolock,noacl,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.region.extreme.nas.aliyuncs.com:/share /mnt

    次の表に、mountコマンドで設定できるパラメーターを示します。

    パラメーター

    説明

    汎用NASファイルシステム: file-system-id.region.nas.aliyuncs.com:/ /mnt

    エクストリームNAS: file-system-id.region.extreme.nas.aliyuncs.com:/share /mnt

    形式は、< マウント対象のドメイン名 >:< 共有ディレクトリ名 > < マウントディレクトリのパス > です。 マウント対象のドメイン名、共有ディレクトリ名、およびマウントディレクトリのパスを実際の値に置き換えます。

    • マウントターゲットのドメイン名: ドメイン名を表示するには、次の手順を実行します。NASコンソールにログインします。 [ファイルシステムリスト] ページで、管理するファイルシステムを見つけ、[操作] 列の [管理] をクリックします。 [マウントターゲット] タブで、マウントターゲットのドメイン名を表示します。 詳細については、「マウントターゲットのドメイン名の表示」をご参照ください。

    • 共有ディレクトリの名前:

      • 汎用NASファイルシステム: ルートディレクトリ /またはサブディレクトリ (/shareなど) を入力できます。 サブディレクトリを指定する場合は, NASファイルシステムに存在することを確認してください。

      • Extreme NASファイルシステム: 共有ディレクトリは /shareで始まる必要があります。 例: /shareおよび /share/subdir サブディレクトリを指定する場合は, NASファイルシステムに存在することを確認してください。

    • マウントディレクトリのパス: Linux ECSインスタンスのサブディレクトリ (例: /mnt) 。 サブディレクトリが存在するか確認してください。

    vers

    ファイルシステムのプロトコルバージョン。

    • vers=3: NFSv3を使用してファイルシステムをマウントします。

    • vers=4: NFSv4を使用してファイルシステムをマウントします。

      minorversionは、プロトコルのマイナーバージョン番号を指定します。 NASファイルシステムはNFSv4.0をサポートします。 NFSv4を使用してNASファイルシステムをマウントする場合は、マイナーバージョン番号を0に設定する必要があります。

    説明
    • 汎用NASファイルシステムは、NFSv3とNFSv4.0の両方をサポートします。

    • Extreme NASファイルシステムはNFSv3のみをサポートします。

    rsize

    • クライアントがファイルシステムから読み取ることができるデータブロックのサイズ。

    • 推奨値: 1048576。

    wsize

    • クライアントがファイルシステムに書き込むことができるデータブロックのサイズ。

    • 推奨値: 1048576。

    ハード

    • このパラメーターが有効になっていない場合、File Storage NASが使用できない場合、クライアントは再試行せずにすぐにエラーを返すことがあります。これにより、データの不整合または損失が発生する可能性があります。

    • このパラメーターを有効にすることを推奨します。

    timeo

    • NFSクライアントがリクエストの送信を再試行するまで待機する期間。 単位: 10秒 (10分の1秒) 。

    • 推奨値: 600 (60秒) 。

    retrans

    • NFSクライアントがリクエストの送信を再試行する回数。

    • 推奨値: 2。

    noresvport

    • ネットワークが障害から回復したときに、新しいTCPポートを使用して、ファイルシステムとECSインスタンス間のネットワークの連続性を確保することを指定します。

    • このパラメーターを有効にすることを推奨します。

    説明
    • timeoパラメーターを変更する必要がある場合は、150または大きい値を指定することを推奨します。 timeoパラメータは、10秒単位で測定されます。 例えば、値150は15秒を示します。

    • パフォーマンスの低下を防ぐため、rsizeパラメーターとwsizeパラメーターの両方を1048576に設定することを推奨します。

    • rsize、wsizehardtimeoretrans、およびnoresvportパラメーターはオプションです。 複数のパラメーターはコンマ (,) で区切ります。

    重要
    • データの不整合を防ぐため、soft mountオプションを使用しないことを推奨します。 ソフトマウントオプションを指定する場合は、潜在的なリスクを理解していることを確認してください。

    • デフォルトとは異なる他のマウントオプションは設定しないことを推奨します。 読み取りバッファサイズまたは書き込みバッファサイズを変更するか、属性キャッシュを無効にすると、パフォーマンスが低下する場合があります。

  2. マウント結果を確認します。

    • コマンド

      mount -l
    • サンプルコマンド出力

      次の例に似たコマンド出力が表示された場合、マウントは成功です。查看挂载结果

      ファイルシステムがマウントされたら、df -hコマンドを実行して、ファイルシステムのストレージ容量を表示できます。df-h

    ファイルシステムのマウントに失敗した場合は、問題のトラブルシューティングを行います。 詳細については、「マウント障害のトラブルシューティングに関するFAQ」をご参照ください。

  3. NASファイルシステムがマウントされた後、Linux ECSインスタンス上のNASファイルシステムからデータを読み書きできます。

    ローカルディレクトリにアクセスするのと同じ方法で、ファイルシステムにアクセスできます。 次の図は例を示しています。读写操作

(オプション) NFSファイルシステムを自動的にマウントする

Linux ECSインスタンスの /etc/fstabファイルを設定して、ECSインスタンスの再起動時にNFSファイルシステムを自動的にマウントできます。

説明

自動マウントを有効にする前に、上記の手動マウントが成功したことを確認してください。 これにより、ECSインスタンスの起動失敗が防止されます。

  1. Extreme NASファイルシステムをマウントするには、次のコマンドを実行します。

    汎用NASファイルシステムをマウントするには、この手順をスキップして手順2に進みます。

    vi /etc/systemd/system/sockets.target.wants/rpcbind.socket

    次の図に示すように、/etc/systemd/system/sockets.tar get.wants/rpcbind.socket設定ファイルを開き、IPv6に関連するrpcbindパラメーターをコメントアウトします。 それ以外の場合、起動時にrpcbindサービスの実行に失敗します。注释rpcbind参数

    CentOS 6.xの自動マウントを有効にする場合は、次の手順を実行します。

    1. chkconfg netfs onコマンドを実行して、起動時にnetfsサービスを有効にします。

    2. 次の図に示すように、/etc/netconfig設定ファイルを開き、inet6-related情報をコメントアウトします。注释inet6相关内容

  2. /etc/fstab設定ファイルを開いてマウント設定を追加します。

    汎用 NAS ファイルシステム

    • NFSv3を使用してファイルシステムをマウントするには、次のコマンドを実行します。

      file-system-id.region.nas.aliyuncs.com:/ /mnt nfs vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,noresvport 0 0
    • NFSv4を使用してファイルシステムをマウントするには、次のコマンドを実行します。

      file-system-id.region.nas.aliyuncs.com:/ /mnt nfs vers=4,minorversion=0,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,noresvport 0 0

    Extreme NAS ファイルシステム

    file-system-id.region.extreme.nas.aliyuncs.com:/share /mnt nfs vers=3,nolock,noacl,proto=tcp,noresvport,_netdev 0 0
    説明

    CentOS 6.xの自動マウントを有効にする場合は、起動時にchkconfg netfs onコマンドを実行してnetfsサービスを有効にします。

    詳細については、「マウントパラメーター」をご参照ください。 次の表に、前の表に含まれていないパラメーターを示します。

    パラメーター

    説明

    _netdev

    ネットワーク接続前の自動マウントを防ぎます。

    0 (noresvportの後の最初の値)

    dumpコマンドを実行してファイルシステムをバックアップするかどうかを指定します。 ゼロ以外の値は、ファイルシステムがバックアップされていることを示します。 NASファイルシステムの場合、デフォルト値は0です。

    0 (noresvportの後の2番目の値)

    起動時にfsckコマンドがファイルシステムをチェックする順序。 NASファイルシステムの場合、デフォルト値は0です。これは、起動時にfsckコマンドが実行されていないことを示します。

  3. 次のコマンドを実行して、起動時に /etc/rc.localファイルを開きます。

    [ !  -f /etc/rc.local ] && echo '#!/bin/bash' > /etc/rc.local; 
    echo "for ((i=1; i<=10; i++)); do if ping -c 1 -W 3 aliyuncs.com; then break; else sleep 1; fi; done" >> /etc/rc.local;
    echo "sleep 3; mount -a -t nfs" >> /etc/rc.local; 
    chmod +x /etc/rc.local
  4. rebootコマンドを実行してECSインスタンスを再起動します。

    重要

    ECSインスタンスを再起動すると、サービスが中断されます。 オフピーク時に操作を実行することを推奨します。

  5. 自動マウントが有効になっていることを確認します。

    df -hコマンドを実行して、ECSインスタンスの再起動後1分以内にマウントされたNASファイルシステムを確認できます。

よくある質問

関連ドキュメント