仮想化エンジニア奮闘記

Citrix や VMware といったサーバー・デスクトップ仮想化の最新技術や設計情報の検証結果を共有します。(本ブログは個人のものであり、所属する会社とは関係ありません。)

Windows Server Server Core初期セットアップ

皆さま、お久しぶりです。お盆はリフレッシュできましたでしょうか?

 

私は映画漬けな毎日でした。トランスフォーマー - 最後の騎士王 はあんまり面白くなかったです(アーサー王の伝説を知らないかしら?) 笑

あと、「君の名は」!Blu-ray借りてみましたけど面白かったですね。

相変わらず背景が綺麗でした。今までの新海さんの作品よりストーリーが分かりやすかったですね。(星を追う子どもとかストーリー??だったので 笑 )

 

 

さて、今まで私の自宅環境ではWindows Server 2012 R2 や 2016はデスクトップエクスペリエンス版で使っていたのですが、どうしてもメモリを食ってしまうのがネックでした。そこで、一部サーバーをServer Core版に入れ替えてみました。

 

Active Directory ドメインコントローラー、SQL ServerActive Directory 証明書サービスなど自宅で動くMS系のサーバーはServer Coreに対応しているので思い切ってServer Core化してみました。(Nano ServerだとADをサポートしていないので不採用となりました。)

 

今回の記事ではServer Core初期セットアップで使ったPowershellコマンドを列挙してみようかと思います。(Windows Server 2016で使用したコマンドです。2012 R2でサポートしていないコマンドがあったらごめんなさい。)

 

# コンピューター名の変更 (変更後自動的に再起動)
Rename-Computer -NewName "hostname" -Force -restart

# NICの一覧を取得し、IP/DNSを設定したいNICのifIndexやNameを控える
Get-NetAdapter

# IPアドレスの設定
# InterfaceIndex は1つ上のコマンドで控えた ifIndex の値を入れる
New-NetIPAddress -InterfaceIndex 17 -IPAddress "192.168.10.10" -AddressFamily IPv4 -PrefixLength 24 -DefaultGateway "192.168.10.1"

# DNSの設定
Set-DnsClientServerAddress -InterfaceIndex 17 -ServerAddresses "192.168.10.1"

# IPv6の無効化
# Name には3つ上のコマンドで控えた Name の値を入れる
# ESXi上の仮想マシンであれば「イーサネット」等が Name と表示されている
Disable-NetAdapterBinding -Name "イーサネット" -ComponentID ms_tcpip6

# Windows Firewall ドメイン/パブリック/プライベート プロファイルを無効化
Get-NetFirewallProfile | Set-NetFirewallProfile -Enabled false

# Windows Update 無効化 (1が自動更新無効化、4が自動更新有効化)
cscript C:\Windows\system32\SCRegEdit.wsf /AU 1

# Windows Defender(リアルタイム保護) 無効化
Set-MpPreference -DisableRealtimeMonitoring $true

# Windows Defender(クラウドベース保護) 無効化
# 0:無効
# 1:MSに検知されたソフトウェアの基本的な情報を送信(Basic Membership)
# 2:MSに検知されたソフトウェアの詳細な情報を送信(Advanced Membership)
Set-MpPreference -MapsReporting 0

# Windows Defender(サンプルの送信) 無効化
# 0:毎回画面で確認する
# 1:安全なサンプルのみ自動送信する
# 2:送信しない
# 3:すべてのサンプルを自動送信する
Set-MpPreference -SubmitSamplesConsent 2

# Windows Defender 除外フォルダ/除外プロセス 設定 (Defender有効の場合、必要に応じて設定)
Set-MpPreference -ExclusionPath "C:\temp"
Set-MpPreference -ExclusionProcess "vmms.exe"

# 電源オプションを高パフォーマンスに変更
(Get-WmiObject -Name root\cimv2\power -Class Win32_PowerPlan -Filter 'ElementName="高パフォーマンス"').Activate()

# Powershellでリモートからの実行を許可
Enable-PSRemoting

 

