lvmスナップショット
サーバのホームディレクトリのバックアップは、毎日lvcreateでスナップショットを作ってdumpしている。
このスナップショットが、Fedora16になってから、週に1~2回のペースでnot deactivatingを出してlvremoveに失敗するようになった。カーネルが変わったせいなのか、外付けになったせいなのかは不明。
最も疑わしいのは、RAID1に作った論理ボリュームを、今回は物理的には同じRAID1にdumpしているので、lvremoveする時にはおそらく忙しく書き込んでいる最中であろうということ。管理者向けメールで気づきさえすれば、手動でならlvremoveできるので、とりあえず時間を置けば成功するらしい。
というわけで、lvremoveの前にsyncしてみた。が、ダメなときはやっぱりダメ。考えたら、umountとかlvremoveとかって内部でsyncに相当する処理は実行しているはずだもんね。
結局、lvremoveを10回ループで囲んで、リザルトコードが0以外ならsleep(とりあえず3秒)置いてから再実行するようにしてみる。といっても、lvremoveのリザルトコードが、正常時だけ0を返してくれるものかどうかは未確認。こればっかりは、実際にlvremoveに失敗するのを待つしかない。