2017年2月25日土曜日

Windows Server 2008 R2 Server CoreでActive Directoryのドメインコントローラーを作った話② (ドメインコントローラー昇格)

前回、Server Coreでドメイン参加するところまで実施したので、今回はドメインコントローラーに昇格させる。なお、今回は新規ドメインではなく、既存ドメインにドメインコントローラーを追加する手順となる。

また、参考までにドメインコントローラー降格の手順も記載する。

ドメインコントローラーへ昇格

1. unattendファイルの作成

Server Coreの場合はGUIを使った昇格はできないので、以下のような応答ファイル(unattend)を作成して実施する。今回は「unattend.txt」というファイル名で作成した。

unattend.txt
------------------------------
[DCINSTALL]
UserName=<ドメインユーザー>
UserDomain=<ドメイン名>
Password=* ←「*」にすると実行時にパスワード確認がされる
ReplicaDomainDNSName=<DNSドメイン名(通常はUserDomainと同じ)>
ReplicaOrNewDomain=Replica ←「Replica」で既存ドメインへの追加
;DatabasePath=%systemroot%\ntds ←データベース保存パス。デフォルトでよければコメントアウト
;LogPath=%systemroot%\ntds ←ログ保存パス。デフォルトでよければコメントアウト
;SYSVOLPath=%systemroot%\SYSVOL ←SYSVOL保存パス。デフォルトでよければコメントアウト
InstallDNS=Yes ←同時にDNSをインストールするか
ConfirmGC=Yes ←同時にグローバルカタログにするか
SafeModeAdminPassword=<オフライン管理者アカウントのパスワード>
RebootOnCompletion=Yes ←完了時に再起動を自動で行うか
------------------------------

私の環境で作ると以下のようになる。

unattend.txt
------------------------------
[DCINSTALL]
UserName=tadmin
UserDomain=intrat.local
Password=*
ReplicaDomainDNSName=intrat.local
ReplicaOrNewDomain=Replica
;DatabasePath=%systemroot%\ntds
;LogPath=%systemroot%\ntds
;SYSVOLPath=%systemroot%\SYSVOL
InstallDNS=Yes
ConfirmGC=Yes
SafeModeAdminPassword=<オフライン管理者アカウントのパスワード>
RebootOnCompletion=Yes
------------------------------

2. ドメインコントローラーに昇格

作成したunattendファイルを適当な場所に配置し、以下のコマンドで昇格を実行する。

dcpromo /unattend:c:\work\unattend.txt

unattendファイルで指定したドメインユーザーのパスワード入力を促されるので、入力する。


各種警告が表示されたりするが、再起動まで実施されれば成功。


3. 他サーバーから確認

Server Coreは、自分自身ではGUIの管理ツールを持てないので、他のコンピューターのMMC(Microsoft Managemet Console)を利用して管理する。

管理する側のコンピューターには、MMCのActive Directory管理用のスナップインを予めインストールする必要があるが、既に存在するドメインコントローラーには必ず入っているので、そこから操作すると簡単。

「ファイル名を指定して実行」で「mmc」を入力しMMCを起動したのち、「ファイル」→「スナップインの追加と削除」を起動し、以下を選択する。

・Acitve Directory ユーザーとコンピューター

ドメインの中の「Domain Controllers」の中に、今回追加したドメインコントローラーが存在すればドメインコントローラーとしてきちんと昇格されていることが確認できる。


ドメインコントローラーからの降格

参考までに、Server Coreのドメインコントローラーを降格する手順を記載する。

1. unattendファイルの作成

昇格と同様にunattendファイルを作成する。今回はunattend_remove.txtという名前で作成した。

unattend_remove.txt
------------------------------
[DCINSTALL]
UserName=<ドメインユーザー>
UserDomain=<ドメイン名>
Password=<ドメインユーザーのパスワード>
administratorpassword=<ローカルのAdministratorパスワード>
removeapplicationpartitions=yes
RebootOnCompletion=Yes
------------------------------

2. ドメインコントローラーからの昇格

作成したunattendファイルを適当な場所に配置し、以下のコマンドで降格を実行する。

dcpromo /unattend:c:\work\unattend_remove.txt


参考

・無人モードを使用して Windows Server 2008 ベースのドメイン コントローラで Active Directory ドメイン サービスのインストールおよび削除を行う方法
https://support.microsoft.com/ja-jp/help/947034/how-to-use-unattended-mode-to-install-and-remove-active-directory-domain-services-on-windows-server-2008-based-domain-controllers

・Create an Answer File for Unattended Domain Controller Installation
https://technet.microsoft.com/ja-jp/library/cc816873(v=ws.10).aspx

2017年2月19日日曜日

Windows Server 2008 R2 Server CoreでActive Directoryのドメインコントローラーを作った話① (Server Core OS初期設定)

自宅にドメインコントローラーを1台立てているのだが、バックアップとActive Directoryの構築検証も兼ねて、もう1台ドメインコントローラーを作ることにした。

