目次
EC2上で稼働しているSQLServerをAmazon FSx for NetApp ONTAPとSnapCenterを使用してバックアップする機会がありましたので手順を整理して記事として残しておきます。
この記事ではONTAPストレージの設定~SQLServerのインストールまでを記載します。
SnapCenter
SnapCenterとはONTAPストレージで稼働しているデータベースやファイルシステムのバックアップ・リストアを一元管理できるソフトウェアです。
SAPシステムで利用されるSQLServer,Oracle,SAP HANAはもちろんですがMySQL,Postgres,MongoDBなどのOSSデータベースにも対応、またカスタムプラグインを使用して任意のアプリケーションを組み込むことも可能です。
構成情報
今回構築した環境の構成情報です。
データベースサーバー | SQLServerを稼働させるデータベースサーバ OS:Windows Server 2022 Datacenter EC2:m5.2xlarge(8vCPU,32GiB MEM) SQLServer:SQLServer2019(Evaluation) |
NetApp ONTAPストレージ | SQLServerのデータベースを格納するストレージ Single-AZの最小構成で構築 |
SnapCenterサーバー | SnapCenterを稼働させるサーバー OS:Windows Server 2022 Datacenter EC2:t3.xlarge(4vCPU,16GiB MEM) SnapCenter:Ver5.0 |
構成イメージは以下です。
設定作業
Amazon FSx for NetApp ONTAPの構築
まずはファイルシステムを作成します。
aws fsx create-file-system \
--file-system-type ONTAP \
--storage-capacity 1024 \
--security-group-ids <セキュリティグループID> \
--subnet-ids <サブネットID> \
--ontap-configuration DeploymentType=SINGLE_AZ_1,ThroughputCapacity=128,AutomaticBackupRetentionDays=0,FsxAdminPassword=<fsxadminのパスワード>
次にSVM(ストレージ仮想マシン)を作成します。
aws fsx create-storage-virtual-machine \
--file-system-id <ファイルシステムのID> \
--name fsx-1 \
--svm-admin-password <vsadminのパスワード> \
--root-volume-security-style NTFS
最後にボリュームを作成します。
■データファイル格納用ボリューム
aws fsx create-volume \
--volume-type ONTAP \
--name vol1 \
--ontap-configuration JunctionPath=/vol1,SecurityStyle=NTFS,SizeInMegabytes=800000,StorageEfficiencyEnabled=false,StorageVirtualMachineId=<SVMのID>,TieringPolicy={Name=NONE},OntapVolumeType=RW,SnapshotPolicy=none,VolumeStyle=FLEXVOL
■トランザクションログ格納用ボリューム
aws fsx create-volume \
--volume-type ONTAP \
--name vol2 \
--ontap-configuration JunctionPath=/vol2,SecurityStyle=NTFS,SizeInMegabytes=200000,StorageEfficiencyEnabled=false,StorageVirtualMachineId=<SVMのID>,TieringPolicy={Name=NONE},OntapVolumeType=RW,SnapshotPolicy=none,VolumeStyle=FLEXVOL
iSCSI接続用のLUN作成
ONTAPストレージにfsxadminユーザでSSH接続します。
ssh fsxadmin@<SVMの管理エンドポイントのIP>
LUNを作成します。
■データファイル格納用LUN
lun create -vserver fsx-1 -path /vol/vol1/lun1 -size 700G -ostype windows_2008 -space-allocation enabled
■トランザクションログ格納用LUN
lun create -vserver fsx-1 -path /vol/vol2/lun1 -size 150G -ostype windows_2008 -space-allocation enabled
作成したLUNを確認します。
lun show
Vserver Path State Mapped Type Size
--------- ------------------------------- ------- -------- -------- --------
fsx-1 /vol/vol1/lun1 online unmapped windows_2008
700GB
fsx-1 /vol/vol2/lun1 online unmapped windows_2008
150GB
2 entries were displayed.
データベースサーバー(Windows)のiSCSI設定
データベースサーバで管理者権限でPowerShellを起動します。
MSiSCSI(Microsoft iSCSI Initiator Service)のサービスの起動と自動起動を有効化します。
■起動
Start-Service MSiSCSI
■自動起動有効化
Set-Service -Name msiscsi -StartupType Automatic
iSCSIイニシエーター名を確認します。
ここで表示されたイニシエーター名は後ほどONTAPストレージ側の設定で使用するので控えておきます。
(Get-InitiatorPort).NodeAddress
Multipath-IO
(MPIO)をインストールします。
Install-WindowsFeature Multipath-IO
データベースサーバのOSを再起動します。
イニシエーターグループの作成とLUNのマッピング
ONTAPストレージにfsxadminユーザでSSH接続します。
ssh fsxadmin@<SVMの管理エンドポイントのIP>
イニシエーターグループを作成します。
lun igroup create -vserver fsx-1 -igroup <イニシエーターグループ名> -initiator <データベースサーバのイニシエーター名> -protocol iscsi -ostype windows
作成したイニシエーターグループを確認します。
lun igroup show
Vserver Igroup Protocol OS Type Initiators
--------- ------------ -------- -------- ------------------------------------
fsx-1 group-1 iscsi windows iqn.1991-05.com.microsoft:ec2amaz-fo1t4fq
イニシエーターグループにLUNをマッピングします。
■データファイル格納用LUNのマッピング
lun mapping create -vserver fsx-1 -path /vol/vol1/lun1 -igroup group-1 -lun-id 01
■トランザクションログ格納用LUNのマッピング
lun mapping create -vserver fsx-1 -path /vol/vol2/lun1 -igroup group-1 -lun-id 02
マッピングされたことを確認します。
■データファイル格納用LUNのマッピング確認
lun show -path /vol/vol1
/lun1
Vserver Path State Mapped Type Size
--------- ------------------------------- ------- -------- -------- --------
fsx-1 /vol/vol1/lun1 online mapped windows_2008
700GB
■トランザクションログ格納用LUNのマッピング確認
lun show -path /vol/vol2
/lun1
Vserver Path State Mapped Type Size
--------- ------------------------------- ------- -------- -------- --------
fsx-1 /vol/vol2/lun1 online mapped windows_2008
150GB
データベースサーバーにLUNをマウント
ONTAPストレージのiSCSI IPアドレスを確認します。
本環境では以下の 10.0.1.34 と 10.0.1.175 が該当のIPアドレスです。
network interface show -vserver fsx-1
Logical Status Network Current Current Is
Vserver Interface Admin/Oper Address/Mask Node Port Home
----------- ---------- ---------- ------------------ ------------- ------- ----
fsx-1
iscsi_1 up/up 10.0.1.34/24 FsxId02a9241a38c24d3ed-01
e0e true
iscsi_2 up/up 10.0.1.175/24 FsxId02a9241a38c24d3ed-02
e0e true
nfs_smb_management_1
up/up 10.0.1.252/24 FsxId02a9241a38c24d3ed-01
e0e true
3 entries were displayed.
以下のスクリプトを作成してデータベースサーバーで実行します。
$TargetPortalAddressesにONTAPストレージのiSCSI IPアドレスを設定、
$LocaliSCSIAddressにデータベースサーバーのIPアドレスを設定します。
#iSCSI IP addresses for Preferred and Standby subnets
$TargetPortalAddresses = @("10.0.1.34","10.0.1.175")
#iSCSI Initator IP Address (Local node IP address)
$LocaliSCSIAddress = "10.0.0.144"
#Connect to FSx for NetApp ONTAP file system
Foreach ($TargetPortalAddress in $TargetPortalAddresses) {
New-IscsiTargetPortal -TargetPortalAddress $TargetPortalAddress -TargetPortalPortNumber 3260 -InitiatorPortalAddress $LocaliSCSIAddress
}
#Add MPIO support for iSCSI
New-MSDSMSupportedHW -VendorId MSFT2005 -ProductId iSCSIBusType_0x9
#Establish iSCSI connection
1..8 | %{Foreach($TargetPortalAddress in $TargetPortalAddresses)
{Get-IscsiTarget | Connect-IscsiTarget -IsMultipathEnabled $true -TargetPortalAddress $TargetPortalAddress -InitiatorPortalAddress $LocaliSCSIAddress -IsPersistent $true}}
#Set the MPIO Policy to Round Robin
Set-MSDSMGlobalDefaultLoadBalancePolicy -Policy RR
ディスクの管理画面(diskmgmt.msc)を開いてオフラインのディスクをオンラインにします。
ディスクの初期化を行います。
GPTを選択します。
新しいシンプルボリュームを作成します。ディスク1とディスク2に対して実施します。
SQLServerのインストール
今回は一時的な環境なので試用版のSQLServerを使ってインストールします。
インストーラーを実行してインストール画面が表示されたら左メニューのインストールを選択します。
「SQL Serverの新規スタンドアロンインストール~」を選択します。
次へを選択します。
Evaluationを選択して次へを選択します。
ライセンス条項の同意にチェックを入れて次へを選択します。
データベースエンジンサービスにチェックを入れて次へを選択します。
今回は既定のインスタンスを選択して次へを選択します。
デフォルトの状態で次へを選択します。
データディレクトリでデータファイルのディレクトリをDドライブ、トランザクションログのディレクトリをEドライブに設定します。
インストールを選択します。
閉じるを選択してインストールを完了します。
これでSQLServerのインストールまで完了です。
後半の記事ではSnapCenterのインストール・設定とバックアップ・リストアの手順を記載します。