上記の最後のコマンドでリモートの端末のPowershellからServer Coreの操作が可能となります。

但し、端末側にも下記の設定が必要となります。

 

# Powershellでリモート接続するサーバーを信頼されたホストとして登録
# Value の後に「*」を入れればすべてのホストが信頼される
Set-Item WSMan:\localhost\Client\TrustedHosts -Value 192.168.10.10

# Powershellでリモート接続
Enter-PSSession -ComputerName 192.168.10.10 -Credential [DOMAIN]\[USERNAME]

 

 それでは本日は以上となります。ありがとうございました。

Internet Explorer 11 Enterprise Mode

皆さまお疲れ様です。間が空いてしまいましたがいかがお過ごしでしょうか。

そろそろお盆なのでお休みに入られている方が多いですかね?

 

さて、今日はInternet Explorer 11 の Enterprise Modeの機能を紹介してゆきます。

現状、Microsoftは各オペレーティング システムの最新版の Internet Explorer のみをサポートしており、実質Internet Explorer 11がサポート対象となっています。

 

とはいえ、お客様の中には「業務アプリがIE8、9、10じゃなきゃ動かない」という方も多いかと思います。

 

MSはIE11までしかサポートしないと言っているのに、IE8~10じゃなきゃアプリが動かないなんて!どうすればいいんだ!?

 

というエンジニアの方もいらっしゃるかと思いますが、Internet Explorer 11では下位互換表示の機能としてEnterprise Modeという機能があります。

※100%完全互換ではないので、やはりIE11ではダメだ、というサイトもあります。が、実装経験豊富なエンジニアの方曰く経験的にはEnterprise Modeがうまく動いてくれるパターンも多いとのことです。

 

設定手順は ↓ のサイトに載っていますが

エンタープライズ モードとは (IT 担当者向け Internet Explorer 11) | Microsoft Docs

簡単に言うと、

①Enterprise Mode Site List Manager という「URLとそのURLをIEのどのバージョンで動かすか」というリスト作成ツールでリスト(.xml)を作る

②①で作ったリストをWebサーバーや共有フォルダなどにおいてGPO(もしくはローカルコンピューターポリシー)でその場所を指定する

 

という2段階で互換表示をしてくれる機能です。

 

試しにやってみましょう。

1) Enterprise Mode Site List ManagerのDL & Install

上記Site List ManagerはEnterprise Mode適用先のOSバージョンに応じてv1 or v2を選択します。

Windows7 or 8.1 → v1

Windows 10 → v2 or v1

 

2) Enterprise Mode Site List Managerでの設定

下記では適当にyoutubeを指定しています。

f:id:kenta53682:20170807214157p:plain

 

なお、表示ではEnterprise Mode と Document Mode の2種類がありますが、

Enterprise ModeInternet Explorer 全体の動作を IE8 にエミュレートするモード

Document Mode:ページのレンダリングで特定のバージョンの IE と同等になるようエミュレートするモード

という違いがあります。

 

3) 設定が完了すると下記のように表示されます。

[File] - [Save to XML] にてxmlファイルとして保存します。

f:id:kenta53682:20170807214024p:plain

 

4) xmlファイルを共有フォルダなどに配置します。(GPOで配るのであればSYSVOL等に置くのが無難かもしれません。)

 

5) GPO(またはローカルコンピューターポリシー) の

[コンピューターの構成 or ユーザーの構成] - [ポリシー] - [管理用テンプレート] - [Windowsコンポーネント] - [Internet Explorer]

にある、「エンタープライズモード IE の Webサイト一覧を使用する」を有効化し、URL欄に共有フォルダのパスなどを指定します。

f:id:kenta53682:20170807214912p:plain

 

 6) GPOを適用したWindows 10端末でyoutubeを開いてみると、パッと見Enterprise Modeが効いているように見えないのですが、確かに User-AgentにMSIE 9.0が表示されています。Trident/7.0表示があるため、IE11にてIE9.0互換で表示をしていると分かります。

f:id:kenta53682:20170807223550p:plain

 

 

