2012年6月17日日曜日

AWS(EC2) /varにEBSをマウントする場合は要注意

Linux系のEC2インスタンスを作成し、/varに50GBくらいの領域を割当てたいから
新規にEBSを作成して、Attacheして/etc/fstabに追記して、再起動。
そしてそのEC2インスタンスにSSHで接続しようとしたら・・・。
アクセス拒否に遇えるかも。(T-T)


■原因
既存の/varの下にあったファイルがなくなってしまったからです。


■対策
[root@ip-10-0-0-20 ~]# cp -pr /var /tmp/
上記等のコマンドで/tmp等に退避しておき、

EBSを/varにマウントして
[root@ip-10-0-0-20 ~]# echo "/dev/sdi  /var  ext4   defaults   0  0" >> /etc/fstab
[root@ip-10-0-0-20 ~]# mount -a
[root@ip-10-0-0-20 ~]# mv /tmp/var/* /var/
上記等のコマンドで元に戻しておけばrebootしてもほぼ大丈夫。


■ほぼ大丈夫?とは
[root@ip-10-0-0-20 ~]# cp -pr /var /tmp/
やった後に、EBSを/varにマウントしてさらに、
MySQLインストール、Apache、PHPインストールしちゃって
[root@ip-10-0-0-20 ~]# mv /tmp/var/* /var/
やるとアウトです。

なんでかって? /varの状況変わってるから。あたりまえやん。

なので、EBSを/varにマウント直前に/varを退避し、
マウント直後に戻すのがよいでしょう。

嵌るよ。嵌るかも。フツー嵌らんか…。すみません、以上です。