/varをLVMに移し替える

やりたいこと

  1. /varをLVMのパーティションにしてシャットダウンなしに拡縮(増加)可能にする
  2. /varを/dev/xvdbの単一デバイスで運用する
  3. AWS環境なのでシングルユーザーモードに移行しない力技


対象ディストリビュージョン

事前準備

  • インスタンスを作成する
  • AWSのボリュームを作成する。マグネティック(HDD)で好きなだけ。100GB未満ならSSDくらいでも値段問題ないかも。


以下、手順。
マウント確認

[root@ip-10-0-0-48 ~]# mount
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
/dev/xvda1 on / type ext4 (rw,noatime,data=ordered)
devtmpfs on /dev type devtmpfs (rw,relatime,size=1921800k,nr_inodes=480450,mode=755)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /dev/shm type tmpfs (rw,relatime)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)

バイス一覧

[root@ip-10-0-0-48 ~]# ls -l /dev/xvd*
brw-rw---- 1 root disk 202, 0 Jul 16 13:19 /dev/xvda
brw-rw---- 1 root disk 202, 1 Jul 16 13:19 /dev/xvda1
brw-rw---- 1 root disk 202, 16 Jul 16 13:19 /dev/xvdb

コマンド

# LVMのツールをインストールする
yum install -y lvm2

# 論理ボリュームを切り出す
pvcreate /dev/xvdb
vgcreate vg1 /dev/xvdb
lvcreate -l 100%FREE -n lv_var vg1

# パーティションを作成する
mkfs -t ext4 /dev/vg1/lv_var

# コピー先を用意する
mv /var /var.bak
mkdir /var
mount /dev/vg1/lv_var /var
cd /var.bak; tar cvf - ./* | (cd /var;tar xvf - )

# /etc/fstabを変数する
blkid /dev/xvdb # UUIDに16進数以外の値が入っておかしかったので今回は使わない
vi /etc/fstab
/dev/vg1/lv_var /var ext4 defaults 2 1

# 再起動する
reboot