Rocky LinuxのAzure VMにデータディスクを追加する手順
Rocky Linuxの仮想マシン(Azure VM)へディスク(Azure Managed Disks)を追加する手順です。
Azure PowerShellとAzure CLIを使用した、ディスクの作成から仮想マシンへの追加(アタッチ)までの手順を確認しています。
Rocky Linux上でのパーティション作成(parted)、XFSファイルシステムの作成、マウントまでの手順についても紹介しています。
※本記事内では、Azure Virtual Machines(Azure VM)を仮想マシンとして表記しています。
※本記事内では、Azure Managed Disksをディスクとして表記しています。
※Rocky Linux release 8.7 (Green Obsidian)の仮想マシンを利用しています。
※パーティションテーブルには、GPT(GUID Partition Table)を利用しています。
Azure PowerShellを使用したデータディスクの作成から仮想マシンへの追加までの手順
公式サイトの手順を参考に進めます。
PowerShell を使用して Windows VM にデータ ディスクを接続する
今回は、ディスクの作成と仮想マシンへの追加(アタッチ)を分けて実施しています。
データディスクの設定値
新規作成するデータディスクの設定値です。
test-vm-03という仮想マシンにデータディスクを追加します。
項目 | 設定値 |
リソースグループ | test-rg-01 |
地域 | 東日本 |
ストレージの種類 | Standard SSD(StandardSSD_LRS) |
サイズ | test-vm-03 |
可用性ゾーン | 3 |
仮想マシン名 | test-vm-03 |
Lun | 0 |
※可用性ゾーンは、仮想マシンと同じゾーンを指定する必要があります。
※LUNはデータディスクの論理ユニット番号であり、仮想マシン内で一意である必要があります。
データディスクを新規作成
New-AzDiskConfigとNew-AzDiskのコマンドレットを組み合わせて使用します。
-
- New-AzDiskConfig:ディスクのパラメータを設定します
- SKUの設定値はSkuNameで確認します
- New-AzDisk:ディスクを新規作成します
- New-AzDiskConfig:ディスクのパラメータを設定します
New-AzDiskConfigでディスクを設定します。
New-AzDiskのコマンドレットでは-Diskでディスクの設定値を指定します。
この設定値には$DiskConfig(New-AzDiskConfigで設定した内容)を指定します。
#リソースの設定値 #ディスク(Managed Disks)の設定 #ディスク(Managed Disks)をデプロイ |
※仮想マシンのゾーンを指定している場合は、ディスクも同じゾーンを指定する必要があります。
※ファイルに保存して実行するか、PowerShell上でコマンドレットを実行します。
Azure PowerShellの実行環境についてはこちらに纏めています。
データディスクを仮想マシンに追加(アタッチ)
仮想マシンにデータディスクを追加します。
-
- Get-AzDisk:ディスクのプロパティを取得
- Get-AzVM:仮想マシンのプロパティを取得
- Add-AzVMDataDisk:仮想マシンにデータディスクを追加
- Update-AzVM:仮想マシンのプロパティを更新
Get-AzVM、Get-AzDiskでリソースのプロパティを取得します。
Add-AzVMDataDiskで仮想マシンにデータディスクを追加します。
Update-AzVMで仮想マシンのプロパティを更新します。
#リソースの設定値 #ディスク(Managed Disks)を仮想マシンにアタッチ |
※ファイルに保存して実行するか、PowerShell上でコマンドレットを直接実行します。
—広告—
Azure CLIを使用したデータディスクの作成から仮想マシンへの追加までの手順
公式サイトの手順を参考に進めます。
ディスクの設定値は、Azure PowerShellの場合と同じです。
データディスクを新規作成
az disk create コマンドを利用して、新しいディスクを作成します。
-
- az disk create:ディスクを作成
#リソースの設定値 #ディスク(Managed Disks)をデプロイ |
※可用性ゾーンは、仮想マシンと同じゾーンを指定する必要があります。
※LUNはデータディスクの論理ユニット番号であり、仮想マシン内で一意である必要があります。
Azure CLIが利用できる環境でコマンドを実行します。
Azure CLIの実行環境準備の手順については、こちらで紹介しています。
データディスクを仮想マシンに追加(アタッチ)
az vm disk attach コマンドを使用して、仮想マシンにデータディスクを追加します。
-
- az vm disk attach:ディスクを仮想マシンに追加
#リソースの設定値 #ディスク(Managed Disks)を仮想マシンにアタッチ |
※今回は、ディスクと仮想マシンが同じリソースグループ内にあったため、リソース名を利用しています。公式サイトの手順では、ディスクのリソースIDが使用されています。
データディスクの新規作成と仮想マシンへの追加を同時に実施
az vm disk attach コマンドを利用すると、ディスクの作成と仮想マシンへの追加を同時に実施できます。
–new を利用すると、新規にディスクが作成されます。
ゾーンや地域 (Location) の指定は必要ありません。
#リソースの設定値 #ディスク(Managed Disks)をデプロイして仮想マシンにアタッチ |
Azure Portalを使ったデータディスク追加手順
Azure Portalを利用した仮想マシンへのデータディスク追加手順については、こちらで紹介しています。
—広告—
仮想マシンに追加したデータディスクをRocky Linuxで利用するための手順
公式サイトの手順を参考に進めます。
OS上でデータディスク追加状況を確認
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 |
※仮想マシンの一時ディスク領域は /dev/sdb1 となっており、/mnt にマウントされている状態でした。
パーティションを作成
仮想マシンにデータディスクを追加しただけでは、すぐに利用することはできません。
パーティション分割、ファイルシステムの作成、マウントといった作業が必要になります。
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]# df -h |
fstabに追記してマウントを永続化
mount コマンドを実行するだけでは、OS を再起動するとマウントが解除されてしまいます。
/etc/fstab に記載することで、マウントを永続化(再起動時にもマウント)できます。
UUID を指定することで、別のディスクが誤ってマウントされるのを防げます。
UUID は lsblk コマンドなどで調べることができます。ls コマンドでも確認できます。
fstab に追記した後、データディスクを取り外すと OS が起動できなくなる場合があります。
fstab 追記時に nofail オプションを追加することで、データディスクを取り外しても OS が起動できるようになります。
※今回の手順では、root ユーザーのみが書き込み権限を持つ状態となっています。適切な権限を付与します。
#UUIDを調べる #fstabに追記(最後の行に追加) ###追記内容### #OS再起動して確認 |
データディスクを追加した場合のAzure Backup設定に関する注意点
仮想マシンのバックアップを設定している場合、注意点があります。
将来のディスクを含めるにチェックを入れていない場合、新たに追加したディスクはバックアップの対象になりません。
利用している場合は、念のため、バックアップ設定を確認しておきます。
最後に
Rocky Linux の仮想マシンにデータディスクを追加する手順を確認しました。
データディスクの追加(アタッチ)は、オンラインでも可能で、とても簡単に設定できました。
引き続き、いろいろ試してみたいと思います。
Windows Serverの仮想マシンへのデータディスク追加手順は、こちらで紹介しています。
データディスクのサイズ変更手順は、こちらで紹介しています。