LANDISK HDL4-GをNFSサーバにする[追記あり]
LANDISK HDL4-GをNFSサーバにします。設定には、dpkgもapt-getも不要です。ただし、当然ですが、telnetなどでloginできるようになっている事が必要です。
以下の内容を実行すると、LANDISKを壊してしまうかもしれません。自己責任でお願いします。また、データの事前バックアップもしておいた方が良いと思います。
HDL4-Gのtelnetを有効化した理由は、NFSサーバにしたかったからでした。
インストールするnfsは、unfs3です。ここは、NFS v3にこだわります。NFS v2とv3の違いについて、次のページに比較表が載っています。ありがとうございます。
一番重要なのは、ファイルサイズの違いでしょうか?
portmapは、最初からインストールされていたので、それを使う事にします。
NFSサーバ化にあたり、次のページを参考にしました。ありがとうございます。
- えびめも(2007-12-11)
- 基本的な方法。dpkgを使わないインストール方法、自動起動の設定方法について
- nfs-user-server – odawaraの「はてな de メモ」
- Linuxをホストにする場合のインストール方法について
それでは、実際の手順の説明に入ります。
- unfs3のインストール
- /etc/exportsの設定
- NFSの起動
- NFSの確認
- 自動起動の設定
作業は、全てLANDISK HDL4-Gの中でします。
(1)unfs3のインストール
まずは、unfs3のインストールです。パッケージのアーキテクチャはarmを選びます。当たり前ですが、armelは動きませんでした。
(追記 2013-02-20 21:52 Sargeのunfs3は、次の所からダウンロードで来ます。)
# cd / # mkdir work # cd work # wget http://archive.debian.org/backports.org/pool/main/u/unfs3/unfs3_0.9.15+dfsg-1~bpo.1_arm.deb # ar x unfs3_0.9.15+dfsg-1~bpo.1_arm.deb # cd / # tar xvzf work/data.tar.gz # rm -rf work
tar xvzfをやる前に、tar tvzfで、ファイルの中身を確認しておいた方が、安全だと思います。
(2)/etc/exportsの設定
次に、/etc/exportsを作ります。共有ディスクは、/mnt/sataraid1/shareにある様です。例を示しますが、環境に合わせて、内容は変更して下さい。
/mnt/sataraid1/share/itunes 192.168.1.0/24(rw,insecure,no_subtree_check) /mnt/sataraid1/share/username 192.168.1.0/24(rw,insecure,no_subtree_check)
insecure,no_subtree_checkを設定しているのは、Mac OS Xで使う事を考えているからです。
(3)NFSの起動
nfsを起動します。
# mount -o remount,ro / # /etc/init.d/portmap start # /etc/init.d/unfs3 start
(4)NFSの確認
nfsの起動確認をします。
# rpcinfo -u 127.0.0.1 nfs プログラム 100003 バージョン 3 の準備が完了し待機中です # showmount -e 127.0.0.1 Export list for 127.0.0.1: /mnt/sataraid1/share/itunes 192.168.1.0/24 /mnt/sataraid1/share/username 192.168.1.0/24
nfsが起動しました。バージョン3です。exportもうまく行っている様です。
(5)自動起動の設定
電源を入れたとき、自動起動するように設定します。
# mount -o remount,rw / # update-rc.d portmap start 43 S . start 32 0 6 . start 18 2 3 4 5 . stop 81 1 . Adding system startup for /etc/init.d/portmap ... /etc/rc1.d/K81portmap -> ../init.d/portmap /etc/rc0.d/S32portmap -> ../init.d/portmap /etc/rc2.d/S18portmap -> ../init.d/portmap /etc/rc3.d/S18portmap -> ../init.d/portmap /etc/rc4.d/S18portmap -> ../init.d/portmap /etc/rc5.d/S18portmap -> ../init.d/portmap /etc/rc6.d/S32portmap -> ../init.d/portmap /etc/rcS.d/S43portmap -> ../init.d/portmap # update-rc.d unfs3 defaults 25 Adding system startup for /etc/init.d/unfs3 ... /etc/rc0.d/K25unfs3 -> ../init.d/unfs3 /etc/rc1.d/K25unfs3 -> ../init.d/unfs3 /etc/rc6.d/K25unfs3 -> ../init.d/unfs3 /etc/rc2.d/S25unfs3 -> ../init.d/unfs3 /etc/rc3.d/S25unfs3 -> ../init.d/unfs3 /etc/rc4.d/S25unfs3 -> ../init.d/unfs3 /etc/rc5.d/S25unfs3 -> ../init.d/unfs3 # mount -o remount,ro /
update-rc.dに-nオプションをつけると、実際の実行の前に、どのようなリンクが作られるかを確認できます。
以上で終わりです。後は、Linux(Ubuntuなど)から、NFSマウントしてみてください。
$ sudo mount -t nfs 192.168.1.200:/mnt/sataraid1/share/itunes /mnt
(追記 2012-03-18 21:18)
showmountで、フォルダがexportされていない場合、/etc/exportsの書き方に間違いがあるかもしれません。unfsdに"-T"オプションをつけると、記述のチェックができます。
また、/etc/exports以外のファイルを指定する事もできます。例えば、/mnt/hda5/work/exportsに置いて、内容のチェックをするには、次のようにします。
そして、もしエラーがあると、次の結果となります。
# cat /mnt/hda5/work/exports /mnt/sataraid1/share/not_exist 192.168.1.0/24(rw,insecure,no_subtree_check) # /usr/sbin/unfsd -e /mnt/hda5/work/exports -T Parse error in `/mnt/hda5/work/exports'
exportsで指定したディレクトリが無いと、エラーになります。記述にエラーがあると、exportできません。
(追記 2013-02-20 21:52)
インストールしたものの、なんだか挙動が変だったので、実際には使っていません。
ディスカッション
コメント一覧
まだ、コメントがありません