Rocky LinuxのAzure VMでのデータディスク拡張手順

2020-03-22Azure,Managed Disks,Rocky Linux/CentOS,Virtual Machines

Rocky Linuxの仮想マシン(Azure VM)のデータディスクサイズ変更手順です。
作業は仮想マシンがオンラインで実行しています。

仮想マシンのデータディスクの拡張は、Azure Portal、Azure CLI、Azure PowerShellそれぞれの方法で手順を確認しています。
デバイス再スキャン、パーティション拡張、ファイルシステム拡張といったRocky Linuxでのディスク拡張手順も確認しています。

Windowsでのディスク拡張手順は、こちらで紹介しています。

※本記事では、Azure Virtual Machines(Azure VM)を仮想マシンとして表記しています。
※本記事では、Azure Managed Disksをディスクとして表記しています。
※Rocky Linuxは8.7を利用しています。
※手順確認は、仮想マシンがオンラインの状態で実施しています。
※必ずデータのバックアップを取得してから実施します。

スポンサーリンク

仮想マシンのデータディスクサイズ拡張手順

データディスクの拡張はオンラインで実行可能

データディスクの拡張は、仮想マシンがオンライン(実行中)の状態で行うことができます。

Azure マネージド ディスクの拡張

※OSディスクのサイズを拡張する場合は、仮想マシンが割り当て解除状態である必要があります。

データディスクの縮小はサポートされていない

ディスクは拡張のみサポートされています。
OSディスク、データディスクを問わず、縮小はサポートされていません。

Azure IaaS VM ディスクと Premium マネージド ディスクおよびアンマネージド ディスクについてよく寄せられる質問

※ディスクの種類の変更はサポートされています。ディスクの種類を変更する場合は、仮想マシンが割り当て解除状態である必要があります。

データディスクの追加手順

データディスクの追加手順については、こちらで紹介しています。
こちらの記事で追加したデータディスクを利用して、拡張手順を確認します。

※ディスクのリソース名は、test-vm-03-datadisk-01(リソースグループ: test-rg-01)です。

Azure Portalを使ってデータディスクを拡張

Azure Portalを使ってデータディスクを拡張します。
4GiBから8GiBに拡張します。

データディスクを拡張
仮想マシンの左側メニューでディスクを選択します。
拡張対象のデータディスクを選択します。

拡張したいサイズを選択して保存します。
固定のサイズ以外の任意のサイズを指定する場合は、カスタムディスクサイズに任意のサイズを入力します。

ディスクサイズが8GiBに拡張されていることを確認できます。

Azure CLIやAzure PowerShellを使ってデータディスクを拡張

Azure CLIやAzure PowerShellの実行環境

Azure CLIやAzure PowerShellの実行環境の準備手順については、こちらで紹介しています。

Azure CLIを使ってデータディスクを拡張

az disk updateコマンドを利用してディスクを拡張します。
–size-gbオプションで拡張後のサイズを指定します。

#リソースの設定値
$RgName = 'test-rg-01’ #リソースグループ名
$DataDiskName = 'test-vm-03-datadisk-01’ #ディスク名
$DataDiskSize = 16 #ディスクサイズ

#ディスクのサイズを変更
az disk update –name $DataDiskName –resource-group $RgName –size-gb $DataDiskSize

※ディスクサイズを8GiBから16GiBに拡張しています。

データディスク拡張後の確認

az disk showコマンドを利用して、ディスクの設定値を確認します。
16GiBに拡張されていることが確認できます。

#リソースの設定値
$RgName = 'test-rg-01’
$DataDiskName = 'test-vm-03-datadisk-01’

#ディスクの情報を取得
az disk show –name $DataDiskName –resource-group $RgName

ーーー実行結果抜粋ーーー
“diskSizeGB": 16, #←16GiBに拡張されている

Azure PowerShellを使ってデータディスクを拡張

New-AzDiskUpdateConfigとUpdate-AzDiskコマンドレットを利用してディスクを拡張します。
New-AzDiskUpdateConfigで更新したディスクのサイズを、Update-AzDiskで反映させます。

#リソースの設定値
$RgName = 'test-rg-01’ #リソースグループ名

$DataDiskName = 'test-vm-03-datadisk-01’ #ディスク名
$DataDiskSize = 32 #ディスクサイズ

#ディスクの設定
$DiskUpdateConfig = New-AzDiskUpdateConfig -DiskSizeGB $DataDiskSize

#ディスクの設定を更新
Update-AzDisk -ResourceGroupName $RgName -DiskName $DataDiskName -DiskUpdate $DiskUpdateConfig

※ディスクサイズを16GiBから32GiBに拡張しています。

データディスク拡張後の確認

Get-AzDiskコマンドレットを利用して、ディスクの設定値を確認します。

    • Get-AzDisk:ディスクのプロパティを取得

#リソースの設定値
$RgName = 'test-rg-01’ #リソースグループ名

