Azure Disk Encryption(ADE)で暗号化されたOSディスクを拡張する手順についてメモ。
前提
- 暗号化された OS ディスクのサイズ変更はサポート外のため自己責任
OS パーティションのサイズは変更できますか? ADE で暗号化された OS ディスクのサイズは現在のところ変更できません。
- 拡張前に必ずバックアップを取得
- ディスクサイズの拡張はできるけど、縮小はできないことに注意
- RHEL 7 (latest miner)を利用
- Azureポータルより事前にOSディスクの暗号化を実施
確認
対象仮想マシンを展開して、既定ではOSディスクサイズが64GiBであることを確認
# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 3.9G 0 3.9G 0% /dev tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 3.9G 9.1M 3.9G 1% /run tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/mapper/rootvg-rootlv 2.0G 70M 2.0G 4% / /dev/mapper/rootvg-usrlv 10G 1.5G 8.6G 15% /usr /dev/sda2 494M 153M 342M 31% /boot /dev/mapper/rootvg-homelv 1014M 33M 982M 4% /home /dev/mapper/rootvg-optlv 2.0G 140M 1.9G 7% /opt /dev/mapper/rootvg-tmplv 2.0G 33M 2.0G 2% /tmp /dev/sda1 500M 9.9M 490M 2% /boot/efi /dev/mapper/rootvg-varlv 8.0G 185M 7.9G 3% /var /dev/sdb1 16G 45M 15G 1% /mnt /dev/sdc1 42M 1.5K 42M 1% /mnt/azure_bek_disk tmpfs 783M 0 783M 0% /run/user/1000
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 64G 0 disk ├─sda1 8:1 0 500M 0 part /boot/efi ├─sda2 8:2 0 500M 0 part /boot ├─sda3 8:3 0 2M 0 part └─sda4 8:4 0 63G 0 part └─osencrypt 253:0 0 63G 0 crypt ├─rootvg-tmplv 253:1 0 2G 0 lvm /tmp ├─rootvg-usrlv 253:2 0 10G 0 lvm /usr ├─rootvg-optlv 253:3 0 2G 0 lvm /opt ├─rootvg-homelv 253:4 0 1G 0 lvm /home ├─rootvg-varlv 253:5 0 8G 0 lvm /var └─rootvg-rootlv 253:6 0 2G 0 lvm / sdb 8:16 0 16G 0 disk └─sdb1 8:17 0 16G 0 part /mnt sdc 8:32 0 48M 0 disk └─sdc1 8:33 0 46M 0 part /mnt/azure_bek_disk
ディスクサイズを変更するためAzureポータルより仮想マシンを停止(割り当て解除)し、その後OSディスクを選択して、サイズを変更 (今回は64GiBから128GiBに変更)を実施する。 その後仮想マシンを起動する。
パーティションを拡張する。
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 128G 0 disk ├─sda1 8:1 0 500M 0 part /boot/efi ├─sda2 8:2 0 500M 0 part /boot ├─sda3 8:3 0 2M 0 part └─sda4 8:4 0 63G 0 part └─osencrypt 253:0 0 63G 0 crypt ├─rootvg-tmplv 253:1 0 2G 0 lvm /tmp ├─rootvg-usrlv 253:2 0 10G 0 lvm /usr ├─rootvg-optlv 253:3 0 2G 0 lvm /opt ├─rootvg-homelv 253:4 0 1G 0 lvm /home ├─rootvg-varlv 253:5 0 8G 0 lvm /var └─rootvg-rootlv 253:6 0 2G 0 lvm / sdb 8:16 0 16G 0 disk └─sdb1 8:17 0 16G 0 part /mnt sdc 8:32 0 48M 0 disk └─sdc1 8:33 0 46M 0 part /mnt/azure_bek_disk # growpart /dev/sda 4 CHANGED: partition=4 start=2054144 old: size=132161536 end=134215680 new: size=266381278 end=268435422 # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 128G 0 disk ├─sda1 8:1 0 500M 0 part /boot/efi ├─sda2 8:2 0 500M 0 part /boot ├─sda3 8:3 0 2M 0 part └─sda4 8:4 0 127G 0 part └─osencrypt 253:0 0 63G 0 crypt ├─rootvg-tmplv 253:1 0 2G 0 lvm /tmp ├─rootvg-usrlv 253:2 0 10G 0 lvm /usr ├─rootvg-optlv 253:3 0 2G 0 lvm /opt ├─rootvg-homelv 253:4 0 1G 0 lvm /home ├─rootvg-varlv 253:5 0 8G 0 lvm /var └─rootvg-rootlv 253:6 0 2G 0 lvm / sdb 8:16 0 16G 0 disk └─sdb1 8:17 0 16G 0 part /mnt sdc 8:32 0 48M 0 disk └─sdc1 8:33 0 46M 0 part /mnt/azure_bek_disk
暗号化された領域を拡張する。
[root@labrhellvm ~]# cryptsetup resize /dev/mapper/osencrypt [root@labrhellvm ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 128G 0 disk ├─sda1 8:1 0 500M 0 part /boot/efi ├─sda2 8:2 0 500M 0 part /boot ├─sda3 8:3 0 2M 0 part └─sda4 8:4 0 127G 0 part └─osencrypt 253:0 0 63G 0 crypt ├─rootvg-tmplv 253:1 0 2G 0 lvm /tmp ├─rootvg-usrlv 253:2 0 10G 0 lvm /usr ├─rootvg-optlv 253:3 0 2G 0 lvm /opt ├─rootvg-homelv 253:4 0 1G 0 lvm /home ├─rootvg-varlv 253:5 0 8G 0 lvm /var └─rootvg-rootlv 253:6 0 2G 0 lvm / sdb 8:16 0 16G 0 disk └─sdb1 8:17 0 16G 0 part /mnt sdc 8:32 0 48M 0 disk └─sdc1 8:33 0 46M 0 part /mnt/azure_bek_disk [root@labrhellvm ~]# pvs PV VG Fmt Attr PSize PFree /dev/mapper/osencrypt rootvg lvm2 a-- <63.02g <38.02g [root@labrhellvm ~]# pvresize /dev/mapper/osencrypt Physical volume "/dev/mapper/osencrypt" changed 1 physical volume(s) resized or updated / 0 physical volume(s) not resized [root@labrhellvm ~]# pvs PV VG Fmt Attr PSize PFree /dev/mapper/osencrypt rootvg lvm2 a-- <63.02g <38.02g
再起動して反映される確認する。
[root@labrhellvm ~]# pvs PV VG Fmt Attr PSize PFree /dev/mapper/osencrypt rootvg lvm2 a-- <63.02g <38.02g
変わらないので、再度PVを拡張すると、128 GiB まで拡張された。
[root@labrhellvm ~]# pvresize /dev/mapper/osencrypt Physical volume "/dev/mapper/osencrypt" changed 1 physical volume(s) resized or updated / 0 physical volume(s) not resized [root@labrhellvm ~]# pvs PV VG Fmt Attr PSize PFree /dev/mapper/osencrypt rootvg lvm2 a-- <127.02g <102.02g
root ("/") に全振りしてみる。
# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert homelv rootvg -wi-ao---- 1.00g optlv rootvg -wi-ao---- 2.00g rootlv rootvg -wi-ao---- 2.00g tmplv rootvg -wi-ao---- 2.00g usrlv rootvg -wi-ao---- 10.00g varlv rootvg -wi-ao---- 8.00g # lvextend -l 100%FREE /dev/rootvg/rootlv Size of logical volume rootvg/rootlv changed from 2.00 GiB (512 extents) to <102.02 GiB (26116 extents). Logical volume rootvg/rootlv successfully resized. # lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert homelv rootvg -wi-ao---- 1.00g optlv rootvg -wi-ao---- 2.00g rootlv rootvg -wi-ao---- <102.02g tmplv rootvg -wi-ao---- 2.00g usrlv rootvg -wi-ao---- 10.00g varlv rootvg -wi-ao---- 8.00g
最後に対象LV上のファイルシステムを拡張する。
# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 3.9G 0 3.9G 0% /dev tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 3.9G 9.1M 3.9G 1% /run tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/mapper/rootvg-rootlv 2.0G 70M 2.0G 4% / /dev/mapper/rootvg-usrlv 10G 1.5G 8.6G 15% /usr /dev/sda2 494M 153M 342M 31% /boot /dev/sda1 500M 9.9M 490M 2% /boot/efi /dev/mapper/rootvg-homelv 1014M 33M 982M 4% /home /dev/mapper/rootvg-tmplv 2.0G 33M 2.0G 2% /tmp /dev/mapper/rootvg-optlv 2.0G 140M 1.9G 7% /opt /dev/mapper/rootvg-varlv 8.0G 186M 7.9G 3% /var /dev/sdb1 16G 45M 15G 1% /mnt /dev/sdc1 42M 1.5K 42M 1% /mnt/azure_bek_disk tmpfs 783M 0 783M 0% /run/user/1000 # xfs_growfs / meta-data=/dev/mapper/rootvg-rootlv isize=512 agcount=4, agsize=131072 blks = sectsz=4096 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=524288, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=2560, version=2 = sectsz=4096 sunit=1 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 524288 to 26742784 # df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 3.9G 0 3.9G 0% /dev tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 3.9G 9.1M 3.9G 1% /run tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/mapper/rootvg-rootlv 103G 82M 102G 1% / /dev/mapper/rootvg-usrlv 10G 1.5G 8.6G 15% /usr /dev/sda2 494M 153M 342M 31% /boot /dev/sda1 500M 9.9M 490M 2% /boot/efi /dev/mapper/rootvg-homelv 1014M 33M 982M 4% /home /dev/mapper/rootvg-tmplv 2.0G 33M 2.0G 2% /tmp /dev/mapper/rootvg-optlv 2.0G 140M 1.9G 7% /opt /dev/mapper/rootvg-varlv 8.0G 184M 7.9G 3% /var /dev/sdb1 16G 45M 15G 1% /mnt /dev/sdc1 42M 1.5K 42M 1% /mnt/azure_bek_disk tmpfs 783M 0 783M 0% /run/user/1000