Z cloudで使えるJoyentのVirtualMachineは容量可変の関係で/dataにユーザ用の領域を用意している。
Joyentの仕様ってことで割り切って使うために少々調整しよう、苦情があればJoyentまで。
/var, /optあたりを移動
これはあくまで一例だが、容量を食う所は/dataに移しておく、bind mountが楽でいい。
mv /var /data/ ;mkdir /var; mount --bind /data/var /var
mv /home /data/ ;mkdir /home; mount --bind /data/home /home
mv /opt /data/ ;mkdir /opt; mount --bind /data/opt /opt
追記注:do-release-upgrade後のUbuntu12.04で確認
追記2:varでよく’ureadahead’が引っかかるようなので’initctl stop ureadahead’で止めておく。
10.04ではvar下のmv条件はlockとrunを除いたほうがよさげ。
for x in `ls /var/`; do if [ $x != "lock" -a $x != "run" ]; then echo $x; fi ; done
真面目にマウント関連を変えようとするのは面倒なので、もうmvでゴリッといこう。
開かれているものはどうせファイルハンドルを追いかけてくれる、後でサーバを再起動すれば/data/varのファイルを開き直すだろう。
起動時にマウントする設定
/etc/fstabをこのように編集して起動時にbindマウントさせる。
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
#
proc /proc proc nodev,noexec,nosuid 0 0
/dev/vda1 / ext3 errors=remount-ro 0 1
/dev/vdb1 /data ext4 defaults 0 0
/data/var /var none bind 0 0
/data/opt /opt none bind 0 0
/data/home /home none bind 0 0
で、リブートしておこう、bind対象は各自お好みで。