nano server first step

Post on 21-Jan-2018

626 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Nano Server First StepInteract 2017 (2017.06.24)

Kazuki Takai

自己紹介

高井一輝 (Takai Kazuki)

某ISP勤務

クラウドサービスの開発、設計、設備維持

Windows Server / System Center / Linux / etc…

Microsoft MVP - Cloud and Datacenter Management

System Center User Group Japan (SCUGJ)

Twitter : @zhuky7 / Facebook : kazuki.takai

Blog : http://operationslab.wordpress.com/

内容とセッションのゴール

内容(お話すること)

現在(Windows Server 2016 RTM)の Nano Serverで実現できること

Nano Server のデプロイと管理

お話しないこと

Hyper-Vや Container など、Nano Server で利用できる機能の詳細

Container Application の構成方法や、Container Image の利用方法

セッションのゴール

現在の Nano Server についてイメージできる、必要があれば触れる

Agenda

Nano Server とは

Nano Server のデプロイ

Nano Server の運用

まとめ

はじめる前に

本資料の内容は個人的な検証結果に基づきます

所属する会社や組織、マイクロソフト社の公式な見解を記載するものではありません

表記や内容に誤りがあるなど、お気づきの点があれば、facebook等でご連絡いただけると幸いです

今後のリリースで機能や動作が変更、削除される可能性があります

ほとんど文字(とコマンド)です –ご了承ください

最初に少しだけ

Windows Server の次期バージョンにおける Nano Server について(6/19)

https://docs.microsoft.com/en-us/windows-server/get-started/nano-in-semi-

annual-channel

https://blogs.technet.microsoft.com/hybridcloud/2017/06/15/delivering-

continuous-innovation-with-windows-server/

少なくとも次のバージョンでは、Nano Server はコンテナベースイメージとしてのリリースのみ

インフラストラクチャーを構成するサービススタック・機能は含まれない

インフラストラクチャー系の機能は、Server Core での利用を推奨

コンテナイメージに特化することで、イメージサイズをさらに 50% 削減

Nano Server とは

Nano Server とは

Windows Server のインストールオプション

Windows Server 2016 で Nano Server が追加

Server Coreや Desktop Experience 以外の、第3の選択肢

Server Core (デフォルト、多くの場合に推奨)

Desktop Experience(特定用途向け)

Nano Server(かなり限定された用途向け)

特定の Edition や Version や SKU を示すものではない

Nano Server の特徴

フットプリント(メモリ/ディスク)が小さい

リソース消費量の削減

イメージサイズが小さい

イメージ展開速度、デプロイ所要時間の向上

ポータビリティの向上

コンテナのベースイメージとしての利便性向上

上記を実現するために、機能が限定的

Nano Server でできること

通常のWindows Server と比較して機能を限定し、特定用途に特化することで、軽量化を実現

稼働プロセス、サービスを最小化

機能が限定的(何でもできるわけではない) – e.g. GUI なし

できること

一部の(主にリソースプール基盤となるような)役割の実行

リモート管理に必要なサービスや一部エージェントの実行

できないこと

多くの(主に何かを管理するような)役割の実行

GUI が必要なアプリケーション、ツールの実行

Nano Server で実行可能な役割・機能

Hyper-V

Container

Internet Information Services

File Server

DNS Server

Failover Clustering

Datacenter Bridging

Nano Server の制約

Graphical User Interface なし、ローカルログオン機能なし

64bit アプリケーションのみサポート

グループポリシーは未サポート

Group Policy Client サービスが実装されていない

プロキシサーバーを利用するようなインターネットアクセスは未サポート

NICチーミングは SET (Switch Embedded Teaming) のみサポート

従来の LBFOによるチーミングは利用不可

HBA未サポート

.NET Framework / PowerShell は機能制限あり

DemoNano Server First Impression

Nano Serverのデプロイ

その前に

Nano Server は必ず英語版を使用する

少なくともWindows Server 2016 RTM (Ver.1607) においては

日本語版でもイメージを作成してブートすることは可能

回復コンソールが文字化けする

静的 IPアドレスの構成に失敗する

https://github.com/k-takai/Misc/blob/master/scripts/Modify-NanoServerImageGenerator.ps1

特定条件下で Gen2 VMを電源オンできない

特定条件下で VMMS がクラッシュする

など、運用上重大な支障があるので、バグ出ししたい人以外はお勧めしません

(日本語版が将来バージョンでも提供される、という保証もありません)

Nano Serverの展開

Nano Serverは、通常の OSインストールメディアからインストールできない

