LVM環境下での仮想ディスク伸長操作
概要
仮想マシン環境にてテンプレートをよく構築するのですが、設定内容も物理構成も出来るだけ小さくしています。仮想マシンならではの「あとからディスク増量」が可能ですので、仕様や必要に応じて増量すればイイジャン!ただ、あとからディスク増量を行うとWindows系であれば全部オンラインでGUI上で可能なのですが、RHEL系は若干面倒です。コピペレベルで出来るように手順を残すことにしました。
コマンドをミスるとデータが消し飛ぶので注意。
数字がたくさん表示されますが、もちろん環境によってバラバラですので適宜読み替えて下さい。今回は例として、Hyper-Vの第2世代仮想マシンとして、LVMにて40GBディスクをext4またはxfsでrootに割り当てているRedHat環境を、100GBに増量した時の対応内容を記載します。
仮想ディスクの伸長
Hyper-Vの既存仮想ディスクの拡張機能を使って物理的なサイズを変更します。今回は40GBから100GBにマシマシしました。
LVMボリュームの伸長
OSインストールメディアを起動し、レスキューモードのシェルを利用して拡張していきます。
# parted
> unit s
> ptint free
GPTが保持しているディスクサイズと実際のディスクサイズが合っていない旨の警告が表示された場合はFixする。
> Fix
※下記結果をどこかに控えておくこと。
Number Start End Size FileSystem Name Flags
34s 2047s 2014s Free Space
1 2048s 526335s 524288s fat16 EFI System Partition boot, esp
2 526336s 2623487s 2097152s xfs
3 2623488s 83884031s 81260544s lvm
83884032s 209715166s 125831135s Free Space
※既存のLVMボリューム情報を削除する。
※このコマンドだけだとパーティション情報が消えるだけであって、データ自体は消えていないのでビビらないように。
> rm 3
※新たにLVMパーティションを切りなおす。ついでに末尾セクタまで伸ばす
> mkpart " " 先頭セクタ 末尾セクタ
例:
> mkpart " " 2623488s 209715166s
> print free
Number Start End Size FileSystem Name Flags
34s 2047s 2014s Free Space
1 2048s 526335s 524288s fat16 EFI System Partition boot, esp
2 526336s 2623487s 2097152s xfs
3 2623488s 209715166s 207091679s
> set LVMパーティション番号 lvm on
例:
> set 3 lvm on
> print free
Number Start End Size FileSystem Name Flags
34s 2047s 2014s Free Space
1 2048s 526335s 524288s fat16 EFI System Partition boot, esp
2 526336s 2623487s 2097152s xfs
3 2623488s 209715166s 207091679s lvm
> quit
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda3 LogVol00 lvm2 a-- <38.75g 0
# pvresize 対象のLVM物理ボリューム
例:
# pvresize /dev/sda3
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda3 LogVol00 lvm2 a-- <98.75g 60.00g
# vgchange -a y
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda3 LogVol00 lvm2 a-- <38.75g 60.00g
# lvextend -l +100%FREE 対象のLVM論理ボリューム
例:
# lvextend -l +100%FREE /dev/LogVol00/root
# lvs
LV VG Attr LSize ...
root LogVol00 -wi-a----- <98.75g ...
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda3 LogVol00 lvm2 a-- <98.75g 0
ファイルシステムの伸長【EXT4の場合】
EXT4の場合はレスキューモードで拡張します。
# fsck.ext4 -f 対象のLVM論理ボリューム
# resize2fs 対象のLVM論理ボリューム
例:
# fsck.ext4 -f /dev/LogVol00/root
# resize2fs /dev/LogVol00/root
# reboot
再起動してメディアを抜き、通常のOSを起動して下さい。
以下はOS起動状態での作業です。
# df -Th
ファイルシス タイプ サイズ 使用 残り 使用% マウント位置
/dev/mapper/LogVol00-root ext4 99G 16G 84G 16% /
/dev/sda2 ext4 1014M 193M 822M 20% /boot
/dev/sda1 vfat 256M 5.8M 250M 3% /boot/efi
ファイルシステムの伸長【XFSの場合】
XFSの場合はOSを起動してオンライン状態で拡張するため、レスキューモードでの作業は終了です。再起動してメディアを抜き、通常のOSを起動して下さい。
# reboot
以下はOS起動状態での作業です。
# xfs_growfs 対象のLVM論理ボリューム
例:
# xfs_growfs /dev/LogVol00/root
# df -Th
ファイルシス タイプ サイズ 使用 残り 使用% マウント位置
/dev/mapper/LogVol00-root xfs 99G 16G 84G 16% /
/dev/sda2 xfs 1014M 193M 822M 20% /boot
/dev/sda1 vfat 256M 5.8M 250M 3% /boot/efi
これで無事伸長完了です!ヤッター
Author And Source
この問題について(LVM環境下での仮想ディスク伸長操作), 我々は、より多くの情報をここで見つけました https://qiita.com/SkyLaptor/items/c04da5f73f612563cbea著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .