IBM Cloud Docs
Red Hat Linux への File Storage for Classic のマウント

Red Hat Linux への File Storage for Classic のマウント

Red Hat Enterprise Linux® ベースの IBM Cloud® コンピュートインスタンスをネットワークファイルシステム( NFS )の共有に接続するには、以下の手順に従ってください。 IBM Cloud® File Storage for Classic の注文方法について詳しくは、入門チュートリアルを参照してください。

作業を開始する前に、 File Storage for Classic ボリュームにアクセスするホストが承認済みであることを確認してください。 詳細については、コンソールでホストを承認するCLIからホストを認証するTerraform でホストを承認する

File Storage for Classicの共有のマウント

  1. 必要なツールをインストールします。

    # yum install nfs-utils
    
  2. インスタンスにディレクトリーを作成します。

    mkdir /mnt/test
    
  3. コンソールで File Storage for Classic の詳細ページからマウントポイント情報を取得するには、APIコール(SoftLayer_Network_Storage::getNetworkMountAddress() )を使用するか、Terraformの ibm_storage_file リソースを参照します。

  4. リモート共有をマウントします。

    # mount -t nfs -o <options> <host:mount_point> /mnt
    

    storage_as_a_service ボリュームの例を記します。

    #mount -t nfs -o nfsvers=3 fsf-wdc0403a-fz.service.softlayer.com:/IBM02SEV1414935_66/data01 /mnt
    

    enterprise ボリュームの例を記します。

    # mount -t nfs -o nfsvers=3 nfshou0201d-fz.service.softlayer.com:/IBM01SEV1414935_2 /mnt
    

    NFS 4.1 を使用する場合は、mount コマンドに sec=sys を追加して、ファイル所有権の問題を回避してください。 NFSv3 または NFS 4.1 を使用している場合は、 _netdev を追加して、すべてのネットワークコンポーネントが起動した後にストレージがマウントされるのを待ちます。 mount コマンドおよびそのオプションの詳細については 、mount(8)マニュアルページを参照してください。

  5. ディスク・ファイル・システム・コマンドを使用してマウントが成功したことを確認します。

    # df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/xvda2  25G  1.4G  22G    6%   /
    /tmpfs     1.9G     0 1.9G    0%   /dev/shm
    /dev/xvda1 97M    51M  42M   55%
    
  6. マウント・ポイントに移動し、ファイルを読み取り/書き込みます。

    # touch /mnt/test
    # ls -la /mnt
    total 12
    drwxr-xr-x   2 nobody nobody 4096 Sep 8 15:52 .
    dr-xr-xr-x. 22 root   root   4096 Sep 8 14:30 ..
    -rw-r--r--   1 nobody nobody    0 Sep 8 15:52 test
    

    root を使用して作成したファイルの所有権は nobody:nobody になります。 所有権を正しく表示するには、 idmapd.conf を正しいドメイン設定に更新する必要があります。 詳しくは、「 no_root_squash for NFS(オプション) 」セクションを参照してください。

  7. 始動時にリモート共有をマウントします。 セットアップを完了するには、ファイル・システム・テーブル (/etc/fstab) を編集して、始動時に自動的にマウントされるエントリーのリストにリモート共有を追加します。

    (hostname):/(username) /mnt nfs_version options 0 0
    

    以下の例を参照してください。

    fsf-wdc0403a-fz.service.softlayer.com:/IBM02SEV1414935_66/data01 /mnt nfs nfsvers=3 0 0
    fsf-wdc0403a-fz.service.softlayer.com:/IBM02SEV1414935_66/data01 /mnt nfs options 0 0
    fsf-wdc0403a-fz.service.softlayer.com:/IBM02SEV1414935_66/data01 /mnt nfs4 options 0 0
    fsf-wdc0403a-fz.service.softlayer.com:/IBM02SEV1414935_66/data01 /mnt nfs _netdev,nfsvers=3 0 0
    

    詳細については、 Linux /etc/fstab ファイルの紹介を参照してください。

  8. 構成ファイルにエラーがないことを確認します。

    # mount -fav
    

    コマンドがエラーなしで完了したら、セットアップは完了です。

    ホスト OS が CentOS である場合は、さらに多くのオプションを構成できます。 詳しくは、CentOS での File Storage for Classic のマウントを参照してください。

マウントされたファイル共有のコンテンツに対するユーザー権限の管理

システム管理者として、マウントされたファイルストレージボリューム上のデータへのアクセスを管理することができます。 ファイル共有がマウントされた後、 chown および chmod コマンドを使用して、個々のユーザーおよびグループに読み取り、書き込み、実行の権限を割り当てることで、アクセス制御をさらに厳密にすることができます。 詳細については、 Red Hat のチュートリアル「ユーザー、グループ、その他のための Linux の権限管理方法 」をご覧ください。

NFS 用の no_root_squash の実装 (オプション)

デフォルトでは、NFS は、root 権限で作成されたファイルを nobody ユーザーにダウングレードします。 このセキュリティー機能によって、要求されない限り、特権が共有されないようにしています。

no_root_squash を構成すると、root クライアントがリモート NFS 共有に対する root 権限を保持できます。

  • NFSv3 については、お客様は何もしなくて結構です。 no_root_squash は簡単に利用できます。
  • NFSv4.1 の場合は、nfsv4 ドメインを slnfsv4.com に設定し、rpcidmapd を開始するか、または使用している OS で使用されている同様のサービスを開始する必要があります。

  1. ホスト側で、 /etc/idmapd.conf のドメイン設定を行います。

    #vi /etc/idmapd.conf
    [General]
    #Verbosity = 0
    #The domain value should be set to the local NFSv4 domain name
    #The default is the host's DNS domain name.
    Domain = slnfsv4.com
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nobody
    
  2. nfsidmap -c を実行します。

  3. rpcidmapdを開始します。

    systemctl start rpcidmapd
    systemctl enable rpcidmapd
    

ファイル・システムのアンマウント

ホストに現在マウントされているファイル・システムをアンマウントするには、ディスク名またはマウント・ポイント名を指定して umount コマンドを実行します。

umount /dev/sdb
umount /mnt