エディション/インストールオプションの一覧には選択肢が存在しない

別途、自分でイメージを作成して展開する必要がある

Nano Server の展開ステップ

1. イメージを作成する

インストールメディアまたは既存のイメージをベースに、イメージを作成する

Nano Server Image Generator (PowerShell)

Nano Server Image Builder (GUI Tool)

2. イメージを展開する

作成したイメージをインストール(起動)対象へ配置・展開する

VM へディスクイメージをアタッチして起動

物理サーバへ vhd/vhdxをコピーして VHD(X) ブート

WDSを使用してイメージを展開

Nano Server Image Generator (NSIG)

インストールメディア内に同梱されている PowerShell モジュール

インストールメディアの NanoServerフォルダー配下に存在

モジュールをインポートすることで、Nano Server イメージの作成が可能

Copy-Item -Recurse <DVD>:¥NanoServer¥NanoServerImageGenerator .¥

Import-Module .¥NanoServerImageGenerator¥NanoServerImageGenerator

New-NanoServerImage

DemoNano Server Image

Generator

New-NanoServerImageのオプション

New-NanoServerImage

-DeploymentType [ Guest | Host ]

物理サーバにデプロイするか、VMゲストとしてデプロイするかを選択

-Edition [ Datacenter | Standard ]

エディションを選択

-MediaPath <DVD Drive/ISO Mount Drive>:¥

DVDまたは ISOイメージをマウントしたドライブのルートフォルダーを指定

-TargetPath <image output path>

作成するイメージの出力先を指定

拡張子によって、イメージ形式とフォーマットを自動判別 (.vhd or .vhdx or .wim)

オプション(続き)

以下のページを参照

https://docs.microsoft.com/en-us/windows-server/get-started/deploy-nano-server

実行例

New-NanoServerImage-DeploymentType Guest-Edition Datacenter-MediaPath F:¥-BasePath .¥Base-TargetPath .¥nano-base.wim-EnableEMS -Verbose

ServicingPackagePath

New-NanoServerImageの ServicingPackagePathオプションを使用することで、更新プログラムのオフライン適用が可能

複数指定したい場合は、カンマ区切り(Stringの配列)で渡す

後述する NSIBと異なり、msuファイルも指定可能

Dismにそのまま渡されているだけ(Dismはもともとmsuを処理可能)

後述する NSIBと異なり、msu/cab が複数格納されたフォルダーも指定可能

Dismにそのまま渡されているだけ(Dismはもともとフォルダーを処理可能)

フォルダー内のファイルが全て適用される

Nano Server Image Builder (NSIB)

イメージ作成用の GUIツール

ダウンロードセンターからダウンロード可能

http://www.microsoft.com/en-us/download/details.aspx?id=54065

利用にはWindows ADK が必要

事前にインストールしておく

Windows Server 2016 RTM 上で利用する場合、Version 1607 のWindows ADKを使用

Version 1703 (Windows 10 Ver.1703 (Creators Update)向け)を使うとトラブルの元

裏側では NSIG を使用している

イメージ作成ステップで、NSIGのスクリプトを取得可能

Nano Server Image Builder (NSIB)

DemoNano Server Image Builder

NSIGと NSIB の違い

基本的には、できることは同じ

NSIGでしかできないこと

ServicingPackageでmsuやフォルダーを指定

NSIB は、事前に msuを expand して cab を取り出しておく

NSIBでしかできないこと

タイムゾーンの設定(を指定するインタフェースがある)

NSIGでは、SetupCompleteCommand を使用して明示的に仕込む

-SetupCompleteCommand ('tzutil.exe /s "Tokyo Standard Time"')

イメージ作成時の注意点

パーティションレイアウトは、イメージファイルの拡張子から自動判定・生成

.vhd … Gen 1 仮想マシンで利用可能な BIOS ブートできるパーティション構成

.vhdx … Gen 2仮想マシンで利用可能な UEFIブートできるパーティション構成

自動でドメイン参加させる場合は、イメージ作成ツールのオプションで指定

Nano Server はオンラインでのドメイン参加に対応していない

Unattend.xmlを使用する場合も、資格情報を使用したオンラインでの参加ではなく、オフラインドメイン参加用の設定が必要

静的 IPアドレスを構成する場合は、イメージ作成ツールのオプションで指定

又は、SetupComplete にアドレスを構成するコマンド・スクリプトを記述

イメージの展開

Nano Server だからと言って、それほど特殊な点はない

通常のWindows Server を展開するのと同様に、展開を実施

主な展開シナリオ

VHD(X) 形式のイメージを使用して、仮想マシンへ展開

