2010/05/24(月)Ubuntu 10.04 LTS で NILFS on RAID1 (nilfs2)

LVMが思ったよりも使えなかったのでログ構造ファイルシステム(LFS)と言われるNILFS2を試してみた。

  • 書き込み操作はほぼすべて追記扱い。
  • ファイルシステムレベルでのスナップショット機能(自動/手動)。

導入

LVMを構成していた /dev/md5 をそのままNILFSに割り当てました。

# apt-get install nilfs2-tools
# mkfs -t nilfs2 /dev/md5
# mount -t nilfs2 /dev/md5 /mnt

特に難しいことはありません。

Ubuntu 10.04では起動時にマウントできない

mountall コマンドがファイルタイプ nilfs2 を認識できないので、/etc/init/mountall.conf を改変しました。

script
    . /etc/default/rcS
    [ -f /forcefsck ] && force_fsck="--force-fsck"
    [ "$FSCKFIX" = "yes" ] && fsck_fix="--fsck-fix"

    mountall --daemon $force_fsck $fsck_fix
    mount /home
end script

運用

書き込みをするごとに自動でチェックポイントが生成されます。チェックポイントはデフォルトでは1時間以上経過するとだんだん消されますが、スナップショットとして保存しておくことも可能です。

/etc/nilfs_cleanerd.conf の設定を再度読み込ませるには次のようにします。

# mount -t nilfs2
/dev/md5 on /home type nilfs2 (rw,relatime,gcpid=1008)

で表示される PID にSIGHUPを送ります。

# kill -SIGHUP 1008
チェックポイント一覧
# lscp
チェックポイントの新しい方から5件
# lscp -rn 10
チェックポイントをスナップショットに
# chcp ss 4800
スナップショットをチェックポイントに
# chcp cp 4800
現在の状態をスナップショットとして保存する
# mkcp -s
指定番号のチェックポイントを消す
# rmcp 4300
# rmcp 1..4000

特定のチェックポイントをマウントする場合は、まずチェックポイントNoをスナップショットにします。その後で、

# mount -t nilfs2 -r -o cp=4855 /dev/md5 /mnt

ドキュメントが参考になります。

min_clean_segments/max_clean_segmentsの罠 2019/02/27

いつの間にか、nilfs_cleanerd.confに設定が増えていました。

# Minimum number of clean segments
#   0 = continuous cleaning
# > 0 = pause cleaning until less segments are available
min_clean_segments    10%

# Maximum number of clean segments
max_clean_segments    20%

protection_periodとAND条件らしく、設定時間を経過しても、永遠とログが残り続けてディスクが減ってきていました……。

protection_period
指定秒数経過するまで、チェックポイントを削除せずに保護します。
min_clean_segments
指定した値(容量か%)より空き容量が少なくなるまで、GC(チェックポイントの回収)を停止します。0なら継続GC(無視)。
max_clean_segments
指定した値より空き容量が多い場合、min_clean_segments(上の設定)以下になるまでGCを停止します。0なら継続GC。一度チェックポイントのGCを初めたとき、どこまで回収するかを設定します。max_clean_segmentsに指定した空き容量になった時点でGCを止めるという設定のようです。

容量の許す限りログを残すのはありがたいとも言えますが、ディスクの実際の空き容量をある程度把握(ないしは確保)しておきたい場合には不便です。そんなわけで、昔と同じ動作を期待する場合、min_clean_segments/max_clean_segmentsの両方を0に設定する必要があります。

2010/05/23(日)LVMによる自動バックアップを構築するも、遅いのでボツ

Linux上でRAIDを構成していますが、RAIDとはいえ壊れるときは壊れるし、そもそも論理的障害には無力。そこでLVMによる自動バックアップを構築しました。

しかしまとめにあるように、パフォーマンスが酷すぎてLVMスナップショット自体によるバックアップ目的ではまるで使えませんでした。

続きを読む

Canon CAPTプリンタを Ubuntu 10.04/amd64 で使う

はてブ数 2010/05/19Linux

CAPTプリンタをLinux@amd64で使う上での問題の詳細は以前の記事(@Ubuntu 8.04)をみてください。

amd64用パッケージ

再パッケージングしたファイルを置いておきます。うまく行ったら知らせて頂ければ幸いです。どうやら問題なさそうです。報告感謝。

このファイルをインストールしたら設定に進んでください。

最近は

Fedora用のみですが64bitドライバも配布しているようですので、こちらを流用したほうがいいかも知れません(未確認)。*1

もっともドライバが期待通り動いたところで、ccpdが起動している限り(印刷には必須)CUPSのジョブはすべてccpdに流れ込んでしまい、一度送信(印刷)したら最後、CUPSからは印刷ジョブを一切管理できない残念な仕様です。なので、Canonのプリンタは二度と買いません。

続きを読む