A certain engineer "COMPLEX"

開発メモ その210 CentOS7 on Gen2 Hyper-V VM のディスクをリサイズする

検索してもなかなか出てこない+ビクビクしながら実施するのは嫌なので

Introduction


掲題通りなんですが、Ubuntuだとここまで面倒ではなくて、手順は広まっている。
けど、CentOS7のファイルシステムにXFSが採用された事で色々変わったのでしょう。

  • インストール後、rootまたはhomeが小さくて困った、サイズを変更したい
  • 拡大は良いが縮小するために一度パーティションの削除が必要で困った

こういう事例があります。
はい、私です。業務ではまりました。

忘れないように、見返せるようにメモをとります。

How to?


まず直前の状態。

ここからリサイズを実施。
まずシャットダウン。

1. Hyper-Vからディスク拡張

これは簡単です。
GUIからどうぞ。
今回は20GBから30GBに拡張しました。

2. ディスクの状態を確認

はい、何も変わっていません。

3. partedでディスクを修正

このままだとフリーな領域が見えませんので、partedで修正します。

対話形式で処理を進めます。
パーティションを修正するので、pを押下すると、バックアップGPTテーブルがディスクの終端にありません。 という警告が出ます。
無論、ディスクを拡張したからです。
修正するかと聞かれますのでs、Fixと入力します。
さらに /dev/sda に利用可能なスペースのすべてが使用されているわけではないようです。 という警告が出ます。
修正するかと聞かれますのでs、Fixと入力します。

修正が実施され、ディスクの情報が出力されます。
ここで

Disk /dev/sda: 32.2GB

の部分の数値を記録します。
後から使用します。
この数値がHyper-Vで拡張したディスクサイズになっています。

4. resizepartで実際にリサイズ

同じくpartedのコマンドの一つresizepartでパーティションのサイズを変更します。
修正対象は、3つめのパーティションになります。
そして、パーティションの終端を指定します。つまり、先ほどのディスクサイズを指定します。

リサイズ後、pコマンドで確認します。

しっかりと、サイズが増えていることがわかります。
qを押下してpartedを終了しします。

5. pvresizeで物理ボリュームをリサイズ

続いて、物理ボリュームのリサイズ。
修正前はこうなります。

修正対象の物理ボリュームを指定して、pvresizeを実行するだけで、最大まで物理ボリュームを拡張します。

空き領域が増えたことがわかります。

6. lvextendで論理ボリュームをリサイズ

これで最後です。
先ほど拡張した物理ボリューム内のデバイスマッパーが割り当てたデバイスを拡張します。
つまり、/dev/sda3 配下のデバイスになります。
この関係はlsblkで確認できます。

ここでは、

  • centos-root
  • centos-swap

を拡張できます。
片方に空き領域を全部足してもイイですし、均等に配分しても構いません。
ここでは、10:0でrootに配分します、というかswapにはlvextendで拡張できません。
fsadm: Filesystem "swap" on device "/dev/mapper/centos-swap" is not supported by this tool. って言われて怒られますので。

指定は、現在の空き領域の何%を指定したデバイスに追加するか、という意味になります。
今回は全部を配分するので100%を指定しました。

7. 確認

こうなりました。
無事に10GB増えていることがわかります。

コメントを残す

メールアドレスが公開されることはありません。

%d人のブロガーが「いいね」をつけました。