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

File Storage NAS:Linux ECS インスタンスへの SMB ファイルシステムのマウント

最終更新日:Jun 12, 2025

Linux はサーバー メッセージ ブロック (SMB) プロトコルとの互換性がそれほど高くありません。そのため、オペレーティングシステム間でデータを共有する場合にのみ、Linux Elastic Compute Service (ECS) インスタンスに SMB ファイルシステムをマウントすることをお勧めします。このトピックでは、Linux ECS インスタンスに SMB ファイルシステムをマウントし、ファイルシステムで読み取りおよび書き込み操作を実行する方法について説明します。

前提条件

  • SMB ファイルシステムを作成するリージョンで使用可能な Linux ECS インスタンス。詳細については、「作成方法」をご参照ください。

    重要
    • Linux ECS インスタンスにネットワーク ファイル システム (NFS) ファイルシステムをマウントすることをお勧めします。Linux は SMB プロトコルとの互換性がそれほど高くありません。そのため、オペレーティングシステム間でデータを共有する場合にのみ、Linux ECS インスタンスに SMB ファイルシステムをマウントすることをお勧めします。

    • このリストにないバージョンの Linux を使用すると、SMB クライアントでエラーが発生する可能性があります。サポートされていないバージョンを使用する場合、Alibaba Cloud は SMB ファイルシステムの信頼性を保証しません。

    次の Linux ディストリビューションのいずれかが ECS インスタンスで実行されています。特に指定のない限り、このトピックは次の Linux ディストリビューションにのみ適用されます。

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

    バージョン

    CentOS

    CentOS 7.6 64 ビット: 3.10.0-957.21.3.el7.x86_64 以降

    Alibaba Cloud Linux

    • Alibaba Cloud Linux 2.1903 64 ビット: 4.19.43-13.2.al7.x86_64 以降

    • Alibaba Cloud Linux 3.2104 64 ビット: 5.10.23-4.al8.x86_64 以降

    Debian

    Debian 9.10 64 ビット: 4.9.0-9-amd64 以降

    Ubuntu

    Ubuntu 18.04 64 ビット: 4.15.0-52-generic 以降

    openSUSE

    openSUSE 42.3 64 ビット: 4.4.90-28-default 以降

    SUSE Linux

    SUSE Linux Enterprise Server 12 SP2 64 ビット: 4.4.74-92.35-default 以降

    CoreOS

    CoreOS 2079.4.0 64 ビット: 4.19.43-coreos 以降

  • SMB ファイルシステムが作成されている。詳細については、「NAS コンソールでパフォーマンス汎用型 NAS ファイルシステムを作成する」をご参照ください。

  • マウントポイントが作成されている。詳細については、「マウントポイントを作成する」をご参照ください。

  • ネットワークが利用可能である。

    • Linux ECS インスタンスと SMB ファイルシステムは同じ virtual private cloud (VPC) 内にある。

    • Linux ECS インスタンスの IP アドレスは SMB ファイルシステムのホワイトリストに含まれており、ECS インスタンスは SMB ファイルシステムにアクセスできる。

    • ECS インスタンスが SMB ファイルシステムにアクセスするために TCP ポート 445 が有効になっている。

      ポート 445 が無効になっている場合は、ポートの ECS インスタンスのセキュリティグループにルールを追加する必要があります。詳細については、「セキュリティグループルールを追加する」をご参照ください。

CIFS クライアントをインストールする

Linux ECS インスタンスに SMB ファイルシステムをマウントする前に、共通インターネット ファイル システム (CIFS) クライアントをインストールする必要があります。Linux ECS インスタンスを構成した後、次回インスタンスにファイルシステムをマウントするときに Linux ECS インスタンスを構成する必要はありません。

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

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

    Ubuntu と Debian

    apt-get パッケージマネージャーを使用して CIFS クライアントをインストールします。

    sudo apt-get update
    sudo apt-get install cifs-utils

    Red Hat Enterprise Linux (RHEL)、CentOS、および Alibaba Cloud Linux

    Yellowdog Updater, Modified (YUM) パッケージマネージャーを使用して CIFS クライアントをインストールします。

    sudo yum install cifs-utils

    openSUSE と SLES12-SP2

    Zypper パッケージマネージャーを使用して CIFS クライアントをインストールします。

    sudo zypper install cifs-utils

    CoreOS

    次の手順を実行して CIFS クライアントをインストールします。

    1. Security-Enhanced Linux (SELinux) を構成します。

      sed -i 's/SELINUXTYPE=mcs/SELINUXTYPE=targeted/' /etc/selinux/config
    2. CoreOS ECS インスタンスで CIFS クライアントパッケージをコンパイルします。

      次の手順を実行して Fedora コンテナーを作成し、CIFS クライアントパッケージをコンパイルできます。また、Alibaba Cloud が CoreOS 用に提供する CIFS クライアントパッケージをダウンロードし、/tmp/ または /bin ディレクトリにコピーすることもできます。

      1. Fedora コンテナーを作成し、cifs-utils パッケージをコンパイルします。

        docker run -t -i -v /tmp:/cifs fedora /bin/bash
      2. Docker 環境で次のコマンドを順番に実行します。

        1. yum groupinstall -y "Development Tools" "Development Libraries"
        2. yum install -y bzip2
        3. curl https://download.samba.org/pub/linux-cifs/cifs-utils/cifs-utils-6.9.tar.bz2 --output cifs-utils-6.9.tar.bz2;
        4. bunzip2 cifs-utils-6.9.tar.bz2 && tar xvf cifs-utils-6.9.tar
        5. cd cifs-utils-6.9; ./configure && make
        6. cp mount.cifs /cifs/
        7. exit

SMB ファイルシステムをマウントする

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

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

Linux ECS インスタンスに SMB ファイルシステムをマウントするには、SMB ファイルシステムのマウントポイントを使用する必要があります。

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

  2. 次のコマンドを実行してファイルシステムをマウントします。

    sudo mount -t cifs //file-system-id.region.nas.aliyuncs.com/myshare /mnt -o vers=2.1,guest,uid=0,gid=0,dir_mode=0755,file_mode=0755,mfsymlinks,cache=strict,rsize=1048576,wsize=1048576

    コマンド構文: sudo mount -t cifs //<マウントポイントのドメイン名>/myshare <マウントディレクトリ> -o <マウントオプション>

    パラメーター

    説明

    ファイルシステムタイプ

    Linux ECS インスタンスに SMB ファイルシステムをマウントするには、-t cifs パラメーターを指定する必要があります。

    マウントポイントのドメイン名

    マウントポイントのドメイン名は、マウントポイントの作成時に自動的に生成されます。ドメイン名を実際の値に置き換えます。マウントポイントのドメイン名を取得するには、次の手順を実行します。NAS コンソール にログオンします。[ファイルシステムリスト] ページで、ファイルシステム ID をクリックします。マウント使用挂载点 タブをクリックします。次に、マウントポイントのアドレス 列の アイコンにポインターを移動します。

    myshare

    SMB ファイルシステムの共有ディレクトリの名前。このパラメーターを指定した後は、名前を変更できません。

    マウントディレクトリ

    SMB ファイルシステムがマウントされるディレクトリのパス。たとえば、/mnt/sharepath を指定できます。

    マウントオプション

    mount コマンドに -o パラメーターを追加して、必要なマウントオプションを指定します。

    • vers: SMB プロトコルのバージョン。オプションには 2.1 以降を指定します。

    • guest: ファイルシステムのマウントに使用する ID。New Technology LAN Manager (NTLM) プロトコルに基づいて認証される guest ID を使用する必要があります。

    • rsize: SMB クライアントが SMB ファイルシステムから読み取ることができるデータパケットの最大サイズ。ほとんどの場合、このオプションを 1048576 (1 MB) に設定します。

    • wsize: SMB クライアントが SMB ファイルシステムに書き込むことができるデータパケットの最大サイズ。ほとんどの場合、このオプションを 1048576 (1 MB) に設定します。

    -o パラメーターを追加して、マウントオプションを指定します。

    • uid: マウント成功後にファイルシステム内のファイルが属するユーザー。uid のデフォルト値は 0 です。

    • gid: マウント成功後にファイルシステム内のファイルが属するユーザーグループ。gid のデフォルト値は 0 です。

    • dir_mode: 指定したディレクトリでユーザーに付与する読み取り、書き込み、および実行の権限。値は 0 で始まる必要があります (例: 0755、0644)。dir_mode のデフォルト値は 0755 です。

    • file_mode: ファイルでユーザーに付与する読み取り、書き込み、および実行の権限。値は 0 で始まる必要があります (例: 0755、0644)。file_mode のデフォルト値は 0755 です。

    • mfsymlinks: シンボリックリンクがサポートされているかどうかを指定します。

    • cache:

      • このオプションを strict に設定すると、SMB クライアントのキャッシュが有効になります。cache のデフォルト値は strict です。

      • このオプションを none に設定すると、SMB クライアントのキャッシュが無効になります。

    • atime|relatime: ファイルアクセス時間がビジネスに影響しない場合は、このオプションを atime に設定しないことをお勧めします。このオプションのデフォルト値は relatime です。

    説明
    • Linux ECS インスタンスの承認された管理者は、SMB ファイルシステムを完全に制御できます。

    • マウントポイントの詳細を表示するには、mount | grep cifs コマンドを実行します。

    • カーネルバージョンが 3.10.0-514 以降の Linux ディストリビューションを使用することをお勧めします。カーネルバージョンが 3.7 以前の Linux ディストリビューションを使用する場合は、cache オプションを strict に設定します。uname -a コマンドを実行して、カーネルバージョンを表示できます。

  3. mount -l コマンドを実行して、マウント結果を表示します。

    次の例のようなコマンド出力が表示された場合、ファイルシステムはマウントされています。

    回显信息

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

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

  4. ファイルシステムからデータを読み取り、ファイルシステムにデータを書き込みます。

    通常のディレクトリにアクセスするのと同じ方法で SMB ファイルシステムにアクセスできます。次の図は例を示しています。

    访问NAS

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

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

