サーバのバックアップサーバ化

nexus7を購入したこともあり、サーバ側から色々データを取り出せるようにしたいということで、いままで外付けHDDケースにバックアップしていたデータをサーバ側に置くことに。
早速、余っている3TのHDDがあったのでこれをサーバ側に移植してフォーマット。

とりあえず状態をチェック、ということで

$ cat /proc/partitions

でパーティションの状態をチェック。sdbに。
中身無いので問答無用でフォーマット。

$ fdisk /dev/sdb

とすると、3Tのディスクだから見たことのないメッセージが。ちゃんと警告してくれるのね。

WARNING: The size of this disk is 3.0 TB (3000592982016 bytes).
DOS partition table format can not be used on drives for volumes

larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID

partition table format (GPT).

とりあえず今回はパーティション分ける予定が無いのでフルサイズで確保しちゃう!

追記(2013/09/04)この方法だと2TBまでしか確保できないのでこっちを参照 3TBのHDDをLinuxで使用 - 屑籠というかゴミ箱

フォーマットはCentOS使っているのでシステム領域と併せてext4にしておく。
ext3は大きなファイルで削除に時間がかなりかかるとか欠陥のあるファイルシステムだったけど、ext4は使っていてあんまり問題を感じたことがないのでこれで。

$ mkfs.ext4 /dev/sdb1

ここで一緒にラベル名も設定

$ e2label /dev/sdb1 backup_data

色々終わったらfstabを変更

$ vi /etc/fstab

以下追記

LABEL=backup_data /mnt/sdb1 ext4 1 0

な感じで。あと色々面倒なので自動でのfsckを無効化する。終わらないんだよ!ってのを無くしたいので完全に管理下に置きたいってことで。

$ tune2fs -c 0 /dev/sdb1

$ tune2fs -i 0 /dev/sdb1

設定後の内容確認はそれぞれ

$ tune2fs -l /dev/sdb1 | fgrep ‘Maximum mount count’

$ tune2fs -l /dev/sdb1 | fgrep ‘Check interval’

で、ここからがメイン作業で共有ディレクトリ作成。
各ユーザでそれぞれ使用できるようにしたいのでそういう感じに。

$ mkdir data

$ groupadd hoge

$ chgrp -R hoge data

$ chmod -R 770 data

$ usermod -G hoge user1

$ usermod -G hoge user2

$ chmod -R 2770 data

グループで管理して、グループhogeにuser1とuser2を入れて2ユーザで使えるように。
そして最後に、共有ディレクトリにsgidビット立てて、共有ディレクトリ以下にファイル作成したらパーミッションが770になるように設定するのがポイント。
あとはsambaの設定で該当ディレクトリを共有させる

$ vi /etc/samba/smb.conf

設定は適当にCentOS6.2+PT2のサーバーセットアップ - 屑籠というかゴミ箱あたりを参考にしながら設定。

(2013/09/09追記)

/etc/samba/smb.conf

の設定で「create mode = 0770」と「directory mode = 0770」を忘れていた

[hoge]

path = /home/hoge

writable = yes

create mode = 0770

directory mode = 0770

guest ok = no

comments powered by Disqus