Azure上に構築した仮想マシン(CentOS 7)のOS用パーティションのディスクを拡張したいなー、と思ったのでサクッと実施してみました。その手順をメモ的に残しておきたいと思います。
種類「Standard HDD」として作成した 30GiB のディスクがありますので、今回はこれを128GiBへ拡張します。
Azureポータルで実施する作業
まずはAzureポータル上からディスクを拡張しますので、ポータルから該当の仮想マシンを停止させます。
仮想マシンの停止後にメニューから「Virtual Machines ➡ 対象の仮想マシン ➡ ディスク ➡ 該当ディスク」をクリックします。
ディスク管理画面が表示されるので「構成」をクリック。
「サイズ」欄に拡張したいサイズを入力して「保存」をクリックします。ここでもし仮想マシンが停止していなければサイズの変更はできません。
変更後、Azureポータル上で問題なくディスクサイズが拡張されていることを確認します。
確認後に仮想マシンを起動します。起動にはいつも以上にしばらく時間がかかります。
OS上で実施する作業
続いてCentOS 7の仮想マシンにSSHでログインして拡張作業を行います。
dfコマンドで対象のパーティションを確認。
$ sudo su - # df -h ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/sda2 30G 7.7G 22G 26% /
今回は sda2 なのでディスク的には sda となります。
続いてfdiskコマンドで該当のディスクが正常に拡張され128GiBとなっていることを確認します。
# fdisk -l Disk /dev/sda: 137.4 GB, 137438953472 bytes, 268435456 sectors
問題なく拡張されている感じ。
というわけでfdiskコマンドでパーティションの削除→作成をして/ボリュームの再作成を行います。
# fdisk /dev/sda
fdiskコマンドは下記の順番で実施。(詳細な表示は端折ります)
Command (m for help): p ※現在のパーティション状況を確認 Command (m for help): d ※パーティションを削除 Partition number (1,2, default 2): 2 ※削除するパーティション番号を指定 Command (m for help): n ※パーティションを新規作成 パーティション番号 (2-4, default 2): 2 ※作成するパーティション番号を指定 最初 sector (1026048-268435455, 初期値 1026048): ※そのままエンター Last sector, +sectors or +size{K,M,G} (1026048-268435455, 初期値 268435455): ※そのままエンター Select (default p): p ※作成後のパーティション状況を確認 Command (m for help): w ※変更を加えたパーティション情報を保存
これでfdiskコマンドでの再作成は完了です。
一旦サーバを再起動します。
# reboot
再起動完了後、xfs_growfsコマンドでパーティションを拡張します。
$ sudo su - # xfs_growfs /dev/sda2 # df -h
正常にsda2のパーティションが拡張されているはずです。
以上の手順がAzureの仮想マシン(CentOS)のOSパーティションのディスクを拡張する手順となります。