$DataDiskName = 'test-vm-03-datadisk-01’ #ディスク名

#ディスクの情報を取得
Get-AzDisk -ResourceGroupName $RgName -DiskName $DataDiskName

ーーー実行結果抜粋ーーー
DiskSizeGB : 32 #←32GiBに拡張されている

—広告—

Rocky Linuxで拡張したデータディスクを認識させる

公式サイトの手順を参考に進めます。

Linux VM の仮想ハード ディスクを拡張する

データディスク拡張後の状態

OS上でディスクがどのように見えているかを確認します。
ブロックデバイスとしてもファイルシステムとしても、拡張前のサイズである4GiBのままであることが分かります。

    • lsblk:ブロックデバイスの情報を一覧表示
    • df:マウントされている場所の空き領域を表示

[root@test-vm-03]# lsblk /dev/sdc
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdc 8:32 0 4G 0 disk
 sdc1 8:33 0 4G 0 part /datadisk01

[root@test-vm-03]# df -h |grep sdc
Filesystem Size Used Avail Use% Mounted on
/dev/sdc1  4.0G   61M   4.0G 2% /datadisk01

※追加したデータディスクは /dev/sdc となっています。データディスクのデバイス確認などについては、こちらを参照してください。

デバイスを再スキャン

ディスクが更新されたことをOSに認識させるため、再スキャンを行います。
再スキャンファイルに1を入力します。

再スキャンにより、ブロックデバイスとして拡張されたことが認識されます。

[root@test-vm-03]# echo 1 | tee /sys/class/block/sdc/device/rescan
1
[root@test-vm-03]# lsblk /dev/sdc
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdc 8:32 0 32G 0 disk
 sdc1 8:33 0 4G 0 part /datadisk01

※OSを再起動すると再スキャンされます。
※データディスクが /dev/sdc の場合です。追加したデータディスクに合わせて、sdc の部分は適宜置き換えてください。

パーティションを拡張

未使用のディスク領域を利用するために、パーティションを拡張します。
partedコマンドを利用してパーティションを拡張します。

resizepart では、拡張対象のパーティションと割り当てる領域を指定します。

[root@test-vm-03]# parted /dev/sdc

GNU Parted 3.2
Using /dev/sdc
Welcome to GNU Parted! Type 'help’ to view a list of commands.
(parted) print
Warning: Not all of the space available to /dev/sdc appears to be used, you can
fix the GPT to use all of the space (an extra 58720256 blocks) or continue with
the current setting?
Fix/Ignore? Fix  #←FIXを選択する
Model: Msft Virtual Disk (scsi)
Disk /dev/sdc: 34.4GB #←拡張したディスクサイズになっている
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number Start End Size File system Name Flags
1 1049kB 4294MB 4293MB xfs Data Disk Partition 01 #←パーティションは変わっていない

(parted) resizepart 1 100%
Warning: Partition /dev/sdc1 is being used. Are you sure you want to continue?
Yes/No? Yes
(parted) print
Model: Msft Virtual Disk (scsi)
Disk /dev/sdc: 34.4GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number Start End Size File system Name Flags
1 1049kB 34.4GB 34.4GB xfs Data Disk Partition 01 #←パーティションが拡張されている

(parted) quit

※GPT(GUID Partition Table)に関する警告(Warning)が表示された場合は、FIXを選択します。
※すべての未使用領域を既存のパーティション1に割り当てています。

ファイルシステムを拡張

XFSファイルシステムを拡張します。
xfs_growfsを利用して場合は、マウントした状態でファイルシステムを拡張できます。

[root@test-vm-03]# lsblk /dev/sdc
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdc 8:32 0 32G 0 disk
 sdc1 8:33 0 32G 0 part /datadisk01 #←パーティションが拡張されている

[root@test-vm-03]# df -h |grep sdc
Filesystem Size Used Avail Use% Mounted on
/dev/sdc1  4.0G   61M   4.0G 2% /datadisk01 #←拡張されていない

[root@test-vm-03]# xfs_growfs -d /datadisk01
meta-data=/dev/sdc1 isize=512 agcount=4, agsize=262016 blks
—中略—
data blocks changed from 1048064 to 8388347

[root@test-vm-03]# df -h |grep sdc
Filesystem Size Used Avail Use% Mounted on
/dev/sdc1   32G   263M  32G  1% /datadisk01 #←拡張されている

—広告—

最後に

仮想マシンのデータディスクサイズ変更手順について、Rocky Linuxの場合を例にまとめてみました。
すべての作業がオンライン(仮想マシン実行中)の状態でできることが確認できました。

引き続き、いろいろ試してみたいと思います。

Windowsでのディスク拡張手順については、こちらで紹介しています。

Windowsでのデータディスク追加手順については、こちらで紹介しています。

マネージドディスク種類とIOPS測定については、こちらで紹介しています。

スポンサーリンク