本シリーズの概要と一覧はこちらからどうぞ。
前回に続いてストレージ(iSCSI)を構築します。
本エントリではWindows ServerをiSCSIターゲットにします。
また、RAC Node側の手順ですが、iSCSIイニシエーターの設定も本エントリで触れることにします。
初期設定とドメインへの参加
最初にホスト名を設定します。前回同様Pingも通る様にしておきます。
# # Configure Windows Firewall # Set-NetFirewallRule –Name "FPS-ICMP4-ERQ-In" –Enabled True Set-NetFirewallRule –Name "FPS-ICMP6-ERQ-In" –Enabled True Set-NetFirewallRule –Name "FPS-ICMP4-ERQ-Out" –Enabled True Set-NetFirewallRule –Name "FPS-ICMP6-ERQ-Out" –Enabled True # # Rename Computer # ReName-Computer "storageserver" -Restart
再起動後、PublicネットワークのDNS設定を変更してドメインに参加します。
# # Configure DNS # Get-NetIPAddress | Where-Object { $_.IPAddress -like "192.168.33.*" } | Set-DnsClientServerAddress -ServerAddresses @("192.168.33.11") # # Join Domain # $DomainName = "contoso.local" $Cred = New-Object PSCredential("administrator" , (ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force)) Add-Computer -DomainName $DomainName -Credential $Cred -Restart
iSCSIターゲットの設定
ドメインに参加後、iSCSIターゲットの構成を行います。
GUIでの構築手順は
に詳しく記載されていますが、今回は構築を楽するためにすべてPowerShellで行います。
やってることは上のリンク先の手順とほぼ同じになります。
先ずは管理者ユーザーでPowerShellから以下のコマンドを実行し、Windowsの機能を追加+iSCSIターゲットを生成します。
以下のコマンドではターゲット名をiSCSI-RAC
とし、イニシエーター192.168.34.31-32
から接続可能にしています。
認証方式はCHAPとし、シークレットをiscsi-password
に設定しています。
# # Install Features # Install-WindowsFeature FS-FileServer, FS-iSCSITarget-Server, iSCSITarget-VSS-VDS # # Configure iSCSI Target Server # Import-Module IscsiTarget # イニシエーター192.168.34.31-32から接続可能なターゲットを生成 $Target = New-IscsiServerTarget -TargetName "iSCSI-RAC" -InitiatorId @("IPAddress:192.168.34.31", "IPAddress:192.168.34.32") # ターゲットの設定変更 $Param = @{ InputObject = $Target; Description = "iSCSI Target for Oracle RAC"; Enable = $true; # CHAP認証可能に EnableChap = $true; # CHAPシークレット(=パスワード)の長さは12-16文字 Chap = New-Object PSCredential("iscsi" , (ConvertTo-SecureString "iscsi-password" -AsPlainText -Force)) # リバースCHAPは今回構成しない #EnableReverseChap = $true; #ReverseChap = New-Object PSCredential("iscsi" , (ConvertTo-SecureString "iscsi-password" -AsPlainText -Force)); } Set-IscsiServerTarget @Param
続けてRACで使うVHDを作成しターゲットにマッピングさせます。
今回はOCR用のOCR.vhdx (10GB)
とデータベース用のDATA.vhdx (30GB)
の2つのVHDを作成することにします。
# # Create VHD and Mapping to iSCSI Target # # OCR用 $VHDPath = "D:\iSCSIVirtualDisks\OCR.vhdx" New-IscsiVirtualDisk –Path $VHDPath -Size 10GB -Description "VHD for OCR" Add-IscsiVirtualDiskTargetMapping -TargetName $Target.TargetName –Path $VHDPath # データベース用 $VHDPath = "D:\iSCSIVirtualDisks\DATA.vhdx" New-IscsiVirtualDisk –Path $VHDPath -Size 30GB -Description "VHD for Oracle Database" Add-IscsiVirtualDiskTargetMapping -TargetName $Target.TargetName –Path $VHDPath
実行後、サーバーマネージャーで確認すると以下の様な感じになります。*1
一応補足しておくと、Windows ServerのiSCSIターゲットはサーバー機能となるターゲットと複数の仮想ディスク(VHDX形式)をマッピングしてLUNを割り当てる事で外部にストレージを見せる形になります。
iSCSI Target <==> LUN Mapping <==> VHD(.vhdx)
このため、New-IscsiServerTarget
およびSet-IscsiServerTarget
でターゲットの構成を行い、New-IscsiVirtualDisk
で仮想ディスクを作成、最後にAdd-IscsiVirtualDiskTargetMapping
でマッピングを行っています。
iSCSIイニシエーターの設定
iSCSIイニシエーターの設定は各RAC Nodeでの作業になります。
iSCSIイニシエーターの機能自体はOS標準でインストールされていますので追加のインストールは不要です。
PowerShellから以下の様にしてターゲットへ接続します。
# # Start iSCSI Service # $Service = Get-Service MSiSCSI if( $Service.Status -ne "Running" ){ $Service.Start() } $Service | Set-Service -StartupType Automatic # # Configure iSCSI Initiator # New-IscsiTargetPortal -TargetPortalAddress "192.168.34.21" $Target = Get-IscsiTarget if( $null -ne $Target ){ $Params = @{ NodeAddress = $Target.NodeAddress; AuthenticationType = "ONEWAYCHAP"; ChapUsername = "iscsi"; ChapSecret = "iscsi-password"; IsPersistent = $true; } Connect-IscsiTarget @Params }
デフォルトではMicrosoft iSCSI Initiator Service(MSiSCSI)
は起動していないため起動し、スタートアップの種類を自動
に変えます。
そのうえでNew-IscsiTargetPortal
でターゲットポータルを作成、ただしくターゲットポータルが作成できればGet-IscsiTarget
でターゲットの情報を取得できるので、そのNodeAddress(=IQN)
を使いConnect-IscsiTarget
でターゲットに接続します。
ここで少しハマったのですが、Connect-IscsiTarget
のAuthenticationType
の指定はすべて"大文字"で行う必要があります。
小文字を混ぜると不正な認証方式と扱われエラーとなってしまいますので注意してください。
正しくターゲットに接続できると以下の図の様にディスクの管理から前の手順で作成した2つのディスク(ディスク1とディスク2)が見える様になります。
ディスクのフォーマットは後で行います。
次はRACインストールのための前準備を行います。
*1:スクリーンショットを取ったのがイニシエーター設定後のため接続状態になっています。ターゲット構築直後は未接続です。