通常は下記のようにMSIE 9.0という表示はありません。

f:id:kenta53682:20170807223705p:plain

 

このようにEnterprise Modeではリスト形式で互換表示するURLの設定ができます。

 

本日は以上となります。ありがとうございました。

Citrix Receiver for Windows / Mac / ChromeBook / iOS / Androidの違い

Citrix環境へ接続する際、通常はCitrix Receiverを端末に導入します。

※StoreFrontでWebSocket接続を有効化してHTML5接続 (ブラウザ上でXenDesktop / XenAppを利用) する場合はReceiver導入不要です。

 

各Receiverで対応している機能も違うので、その違いをまとめます。

ちなみに、接続方式は次の通り呼びます。

 

ストア接続(ネイティブ):Citrix Receiverからアイコンをクリックして接続する方式

※ストアURLにてNetScaler Gatewayを指定したものをストア接続(ネイティブ / NSGW経由)と表記します

f:id:kenta53682:20170725213210p:plain

 

Receiver for Web接続:ブラウザ上でアイコンをクリックして接続する方式

※ブラウザでNetScaler Gateway経由で接続したものをReceiver for Web接続(NSGW経由)と表記します

f:id:kenta53682:20170727212314p:plain

 

以下ではお客様要件でよく使用する「ドメインパススルー」(StoreFront直接接続の場合)と「クライアント証明書認証」(NetScaler Gateway経由の接続の場合)に焦点を当てて比較をしてゆきます。

 

 

①Citrix Receiver for Windows

1)ストア接続(ネイティブ):対応 (ドメインパススルー対応)

2)Receiver for Web接続:対応 (ドメインパススルー対応)

3)ストア接続(ネイティブ / NSGW経由):対応 (クライアント証明書非対応)

4)Receiver for Web接続(NSGW経由):対応 (クライアント証明書対応)

※Receiver for Windowsドメインパススルーに対応しています。

ドメインパススルー用の設定は ↓ の記事を参照して下さい。

Citrix Receiver Configuration Checker - 仮想化エンジニア奮闘記

 

 

②Citrix Receiver for Mac

1)ストア接続(ネイティブ):対応 (ドメインパススルー非対応)

2)Receiver for Web接続:対応 (ドメインパススルー非対応)

3)ストア接続(ネイティブ / NSGW経由):対応 (クライアント証明書非対応)

4)Receiver for Web接続(NSGW経由):対応 (クライアント証明書対応)

Windowsに対し、Macではドメインパススルー対応はしていません 

 

 

③Citrix Receiver for Chrome (Chromebook専用)

1)ストア接続(ネイティブ):非対応

2)Receiver for Web接続:対応 (ドメインパススルー非対応)

3)ストア接続(ネイティブ / NSGW経由):非対応

4)Receiver for Web接続(NSGW経由):対応 (クライアント証明書対応)

ChromebookではCitrix Receiverのアプリはあるものの実態はブラウザ(Chrome)ベースで動くもののため、ストア接続は対応しておりません。

 

 

④Citrix Receiver for iOS

1)ストア接続(ネイティブ):対応 (ドメインパススルー非対応)

2)Receiver for Web接続:対応 (ドメインパススルー非対応)

※但しブラウザ上でICAファイルをクリックする動作が加わりUXはいまいち

3)ストア接続(ネイティブ / NSGW経由):対応 (クライアント証明書対応)

※クライアント証明書を配布するWebサーバーを指定する必要があります

4)Receiver for Web接続(NSGW経由):対応 (クライアント証明書対応)

 ※但しブラウザ上でICAファイルをクリックする動作が加わりUXはいまいち

 

 

⑤Citrix Receiver for Android

1)ストア接続(ネイティブ):対応 (ドメインパススルー非対応)

2)Receiver for Web接続:対応 (ドメインパススルー非対応)

3)ストア接続(ネイティブ / NSGW経由):対応 (クライアント証明書非対応)

4)Receiver for Web接続(NSGW経由):対応 (クライアント証明書対応)

 

 

Citrix Receiver for Linuxはあまり現場作業でも使用したことがないため省いています。

 

