NAS を作成


ずっと NAS がほしいなと思っていたのですが売っている奴は高いし容量も無駄にでかいので (既製品はほとんど 250 GB 以上ですが私に必要なのは 100 GB 未満) 自作することにしました。もちろん仮想 NAS ですよ。

まず samba をインストールするための仮想マシンを作成します。新しいのが好きなので Ubuntu 8.10 にしました。

インストールの際はメモリを大きくしておいて実際に運用するようになったらメモリを小さくすればサクサク作業が進みます。以下手順です。

最初に仮想マシンを作成します。 USB やらフロッピーは不要です。光学ディスクドライブも OS をインストールしてしまえば不要です。ネットワークはブリッジにします。デフォルトの NAT だとうまくアクセスできないと思います。実際にファイルを保存する仮想ハードディスクは後から作成すれば良いので,仮想マシン作成時のハードディスクは OS のみをインストールできる容量があれば十分です。インストールのオプションで "Install a minimal virtual machine" を選ぶと余計なものをインストールしないため実際は 1 GB も使いません。こういうのを JeOS と言うそうです。

OS のインストールはガイドにしたがって進み,最後にサーバーオプションを尋ねられるので samba サーバーのみ選択してインストール終了です。一旦仮想マシンをシャットダウンします。

次に実際にファイルを保存するための仮想ハードディスクを追加します。仮想ハードディスクの容量は跡からでも大きくできるので適当で大丈夫です。ファイルは 2 GB ごとに分割するオプションを指定したほうがバックアップが容易です。仮想マシンに仮想ハードディスクを追加したら Ubuntu に起動します。 SCSI の 2 台目になると思うので Ubuntu 上では /dev/sdb として認識されます。

# fdisk /dev/sdb
Command (m for help): n
Command action
p
1
First cylinder (1-xxx, default 1): [Enter]
Last cylinder or +size or +sizeM or +sizeK (yyy-xxx, default xxx): [Enter]
Command (m for help): w

次にファイルシステムを作成してマウントします。マウントポイントは /var/storage とします。

# mke2fs -j /dev/sdb1
# mkdir /var/storage
# mount /dev/sdb1 /var/storage

再起動してもマウントされるように /etc/fstab に以下の行を追加します。

/dev/sdb1 /var/storage ext3 defaults 0 0

ハードディスクの構成の変更が起こりうる場合は UUID を使って指定すると良いです。 UUID は次の方法で調べられます。

/lib/udev/vol_id --uuid /dev/sdb1

実際に共有するためのディレクトリを作成して読み書き可能にします。

# mkdir /var/storage/share
# chmod 777 /var/storage/share

これでハードディスクの準備は完了です。

最後に samba サーバーの設定をします。 Windows のワークグループに表示されるように /etc/samba/smb.conf に以下の行を追加します。

[share]
path = /var/storage/share
read only = no

なお, Windows のワークグループを変更している場合は [global] の workgroup を編集する必要があります。

最後に samba を再起動して完了です。

# /etc/init.d/samba restart

これで Windows からネットワークドライブとして扱うことができます。

バックアップを取るときは仮想マシンごとバックアップすれば良いです。あらかじめ 2 GB に分割してあればファイルのコピーも簡単ですね。