CentOS へのファイル共有のマウント
CentOS Linux® ベースの IBM Cloud® 計算インスタンスをネットワーク・ファイル・システム (NFS) ファイル共有に接続するには、以下の手順を使用します。
開始前に
-
ファイル共有がセキュリティグループアクセスモードで設定されている場合、計算ホストが共有と同じ セキュリティ グループに属していることを確認してください。 ファイル共有がVPCアクセスモードで設定されている場合は、共有をマウントするサーバーがファイル共有と同じゾーンにあることを確認します。 詳細については、 マウントターゲットのアクセス モードを参照のこと。
-
サーバーがあるVPCに共有のマウントターゲットが存在することを確認します。 新規マウント・ターゲットが必要な場合は、「 ファイル共有およびマウント・ターゲットの作成」の説明に従ってください。
-
マウント・ターゲットからファイル・シェアのマウント・パスを取得します。 マウントパスの情報は、 コンソールの ファイル共有詳細ページ、 CLI、 API、 Terraformから 取得できます。
-
トランジットで暗号化を使用したい場合は、メタデータ・サービスからIPsec証明書を取得する必要がある。 マウント・ターゲットに対して転送中の暗号化が有効になっていることを確認してください。 さらに、セキュア接続を使用してファイル共有をマウントします。 この機能は、
dp2
プロファイルおよびセキュリティー・グループ・アクセス・モードを使用するファイル共有にのみ使用できます。 詳しくは、 転送中の暗号化-ファイル共有とホストの間のマウント接続の保護 を参照してください。マウント・ヘルパー・ユーティリティー をインストールして実行し、転送中または暗号化接続なしで暗号化されたファイル共有をマウントします。
File Storage for VPC サービスには、 NFS バージョン v4.1 以上が必要です。
ファイル共有のマウント CentOS
以下の手順に従って、 CentOS ホストにファイル共有をマウントします。 例は CentOS 8に基づいている。 この手順は、 Red Hat Enterprise Linux® で説明されている手順と似ています。
ファイル共有をマウントする Compute インスタンスに SSH で接続 してから、以下の手順を続行します。
-
必要なツールをインストールします。
yum install nfs-utils
-
インスタンスにディレクトリーを作成します。
mkdir /mnt/test
-
リモート・ファイル共有をマウントします。
mount -t nfs4 -o <options> <host:/mount_target> /mnt
以下の例を参照してください。
mount -t nfs4 -o sec=sys,nfsvers=4.1 10.240.64.11:/384f711c_0684_4643_b1c3_dc7acb36d04a /mnt/test
-
ディスク・ファイル・システムのコマンドを使用して、マウントが成功したことを確認します。
$ df -h Filesystem Size Used Avail Use% Mounted on udev 3.9G 0 3.9G 0% /dev tmpfs 798M 660K 798M 1% /run /dev/vda2 99G 1.6G 93G 2% / tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/vda1 240M 73M 155M 33% /boot fsf-dal2433a-dz.adn.networklayer.com:/nxg_s_voll_246a9cb9-4679-4dc5-9522-4a7ed2575136 190G 384K 190G 1% /mnt/test tmpfs 798M 0 798M 0% /run/user/0
-
マウント・ポイントに移動してテスト・ファイルを作成し、すべてのファイルをリストして、共有が読み取り/書き込みとしてマウントされていることを確認します。
touch /mnt/test/test.txt ls -al /mnt/test
$ touch /mnt/test/test.txt ls -al /mnt/test total 12 drwxr-xr-x 2 nobody nobody 4096 Apr 8 15:52 . dr-xr-xr-x. 22 root root 4096 Apr 8 14:30 .. -rw-r--r-- 1 nobody nobody 0 Apr 8 15:52 test.txt
ファイルはrootによって作成され、所有権は
nobody:nobody
。 所有権を正しく表示するには、正しいドメイン設定でidmapd.conf
を更新してください。 詳しくは、NFS の no_root_squash を実装する方法を参照してください。 -
始動時にリモート・ファイル共有をマウントします。 このセットアップを実行するには、ファイル・システム・テーブル (
/etc/fstab
) を編集して、始動時に自動的にマウントされるエントリーのリストにリモート・ファイル共有を追加します。fstab
にエントリを作成する前に、次の手順を実行して、マウントパスのホスト名を/etc/hosts
に追加します。-
マウントパスの
hostname.com
部分、例えばfsf-dal2433a-dz.adn.networklayer.com
、IPアドレスを取得する。 IP アドレスを調べるには、インスタンスで以下のコマンドを実行します。host hostname.com
以下の例を参照してください。
host fsf-dal2433a-dz.adn.networklayer.com fsf-dal2433a-dz.adn.networklayer.com has address 203.0.113.0
host
コマンドを実行したときに command not found エラーが発生した場合は、yum install bind-utils
を使用してインストールしてください。 -
/etc/hosts
を編集し、IP をホスト名エントリー追加します。<IP_Address> hostname.comhostname.com
以下の例を参照してください。
198.51.100.0 fsf-dal2433a-dz.adn.networklayer.com
-
ファイルシステム・テーブル
/etc/fstab
を編集し、エントリーを追加する。(hostname):/(file_share_path) /mnt nfs_version options 0 0
以下の例を参照してください。
fsf-dal2433a-dz.adn.networklayer.com:/nxg_s_voll_246a9cb9-4679-4dc5-9522-4a7ed2575136 /mnt/test nfs4 nfsvers=4.1,sec=sys,_netdev 0 0
-
-
構成ファイルにエラーがないことを確認します。
mount -fav
エラーなしでコマンドが完了したら、セットアップは完了です。
NFS 4.1 の場合は、mount コマンドに
sec=sys
を追加して、ファイル所有権の問題を回避してください。_netdev
、すべてのネットワークコンポーネントが起動するまで、ストレージのマウントを待つ。
NFS 用の no_root_squash
の実装 (オプション)
デフォルトでは、NFS では、root 権限で作成されたファイルが nobody
ユーザーにダウングレードされます。 このセキュリティー機能によって、要求されない限り、特権が共有されないようにしています。
no_root_squash
を設定することで、rootクライアントはリモートの NFS ファイル共有のroot権限を保持できる。
NFSv4.1 の場合、 nfsv4 ドメインを設定します: slnfsv4.com
に設定し、 rpcidmapd
またはOSで使用されている同様のサービスを開始する。 以下の例を参照してください。
-
ホストから、
/etc/idmapd.conf
でドメイン設定を行う。$ vi /etc/idmapd.conf [General] #Verbosity = 0 #The following 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
-
nfsidmap -c
を実行します。
ファイル・システムのアンマウント
ホストに現在マウントされているファイル・システムをアンマウントするには、ディスク名またはマウント・ポイント名を指定して umount
コマンドを実行します。
umount /dev/sdb
umount /mnt