2009/11/15

MacOS X から Linux のディスクを NFS mount する方法

Mac OS X には NFS 機能がシステムへと統合されています。

クライアント機能に関しては、各種設定を GUI から行う事も可能で、例えば NFS で export されているディスク領域を mount する為には、Finder の「Go」メニューにある「Connect to Server...」、または、「Disk Utility」の「File」メニューにある「NFS Mounts...」が利用できます。勿論 Terminal からコマンドラインで mount -t nfs する事も可能です。

但し主に Linux で export した NFS ディスク領域を Mac OS X から mount するには、すこしコツがあります。

多くの Linux distribution へ含まれている NFS サーバでは、「1024 より小さなポート番号から発行されたリクエストのみを受け付ける」設定がデフォルトで有効になっています。Mac OS X から発行される NFS 要求は、この仕様に合致しません。そのため、特に何も指定せずに NFS の mount 要求を発行すると、「Operation not permitted」エラーになってしまいます。

% sudo mount -t nfs server:/home /Volumes/server
mount_nfs: /Volumes: Operation not permitted

解決策は、Linux Server 側で 1024 以上のポート番号を受け付けるようにする、または、Mac OS X 側で 1023 以下のポート番号を使うようにする、のいずれかです。

前者の場合 Linux 側で、/etc/exportfs へ insecure オプションを付加することで達成できます(exportfs(8)でも達成可能です)。/etc/exportfs ファイルを修正した場合には、exportfs -a コマンドを実行し、再 export をしましょう。

linux% sudo vi /etc/exportfs # insecure オプションを付与する
linux% sudo exportfs -a

後者の場合、MacOS X 側で mount を実行する際に resvport オプションを指定します。

% sudo mount -t nfs -o resvport server:/home /Volumes/server

NFS mount の設定を Disk Utility から行う場合、Disk Utility の「NFS Mounts...」を選択し、左下にある「+」ボタンを選択、「Remote NFS URL」へ「nfs://server/home」、「Mount location」へ「/Volumes/server」と入力した後、その下にある「Advanced Mount Parameters」へ「resvport」と書きます。最後に「Verify」ボタンを押し、「Save」で完了です。

残念ながら、Finder の「Connect to Server...」からは NFS オプションを指定することは出来ないようです。オプション指定の必要なNFS サーバへ接続する必要がある場合には Disk Utility を利用すると良いでしょう。

0 件のコメント:

コメントを投稿