2012年2月20日月曜日

Ubuntu 10.04 Serverでストレージサーバ

Ubuntu 10.04.4 LTS Server amd64でストレージサーバを構築してみる.覚えている限りの情報.

  • Intel Core2 Quad CPU Q6600
  • Memory: 4 GB
  • HDD(SATA): 500GB, 2TB, 2TB

500GBのHDDだけを接続してOSをセットアップ.パッケージを選ぶように言われたら,Open SSHSambaのサーバにチェックを入れた.

OSが入ったら,一旦シャットダウンして2TBのHDDを接続して再起動.

HDDのフォーマット

まずは,状況を把握するためのコマンド

# 接続されているドライブの情報を確認できる
sudo fdisk -l
# マウント状況を確認できる
df -h

パーティショニングするところまでは

$ sudo parted /dev/sdx
(parted) mklabel gpt
(parted) mkpart

とすると行える.mkpartするといろいろ聞かれるが,start1end100%とでもしておけばOK(参考:GNU Partedの使い方).

フォーマットは,以下のようにして定期検診の停止もしてみる.

$ sudo mke2fs -T news /dev/sdxn
$ sudo tune2fs -c 0 -i 0 /dev/sdxn

マウントとアンマウントは,

$ sudo mount -w -t ext2 /dev/sdxn /mnt/sdxn
$ sudo umount /mnt/sdxn

のような感じでできる.これは/etc/rc.localに書いておけばスタートアップ時にマウントされる(良い使い方かどうかは分からないので注意).

Sambaの設定

Samba自体の設定はサンバ設定メモ(Hishidama's samba Memo)や色々ググれば思うように設定できそうである.

Sambaの設定を変更した後の再起動は,

$ sudo service smbd restart

また,Windowsから繋いだり,設定を変えたりしていると,「同じユーザーによる,サーバーまたは共有リソースへの複数のユーザー名での複数の接続は許可されません」などと言われてしまうことがある.そんなときは

net use

で記憶されているものを調べ,

net use (リモート名) /delete

とすればよい.(この記事では,これだけWindows用のコマンドです)

他のサーバとの同期

Linuxのサーバをまともに使おうというのは初めてなので,しばらくは既存のWindows Serverマシンのバックアップとして運用し,様子を見たい.ということで,Linux版タスクスケジューラ(?)を使って同期をすることにした.

Windows Server側で共有されているフォルダをLinuxにマウントすること自体はLinux から Windows ファイル共有を利用に倣って,

$ sudo smbmount //ServerのIPアドレス/shared_folder /mnt/share -o 
username=User,password=Password,iocharset=utf8
$ sudo smbumount /mnt/share

でできた.また,タスクスケジューラの代替品としては,

$ sudo crontab -u root -e

が使えそうだ.スクリプトを作成しておいてbash /home/user/scripts/myscript.shなどをスケジュールしておけばよい.(参考:crontabの書き方

あとは,スクリプトの書き方になってしまうが,Windows Serverの共有フォルダをマウントできなかったら同期して欲しくないので,

if smbmount ...; then
    rsyncなどで同期
    smbumount ...
fi

というような書き方をすれば安心.

0 件のコメント:

コメントを投稿