AWS-EBSの論理ボリューム対応と世代管理

オンプレミス環境と同様に、論理ボリュームを作成し拡張をオンラインで実行でき、且つ、バックアップを世代管理できるように対応する。

《論理ボリューム作成》

AWS上でボリュームを作成し、EC2インスタンスにアタッチする。

論理ボリュームを作成する。

《物理ボリューム作成》

$ sudo pvcreate /dev/nvme1n1

Physical volume “/dev/nvme1n1” successfully created.

《ボリュームグループ作成》

$ sudo vgcreate VolGroup00 /dev/nvme1n1

Volume group “VolGroup00” successfully created

《論理ボリューム作成》

$ sudo lvcreate -l +100%FREE /dev/VolGroup00 -n LogVol00

Logical volume “LogVol00” created.

《論理ボリュームのxfsへのフォーマット》

$ sudo mkfs.xfs /dev/VolGroup00/LogVol00 -f

meta-data=/dev/VolGroup00/LogVol00 isize=512    agcount=8, agsize=32640 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=0
data     =                       bsize=4096   blocks=261120, imaxpct=25
         =                       sunit=1      swidth=1 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=512, version=2
         =                       sectsz=512   sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

《論理ボリュームの手動アタッチ》

$ sudo mkdir /opt/volumes

$ sudo mount -t xfs /dev/VolGroup00/LogVol00 /opt/volumes

《永続化対応》

$ sudo cat /etc/fstab

#
UUID=caf5d06d-4a53-450d-aa81-e9da1481c189  / xfs defaults,noatime  1   1
UUID=0DA2-D6F8      /boot/efi vfat defaults,noatime,uid=0,gid=0,umask=0077,shortname=winnt 0 0
# AWS-EBS Logical Volume
/dev/mapper/VolGroup00-LogVol00 /opt/volumes xfs defaults,noatime  1   1

《論理ボリューム拡張》

AWS上でボリュームサイズを拡張する

OS上で認識するように対応する

/opt/volumesを1GBから、5GBへ拡張する

《現状の把握》

$ df -T

ファイルシス                    タイプ   1K-ブロック    使用  使用可 使用% マウント位置
devtmpfs                        devtmpfs      432344       0  432344    0% /dev
tmpfs                           tmpfs         472244       0  472244    0% /dev/shm
tmpfs                           tmpfs         472244     440  471804    1% /run
tmpfs                           tmpfs         472244       0  472244    0% /sys/fs/cgroup
/dev/nvme0n1p1                  xfs          8367084 5275012 3092072   64% /
/dev/nvme0n1p128                vfat           10202    3820    6382   38% /boot/efi
tmpfs                           tmpfs          94452       0   94452    0% /run/user/1000
/dev/mapper/VolGroup00-LogVol00 xfs          1042432   34268 1008164    4% /opt/volumes

《パーティションの拡張の確認》

$ lsblk

NAME                  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
nvme0n1               259:0    0    8G  0 disk 
├─nvme0n1p1           259:2    0    8G  0 part /
└─nvme0n1p128         259:3    0   10M  0 part /boot/efi
nvme1n1               259:1    0    5G  0 disk 
└─VolGroup00-LogVol00 253:0    0 1020M  0 lvm  /opt/volumes

《Physical Volumeの拡張》

$ sudo pvdisplay

  --- Physical volume ---
  PV Name               /dev/sdf
  VG Name               VolGroup00
  PV Size               1.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              255
  Free PE               0
  Allocated PE          255
  PV UUID               TWfXCf-pTXj-46Gl-****-7IsQ-****-LfPZga

$ sudo pvresize /dev/sdf

  Physical volume "/dev/sdf" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized

$ sudo pvdisplay

  --- Physical volume ---
  PV Name               /dev/sdf
  VG Name               VolGroup00
  PV Size               <5.00 GiB / not usable 3.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              1279
  Free PE               1024
  Allocated PE          255
  PV UUID               TWfXCf-pTXj-46Gl-****-7IsQ-****-LfPZga

