◆EBSを新規に追加し、/var配下を
新規EBSへマウントし直す手順
<前提>
・OSはCentOS7.xでファイルシステムは
xfsであること
・任意のEBSボリュームを作成し、
該当インスタンスへアタッチが
完了していること
・root権限で実行すること
・# yum -y install gdiskでgdiskコマンドが
インストールされていること
<手順>
①追加のEBSボリュームが
当該インスタンスに
アタッチされていること
→今回は/dev/xvdfボリュームで作成
②gdisk コマンドで /dev/xvdf1という
パーティションを切る
gdisk /dev/xvdf
※注意1:gdisk コマンドに渡す引数は、
「/dev/xvdf」となる。そのコマンドの
実行の結果として「/dev/xvdf1」という
パーティションが切られるので1はつけないこと。
※注意2:EBSのボリュームの
「アタッチ済み情報」を確認して
任意のボリュームに読み替えること
※注意3:多少なりとも危険を
伴う作業のため、バックアップを
取得後、実施するか検証環境で
手順を確認しておくこと。
p 押下で現在のパーティションを表示
n 押下で新規でパーティションを作成
Enter 押下(デフォルトのまま) ※ Partition number
Enter 押下(デフォルトのまま) ※ First sector
Enter 押下(デフォルトのまま) ※ Last sector
Enter 押下(デフォルトのまま) ※ Hex code or GUID
w 押下で書き込みに進む
Y 押下で、実際に書き込み
※以降の手順は、"gdisk" コマンドにより
/dev/xvdf1 パーティションが
作成されたことを前提としているので、
再度"lsblk"或いは"fdisk -l"を実行し、
実際の環境で作成された
パーティションに適宜置き換えること
③パーティションの変更を OS に通知
# partprobe /dev/xvdf1
④xfs ファイルシステムを作成
# mkfs.xfs /dev/xvdf1
⑤/mnt にマウントして、既存のログをコピー
# mount /dev/xvdf1 /mnt
# rsync -a /var/ /mnt/
# umount /dev/xvdf1
⑥UUID を確認し、fstab を修正
# xfs_admin -u /dev/xvdf1
以下のようなエントリーを /etc/fstab に追加
UUID=5dbc3450-ad21-405a-ac1d-66d41901e919 /var xfs defaults 0 2
→イコール(=)の前後にスペースを
入れないこと
⑦マウントできることを確認
# mount /var
※"# mouont /var" の
実行後は、"df -h" により対象の
パーティションが"/var" に
マウントされていることを
確認し継続して"/mnt" に
マウントされてしまっている場合は、
"umount /mnt" を実行し、
再度"df -h" でマウントの状況を確認する。
⑧SELinux のコンテキストを正しく設定
# restorecon -Rv /var
⑨OSを再起動
# reboot
⑩起動後ログが正しく書き込めているか確認
# logger "TEST" # tail /var/log/messages
(参考)
/var/log/messagesファイルの
最後から100行を表示
# tail -n 100 /var/log/messages
また、上記の手順だと既存の/var以下の
ログが残るが、これらを削除したい場合には、
当該インスタンスを停止し、
当該ボリュームをデタッチし別の
インスタンスにアタッチ&マウントして、
/var/ 以下のファイルを
削除するといった方法で削除が可能。