作ろう! おうち Azure Stack HCI 環境

15.9K Views

June 18, 22

スライド概要

profile-image

主に勉強会の資料を公開しています。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

SCUGJ 第30回勉強会 2022/06/18 Windows Server and Cloud User Group Japan 後藤 諭史(Satoshi GOTO)

2.

  後藤 諭史( Satoshi GOTO ) 国内SIerに転職しました(from 2021/03) 9月からプリセールスに異動になりました    仮想化製品が主な専門分野です。 が、基本的には雑用係 Microsoft MVP - Cloud and Datacenter Management (Jul.2012 - Jun.2022) Twitterはこちら ◦ Twitter:@wind06106 2

3.

本セッション資料ですが、個人で準備した環境において、個人的に実施した検証/結果を基に記載しています。 あくまで個人の意見/見解であり、所属する会社/組織及びマイクロソフト社とは『まったく/なにも/全 然』関係がございません。 所属する会社/組織/マイクロソフト社の正式な回答/見解ではない事に留意してください。 また、本資料を閲覧した事により問題が生じた場合、または問題が発生しかけた場合、または生じた一切の不 利益について、発表者は一切の責任を負う事はできませんのでご了承ください。 3

4.

もう皆さんのご自宅にはありますよね? おうち Azure Stack HCI 環境 4

5.

 Integrated System/Validated Node → 本番運用時にお勧め  Validation Nodeではないけども、物理H/Wで構成 → とりあえずWindows Serverが入るサーバーであれば構築できる(かも) → RDMAとかの実際のH/Wの動きとかを検証したい場合にお勧め  Nested Hyper-V(Azure Stack HCI on Hyper-V) → Hyper-V環境があれば構築可能 → 検証用途であれば、これで一切困らない。一番お勧め構成  Nested Hyper-V on Azure(Azure Stack HCI on Hyper-V on Azure) → おうちであるかどうか嫌疑あり → Azure上でHyper-V環境を構築して構築 → H/Wが用意できない場合にお勧め 5

6.

 Active Directory 環境必須 → おうちActive Directory があると思うので無問題 → on Azure構成は別途作成するので、おうちになくてもOK  Internet 接続環境必須 → Azureと接続/登録する必要がある(Azure Stack HCIはAzureのサービスなので) → どのみちAzure Arcの検証でも必要になるので……  Windows Admin CenterをインストールするWindows端末の用意を 強く推奨。仮想マシンでOK → PowerShellだけでも構築可能ですが、いろいろ考えるとあった方がいい だったのですが…… 6

7.

 Azure上でAzure Stack HCI対応Windows Admin Centerが展開できるよう になりました 7

8.

 Integrated System:全部セットの統合システム  Validated Node:認定ノード。色々組み合わせてクラスターを構成  どちらもMicrosoftとH/Wベンダーのお墨付き構成。サポートも完璧  このへんで検索して、見積りを取得して購入 https://azurestackhcisolutions.azure.microsoft.com/#/catalog  詳細はH/Wベンダーに 8

9.

 Windows Serve 2022がインストールできれば、動作する可能性あり → 試しにDell PowerEdge T320で組んでみたら、とりあえずは動きました……  注意点としてはRAIDカードではなくHBAカード(non-RAID)を使って SSD/HDDを接続 → PowerEdge RAID Controller H310はRAIDカードですが、魔法の呪文を唱えることで 使用可能(当然無保証) → 他のRAIDカードでも、もしかしたら使えるかも?  DiskはS2D用にHDD4本以上必須。できればキャッシュ用SSDを2本追加 → HDDのみは非推奨。できればSSD4本構成  お金はないけども、物理まわりの検証をしたい場合はこの構成で。 ただし、転んでも(動かなくても/性能が出なくても)泣かない 9

10.

 RAIDは構成しない → PowerEdge RAID Controller H310であればすべてのDiskを「non-RAID」で構成  クラスター構成後、記憶域スペースダイレクトを有効化前 (Enable-ClusterStorageSpacesDirect 実行前)に以下のコマンドを実行 (Get-Cluster).S2DBusTypes=0x100  これにより、DiskのBusTypeが「RAID」でも記憶域スペースダイレクトが 構成可能に 10

11.

 docs.microsoft.comにも載っている 鉄板構成 ◦ 機能検証用途であれば十分  以下のスペックくらいのH/Wで十分 ◦ Xeon E5-2400シリーズ程度 のCPU 2nodeクラスターなら4core/HTでもいける? ◦ 2nodeクラスターなら48GBくらいのメモリ ◦ できるだけ速いディスク(NVMe SSD 推奨)。2nodeクラスターなら512GBくらい  Network ATCの検証も可能だが、Hyper-Vホストの仮想スイッチでVLAN Trunkの設定をする必要がある点に注意 11

12.