VHD(X) 形式のイメージを使用して、物理サーバへ展開

WIM 形式のイメージを使用して、bootable USB からインストールを実行

WIM形式のイメージを使用して、WDS から展開

仮想マシンへの展開

仮想ディスク(vhd/vhdx)形式のイメージを使用して、仮想マシンへ展開

1. 仮想マシンを作成

2. 仮想ディスクイメージを仮想マシンへアタッチ

3. 電源オン

仮想マシンの Generation / ブート形式にマッチするようイメージを作成

Gen 1 VMに、ツールから vhdxで出力したイメージをアタッチしても起動できない

逆も同様

物理サーバへの展開

仮想ディスク形式のイメージを使用して、物理サーバへ展開

物理サーバへイメージをコピーして、VHD(X) ブートするよう構成

1. 物理サーバをWinPE などで起動

2. ローカルディスクのパーティションを構成し、NTFS でフォーマット

3. 仮想ディスクイメージをローカルディスクにコピー

4. コピーしたイメージからブートするよう、ブートセクター / マネージャーを構成

5. 再起動

対象のサーバに OSがインストール済みであれば、その環境でコピーや構成を実施

イメージコピー用にファイルサーバを用意しておくと便利

WIMを使用した展開

仮想マシンか物理サーバかに関係なく、同一の手法で展開可能

何かしらの方法で展開環境をブートし、インストールイメージからインストール

カスタムイメージを使用した、通常の Windows Setup と概念は同じ

個別のブートデバイスをアタッチして起動する場合

NSIBから、展開用のブート可能な USB を作成可能

WDS から配信する場合

作成済みのイメージをインストールイメージとしてインポート

ブートイメージには(通常と同様に) WinPE を利用

DemoDeploy Nano Server

メモリブート

Windows Server 2016 TP5 で利用可能だったオンメモリでのブートは、RTM/GA では利用不可

-RamdiskBootオプションが存在しない

-Internal RamdiskBootで NSIGとしては構成が実行されるが、RamdiskBoot用のパッケージがないので実際にはブートできない

展開後の構成

展開後は、通常のWindows Server と同様に役割・機能の構成を実施

リモートサーバー管理ツール(RSAT)や PowerShell を使用

一部の機能は、インストールされていても Enable になっていないので、dism またはPowerShell から有効化が必要

構成には DSCも利用可能だが、一部制約あり

Container を利用する場合は、dockerのインストールが必要(後述)

iSCSI Initiator / MPIO

利用には Storage パッケージが必要

Storage パッケージをインストールしたうえで、明示的な Enable が必要

Enable-WindowsOptionalFeature -Online -FeatureName MultiPathIO

さらに、MPIOの構成スクリプト実行が必要

MSDSMのみ利用可能

負荷分散ポリシーは変更不可

詳細は以下のドキュメントを参照

https://docs.microsoft.com/ja-jp/windows-server/get-started/mpio-on-nano-

server

Container ホストとしての構成

Container パッケージをインストールしただけでは、利用できない

dockerのインストールが必要

dockerインストールの前提条件として、KB3176936(以降)の適用が必要

構成手順

Container パッケージインストール

最新の更新プログラムを適用

Install-Module -Name DockerMsftProvider -Repository PSGallery

Install-Package -Name docker -ProviderName DockerMsftProvider

再起動

ドメインへの参加

Nano Server は通常のドメイン参加に対応していない

オフラインドメイン参加を使用する必要がある

イメージ作成時にドメインに関するオプションを設定すると、裏側で自動的にオフラインドメイン参加のプロビジョニングと構成が実行される

ブート後に(後から)ドメイン参加したい場合は、手動で djoinする

djoin.exe /provision /domain <Domain> /machine <ComputerName> /savefile<Filepath>

<Filepath> に出力されたファイルを Nano Server へコピー(PowerShell などを利用)

djoin /requestodj /loadfile<FilePath> /windowspath C:¥Windows /localos

オンラインでの役割・機能の追加

お勧めしません

https://docs.microsoft.com/ja-jp/windows-server/get-started/deploy-nano-

server

オンラインでの役割・機能の追加

Install-PackageProvider NanoServerPackage

Import-PackageProvider NanoServerPackage

Find-NanoServerPackage

Install-NanoServerPackage

Nano Server の運用

基本的な方針

基本的に、すべての管理オペレーションはリモートから実施

ローカルコンソールから実施できる内容は、極めて限定的

壊れた環境を頑張って修復するのではなく、再デプロイ

その方が復旧が早い(そのために、構成は極力自動化する)

