ubuntu-serverでNASを自作してみる その2

今回はHDDを追加しsambaで読み書き出来るようにしてみる

HDDの追加とRAIDの設定

HDDを2台追加してRAID 1を構成するには− @IT
シンゴのblog: RAID(mdadm)のメモ
ここらへんを参考にしながら

今回は320GBのHDDを2台でRAID0ボリュームを作ってみる

ソフトウェアRAIDツール(mdadm)をインストール
$sudo aptitude install mdadm
RAIDパーティションを作成

/dev/sdbと/dev/sdcで以下の作業を行う

# fdisk /dev/sdb

このディスクのシリンダ数は 30401 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
(例. DOS FDISK, OS/2 FDISK)

コマンド (m でヘルプ): n    ←パーティションの新規作成
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 1       ←基本領域を作成
最初 シリンダ (1-30401, default 1): ←[Enter]キーを押して初期設定を選択
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-30401, default 30401):        ←[Enter]キーを押して初期設定を選択
Using default value 30401

コマンド (m でヘルプ): t    ←パーティションのタイプを変更
Selected partition 1
16進数コード (L コマンドでコードリスト表示): fd ←RAIDを指定
領域のシステムタイプを 1 から fd (Linux raid 自動検出) に変更しました

コマンド (m でヘルプ): w    ←変更を保存
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。
RAIDの構築
 # mdadm -C /dev/md1 -l0 -n2 /dev/sdb1 /dev/sdc1
mdadm設定ファイル作成

このままでは再起動後は動作してくれないので
mdadm.confの再設定をする
以下の方法でやるとミスも無くUUIDベースで設定を作ってくれて便利

 # mdadm -E --scan > /etc/mdadm/mdadm.conf
ファイルシステムの作成
 # mkfs.ext4 /dev/md1
マウントポイントの作成とマウント
 # mkdir /media/md1
 # mount /dev/md1 /media/md1
fstabの編集

まずデバイスのUUIDを確認

 # blkid
〜中略〜
/dev/md1: UUID="f718fd3a-????-????-????-c2ad967b04f3" TYPE="ext4"

/etc/fstabを以下のように編集する
UUIDは先ほどの値を入れる

 # vim /etc/fstab
〜以下の行を追加〜
#md1 ext4
UUID=f718fd3a-????-????-????-c2ad967b04f3 /media/md1 ext4 defaults 0 0

以上でデバイスの準備とマウントが完了

sambaサーバーを設置する

ユーザー認証付きの共有フォルダを設置する

ソフトウェアのインストール
 # aptitude install samba
共有フォルダの作成
 # mkdir /media/md1/public
 # chown nobody:nogroup /media/md1/public
 # chmod 1777 /media/md1/public
samba設定ファイル(/etc/samba/smb.conf)の編集

[grobal]タグに以下の行を追加

workgroup = WORKGROUP
dos charset = CP932
unix charset = UTF-8
display charset = UTF-8
map to guest = Bad User

ファイル末尾に以下のような行を追加
2名(iyokanとhage)を読み書き出来るユーザーに設定

[public]
 path = /media/md1/public
 writeable = yes
 valid users = iyokan , hage
 browseable = yes
sambaパスワードの設定
 # smbpasswd iyokan
New SMB password:
Retype new SMB password:
 # smbpasswd hage
New SMB password:
Retype new SMB password:
sambaサーバーの再起動
 # /etc/init.d/smbd restart

以上で設定終わり