本日は以上となります。ありがとうございました。

XenDesktopでServerOSをVDI利用する

みなさまお疲れ様です。

だいぶ間が空いてしまいましたが、今回もCitrixを記事にしてゆきます。

 

 

CitrixでVDIを提案する時、大きくは3パターンの提案があります。

①XenDesktop (Windows 10などのクライアントOSをVDIとして利用)

②XenDesktop Server VDI (Windows Server 2016などのサーバーOSをVDIとして利用)

③XenApp (SBCと呼ばれるサーバー共有型デスクトップ)

 

 

よく比較提案されるのは ① と ③ です。

①XenDesktop - Client OS の VDI

メリット:クライアントOSを使用するのでアプリケーション互換性が③よりも高い

デメリット:VDAライセンスや機器費用などコストが高い

 

 

③XenApp - SBC

メリット:①と比べてライセンスや機器費用が安く済む

デメリット:サーバーOS かつ 複数ユーザーが同時使用するのでアプリケーションの互換性がない場合がある(サーバーOS対応 / マルチユーザー対応 のアプリケーションである必要がある)

 

 

※VDAライセンスは下記のブログが非常に分かりやすいです。

VDI と Microsoft VDA ライセンス - (1) VDA の正しい理解 - 仮想化でプリセールスしてるSEの一日

 

 

お客様でもVDAライセンスを「高い」と感じられている方は結構いらっしゃいます。

そんな時の抜け道として②を提案することもあります。

 

②はWindows ServerをDatacenter Editionとして買うことで無制限に仮想マシンが立てられることから、Server OSをVDIと見立てて使おう、というものです。

実際にはVDAはいらないものの、代わりに Server CAL や RDS CAL が必要になってきます。(それでもVDAよりは安く済みます。)

 

とはいえデメリットもあります。下記にメリット / デメリットをまとめます。

 

②XenDesktop - Server OS の VDI

メリット:

1) サーバーOSを使用するが、マルチユーザー対応である必要がないのでアプリケーション互換性は③XenAppよりも高い

2) 機器費用は①XenDesktopと同じだが、ライセンスは①XenDesktopよりも安い。何よりVDAライセンスを購入しなくてよい

デメリット:

1) クライアントOSでないため、互換性がないアプリケーションはどうしてもある(特にビット数の違いなどから動かない等)

2) ③XenAppほどコストは安くならない

3) ①XenDesktopに比べて使用できる機能に制限がある

 

 

 

CitrixではサーバーOSをVDI利用する際にはVDAをコマンドラインでインストールします。下記の記事に使用できない機能も記載されています。(Personal vDiskなど。)

Server VDI (XenDesktop 7.14)

Install using the command line (XenDesktop 7.14 コマンドラインオプションの説明)

 

 

また、XenAppではVDAをインストールすると自動でデスクトップエクスペリエンスの機能を入れてくれたり、タスクバーのサーバーマネージャー等を自動で消してくれたりしますが、Server VDIでは上記の機能は入りません。UIをクライアントOSに近づけたい場合は別途デスクトップエクスペリエンスの機能を追加したり、GPO制御をするようにして下さい。

 

それでは今回は以上となります。ありがとうございました。

Citrix Receiver Configuration Checker

Citrix Receiver 4.5 から、Citrix Receiverに「Configuration Checker」という機能が追加されました。

最近Citrixを久々に触って「便利な機能だな」と思ったので共有します。

 

何の Configuration を Check してくれるかというと、「Single Sign-On」(以下SSO) 設定のチェックをしてくれます。

SSO は端末にログインしているユーザーの資格情報を使用してStoreFrontにパススルー認証をかける機能です。ユーザーはクライアント端末にログイン後、XenDesktopやXenAppに接続するのに再度ログインせずに済むのでよく使われる機能です。

 

ただ、上記SSOができるためにはサーバー側・端末側にいくつか設定を入れる必要があります。Configuration CheckerはSSO用の設定が正しく入っているかをチェックしてくれます!べんりー!

 

 