ただ、自宅の検証環境ではESXi1台の中に、すでに10台以上の仮想マシンがひしめき合っている状況であり、特にメモリが不足している状況となっている。そのため、より消費リソースの少ないWindows Server 2008 R2のServer Coreで構築する方針とした。

Server CoreはWindowsのGUI環境が使えないこともあり、今までのWindowsと異なるコマンドベースでの独特な手順が多くなることから、ドメインコントローラーとして利用できるようにするまでの手順を備忘を兼ねて記載する。

今回は、OS初期設定まで記載し、次回にドメインコントローラーへ昇格させる手順を記載する。

インストール

インストール時は通常のインストールと大きな違いはない。OS選択画面で「Server Core」を選べばよい。


Windows Server 2008 R2はデフォルトではGUIを持つ「フルインストール」が選択されているが、Windows Server 2012以降はデフォルトは「Server Core」となっている(Windows Server 2016では、GUI付き環境に対して「デスクトップエクスペリエンス」としており、いわゆるServer Coreは、もはや名前がなく標準のものとしている)。

従って、今後はServer Core環境を主流にしたいという思いがMicrosoftにはあると考えられるのだが、少なくとも私の周りでは商用環境でServer Coreを使っているところは見たことがない。

初期設定

インストールが終わった後のOSの初期設定の手順を記載する。ログインするとコマンドプロンプトだけが表示されたシンプルな画面となっている。Server Coreではこのコマンドプロンプトを駆使して設定していくことになる。万が一コマンドプロンプトを消してしまった場合は、「Ctrl+Shift+ESC」でタスクマネージャーが起動できるので、そこから「ファイル」→「新しいタスクの実行」を選択し「cmd」を入力する。


なお、インストール直後のディスク使用量は、4.75GBとなっていた(19.90GBのうち15.15GBが空き容量)。


1. VMware Toolsのインストール

vSphere Clientから「VMware Toolsのインストール/アップグレード」を選択し、VMware Toolsをマウントする。

その後、コマンドプロンプトでsetup64.exeを実行すればよい。あとはいつものGUIにてインストールが可能となる。

cd d:\
setup64.exe


2. ネットワーク設定(IPアドレス設定)

ネットワーク設定は、コマンドで設定する。

まずは、インターフェースのIdx番号を確認する。今回は「ローカルエリア接続」となっているNICにIPを付与するため、Idx番号は「3」となる。

netsh interface ipv4 show interfaces
------------------------------
Idx     Met         MTU          状態                 名前
---  ----------  ----------  ------------  ---------------------------
  3          10        1500  connected     ローカル エリア接続
  1          50  4294967295  connected     Loopback Pseudo-Interface 1
------------------------------

以下コマンドでIPを付与する。「name=<Idx番号>」としてインターフェースを指定する。

netsh interface ipv4 set address name=3 source=static address=192.168.11.62 mask=255.255.255.0 gateway=192.168.11.31

3. ネットワーク設定(DNS設定)

DNSは以下のコマンドで設定する。DNSサーバーは既設のドメインコントローラーを指定した。

netsh interface ipv4 add dnsserver name=3 address=192.168.11.61 index=1

4. ネットワーク設定(IPv6無効化)

IPv6を使用しない場合は無効化しておく。反映するために一度サーバーを再起動すること(再起動もコマンドで実施する(shutdown /r /t 0))。

------------------------------
キー :  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\
名前 : DisabledComponents
種類:  DWORD
データ: 0xff (16進数でff)
------------------------------

最後に設定を確認する。IPv6アドレスが表示されていなければOK。

ipconfig /all
------------------------------
イーサネット アダプター ローカル エリア接続:

   接続固有の DNS サフィックス . . . :
   説明. . . . . . . . . . . . . . . : Intel(R) PRO/1000 MT Network Connection
   物理アドレス. . . . . . . . . . . : 00-0C-29-D7-A5-3F
   DHCP 有効 . . . . . . . . . . . . : いいえ
   自動構成有効. . . . . . . . . . . : はい
   IPv4 アドレス . . . . . . . . . . : 192.168.11.62(優先)
   サブネット マスク . . . . . . . . : 255.255.255.0
   デフォルト ゲートウェイ . . . . . : 192.168.11.31
   DNS サーバー. . . . . . . . . . . :  192.168.11.61
   NetBIOS over TCP/IP . . . . . . . : 有効
------------------------------

5. リモート管理設定

Server Coreの場合、他のコンピューターから、サーバーマネージャーやMMC(Microsoft Management Console)で管理することが前提となっているが、その割にデフォルトでは外部から管理できないようになっている。

外部から管理できるようにするため、Firewallを開放する。

netsh advfirewall firewall set rule group="リモート管理" new enable=yes
------------------------------
3規則を更新しました。
OK
------------------------------

