Rocky Linuxの仮想マシン(Azure VM)にデータディスク追加
Rocky Linuxの仮想マシン(Azure VM)へのマネージドディスク(Managed Disks)の追加手順について纏めてみました。
マネージドディスク(Managed Disks)の作成から仮想マシン(Azure VM)への追加(アタッチ)はAzure PowerShellとAzure CLIでの手順を纏めています。
Rocky Linuxでのパーティション作成(Parted)、XFSファイルシステム作成、マウントまでの手順を纏めています。
※Rocky Linux release 8.7 (Green Obsidian)の仮想マシン(Azure VM)を利用しています。
※仮想マシン(Azure VM)はStandard B1s (1 vcpu、1 GiB メモリ)(一時ディスク有)を利用しています。
Azure PowerShellを使ってデータディスクを作成、追加
公式サイトの手順を参考に進めます。
PowerShell を使用して Windows VM にデータ ディスクを接続する
今回はマネージドディスク(Managed Disks)の作成と仮想マシン(Azure VM)への追加(アタッチ)を分けて実施しています。
設定値
作成したマネージドディスク(Managed Disks)の設定値です。
test-vm-03という仮想マシン(Azure VM)にデータディスクを追加します。
項目 | 設定値 |
リソースグループ | test-rg-01 |
地域 | 東日本 |
ストレージの種類 | Standard SSD(StandardSSD_LRS) |
サイズ | test-vm-03 |
可用性ゾーン | 3 |
仮想マシン名 | test-vm-03 |
Lun | 0 |
※可用性ゾーンは仮想マシンと同じゾーンを指定します。
※Lunはデータディスクの論理ユニット番号で仮想マシン(Azure VM)内で一意である必要があります。
マネージドディスク(Managed Disks)を作成
New-AzDiskConfigとNew-AzDiskのコマンドレットを組わせて使います。
-
- New-AzDiskConfig:マネージドディスク(Managed Disks)のパラメータを設定
- SKUの設定値はSkuNameを確認します
- New-AzDisk:マネージドディスク(Managed Disks)を作成
- New-AzDiskConfig:マネージドディスク(Managed Disks)のパラメータを設定
New-AzDiskConfigでマネージドディスク(Managed Disks)の設定をします。
New-AzDiskのコマンドレットでは-Diskでマネージドディスク(Managed Disks)の設定値を指定します。
この設定値には$DiskConfig(New-AzDiskConfigで設定した内容)を指定します。
#リソースの設定値 #ディスク(Managed Disks)の設定 #ディスク(Managed Disks)をデプロイ |
※仮想マシン(Azure VM)のゾーンを指定している場合は、マネージドディスク(Managed Disks)も同じゾーンを指定する必要があります。
※ファイルに保存して実行するか、PowerShell上でコマンドレットを実行します。
Azure PowerShellの実行環境についてはこちらに纏めています。
データディスクを仮想マシンに追加(アタッチ)
仮想マシン(Azure VM)にデータディスクを追加します。
-
- Get-AzDisk:マネージドディスク(Managed Disks)のプロパティを取得
- Get-AzVM:仮想マシン(Azure VM)のプロパティを取得
- Add-AzVMDataDisk:仮想マシン(Azure VM)にデータディスクを追加
- Update-AzVM:仮想マシン(Azure VM)のプロパティを更新
Get-AzVM、Get-AzDiskでリソースのプロパティを取得します。
Add-AzVMDataDiskで仮想マシン(Azure VM)にデータディスクを追加します。
Update-AzVMで仮想マシン(Azure VM)のプロパティを更新します。
#リソースの設定値 #ディスク(Managed Disks)を仮想マシン(Azure VM)にアタッチ |
※ファイルに保存して実行するか、PowerShell上でコマンドレットを実行します。
—広告—
Azure CLIを使ってデータディスクを作成、追加
公式サイトの手順を参考に進めます。
マネージドディスク(Managed Disks)の設定値はAzure PowerShellの場合と同じです。
マネージドディスク(Managed Disks)を作成
az disk createコマンドを利用してマネージドディスク(Managed Disks)を作成します。
-
- az disk create:マネージドディスク(Managed Disks)を作成
#リソースの設定値 #ディスク(Managed Disks)をデプロイ |
※仮想マシン(Azure VM)のゾーンを指定している場合は、マネージドディスク(Managed Disks)も同じゾーンを指定する必要があります。
Azure CLIが利用できる環境でコマンドを実行します。
Azure CLIの実行環境準備についてはこちらに纏めています。
データディスクを仮想マシンに追加(アタッチ)
az vm disk attachを使って仮想マシン(Azure VM)にデータディスクを追加します。
-
- az vm disk attach:マネージドディスク(Managed Disks)を仮想マシン(Azure VM)に追加
#リソースの設定値 #ディスク(Managed Disks)を仮想マシン(Azure VM)にアタッチ |
※今回はマネージドディスク(Managed Disks)と仮想マシン(Azure VM)が同じリソースグループであった為リソース名を利用しています。公式サイトはマネージドディスク(Managed Disks)のリソースIDを使った手順になっています。
データディスク作成と追加を同時に実施
az vm disk attachコマンドを利用するとマネージドディスク(Managed Disks)の作成と仮想マシン(Azure VM)への追加を同時に実施出来ます。
–newを利用すると新規にマネージドディスク(Managed Disks)が作成されます。
ゾーンや地域(Location)の指定は必要ありません。
#リソースの設定値 #ディスク(Managed Disks)をデプロイして仮想マシン(Azure VM)にアタッチ |
Azure Portalを使った手順
Azure Portalを利用した仮想マシン(Azure VM)へのディスク(Managed Disks)追加方法についてはこちらに纏めています。
—広告—
追加したデータディスクを利用する(Rocky Linux)
公式サイトに記載の手順を参考に進めます。
データディスク追加状況を確認
lsblk、fdisk、dfコマンドを利用してデータディスクの追加状況を確認します。
/dev/sdcとしてデータディスクは認識されているがパーティションも未作成、OSからもマウントされていない状態である事が分かります。
※ls -l /dev/disk/azure/scsi1を使って確認するとデータディスクのLun番号に対応したデバイス情報が確認出来ます。
[root@test-vm-03]#
lsblk [root@test-vm-03]#
ls -l /dev/disk/azure/scsi1 [root@test-vm-03]#
df -h |
※仮想マシン(Azure VM)の一時ディスク領域が/dev/sdb1となっており/mntにマウントされている状態となっていました。
パーティション作成
仮想マシン(Azure VM)をデータディスク追加しただけでは利用出来ません。
パーティション分割、ファイルシステム作成、マウントの作業が必要になります。
Partedコマンドを利用してパーティション作成行います。
-
- parted:パーティションの作成や削除
- mklabel:パーティションテーブルのラベルを指定
- mkpart:パーティションを作成
- parted:パーティションの作成や削除
※パーティションテーブルにGPT(GUID Partition Table)を利用しています。
※追加したデータディスクのすべての領域を1つのパーティションとして利用しています。
[root@test-vm-03]# parted /dev/sdc Number Start End Size File system Name Flags (parted)
mkpart “Data Disk Partition 01" 0% 100% Number Start End Size File system Name Flags (parted) quit |
※公式サイトの手順は–scriptオプションを利用した手順になっています。scriptを利用すると引数にコマンドを指定する事で対話する事無く実行出来ます。
Warning: The resulting partition is not properly aligned for best performanceが表示される
mkpartコマンドを実行時にサイズで指定した場合に表示される事があるようです。
自分の場合は上記手順のように%指定にする事でエラーメッセージを回避する事が出来ました。
※すべての領域を割り当てる場合は開始を0、終了を-1にします。
(parted)
mkpart “Data Disk Partition 01" 0MiB -1MiB |
XFSファイルシステム作成
XFSファイルシステム作成します。
-
- mkfs:ファイルシステムの作成(フォーマット)
[root@test-vm-03]#
mkfs.xfs /dev/sdc1 —(中略)— Discarding blocks…Done. [root@test-vm-03]#
lsblk –fs /dev/sdc1 |
※この時点ではマウントされていない為、マウントポイントは空になっています。
データディスクをマウント
/datadisk01に追加したデータディスクをマウントします。
マウントする事で追加するデータディスクを利用出来るようにします。
dfコマンドでも/datadisk01が表示される事が確認出来ます。
※mkdir /datadisk01でマウントポイントとなるディレクトリを追加しています。
[root@test-vm-03]#
mkdir /datadisk01 [root@test-vm-03 ]#
findmnt –type xfs [root@test-vm-03]# df -h |
fstabに追記
mountコマンドを実行するだけではOSを再起動するとマウントが外れてしまいます。
fstabに記載する事でマウントを永続化(再起動時にもマウント)します。
UUIDを指定する事で別のディスクがマウントされる事を防ぎます。
UUIDはlsblkやコマンドなどで調べる事が出来ます。lsコマンドを使っても確認確認出来ます。
fstabに追記後にデータディスクを取り外した場合はOSが起動出来なくなります。
fstab追記時にnofailを追加する事でデータディスクを取り外してもOSが起動するようになります。
※今回の手順の場合はrootユーザーしか書き込み権限がない状態になります。適切な権限付与します。
#UUIDを調べる #fstabに追記(最後の行に追加) ###追記内容### #OS再起動して確認 |
Azure Backupについて
仮想マシン(Azure VM)のバックアップを設定していた場合に注意点があります。
将来のディスクを含めるをチェックしていない場合にはバックアップ対象となりません。
念のため確認しておいた方が良いかもしれません。
最後に
Rocky Linuxの仮想マシン(Azure VM)へのデータディスク(Managed Disks)追加手順を確認してみました。
データディスク追加(アタッチ)はオンラインでも出来ました。
今後も色々試してみたいと思います。
Windows Serverでのデータディスク追加手順はこちらに纏めています。
データディスクサイズ変更はこちらで試しています。