SSO可能な構成とするには大きく下記の設定が必要です。

◆サーバー側

①StoreFrontの ストア or Receiver for Web の認証方式で「ドメインパススルー」が設定されていること

②Delivery Controller 側で StoreFront から送信されるXML要求を信頼できるように、「Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $True」コマンドを実行していること

 

 

◆クライアント側

③Receiver が「/includeSSON」オプション付きでインストールされていること(本オプションをつけないとSSO用のモジュールがインストールされません)

④Receiver を使用するユーザーの「インターネットオプション」にて、「信頼済みサイト」にStoreFrontのアドレスが登録されていること

⑤Receiver を使用するユーザーの「インターネットオプション」にて、「信頼済みサイト」の「レベルのカスタマイズ」へ遷移する。「ログインオプション」で「現在のユーザー名とパスワードで自動的にログインする」が設定されていること

 

 

◆Configuration Checkerの使い方

Configuration Checkerは下記の要領で使用します。

1) 通地領域アイコンのReceiverを右クリックし、「高度な設定」を実行

f:id:kenta53682:20170706202118p:plain

 

2) 「Configuration Checker」を実行

f:id:kenta53682:20170706202235p:plain

 

3) 「SSONChecker」にチェックを入れ「実行」をクリック

f:id:kenta53682:20170706202330p:plain

 

4) 下記のようにOK / NG を表示してくれる

f:id:kenta53682:20170706202458p:plain

 

今回私の環境ではReceiverを「/includeSSON」オプションなしでインストールしたので、「Single Sign-On とともにインストール済み」でエラーになっています。

 

これで端末でReceiverを上げた時に「ストアにアクセスできません」というエラーが出た時に切り分けがしやすくなりましたね。

但し、上記ではサーバー側の②(Delivery ControllerでXML要求を信頼する)はチェックしてくれないので、Configuration CheckerでOKでもストアにアクセスできない場合は②設定を疑ってみて下さい。

 

Citrix公式ドキュメントはこちらです。(Receiver for Windows 4.7のもの)

構成チェッカーを使用してSingle Sign-Onの構成を検証する

 

本日は以上です。ありがとうございました。

 

 

VVolsを試してみた(1)-VVolsの概要と構成

みなさんお疲れ様です。

Unityも使える環境なので今回から数回VVolsの記事を記載していきます。

なお、VVolsの記事はVMware社からもいくつか出ています。下記を読むとより理解が深まると思います。

 

【参考記事1】

VMware vSphere Virtual Volumes (VVols) のご紹介 - Japan Cloud Infrastructure Blog - VMware Blogs

 

【参考記事2】

VMware vSphere Virtual Volumes に対するHP 3PAR StoreServの実装 - Japan Cloud Infrastructure Blog - VMware Blogs

 

 

【VVolsとは?】

VVolsはvSphere 6.0系から搭載された機能です。

簡単に言うと「ストレージの管理負荷を下げるためにvSphere側からAPI経由でストレージを管理しようぜ」的な機能かと思います。

 

通常、vSphereは接続されているストレージのことなど知ったこっちゃないのですが、ストレージが提供するAPIアクセスポイントに対してAPIを叩くことで、ストレージの情報をvSphere側が認識したり、vSphere側からストレージに実行命令を投げたりすることができます。(この機能はVAAIと言いますが、VVolsはVAAIをより進化させた機能かなと思っています。)

 

vSphere 6.0が出た時に「仮想マシン毎にSnapshotが取れる」なんて宣伝を聞いて「おぉすげー!」と驚いたのが懐かしいです。

 

 

【VVols機能利用の要件】

VVols機能利用のためには大きく下記3点が必要となります。

①ストレージがVVols機能をサポートしていること

②VASAプロバイダー(後述)がストレージに内臓されているか、VASAプロバイダー用の仮想マシンが稼働していること

③ライセンスがvSphere Standard以上であること

 

個人的にvSphereのライセンスはStandardでもOKなのが意外でした。

 

 

【VVols概要】