netsh advfirewall firewall set rule group="リモート ボリューム管理" new enable=yes
------------------------------
3規則を更新しました。
OK
------------------------------

これで別のWindows OSから「ファイル名を指定して実行」→「mmc」を選択し、MMCを起動する。MMCでは「ファイル」→「スナップインの追加と削除」を選択し、「コンピューターの管理」を選ぶ。この際に管理するコンピューターを選択する画面が出るので、今回の対象サーバーを指定してあげればOK。

6. ドメイン参加

ドメイン参加の前に、コンピューター名を先に変えておく。そうしないと、「ネットワークパスが見つかりません。コマンドを完了できませんでした。」というエラーが表示されドメイン参加に失敗する。以下ではホスト名をt1062w28rに変更する例となる。コマンド実行後再起動を忘れないこと。

netdom renamecomputer %computername% /newname:t1062w28r

次にドメイン参加を行う。こちらもコマンドで実施する。userdはドメインのアカウント、passworddはドメインのアカウントのパスワードとなるが、*を指定するとコマンド実行後にパスワード入力が促されるので、正しいパスワードを入力しOKを押すこと。こちらも実行後は再起動が必要。

netdom join t1062w28r /domain:intrat.local /userd:tadmin /passwordd:*


7. ライセンス認証

ライセンス認証をインターネット経由で実施する場合、以下コマンドで実施可能。ただし、途中にプロキシがある環境の場合は、エラーで失敗することがある。この場合は、コマンドでプロキシを設定してやることで成功する。

------------------------------
netsh winhttp show proxy   ←プロキシ確認
netsh winhttp set proxy 192.168.33.23:8080   ←プロキシ設定

slmgr.vbs -ipk *****-*****-*****-*****-*****   ←プロダクトキー入力
slmgr.vbs -ato   ←ライセンス認証
netsh winhttp reset proxy   ←プロキシ解除
------------------------------

これでドメインのメンバーサーバーとして利用可能なServer Coreが完成する。次回はこのサーバーをドメインコントローラーに昇格させる方法(と降格させる方法)について記載する。

(参考) Server Core設定ツール「sconfig」を使う場合

Server Coreの場合は、sconfigという設定ツールが用意されており、初期設定で説明したいくつかの項目は、対話式に設定ができる。

sconfigで設定できる項目は以下の通り。「5) Windows Updateの設定」と「7) リモートデスクトップ」は設定をしておいた方がよい。

------------------------------
1) ドメイン/ワークグループ
2) コンピューター名
3) ローカル管理者の追加
4) リモート管理の構成
5) Windows Updateの設定
6) 更新プログラムのダウンロードとインストール
7) リモートデスクトップ
8) ネットワーク設定
9) 日付と時刻
10) ユーザーのログオフ
11) サーバーの再起動
12) サーバーのシャットダウン
------------------------------

また、「4) リモート管理の構成」の中には以下項目がある。「2) Windows PowerShell  を有効にする」は有効にしておくと便利なことがあるかもしれない(Windows Server 2008 R2はPowerShellがそんなに充実していないので使わないかもしれないが)。

------------------------------
1) MMC リモート管理を許可する
2) Windows PowerShell  を有効にする
3) サーバー マネージャーのリモート管理を有効にする
4) Windows ファイアウォール設定を表示する
------------------------------

2017年2月11日土曜日

Cisco Catalystスイッチのインターフェースのリンクダウンを検知するまでの遅延時間の設定

スイッチのインターフェースがリンクダウンしてから、実際にリンクダウンを検知する(ログに表示される・SNMP Trapが飛ぶ)まで、少し時間に差異があることがわかった、というお話。

リンクダウンの検知を遅延させる理由は、リンクダウン・アップが短時間に何度も繰り返されるような場合に、大量検知することによる処理の増加を抑えるためのようだ。というわけでCisco Catalystスイッチで該当する設定を調べてみた。

link debounceとcarrier-delay

遅延設定はlink debounceとcarrier-delayの2つのパラメータで設定される。どちらも似たような設定となっているが、違いはおそらく以下のようである。

------------------------------
リンクダウン
 ↓ ←link debounceの遅延時間(Firmwareで動作)
 ↓ ←carrier-delayの遅延時間(Softwareで動作)
リンクダウンを検知
------------------------------

それぞれの設定項目を以下に記載する。

【link debounce】

インターフェース毎に設定される。インターフェースのリンクダウン(リンクアップを除く)の通知の遅延時間。この遅延時間以内にリンクアップを検知した場合は、リンクダウンの通知を行わない。短時間のリンクダウンの検知による不要なスイッチ動作を抑止することを目的とする。

デフォルトはdisableのようだが、disableでも遅延はかかるようで、以下の表の通りとなる(Ciscoのページから抜粋)。

