こんにちは、SQL Server サポートです。
Azure の SQL VM(SQL Server on Windows Server) で FCI 環境を構成している場合のディスク拡張方法についてご紹介します。
Azure の SQL VM(SQL Server on Windows Server)をご利用中、SQL Server のサーバープロパティの[データベースの既定の場所]で設定しているドライブのストレージを拡張したくなった場合、Azure Portal の SQL 仮想マシンの[ストレージの構成]メニューからストレージの拡張が可能です。
しかしながら、FCI 構成を組んでいる場合、 SQL IaaS Agent 拡張機能の仕様上、軽量モードのみのインストールしかサポートされていないため、SQL 仮想マシンの[ストレージの構成]メニューの機能がご利用いただけません。
そのため、Azure Portalから拡張したいサイズのディスクを追加し、記憶域スペースを再作成することで拡張する手順をご紹介します。
■ 記憶域スペースを再作成する
手順の流れとして、既存の記憶域プールや仮想ディスクを残した状態で、既存のドライブレターとドライブ文字を変更し、ディスクを新規追加して記憶域プールと仮想ディスクを作成します。
【概要】
事前準備 新規にデータディスクを作成、追加 仮想ディスクの作成 新規のディスクにファイルをコピーして、SQL Server サービスを起動 不要なデータディスクを削除■前提条件
Azure 共有ディスクを利用して FCI を構成した環境を前提としています。
その他の方法や 3rd パーティ製品を利用して構成した場合には以降の手順は適用できませんので事前にご確認ください。
フェールオーバー クラスター インスタンス – SQL Server on Azure VMs | Microsoft Docs
A. 事前準備
事前準備として、現在の設定の確認と既存ディスク上にあるドライブレターを一時的に変更するためSQL Serverを止める必要があります。
管理者ユーザにて VM にログインし、拡張したいディスクのドライブ文字・ドライブレターを確認
同じドライブ文字を指定するため、拡張したいディスクのドライブ文字を確認し、キャプチャやテキストメモに残しておきます。 PowerShell を起動し、Get-Virtualdisk コマンドを利用して、仮想ディスクのストライプサイズを確認
仮想ディスクのストライプサイズは、SQL VM のデプロイ時に「全般」、「トランザクション処理」、「データウェアハウス」の選択により決定されます。
ディスクを再作成する際に同じストライプサイズを設定する必要があるため、現在のストライプサイズを確認し、キャプチャやテキストメモに残しておきます。
なお、「トランザクション処理」の場合は64KB(65536Byte) 、「全般」、「データウェアハウス」の場合は256KB(262144Byte) となります。
実行例:Get-Virtualdisk | ft friendlyName, interleave
出力結果(サンプル):
friendlyName interleave ———— ———- SQLVMVirtualDisk1 65536