最後に、保存領域を外付け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 MiB
(parted) mkpart video xfs 1 -1
(parted) quit
第一引数(video)はラベルなので何でもいい
3つ目の1は、MiBなら1から始めたほうが良いらしい?
最後の-1は終端の意味
$ sudo apt-get install xfsprogs
$ 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こんな感じで出ればOK
quotaon: Enforcing user quota already on /dev/sdc1
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を入れ替えるにあたりミスに気づいた
0 件のコメント:
コメントを投稿