Port Type
Debounce Timer Disabled
Debounce Timer Enabled
10BASE-FL ports
300 milliseconds
3100 milliseconds
10/100BASE-TX ports
300 milliseconds
3100 milliseconds
100BASE-FX ports
300 milliseconds
3100 milliseconds
10/100/1000BASE-TX ports
300 milliseconds
3100 milliseconds
1000BASE-TX ports
300 milliseconds
3100 milliseconds
Fiber Gigabit ports
10 milliseconds
100 milliseconds
10-Gigabit ports except WS-X6501-10GEX4 and WS-X6502-10GE
10 milliseconds
100 milliseconds
WS-X6501-10GEX4 and WS-X6502-10GE 10-Gigabit ports
1000 milliseconds
3100 milliseconds


・Cisco IOS Interface and Hardware Component Command Reference - link debounce
http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/interface/command/ir-cr-book/ir-l1.html#wp1766490589

【carrier-delay】

インターフェース毎に設定される。リンク状態の変化(リンクダウン・アップ)を検知するまでの遅延時間。フラッピング(短時間でのリンクダウン・アップの繰り返し)発生時のスイッチ負荷軽減を目的とした設定。

例えば2秒と設定している場合は、1秒以内のリンクダウン、アップであればリンク状態に変化がないものとする。

デフォルトで2秒で設定されている。

・Cisco IOS Interface and Hardware Component Command Reference - carrier-delay
http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/interface/command/ir-cr-book/ir-c1.html#wp2997457714

参考

・Daniels Networking Blog - Detecting Network Failure
http://lostintransit.se/2013/09/26/detecting-network-failure/

2017年2月6日月曜日

FreeNASをiSCSIストレージとして構築し、Windows Server 2012から接続してみた② (Windows Server iSCSIイニシエーター設定編)

前回、FreeNASのiSCSI設定を実施したので、今回はWindows Server 2012にて、iSCSIイニシエーターの設定を実施する。

また、おまけとして、iSCSIのMPIOのパスの切り替わり時間とその変更方法についても記載する。

構成の確認

今回の構成を再度記載する。iSCSIイニシエーターからはiSCSIターゲットに対して2パスを構成する。

------------------------------
【2パス構成】
・NIC1 -> iSCSI1
・NIC2 -> iSCSI2
------------------------------

今回は同セグメントなので、以下のような4パスも構成可能だが、前回説明した通りパス毎にセグメントは分離して構成したほうがよいので、お勧めはしない。

------------------------------
【4パス構成(不採用)】
・NIC1 -> iSCSI1
・NIC1 -> iSCSI2
・NIC2 -> iSCSI1
・NIC2 -> iSCSI2
------------------------------



iSCSIイニシエーター設定

1. Windows Server 2012にiSCSIイニシエーターとMPIOがインストール済みで、iSCSIのMPIOが有効化されているものとする。有効化の方法は、以下のサイトが詳しいのでここでは割愛。

・Windows コンピューターで、iSCSI Target をマルチパス I/O で使用する方法
https://www.synology.com/ja-jp/knowledgebase/DSM/tutorial/Virtualization/How_to_Use_iSCSI_Targets_on_Windows_Computers_with_Multipath_I_O

2. 「コントロールパネル」→「iSCSI設定」にて「iSCSIイニシエーターのプロパティ」画面を開く

3. 「探索」タブにて以下を設定する。

------------------------------
・192.168.11.145 / 3260
・192.168.11.146 / 3260
------------------------------


登録後「ターゲット」タブに移ると、「非アクティブ」状態にてFreeNASのターゲットが見えているはず。



パス1の設定

1. 「ターゲット」タブにて、1個目のターゲットを選択し、「接続」ボタンを押下する。

2. 「ターゲットへの接続」画面が表示されるので、「複数パスを有効にする」にチェックを入れ、「詳細設定」ボタンを押下する。


3. 「詳細設定」画面では以下を設定する。

------------------------------
・ローカルアダプター:Microsoft iSCSI Initiator
・イニシエーターIP:192.168.11.115
・ターゲットポータルIP:192.168.11.145 / 3260
------------------------------



4. 「OK」→「OK」を押し、「iSCSIイニシエーターのプロパティ」画面に戻る。1個目のターゲットの状態が「接続完了」に変わることを確認する。



パス2の設定

1. 「ターゲット」タブにて、2個目のターゲットを選択し、「接続」ボタンを押下する。

2. 「ターゲットへの接続」画面が表示されるので、「複数パスを有効にする」にチェックを入れ、「詳細設定」ボタンを押下する。

3. 「詳細設定」画面では以下を設定する。

------------------------------
・ローカルアダプター:Microsoft iSCSI Initiator
・イニシエーターIP:192.168.11.118
・ターゲットポータルIP:192.168.11.146 / 3260
------------------------------


4. 「OK」→「OK」を押し、「iSCSIイニシエーターのプロパティ」画面に戻る。2個目のターゲットの状態が「接続完了」に変わることを確認する。