記憶域スペースダイレクト Boot Disk Data Disk Data Disk Data Disk Data Disk Data Disk AzHost01 VM NIC Cluster#1 VM Switch Cluster#2 Data Disk Data Disk Boot Disk Data Disk AzHost02 MGMT NIC VM NIC Cluster Switch Cluster#1 Cluster#2 MGMT NIC MGMT Switch Hyper-V Host VM NIC MGMT NIC 12

13.

Network ATC 用に VLAN Trunk 設定 13

14.

 おうちかどうかは議論の余地あり  Nested Hyper-Vが使用可能なインスタンスを使用 ◦ 2nodeクラスターならStandard E8s v3 (8vcpu/64GB)でもいける (もっさり感が気になるならスペックアップ。Azure Arcはスペックアップ必須) ◦ Azure Stack HCI nodeは8core/24GBくらいで作成(Azure Arcを使う場合は32GB) ◦ ディスクはPremium SSD推奨。できれば1node1Disk ◦ AD DSとWindows Admin Center VMもNested Hyper-V上に展開(4core/4GBくらい)  Azure上でNested Hyper-Vで展開する場合、Hyper-VホストでのNAT処理 が必須。これをしないとAzure Stack HCIノードやAD DS等がInternet通信 不可(=Windows Updateもできない) 14

15.

記憶域スペースダイレクト Boot Disk Boot Disk ADDS WAC MGMT MGMT Boot Disk Data Disk Data Disk Data Disk Data Disk Data Disk Data Disk AzHost01 MGMT VM Cluster Data Disk Data Disk Boot Disk AzHost02 Cluster VM Switch MGMT VM Cluster Cluster Cluster Switch NAT vNIC Hyper-V Host NIC 15

16.

テンプレート用VM なくてもOK 16

17.

Internal Networkの仮想スイッチを作成して、以下のコマンドを実行。 仮想NICに振られたIPアドレスが、NAT通信を行う仮想マシンのデフォルトゲートウェイになる。 Get-NetAdapter "vEthernet (NATvSwitch)"| New-NetIPAddress -IPAddress 192.168.1.1 -AddressFamily IPv4 -PrefixLength 24 New-NetNat -Name myNAT -InternalIPInterfaceAddressPrefix "192.168.1.0/24" 17

19.

Internetへの疎通が必要なため、 NATが設定されているスイッチへ接続 Nested環境なので、Azure Stack HCI上の 仮想マシンが通信するために必要 Cluster通信のみなので、 Private Switchへ接続 19

20.

New-VM -Name "AzHost01" -MemoryStartupBytes 24GB -Generation 2 -Path "D:¥Hyper-V" Set-VMProcessor "AzHost01" -Count 8 Set-VMProcessor -VMName "AzHost01" -ExposeVirtualizationExtensions $true Get-VMNetworkAdapter -VMName "AzHost01" | Remove-VMNetworkAdapter Add-VMNetworkAdapter Add-VMNetworkAdapter Add-VMNetworkAdapter Add-VMNetworkAdapter Get-VMNetworkAdapter -VMName "AzHost01" -SwitchName "External vSwitch" -Name "MGMT_NIC" -StaticMacAddress "00-15-5D-14-DB -01" -VMName "AzHost01" -SwitchName "VM vSwitch" -Name "VM_NIC" -StaticMacAddress "00-15-5D-14-DB-02" -VMName "AzHost01" -SwitchName "Cluster vSwitch" -Name "Cluster_NIC" -StaticMacAddress "00-15-5D-14-DB-03" -VMName "AzHost01" -SwitchName "Cluster vSwitch" -Name "Cluster_NIC2" -StaticMacAddress "00-15-5D-14-DB -04" -VMName "AzHost01" -Name "VM_NIC" | Set-VMNetworkAdapter -MacAddressSpoofing On Add-VMScsiController -VMName "AzHost01" Add-VMDvdDrive -VMName AzHost01 -Path "E:¥AzureStackHCI_20348.288_en-us.iso" -ControllerNumber 0 -ControllerLocation 1 Get-VMHardDiskDrive -VMName "AzHost01" -ControllerType SCSI -ControllerNumber 0 | Remove-VMHardDiskDrive Get-VMHardDiskDrive -VMName "AzHost01" -ControllerType SCSI -ControllerNumber 1 | Remove-VMHardDiskDrive Remove-Item "D:¥Hyper-V¥AzHost01¥*.vhdx" New-VHD -Path "D:¥Hyper-V¥AzHost01¥AzHost01.vhdx" -SizeBytes 127GB -Dynamic Add-VMHardDiskDrive -VMName "AzHost01" -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 0 -Path "D:¥Hyper-V¥AzHost01¥AzHost01.vhdx" $dvddrive = Get-VMDvdDrive -VMName "AzHost01" Set-VMFirmware "AzHost01" -FirstBootDevice $dvddrive New-VHD -Path "D:¥Hyper-V¥AzHost01¥AzHost01_01. vhdx" New-VHD -Path "D:¥Hyper-V¥AzHost01¥AzHost01_02. vhdx" New-VHD -Path "D:¥Hyper-V¥AzHost01¥AzHost01_03. vhdx" New-VHD -Path "D:¥Hyper-V¥AzHost01¥AzHost01_04. vhdx" Add-VMHardDiskDrive -VMName "AzHost01" -ControllerType Add-VMHardDiskDrive -VMName "AzHost01" -ControllerType Add-VMHardDiskDrive -VMName "AzHost01" -ControllerType Add-VMHardDiskDrive -VMName "AzHost01" -ControllerType -SizeBytes 200GB -Dynamic -SizeBytes 200GB -Dynamic -SizeBytes 200GB -Dynamic -SizeBytes 200GB -Dynamic SCSI -ControllerNumber 1 -ControllerLocation SCSI -ControllerNumber 1 -ControllerLocation SCSI -ControllerNumber 1 -ControllerLocation SCSI -ControllerNumber 1 -ControllerLocation 0 1 2 3 -Path "D:¥Hyper-V¥AzHost01¥AzHost01_01. vhdx" -Path "D:¥Hyper-V¥AzHost01¥AzHost01_02. vhdx" -Path "D:¥Hyper-V¥AzHost01¥AzHost01_03. vhdx" -Path "D:¥Hyper-V¥AzHost01¥AzHost01_04. vhdx" Set-vm -vmname "AzHost01" -AutomaticStopAction ShutDown Set-vm -vmname "AzHost01" -AutomaticStartAction Nothing 20

