/varが簡単にあふれるようになってしまった. そこでLVMで管理している/varの論理ボリュームを拡張することにする.
以下のようにして約6.56GBほどボリュームグループに空きがあることを確認する.
# vgdisplay --- Volume group --- VG Name yoshiyuki-volume ... Alloc PE / Size 832 / 26.00 GB Free PE / Size 210 / 6.56 GB
/varにマウントしているブロックデバイスのパスは/dev/mapper/yoshiyuki--volume-varである. しかし,
# lvextend --size=+1G /dev/mapper/yoshiyuki--volume-var Volume group mapper doesn't exist
となってしまった.
試行錯誤した結果,以下のようにして1GBの拡張ができた.
# lvextend --size=+1G /dev/yoshiyuki-volume/var # xfs_growfs /var
df -hとかするとちゃんと拡張されている. マウントしっぱなしで拡張できるってすごいなあ. と思っていたら,10分程度使っていると/var以下の読み書きが全てIO errorになってしまった. 再起動後にちゃんとOSが起動するが,やはり/var以下だけIO errorとなった. 起こるタイミングはよくわからなかった(syncが発生したとき?)が,一度IO errorになると再起動するまで/var以下だけIO errorとなる.
シングルユーザモードで/varをアンマウントしてから,
# xfs_check /dev/mapper/yoshiyuki--volume-var
とするとボロボロになっていることがわかったので,
# xfs_repair /dev/mapper/yoshiyuki--volume-var
とした. xfs_repair後はIO errorもなく正常に使えるようになった.
余談だけど,ボリュームグループ名にホスト名をつけたのは間違いだった. これだと,マシンをリプレースしてホスト名が変わったとき,いやなことになってしまう.