5. 以上でパスの設定は終わり。MPIOの状態は、「デバイス」→「MPIO」にて確認ができる。ディスクに対して以下の通りアクティブなパスが2つあることがわかる。


(おまけ) iSCSIのパスの切り替わり時間と変更方法

ここからはおまけで、iSCSIのMPIOのパス切り替わり時間とその変更方法について記載する。参考にしたURLは以下の通り。

・MPIO Failover Time
https://social.technet.microsoft.com/Forums/office/en-US/dfa3c7ea-3ee4-4a5b-95f1-74be87c7e75a/mpio-failover-time?forum=winservergen

MPIOのパスの切り替わり時間は、レジストリ値で制御されている。「ファイル名を指定して実行」で「regedit」を入力するとレジストリエディタが開くので、以下を選択して、「右クリック」→「検索」を選択して、対象のキーを探す。
※パスは環境によって変わるようなので、検索にて見つける必要がある。

------------------------------
「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet」で
「右クリック」→「検索」し、「LinkDownTime」を検索
------------------------------

LinkDownTimeは、デフォルトでは15秒で設定されている。これがMPIOの切り替わり時間で、例えばiSCSIイニシエーターのNICが切断した際には、15秒間切断が継続するとMPIOのフェールオーバーが発生する(ターゲット側のNICを切断した場合も同様)。

私の検証した限りでは、NIC切断からMPIOのフェールオーバーが発生するまで、LUNのアクセスは停止する(NTFSでマウントしているとExplorerが固まる)ので、この切り替わり時間は少なくともOSのI/Oタイムアウトの時間よりも短くする必要がある。

※OSのタイムアウトに関しては以下の過去記事参照
https://tech-mmmm.blogspot.jp/2015/03/ostcp.html

従って、可能な限りパスを早く切り替えたい場合は、このレジストリキーを短くすればよいのだが、頻繁なパス切り替わりを引き起こす可能性もあり、一長一短となる。また、ストレージメーカーからは、このキーの値が明示的に指定されている場合もあるので、確認して設定した方がよい(調べた限りでは、この値を大きくするケースが多い模様)。

MPIOのフェールオーバーの発生は、「イベントビューアー」の「Windowsログ」→「システム」から確認可能で、以下のようなログが記録される。

------------------------------
<NIC1を切断時(LUNへのアクセスが停止)>
・説明:ターゲットへの接続が失われました。イニシエーターは接続を再試行します。
・ソース:iScsiPrt
・イベントID:20
・レベル:エラー
------------------------------

------------------------------
<フェールオーバー時(LUNへのアクセスが回復)>
・説明:\Device\MPIODisk0に対するフェールオーバーが発生しました。
・ソース:mpio
・イベントID:16
・レベル:エラー
------------------------------


2017年1月30日月曜日

FreeNASをiSCSIストレージとして構築し、Windows Server 2012から接続してみた① (FreeNAS構築編)

ちょっと仕事でiSCSIの接続方法を検証する必要があり、iSCSIのターゲットの機能を持つオープンソースのNAS用OSである、FreeNASをESXi上に仮想マシンとして構築してみることにした。

本記事ではFreeNASのインストールする手順とiSCSIの設定手順について記載し、ついでにWindows Server 2012からのiSCSIイニシエーターの設定手順についても記載する。記載量が多くなるので、まずはFreeNASのインストールからiSCSIの設定までを記載し、次回にWindows Server 2012でのiSCSIイニシエーター設定を記載する。

FreeNASとは

FreeNASはFreeBSDをもとにしたNAS用OSである。巷にはオープンソースのNAS用OSが多数存在するが、その中でiSCSIターゲット機能を持つことから使ってみることにした。

FreeNASは以下URLからダウンロードできる。私が利用したバージョンはFreeNAS-9.10.2となる。

・FreeNAS Storage Operationg System
http://www.freenas.org/

FreeNASをインストール

FreeNASのインストールは、ダウンロードしたISOをマウントして、ウィザードに従っていけばそこまで悩むことなくインストールできるため、要所だけ記載する。

1. 仮想マシンの構成として、メモリは4GB以上が推奨のようだが、4GB以下でもインストールは可能。ESXiで仮想マシンの箱を作る際に設定するゲストOSの種類は、「その他」→「FreeBSD (64 ビット)」を選択する。CPU、メモリ、ディスクは以下で構成したが、実用する場合はメモリを多くすればキャッシュとなって処理が速くなるようだ。

------------------------------
・CPU:1コア
・メモリ:2GB
・ディスク:10GB
------------------------------

2. ISOをマウントして起動し、「Install/Upgrade」を押すと、仮想マシンのメモリが4GB未満の場合は以下のような警告が表示される。FreeNASの推奨メモリ量以下だよ、というただの警告なので、無視して進めば問題ない。


3. Boot Modeは特に設定を変更していないのであれば、「Boot via BIOS」で問題ない。