21.
[beta]
Get-NetAdapter
Get-NetAdapter
Get-NetAdapter
Get-NetAdapter
Get-NetAdapter
Get-NetAdapter
Get-NetAdapter
Get-NetAdapter
Get-NetAdapter

|
|
|
|
|
|
|
|
|

? MacAddress
? MacAddress
? MacAddress
? MacAddress
? MacAddress
? MacAddress
? MacAddress
? MacAddress
? MacAddress

Set-NetFirewallRule
Set-NetFirewallRule
Set-NetFirewallRule
Set-NetFirewallRule

-Group
-Group
-Group
-Group

-eq
-eq
-eq
-eq
-eq
-eq
-eq
-eq
-eq

00-15-5D-14-DB-01
00-15-5D-14-DB-01
00-15-5D-14-DB-01
00-15-5D-14-DB-03
00-15-5D-14-DB-03
00-15-5D-14-DB-04
00-15-5D-14-DB-04
00-15-5D-14-DB-02
00-15-5D-14-DB-02

| New-NetIPAddress -IPAddress 172.16.30.11 -PrefixLength 24 -DefaultGateway 172.16.30.250 -AddressFamily ipv4
| Set-DnsClientServerAddress -ServerAddresses 172.16.20.11, 172.16.20.14
| Rename-NetAdapter -NewName "Management"
| Rename-NetAdapter -NewName "Storage 1"
| New-NetIPAddress -IPAddress 10.254.1.1 -PrefixLength 24 -AddressFamily ipv4
| Rename-NetAdapter -NewName "Storage 2"
| New-NetIPAddress -IPAddress 10.254.2.1 -PrefixLength 24 -AddressFamily ipv4
| Rename-NetAdapter -NewName "Ethernet"
| New-NetIPAddress -IPAddress 192.168.1.1 -PrefixLength 24 -AddressFamily ipv4

"@firewallapi.dll,-36751" -Enabled true
"@FirewallAPI.dll,-34251" -Enabled True
"@FirewallAPI.dll,-28502" -Enabled True
"@FirewallAPI.dll,-30252" -Enabled True

Set-TimeZone -Name "Tokyo Standard Time"
Enable-WSManCredSSP -Role Server -Force
$ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest -Uri https://aka.ms/installazurecliwindows -OutFile .\AzureCLI.msi;
Start-Process msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi /quiet'; rm .\AzureCLI.msi
Add-Computer -NewName "AzHost01" -DomainName "contoso.com" -Credential "contoso\administrator" -Restart -Force

21

22.

 おうちにも Azure Stack HCI は導入可能です。一家に1セット Azure Stack HCI  用途によって、展開方式を決めてください。おすすめはNested Hyper-V構成  Network ATC や Azure Arc enabled Azure Stack HCI 等も検証可能です  よいAzure Stack HCI ライフを! 22

23.

 Azure Stack HCI ソリューションの概要 https://docs.microsoft.com/ja-jp/azure-stack/hci/overview  チュートリアル: Azure Stack HCI 用の VM ベースのラボを作成する https://docs.microsoft.com/ja-jp/azure-stack/hci/deploy/tutorial-private-forest  Nested Hyper-V の VM からの外部への通信について https://docs.microsoft.com/ja-jp/archive/blogs/jpaztech/connectivity_from_nested_vm 23