《Logical Volumeの拡張》

$ sudo lvdisplay

  --- Logical volume ---
  LV Path                /dev/VolGroup00/LogVol00
  LV Name                LogVol00
  VG Name                VolGroup00
  LV UUID                jhBeXE-9gb8-5nIH-PVaN-****-Q1gC-*****
  LV Write Access        read/write
  LV Creation host, time ip-172-30-***-***.ap-northeast-1.compute.internal, 2022-06-20 01:36:10 +0000
  LV Status              available
  # open                 1
  LV Size                1020.00 MiB
  Current LE             255
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

$ sudo lvextend -l +100%FREE /dev/VolGroup00/LogVol00

  Size of logical volume VolGroup00/LogVol00 changed from 1020.00 MiB (255 extents) to <5.00 GiB (1279 extents).
  Logical volume VolGroup00/LogVol00 successfully resized.

$ sudo lvdisplay

  --- Logical volume ---
  LV Path                /dev/VolGroup00/LogVol00
  LV Name                LogVol00
  VG Name                VolGroup00
  LV UUID                jhBeXE-9gb8-5nIH-PVaN-****-Q1gC-*****
  LV Write Access        read/write
  LV Creation host, time ip-172-30-***-***.ap-northeast-1.compute.internal, 2022-06-20 01:36:10 +0000
  LV Status              available
  # open                 1
  LV Size                <5.00 GiB
  Current LE             1279
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

《FileSystemの拡張》

$ sudo xfs_growfs /dev/VolGroup00/LogVol00

meta-data=/dev/mapper/VolGroup00-LogVol00 isize=512    agcount=8, agsize=32640 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1 spinodes=0
data     =                       bsize=4096   blocks=261120, imaxpct=25
         =                       sunit=1      swidth=1 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=512, version=2
         =                       sectsz=512   sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 261120 to 1309696

《拡張の確認》

$ df -T

ファイルシス                    タイプ   1K-ブロック    使用  使用可 使用% マウント位置
devtmpfs                        devtmpfs      432344       0  432344    0% /dev
tmpfs                           tmpfs         472244       0  472244    0% /dev/shm
tmpfs                           tmpfs         472244     448  471796    1% /run
tmpfs                           tmpfs         472244       0  472244    0% /sys/fs/cgroup
/dev/nvme0n1p1                  xfs          8367084 5276008 3091076   64% /
/dev/nvme0n1p128                vfat           10202    3820    6382   38% /boot/efi
tmpfs                           tmpfs          94452       0   94452    0% /run/user/1000
/dev/mapper/VolGroup00-LogVol00 xfs          5236736   40260 5196476    1% /opt/volumes

《EBSの世代管理》

EC2-ライフサイクルマネージャーを開く

  • ターゲットリソースを指定する。

ここで、ターゲットタブを指定して、このライフサイクルを利用する時、ボリュームにこのタブを追記する

  • IAMロールは、「デフォルトロール」を使う

特に理由がないかぎり、これで良いかとおもう。

  • スケジュールの設定を行う。

例:日次7日間、週次4週、月次12ヵ月

スナップショットからの参照

上記設定すると、「スナップショット」に作成されるので、参照するときは、

  • 対象スナップショットをチェックして、「アクション」-「スナップショットからボリューム作成」をクリックして、ボリュームを作成する。このとき、タグにName属性を付けておくと探す時にわかりやすい
  • ボリームを適当なインスタンスにマウントする
  • Disk属性(ファイルシステムなど)を調査の上、インスタンスにマウントする(青字参照)
  • なお、マウント時、UUIDの重複を無視するようにしないとマウントできない(赤字参照)
    $ sudo mount -t xfs -o nouuid /dev/nvme1n1p1 /mnt

 

 

タイトルとURLをコピーしました