4. インストールが終了後の初回ブートのタイミングでは、NICの設定がDHCPとなっている。そのため、DHCPDISCOVERがランダムな間隔で5回繰り返されるので、気長に終了を待つこと。


5. 「Console Setup」画面が表示されるので、数字の1を押して、「1) Configure Network Interface」を選択したのち、以下のように設定する。

------------------------------
・Select an interface : 1
・Reset network configration? : n
・Configure interface for DHCP? : n
・Configure IPv4? : y
・Interface name : 空白のままエンター
・IPv4 Address : 192.168.11.144/24 ※これは例。ネットワークに応じて適切に設定する
・Configure IPv4? : n
------------------------------



設定すると、Console Setup画面に「http://<設定したIPアドレス>」が表示される。



FreeNAS初期設定

ここからはWebの管理画面にて設定ができるようになる。

1. Webの管理画面にログインする。

 ・URL:http://<設定したIPアドレス>
 ・ID:root
 ・Pass:インストール時に設定したパスワード

2. 初回ログイン時は、「Initial Wizard」が表示されるが、まだディスクが追加できておらず設定が完了できないことから、「Exit」を押して閉じておく。



3. 初期設定としては、以下を最低限設定しておけばよい。

------------------------------
◆「System」→「General」
 ・Language:日本語UIにしたければ「Japanese」に変更する ※今回は「English」のままにした
 ・Console Keyboard Map:Japanese 106x ※変更しなくてもあまり影響ない
 ・Time zone:Asia/Tokyo
------------------------------



------------------------------
◆「Network」→「Global Configration」
 ・Hostname:<ホスト名を設定>
 ・Domain:空白がだめなので、「local」などで設定しておく
------------------------------



FreeNAS ネットワーク・ストレージ設定

初期設定が終わったら、ネットワークとストレージの設定を実施していく。今回は下図の構成を考えており、ネットワークは2パスで冗長構成、ディスクは2本のミラー構成で設定してみる。後述するが、本来はパス1とパス2は、同一セグメントではなく、別セグメントで構築することが望ましい。


1. 仮想マシンにNICを追加する。今回は以下のように追加した。NICのアダプタの種類が違うのは、FreeNASで認識するか試すためで、VMXNET 3でも問題なく認識した。なお、NIC認識には一度FreeNASの再起動が必要のようだ。

------------------------------
・NIC1(E1000):初期NIC。管理通信に使用
・NIC2(VMXNET 3):追加NIC。iSCSIで使用
・NIC3(E1000):追加NIC。iSCSIで冗長パスとして使用
------------------------------

2. 仮想マシンにディスクを追加する。今回はMirrorボリュームを作るため、以下のように追加した。なお、サイズが2GB程度と少ないとボリューム作成ができなかったので注意。ディスクは再起動せず認識した。

------------------------------
・ディスク1:4GB ※ESXiの4GBは正確には4GiBなので、FreeNASでは4.3GBに見える
・ディスク2:4GB ※ESXiの4GBは正確には4GiBなので、FreeNASでは4.3GBに見える
------------------------------

3. Webの管理画面に戻り、「Network」→「Interfaces」→「Add Interface」にてNICを追加する。なお、今回は面倒だったので、すべて同セグメントでのIPアドレスを付与したが、これは大変おすすめしない。というか、FreeNASのWeb管理画面では、以下の設定は「The network xxx.xxx.xxx.xxx/xx is already in use by another NIC.」というエラーが出て拒否される。設定したければ、Console setupの画面から1個目のNICと同様に設定する必要がある。

おすすめとしては、運用セグメント、iSCSIの1パス、iSCSIの2パスでそれぞれセグメントを別に設計するほうがよい。

------------------------------
<おすすめしない例>
・NIC1(管理):192.168.11.144/24
・NIC2(iSCSI1):192.168.11.145/24
・NIC3(iSCSI2):192.168.11.146/24

<おすすめ例>
・NIC1(管理):192.168.11.144/24
・NIC2(iSCSI1):192.168.22.1/25
・NIC3(iSCSI2):192.168.22.129/25
------------------------------

------------------------------

【参考】 なぜ同セグメントのNIC複数枚がおすすめしないのか

同セグメントのNICが複数ある場合、ルーティングが以下の通りになる。

Destination           Gateway Flags  Netif
127.0.0.1               link#4      UH     lo0
192.168.11.0/24     link#1      U       em0
192.168.11.144/24  link#1      UHS   lo0
192.168.11.145/24  link#3      UHS   lo0
192.168.11.146/24  link#2      UHS   lo0

下線部のルーティングが重要で、今回設定したネットワークセグメントである192.168.11.0/24へのルーティングのNetifが「em0(NIC1のインターフェース名)」になっており、NIC2やNIC3が受信したパケットであっても、戻りパケットはem0から送信されることになる。