問題の再現、解析は別途実施

運用監視エージェントやツールは、可能であれば MS 提供のものを利用

それ以外のベンダ製品は、対応していないものが多い(MS 製品でも…)

今後の対応状況を注視する

オペレーションツール・方法

リモートサーバー管理ツール(Remote Server Administration Tools ; RAST)

PowerShell (PowerShell Remoting)

winrs(Windows Remote Shell)

Server Management Tool (on Azure)# 廃止予定

回復コンソール(Nano Server Recovery Console)

緊急管理サービス(Emergency Management Services)

PowerShell / DSC

PowerShell は Core Edition

.NET Core ベース

Desktop Edition のサブセットとなるため、実装されていない機能やモジュール、コマンドレットがある

[ADSI] や [WMI] などの型プロバイダーは利用できない

WMI系コマンドは使用できない(CimInstance系のコマンドを使用)

DSC (Desiered State Configuration) は利用可能

Push モデルのみ(Pullモデルは利用できない)

Server Management Tool

Azure 上で利用可能なサーバー管理ツール

Azureの VMだけでなく、オンプレミスのサーバーも管理可能

ゲートウェイサーバーに SMTのエージェントをインストール

イントラネット内のサーバーに対しては、ゲートウェイサーバから WinRM で管理

残念ながら 2017/06/30 で提供終了

今後は、Azureやインターネット接続の必要がない形でのサーバー管理ツールを目指す方針

Server Management Tool

Nano Server 回復コンソール

ネットワークインターフェースの設定

ファイアウォールルールの有効化・無効化

WinRMの(再)初期化

Hyper-V VM および VMSwitchの確認

サーバー再起動・シャットダウン

Nano Server 回復コンソール

運用管理エージェント

SCVMM Agent

Nano Server 用のパッケージを(イメージ作成時などに)インストール

-Package Microsoft-NanoServer-SCVMM-Package

-Package Microsoft-NanoServer-SCVMM-Compute-Package

SCOM Agent

SCOM管理コンソールからカスタムエージェントをデプロイ

エージェントパッケージのローカルインストールは未サポート

Microsoft Management Agent (OMS Log Analytics)

未サポート

更新プログラムの適用

オンラインで更新プログラムの検索・適用を行う場合は、CIM を直接叩く

更新プログラムのスキャン

$ci = New-CimInstance -Namespace root/Microsoft/Windows/WindowsUpdate -ClassNameMSFT_WUOperationsSession

$result = $ci | Invoke-CimMethod -MethodName ScanForUpdates -Arguments @{SearchCriteria="IsInstalled=0";OnlineScan=$true}

$result.Updates

更新プログラムのインストール

$ci = New-CimInstance -Namespace root/Microsoft/Windows/WindowsUpdate -ClassNameMSFT_WUOperationsSession

Invoke-CimMethod -InputObject $ci -MethodName ApplyApplicableUpdates

Restart-Computer

セキュリティポリシーの適用

グループポリシーの(直接の)適用は不可能

ファイルからポリシーを読み込むことは可能

レジストリファイル (Registry.pol)

Export-GPRegistryPolicyでエクスポート

Import-GPRegistryPolicy -Path <GpoPolFilePath> -LocalMachineで適用

セキュリティ設定ファイル (GptTmpl.inf)

Restore-SecurityPolicy -Path <GptTmpl.inf Path>

監査ポリシー (audit.csv)

Restore-AuditPolicy -Path <Audit.csv Path>

Nano Serverの更新チャネル

Semi-annual channel (Windows Server)

旧来の CBB (Current Branch for Business) 相当

年に1~2回の更新

最新機能の利用が可能

最新バージョンへの追従が必要

Semi-annual Channel(Windows Server)

Long-term Servicing Channel(Windows Server 2016)

Nano Server Yes

Server Core Yes Yes

Server with Desktop Experience Yes

https://blogs.technet.microsoft.com/hybridcloud/2017/06/15/delivering-continuous-innovation-with-windows-server/

Nano Server とライセンス

Windows Server ライセンス(Coreベース)

ライセンス + ソフトウェアアシュアランス(SA)が必要

後述する更新チャネルの関係上、常に最新バージョンを利用できる(権利がある)必要がある

Datacenter Edition / Standard どちらも考え方は同じ

まとめ

Nano Serverはフットプリントが小さい、展開が速い

Nano Server は特定用途向け

無理に利用するのではなく、適合する環境・シナリオで利用する

まだまだ発展途上なところもある

今後の情報に注目

何かあればフィードバック!

top related