説明

自動マウントを有効にする前に、前述の手動マウントが成功していることを確認してください。これにより、ECS インスタンスの起動エラーを防ぎます。

  1. マウント構成を追加するために /etc/fstab 構成ファイルを開きます。

    • <file-system-id.region.nas.aliyuncs.com> をマウントポイントのドメイン名に置き換えます。例: 237*******-*****.cn-hangzhou.nas.aliyuncs.com。詳細については、「マウントポイントのドメイン名を表示する」をご参照ください。

    • </mnt> をマウントディレクトリに置き換えます。例: /mnt

    file-system-id.region.nas.aliyuncs.com/myshare /mnt cifs vers=3,guest,uid=0,gid=0,dir_mode=0755,file_mode=0755,mfsymlinks,cache=strict,rsize=1048576,wsize=1048576 0 0

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

    パラメーター

    説明

    0 (wsize の後の最初の値)

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

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

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

  2. reboot コマンドを実行して ECS インスタンスを再起動します。

    重要

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

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

    説明

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

シナリオ

ファイルシステムの最適なパフォーマンスを確保するために、特定のシナリオに基づいてマウントオプションを指定できます。このセクションでは、シナリオと各シナリオに適したマウントオプションを示します。

複数の Linux ECS インスタンスからファイルシステムへの共有アクセス

複数の Linux ECS インスタンスがファイルシステムへのアクセスを共有し、アクセス制御は不要です。このシナリオでは、各 ECS インスタンスの承認された管理者を使用して、ECS インスタンスにファイルシステムをマウントできます。次のコマンドは例を示しています。

 mount -t cifs //file-system-id.region.nas.aliyuncs.com/myshare /mnt/sharepath -o vers=2.1,guest,mfsymlinks

パラメーター:

  • file-system-id.region.nas.aliyuncs.com: マウントポイントのドメイン名。ドメイン名を実際の値に置き換えます。マウントポイントのドメイン名を取得するには、次の手順を実行します。NAS コンソール にログオンします。[ファイルシステムリスト] ページで、ファイルシステム ID をクリックします。マウント使用挂载点 タブをクリックします。次に、マウントポイントのアドレス 列の アイコンにポインターを移動します。

  • /mnt/sharepath: ファイルシステムがマウントされるディレクトリのパス。実際のパスに置き換えます。

複数の Linux ECS インスタンスからホームディレクトリへの共有アクセス

複数の Linux ECS インスタンスがホームディレクトリへのアクセスを共有し、ホームディレクトリへのアクセスを制御する必要があります。mount コマンドで uid、gid、dir_mode、および file_mode オプションを設定して、権限を管理できます。

Web サーバーとして機能する複数の Linux ECS インスタンスからファイルシステムへの共有アクセス

複数の Linux ECS インスタンスに Apache HTTP Server などの Web サーバー アプリケーションをインストールし、SMB ファイルシステムを共有ファイルストレージとして使用できます。

説明
  • SMB ファイルシステムは、共有アクセス、水平スケーラビリティ、および高可用性を提供します。ユーザーが SMB ファイルシステム内の小さなファイルにアクセスすると、SMB ファイルシステムのパフォーマンスが低下する可能性があります。これは、SMB ファイルシステムのメカニズムがローカルディスクのメカニズムとは異なるために発生します。このシナリオでは、最適なパフォーマンスを確保するために、共有ファイルを SMB ファイルシステムに保存し、他のファイルをローカルディスクに保存することをお勧めします。

  • ほとんどの場合、Web サーバー アプリケーションのワークロードは大きくなります。アプリケーションの高速化機能を有効にして、大きなワークロードを処理できます。この機能を有効にするには、NAS テクニカルサポート にお問い合わせください。

Windows ECS インスタンスと Linux ECS インスタンスの両方からファイルシステムへの共有アクセス

Windows ECS インスタンスと Linux ECS インスタンスが SMB ファイルシステムへのアクセスを共有しています。このシナリオでは、Linux ECS インスタンスにファイルシステムをマウントするときに、キャッシュオプションを strict に設定するか、このオプションのデフォルト値を使用する必要があります。

アクセス制御

さまざまなユーザーにさまざまな権限を付与するために、NAS では、Active Directory(AD)ドメインに基づいてユーザーを認証し、SMB ファイルシステムへのアクセスを制御できます。 SMB ファイルシステムのマウントポイントが AD ドメインに参加すると、AD ユーザーは SMB ファイルシステムにアクセスできます。 その後、AD ドメインに基づいて SMB ファイルシステム内のファイルとディレクトリへのアクセスを制御できます。

詳細については、「SMB ファイルシステムのマウントポイントを AD ドメインに参加させる」および「Linux クライアントで AD ドメインユーザーとして SMB ファイルシステムをマウントして使用する」をご参照ください。

参考資料