そのため、NIC1が万が一切断されると、全NICの戻りパケットが送信できなくなり、関係のないNIC2、NIC3ともに通信ができなくなる。これは冗長性を考えると、とてもよろしくない。
------------------------------

4. Web管理画面にて、「Storage」→「Volumes」→「Volume Manager」を選択する。Volume Managerの画面では、以下の通り設定し、「Add Volume」ボタンを押下した。

------------------------------
・Volume Name : Volume1
・Volume layout : Mirror / 2 - 4.3GB
------------------------------

FreeNAS iSCSI設定

1. Webの管理画面にて、「Sharing」→「Block (iSCSI)」→「Traget Global Configuration」を選択する。「Base Name」を以下に設定し、「Save」する。

------------------------------
・Base Name : iqn.2005-10.org.freenas.ctl:t1144fnas ※これは一例で、任意に設定すればよい
------------------------------



2. 「Portals」画面にてポータルを追加する。

------------------------------
<Portal1>
・Comment : Potal1
・Discovery Auth Method : None
・Discovery Auth Group : None
・IP Address : 192.168.11.145
・Port : 3260

<Portal2>
・Comment : Potal2
・Discovery Auth Method : None
・Discovery Auth Group : None
・IP Address : 192.168.11.146
・Port : 3260
------------------------------



3. 「Initiators」画面にて接続可能とするiSCSIイニシエーターを登録する。

------------------------------
・Initiators : iqn.1991-05.com.microsoft:t1115w212.intrat.local
・Authorized network : ALL
・Comment : 任意
------------------------------



4. 「Targets」画面にてiSCSIターゲットを追加する。

------------------------------
<Target_a0>
・Target Name : iqn.2005-10.org.freenas.ctl:t1144fnas.a0
・Comment : Target_a0
・Portal Group ID : 1 (Portal1)
・Initiator Group ID : 1
・Auth Method : None
・Authentication Group number : None

<Target_b0>
・Target Name : iqn.2005-10.org.freenas.ctl:t1144fnas.b0
・Comment : Target_b0
・Portal Group ID : 2 (Portal2)
・Initiator Group ID : 1
・Auth Method : None
・Authentication Group number : None
------------------------------



5. 「Extents」画面にてエクステント(iSCSIイニシエーターに見せるディスク領域)を追加する。

------------------------------
・Extent Name : Extent1
・Extent Type : File
・Serial : 自動で入力される
・Path to the extent : /mnt/Volume1/extent1
・Extent size : 任意 ※Volumeのサイズよりも大きいサイズ指定が可能。今回は10TBで設定
・LUN RPM : ディスクに合わせて設定する。今回はSSD
------------------------------



6. 「Associated Targets」画面にてiSCSIターゲットとエクステントの紐づけを実施する。

------------------------------
<設定1>
・Target : iqn.2005-10.org.freenas.ctl:t1144fnas.a0
・LUN ID : 0
・Extent : Extent1

<設定2>
・Target : iqn.2005-10.org.freenas.ctl:t1144fnas.b0
・LUN ID : 0
・Extent : Extent1
------------------------------



7. 最後にFreeNASでiSCSIサービスを有効化する。「Services」→「Control Services」を選択し、「iSCSI」を「ON」にする。



以上でFreeNASのiSCSI設定は完了。次回はこのFreeNASにWindows Server 2012から接続する設定を行う。

2017年1月19日木曜日

SCEP (System Center 2012 Endpoint Protection)の定義ファイルをWSUS経由で更新する方法

SCEP (System Center 2012 Endpoint Protection)を評価版で導入した際に、定義ファイルの更新がなかなかうまくいかなかった。

自宅の環境はWSUSを導入しており、どうやらその設定がうまくできていないので定義ファイルが更新されないようだった。設定方法自体は単純だが、設定する製品名が違うなどわかりづらい個所もあるので、その設定方法についてまとめておく。

設定方法

WSUSの導入サーバーで以下の通り設定する。

1. Windows Server Update Servicesの管理画面を開く

2. 「オプション」→「製品と分類」を選択し、以下の通り設定する


・製品
「Forefront Endpoint Protection 2010」にチェック
※「System Center」の製品名ではないので注意!


・分類
「定義更新プログラム」にチェック



3. 「オプション」→「自動承認」を選択し、以下の通り設定する

------------------------------
更新が 定義更新プログラム に含まれる場合
更新が Forefront Endpoint Protection 2010 に含まれる場合
すべてのコンピューター への更新を承認する
------------------------------


なお、SCEPの定義ファイルの状況を確認できるようにするため、更新ビューを作っておくと便利。


上記で設定は完了。通常はこれで問題なく定義ファイルが配信されるようになる。クライアント側のタスクトレイのSCEPアイコンをダブルクリックし、「更新」タブで「定義の更新」ボタンを押し、定義ファイルが最新となればOK。



2017年1月15日日曜日

ZabbixでESXiのCPU使用率とメモリ使用率を取得しグラフを表示する方法