VVolsの理解のためには「VASAプロバイダー」「プロトコルエンドポイント」という2つの用語を知っておいて下さい。

 

1) VASAプロバイダー

ストレージに実装された機能をvSphere側から把握するためのアクセスポイント。

vCenterからストレージAPIを叩くときに使用する窓口。

VASAプロバイダーは仮想マシンとして提供されることもありますし、ストレージに内臓されていることもあります。(私が今まで触った中では、IBM/Lenovo Storwize系は別途仮想マシン構築が必要、3par・Unityはストレージ内臓でした。)

 

2) プロトコルエンドポイント

ストレージ側でESXiとのI/Oを行うアクセスポイント。

FC・iSCSINFSのストレージ側窓口。

 

では実際にVASAプロバイダーやプロトコルエンドポイントがどのように構成されるかを下記の表にまとめます。VASAプロバイダーが ①ストレージ内臓パターン と ②仮想マシン別立てパターン の2パターン紹介します。

 

 

①ストレージ内臓パターン

f:id:kenta53682:20170704221403p:plain

 

 

 

仮想マシン別立てパターン

f:id:kenta53682:20170704221450p:plain

 

恐らくどのエンジニアもVASAが仮想マシンで別立てされると専用の可用性設計等が増え面倒だと感じるはずです。ストレージと組み合わせてVVolsをお客様に提案する場合は、3parやUnityなどVASAプロバイダーがストレージに内臓されているベンダーのものを選ぶのが得策かと思います。

 

次回はVVolsについてUnity と vSphere Web Clientの画面を見ながら解説をしてゆこうと思います。

本日は以上です。ありがとうございました。

ストレージの互換性確認に利用するサイト

みなさまお疲れ様です。

久しぶりの更新となりますが、本日は短めに行きます。

 

お客様既存環境に新規ストレージを導入するとき、多くの方が既存サーバーや既存スイッチとの互換性/相互運用性を気にされると思います。

本記事ではそんな時に利用できるサイトをまとめたいと思います。

 

 

①HP - SPOCK (Single Point of Connectivity Knowledge)

※3par, MSA 等 とサーバ・HBA・SANスイッチの互換性が確認できます。

※SPOCK利用にはHPアカウント登録が必要となります。

※Webベースで調査が可能です。

※HPが買収したNimbleストレージの相互運用性情報も提供されています。

Chromeだと証明書エラーが出ますが気にせず進めて下さい。

 

②IBM - SSIC (System Storage Interoperation Center)

※DSシリーズ, Storwize 等 とサーバ・HBA・SANスイッチの互換性が確認できます。

※Webベースで調査が可能です。

 

 

③Lenovo - Lenovo Storage Interoperability Links

※Storwize V3700 V2 等 とサーバOS・HBAの互換性が確認できます。

※Storwize V5000やV7000などの一部機器はIBMのSSICにリンクされています。

Excelで情報が提供されています。

 

 

④Dell - Storage Compatibility Matrix - SC Series, PS Series, and FS Series

Dell EMCのうち、Dellが元々手掛けていたストレージ(SCシリーズ、EqualLogic PS/FSシリーズ) とHBA・SANスイッチの互換性が確認できます。

※PDFで情報が提供されています。

 

 

⑤EMC - E-Lab Interoperability Navigator

Dell EMCのうち、EMCが元々手掛けていたストレージ(VMAX, VNX, VNXe, Unity) とサーバ・HBA・SANスイッチの互換性が確認できます。

※E-Lab利用にはDell EMCアカウント登録が必要となります。

 

 

⑥NetApp - IMT (Interoperability Matrix Tool)

FASシリーズとサーバOS・HBAの互換性が確認できます。

※IMT利用にはNetAppアカウント登録が必要となります。

 

 

互換性/相互運用性を確認するサイトはほぼアカウント登録が必要なので事前にアカウントを作っておくとよいかと思います。

上記以外でもストレージベンダーはありますが、製品数も少ないと思いますので販売店に確認したりストレージベンダー自身に確認したりすればよいかと思います。

 

本日は以上となります。ありがとうございました。