Azure VM(Rocky Linux)のデータディスクを拡張

2020-03-22Azure,Managed Disks,RockyLinux/CentOS,Virtual Machine

仮想マシン(Azure VM)のデータディスクサイズ変更手順についてRocky Linuxの場合を例に纏めてみました。

    • データディスク拡張手順
      • Azure Portal
      • Azure CLI
      • Azure PowerShell
    • Rocky Linuxでのディスク拡張手順
      • デバイス再スキャン
      • パーティション拡張
      • ファイルシステム拡張

Windowsでのディスク拡張手順はこちらに纏めています。

※Rocky Linuxは8.7を使用しています。
※すべてオンラインの状態で実行しています。

スポンサーリンク

Azure VMのデータディスクサイズ拡張

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

データディスク拡張は仮想マシン(Azure VM)がオンライン(実行中)の状態で出来ます。

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

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

縮小はサポートされていない

マネージドディスク(Managed Disks)は拡張のみがサポートされています。
OSディスク、データディスク関わらず縮小はサポートされていません。

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

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

データディスク追加手順

データディスクの追加手順についてはこちらに纏めています。
今回は追加したデータディスク(test-vm-03-datadisk-01(リソースグループ:test-rg-01))を利用して拡張手順を確認します。

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

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

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

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

サイズが8GiBに拡張されている事が確認出来ます。

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

実行環境

Azure CLIやAzure PowerShellの実行環境準備についてはこちらに纏めています。

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

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

    • az disk update:マネージドディスク(Managed Disks)の設定を更新

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

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

※8GiBから16GiBに拡張しています。

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

az disk showコマンドを利用してマネージドディスク(Managed Disks)の設定値を確認します。
16GiBに拡張されている事が確認出来ます。

    • az disk show:マネージドディスク(Managed Disks)の設定値を確認

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

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

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

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

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

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

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

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

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

※16GiBから32GiBに拡張しています。

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

Get-AzDiskコマンドレットを利用するとマネージドディスク(Managed Disks)設定値を確認出来ます。

    • Get-AzDisk:マネージドディスク(Managed Disks)のプロパティを取得

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

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

#ディスク(Managed Disks)の情報を取得
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を再起動すると再スキャンされます。
※データディスクが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 #←拡張されている

—広告—

最後に

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

今後も色々試してみたいと思います。

※デバイスを間違えないように注意しましょう
※バックアップは取ってから実行しましょう。

Windowsでのディスク(Managed Disks)拡張手順についてはこちらに纏めています。

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

マネージドディスク(Managed Disks)種類やIOPS測定などについてはこちらに纏めています。

スポンサーリンク