Amazon FSx for NetApp ONTAPとSnapCenterによるSQLServer on EC2のバックアップ(1/2) ONTAPストレージ構築~SQLServerインストール

この記事を書いたメンバー:

Shinya Kawamura

Amazon FSx for NetApp ONTAPとSnapCenterによるSQLServer on EC2のバックアップ(1/2) ONTAPストレージ構築~SQLServerインストール

目次

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のインストール・設定とバックアップ・リストアの手順を記載します。

カテゴリー
タグ

SAPシステムや基幹システムのクラウド移行・構築・保守、
DXに関して
お気軽にご相談ください

03-6260-6240 (受付時間 平日9:30〜18:00)