このブログを検索

2011-09-09

UbuntuでPT2(4/5)

UbuntuでPT2たぶんラスト
最後に、保存領域を外付けUSBに変更します。
epgrecの保存領域はapacheで公開している範囲に限られるそうなので、
シンボリックリンクで対応したいと思います。

まずデバイスの認識から

$ sudo parted -l
モデル: ST310005 20AS (scsi)
ディスク /dev/sdc: 1000GB
というのが外付けHDDです

$ sudo parted /dev/sdc
(parted) mklabel gpt
(parted) print
→サイズを知る、1000GBだった
(parted) unit GB
(parted) mkpart video ext4 0 1000GB
(parted) unit MiB
(parted) mkpart video xfs 1 -1
(parted) quit
第一引数(video)はラベルなので何でもいい
3つ目の1は、MiBなら1から始めたほうが良いらしい?
最後の-1は終端の意味


$ sudo apt-get install xfsprogs
$ sudo mkfs.xfs /dev/sdc -f
$ sudo mkfs.xfs -f -b size=4k -i size=512 -l size=128m,version=2 /dev/sdc1


meta-data=/dev/sdc isize=512 agcount=4, agsize=7630917 blks
= sectsz=512 attr=2
data = bsize=65536 blocks=30523665, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=65536 ascii-ci=0
log =internal log bsize=65536 blocks=2048, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=65536 blocks=0, rtextents=0

デバイスにはパーティションを指定するので注意-> sdc1
-b sizeはブロックサイズでデフォルト4kだけどわかりやすいように明示的にした
本当は64kくらいは指定できたはずだけど、4kを超えるとなぜかマウントできなかった
-iと-lの指定は速くなるらしいので一応つけてみた(ファイルコピー試してみても差はわからなかった)


マウントポイント作成
$ sudo mkdir /home/media/pt2
$ sudo chown www-data:www-data /home/media/pt2
$ sudo chmod 777 /home/media/pt2
試しにマウント
$ sudo mount -t xfs /dev/sdc1 /home/media/pt2
再起動時にマウントするようにする
$ sudo vi /etc/fstab
/dev/sdc1        /home/media/pt2 xfs defaults 0 0

シンボリックリンク作成
$ sudo ln -s /home/media/pt2 /var/www/epgrec/video
$ sudo mkdir /home/media/pt2/thumbs
$ sudo chmod 777 /home/media/pt2/thumbs
$ sudo chown www-data:www-data /home/media/pt2/thumbs
$ sudo ln -s /home/media/pt2/thumbs /var/www/epgrec/thumbs


※今回はまっさらの状態でやったけど
もし録画データがあったらだめかも。
その場合はデータベースを再作成して再セットアップか?



次にクオータを設定します。
epgrecはディスク残量を管理しないので自分でやる必要があります。
今回はソフトリミットを超えたらメール通知されるようにしてみます。

メールアドレスの設定
$ sudo vi /etc/aliases
$ sudo postalias /etc/aliases
www-data: メールアドレス
を記述する

quotaをONにする
$ sudo vi /etc/fstab
/dev/sdcの
defaults

defaults,usrquota
に変更する
※pt2の録画先

$ sudo umount /dev/sdc1
$ sudo mount /dev/sdc1
$ cat /proc/mounts | grep pt2
/dev/sdc1にusrquotaがついていればOK
※remountではダメだった
※xfsファイルシステムの場合はquotacheck不要らしい

$ quotaon -v /home/media/pt2
quotaon: Enable XFS group quota accounting during mount
quotaon: Enforcing user quota already on /dev/sdc1
こんな感じで出ればOK

xfs用quotaコマンド"xfs_quota"を管理モード(-x)で起動
$ sudo xfs_quota -x

とりあえずレポートを見てみる
xfs_quota>report -u -h /dev/sdc1

quota対象のファイルシステム一覧を表示 xfs_quota>path

対象となるファイルシステムをカレントにセット xfs_quota>path 000
www-dataユーザにソフトリミット750GB, ハードリミット800GBを設定
xfs_quota> limit bsoft=750g bhard=800g www-data
解除する場合は0に指定すればよいようだ。ちゃんとコマンドありそうだが未確認。
抜ける
xfs_quota> q


リミットが来ているユーザにメールを送信する仕組み
"warnquota"の準備をする。

デバイス情報を記述する
$ sudo vi /etc/quotatab
/dev/sdc: Your home directory
/dev/sdc1: Your home directory


以上で設定完了。
対象のファイルシステムにソフトリミットを超えたユーザファイルをおいてみる。

そして下記コマンドでメール送信。
$ sudo warnquota -s
※ちなみにメールは/etc/aliasesで設定する

メールが通知されたら、あとはwarnquotaをcronで実行するようにする。
$ sudo vi /etc/cron.daily/do-warnquota.cron
#!/bin/sh
warnquota -s


以上でquotaつき録画領域の完成です!


参考:
http://hinode.nao.ac.jp/~tonooka/SBSC/open/parted_howto.html http://ameblo.jp/kupok/entry-10792760992.html http://xoops.fens.net/modules/wiki/?Linux%2FMemo%2Fxfs%2F%E6%93%8D%E4%BD%9C%E6%96%B9%E6%B3%95 http://www.ftnk.jp/~fumi/cl/2005-11-18-8.html http://blog.stud.vg/2008/12/xfs-2tb.html http://sea-mew.jp/nox/modules/xpwiki/587.html

(追記2012/8/2) mkpartの引数間違い修正
(追記2012/8/2) mkfs.xfsコマンドの引数を変更
(追記2012/8/2) xfs_quota limitでコメントと引数が不一致だったのを修正
(追記2012/8/2)
デバイス名を/dev/sdc1ではなく/dev/sdcと記載していたのを全体的に修正
今までそれで問題なかったけど恐らく良くない状態だった
今回HDDを入れ替えるにあたりミスに気づいた



2重シールド5C同軸ケーブル S5CFB(C)BK
2重シールド5C同軸ケーブル S5CFB(C)BK
価格:105円(税込、送料別)

0 件のコメント:

コメントを投稿