NASストレージをVMware上のLinuxゲストからマウントする

先日自宅環境用に安価なギガビットNASを購入した。現在はHP製のワークステーションに導入したVMWare上で仮想サーバを運用しているのだが、徐々にサーバの重要度が上がってきたため、バックアップ運用等をそろそろ整備しようと思ったのがきっかけ。当初はUSBストレージを使用していたのだが、稼動するサーバの増加やUSBストレージからギガビットNASへの変更による転送速度改善(理論値上では480Mbps→1Gbps)への狙いなどもあり、まずは試しに導入・設定してみた。ちなみに購入したNASはIO-DATAのLAN DISK Home。WindowsMACのファイル共有機能が使用でき、私はWindowsファイル共有機能のみの設定で使用している。

<今回のポイント>

さて、今回の作業内容のポイントは以下の通り。
物理ストレージはWindowsファイル共有機能搭載のNASストレージ。LinuxサーバがNASサーバである場合であれば、クライアントがWindowsであってもLinuxであってもNFSやSambaを使ってマウントできる。が、今回はWindowsファイル機能ベースのストレージをLinuxでマウントしたい、というのがポイント。結論から言うと設定方法は非常に簡単なのだが、個人的にはあまりやったことがなかったので実験。

<環境構成>

  • NAS(Windwosのファイル共有サーバでも同様)側の構成


リモートWindowsサーバ(NAS)ホスト名:nas01
Windwos共有名:share01
ユーザ:user
パスワード:pass

  • Linuxマシン側構成


OS:CentOS5(※CentOS5では、smbmountがない)
共有フォルダのマウントポイント:/mnt/nas/

<設定方法>

マウントポイントとなるディレクトリを作成した後、fstabに下記のエントリを追加


//nas01/share01 /mnt/nas cifs user,uid=500,rw,suid,username="user",password="pass",noauto 0 0"
あとは通常のディスクと同様にmountコマンドで、共有ストレージをマウントする。なお、Linux起動時に自動マウントしたい場合には、「noauto」オプションを外すこと。設定はこれで完了、非常に簡単。

# mount /mnt/nas
# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 10052796 3531024 6002876 38% /
/dev/sda1 101086 22075 73792 24% /boot
tmpfs 62800 0 62800 0% /dev/shm
//nas01/share01 485104192 66843112 418261080 14% /mnt/nas

<補足:認証情報の扱いについて>

上記の方法では、Linuxマシンが共有ストレージににアクセスする際のユーザ名とパスワードが/etc/fstabに直接書き込んであるため、一般ユーザからも内容を参照されてしまう危険がある。このため、共有ストレージアクセスの認証情報は下記のようにスーパーユーザだけが参照できる場所に、ファイルとして外出しすることが望ましい。


//nas01/share01 /mnt/nas cifs user,uid=500,rw,noauto,suid,credentials=/root/secret.txt 0 0
/root/secret.txt には以下のようにユーザ名とパスワードを記述する。

username=user
password=pass
この他、automountと組み合わせ(/etc/auto.masterに設定を追加)で設定を外出しすることも可能。

というわけで、無事LinuxマシンからNASをマウントできた。これで、本番稼動しているLinux仮想マシンから、NASストレージ上に直接バックアップを行うことができる。対象サーバ以外の複数のサーバでも共有したいデータを配置することもでき、なかなか便利。