うちの検証環境はvCenter ServerがないESXiだけの仮想環境となっている。ESXiだけの場合、CPU、メモリなどの情報は直近1時間分しか保存されない。これが短すぎて不便なこともあり、長期的な稼働状態の分析などもできないことから、Zabbixを使って情報を取得し、グラフとして表示させる設定を入れてみた。

なお、最初は情報を取得できず失敗してしまったが、同じ理由ではまる人もいるかもしれないので、敢えて失敗パターンも記載する。

ESXiのホスト名を手動登録してアイテムを作成する(失敗パターン)

先に失敗事象を記載する。今から記載する方法では、zabbix_server.logに以下ログが出て情報取得に失敗する。

[root@t3022ce67 163049]# tal /var/log/zabbix/zabbix_server.log
------------------------------
~(省略)~

  2041:20170114:162720.083 item "t3011es60:vmware.hv.cpu.usage[{$URL},{$UUID}]" became not supported: Unknown hypervisor uuid.
------------------------------

以下に失敗した手順を記載する。

1. 「管理」→「ホスト」にてホストを新規作成する。以下のように「ホスト」タブで、ESXiのホスト名(図の場合はt3011es60)、IPアドレスを手動で登録する
 ※SNMPインターフェースは、別の監視で利用しているだけなので、設定は不要


2. 「テンプレート」タブでは「Template Virt VMware」を追加する
 ※ICMPやSNMPは別の監視で必要なだけなので、設定は不要



3. ここで一度ESXiにvSphere Clientなどでログインし、ユーザーを作成する。ユーザーは読み取り専用で問題ない。今回は「zbxuser」という名前で作成しておく



4. 「マクロ」タブでは、以下の4点を登録する。ホスト名は名前解決できるようにhosts登録などしておくこと

 ・{$PASSWORD} => zbxuserのパスワード
 ・{$URL}            => https://<ESXiのホスト名>/sdk
 ・{$USERNAME}  => zbxuser
 ・{$UUID}           => <ESXiのホスト名>



5. 「管理」→「テンプレート」にて「Template Virt VMware」の「アイテム」を選択する。デフォルトでは以下3つのアイテムが存在する。ここにアイテムを追加する

 ・Event log
 ・Full name
 ・Version



6. 以下のように「CPU usage」という名前でアイテムを作成する



7. 「設定」→「ホスト」で、登録したESXiを選択し「アイテム」を確認すると、「エラー」が「×」となり、「Unknown hypervisor uuid.」と表示されてうまく動かない


というわけで、どうもうまく動かなくて試行錯誤した結果、次の登録方法でうまくいくことがわかった。

ESXiをディスカバリを使って登録する(成功パターン)

1. 「管理」→「ホスト」にてホストを新規作成する。以下のように「ホスト」タブで、ESXiのホスト名ではなく適当な名前(図ではVMware)として、ESXiのIPアドレスを登録する
 ※SNMPインターフェースは、別の監視で利用しているだけなので、設定は不要



2. 「テンプレート」タブでは「Template Virt VMware」を追加する
 ※ICMPやSNMPは別の監視で必要なだけなので、設定は不要


3. ここで一度ESXiにvSphere Clientなどでログインし、ユーザーを作成する。ユーザーは読み取り専用で問題ない。今回は「zbxuser」という名前で作成しておく



4. 「マクロ」タブでは、以下の3点を登録する。ホスト名は名前解決できるようにhosts登録などしておくこと

 ・{$PASSWORD} => zbxuserのパスワード
 ・{$URL}            => https://<ESXiのホスト名>/sdk
 ・{$USERNAME}  => zbxuser


5. しばらくすると作成した「VMware」のホストに設定されているディスカバリによって、以下のようにハイパーバイザーと仮想マシンが自動登録される

 Discover VMware hypervisors: <ESXiのホスト名> ←ディスカバリされたESXi
 Discover VMware VMs: <仮想マシンのホスト名> ←ディスカバリされた仮想マシン


ESXiは「Template Virt VMware Hypervisor」のテンプレートに自動で登録されているが、この中にはCPU使用率やメモリ使用率のアイテムがデフォルトで存在する。

6. 「Template Virt VMware Hypervisor」を選択し「グラフ」を選択する。以下の通りデフォルトでは何も設定されていない


7. 以下のように「CPU usage」と「Used Memory」というグラフを作成する。グラフ作成の際に選択するアイテムは以下の通り

 ・CPU:
   Template Virt VMware Hypervisor: CPU usage


 ・メモリ:
   Template Virt VMware Hypervisor: Total memory
   Template Virt VMware Hypervisor: Used memory
   Template Virt VMware Hypervisor: Ballooned


8. 「監視データ」→「グラフ」選択し、グラフが表示されることを確認する。

・CPUのグラフ



・メモリのグラフ


以上で設定は完了。デフォルトでは90日分のデータが保存され、グラフで確認することが可能となる。