さて、最近知ったことがあります。
それは、以前まで「NIC Teaming + Hyper-V + VLAN 環境」はうまく動かなかったことです。しかし、それが最近になって可能になったそうです。この情報はHPの小川さんから教えていただきました。また資料も提供していただき感謝です。
さて、ではそもそも、なぜ「NIC Teaming + Hyper-V + VLAN 環境」がダメだったのか?
さて、最近知ったことがあります。
それは、以前まで「NIC Teaming + Hyper-V + VLAN 環境」はうまく動かなかったことです。しかし、それが最近になって可能になったそうです。この情報はHPの小川さんから教えていただきました。また資料も提供していただき感謝です。
さて、ではそもそも、なぜ「NIC Teaming + Hyper-V + VLAN 環境」がダメだったのか?
Windows 7 の Windows XP Mode、Windows Virtual PC または Virtual PC 2007 上のゲスト OS では、対話的な操作全般が遅延する場合がある
http://support.microsoft.com/kb/978209/ja
というKBがマイクロソフトから出ています。これは、ゲストOSの操作が遅延することがあるというものですが、実は時刻同期にも影響を及ぼすことがわかりました。
さて、この原因は何かを考察していきます。
Windows Server 2008 R2 with Hyper-V 2.0 環境に対して適用を推奨する修正プログラム
KB2264080 (ロールアップ パッケージ)
-An update rollup package for the Hyper-V role in Windows Server 2008 R2: August 24, 2010
–http://support.microsoft.com/kb/2264080/en-us
-975530 / 974909 / 981791 の修正を含むロールアップ パッケージ
KB975530(KB2264080に含む)
-Stop error message on a Windows Server 2008 R2-based computer that has the Hyper-V role installed and that uses one or more Intel CPUs that are code-named Nehalem: “0x00000101 -CLOCK_WATCHDOG_TIMEOUT“
–http://support.microsoft.com/kb/975530/en-us
-Nehalem アーキテクチャ以降の CPU を搭載したマシンにおいてSTOP エラー “0x00000101 – CLOCK_WATCHDOG_TIMEOUT” が発生する不具合を修正。
昨日 MVP OPEN DAY に参加して仕入れたネタになりますが、表題にあるように 0 Day Attack に対応できるツールがMSから出ていました。
このようなツールがあること自体知らない方がほとんどで、コマーシャルが足りないと皆さんから突っ込まれていました(笑)
さてそれはどのようなツールかというと、EMET(エメット)というツールになります。
SCVMMの補完ツールとして、Virtual Machine Servicing Toolがあります。
これは自動的にオフラインのマシンに対して更新プログラム等を適用させるツールになります。今までのバージョンではオフラインとは言っても、実際には仮想マシンを起動させて更新プログラムを適用させることを行っていました。
しかし、ある課題がありました。それは、Sysprep済みのイメージはこの仕組みではうまくいかないということです。
そこで、最新バージョンであるVirtual Machine Servicing Tool 3.0 ではDISMの機能を使用して実際に端末を起動しなくても更新プログラムなどを適用できる仕組みを提供しています。
ただし、この機能を使用できるのはWindows Server 2008 R2 or Windows7 になります。なぜなら、DISMをサポートしているのはこれらのOSからだからです。
MSFCではGUID パーティション テーブル (GPT)をサポートしています。
GPTを使用することによって、MBRの制限である2Tバイトを超えるパーティションを作成できないという問題をクリアすることになります。
MBRとGPT
MBR | GPT | |
サイズ | 2T | 18EB |
パーティション数 | 4プライマリ or 3プライマリ+1拡張(任意の数の論理ドライブ) | 128 |
プラットフォームの重要データ | 隠しセクタ | パーティション |
パーティションデータ構造の整合性 | なし | 冗長プライマリPT バックアップPT |
Office 2010のシーケンス処理に関しては下記情報を参考に行います。
Prescriptive guidance for sequencing Office 2010 in Microsoft App-V
http://support.microsoft.com/kb/983462/en-us
ここにも書かれていますが、あくまでもシーケンス処理の一つの方法として記載されています。使用する環境に合わせてカスタマイズする必要があります。
*今回はWindows7(32ビット)に配信するため、仮想環境にWindows7を用意しSequencer 4.6 を導入しています。
*Microsoft Office Professional 2010のボリュームライセンス版を用意します。
現在、Windows Server 2008 のAD設計のコース準備をしています。
そこでこんな記述があって悩んでいました。
・AD DSを復元するときの考慮事項というのがあり、削除後にAuthoritative restoreによって復元したユーザーオブジェクトのグループメンバシップの復元は、いつLVRを実装したかによって異なる
ん?なにが言いたいの?ということで調べてみるとこんな情報が・・
Authoritative restore issue with LVR enabled attributes
障害回復: Active Directory ユーザーとグループ
これらの情報から整理すると
■復元における問題
Authoritative restoreによる復元ではオブジェクトが持つ前方リンクを元の状態にきちんと戻すことができない。この問題は[W2000]のフォレスト機能レベルで運用していたフォレストを[W2003]のフォレスト機能レベルにアップした場合にのみ起こる。
特に、削除されたグループメンバーシップを回復するためにグループオブジェクトのAuthoritative restoreを行っても、[W2003]のフォレスト機能レベルにアップグレードする前に作成されたグループメンバシップ情報は復元されない
■シナリオ
AD管理者は1つのグループのメンバーから複数のユーザーを削除した(ユーザー自体の削除ではない。あくまでもグループメンバーからの削除)。ところがこれがミスオペだとわかり、管理者は元の状態に戻さなければならなくなった。
■管理者はどうすれば良いか
この状況から回復させる一つの方法は次の通り。
本番環境からは隔離された別のマシンにシステム状態の復元を行う。こうすれば、他のDCから複製により上書きされることは無い。
そして、ポイントはグループメンバーシップを復元するためにNtdsutilによって作成されるldfファイルを使用することだ。Ntdsutilによって作成されるldfファイルを本番環境に転送し、そして復元のためにインポートする。
■そもそもこんなことが起こらないようにする
フォレスト機能レベルがWindows server 2003以前に作成されたグループはLVRが有効になっても新しいレプリケーション メタデータが自動的に適用されるわけではない。あくまでもフォレスト機能レベルがWindows server 2003になってLVRが有効の状態でグループにユーザーを追加した時に、新しいレプリケーション メタデータが自動的に適用されることになる。
ここが問題になる。ということはAuthoritative restoreによる復元でグループを復元したとしても、ユーザー情報は復活しないということになる。
ということで、フォレスト機能レベルをWindows server 2003に上げたら、全てのグループのユーザーを入れなおす作業をしておいたほうがいいことになります。これはldifdeコマンドで簡単にできるでしょう。
グループのユーザーの数が少なければ手作業でもそんなに大変ではないのであまり問題にはならないかな?
あと2008ならADデータベースマウントツール(dsamain.exe)を使うことによって過去のスナップショットからグループの情報を参照できるので最悪の事態は避けられると思われます。
先日 MDOP 2010 Refresh を Windows Server 2008 R2 に新たに環境を作成しなおしました。
App-Vに関してはサーバーはバージョンアップはされていないので4.5 SP1が入っています。クライアント及びシーケンサーがApp-V 4.6となっています。これでやっとOffice 2010 RTMが正式サポートされました(64Bit版のOSに対しても)
そして普通にサーバー設定も終わり何事もなかったのですが・・・
サーバーを再起動すると次のようなことが起こりました。
App-Vのコンソールを起動するとこのような画面が出てOKをクリックすると次の画面になります。
が~ん
これでOKを押しても画面は起動するのですが、サーバーには接続しません。よって、操作が全くできなくなるのです。
たまたまこのようなことが起こったのかな~なんてあまり気にしていなかったのですが先日TFのイベントで同様のことが起こっていることを聞きました
その際にもしかしたらSP2が出ているのでそれを適用すると直るかも・・・という話がでたので試してみました
ビンゴです。SP2を適用したら正常にApp-Vのコンソールが起動しました。
ということで、 MDOP 2010 Refreshを使用してApp-VをR2に導入する際には、必ずApp-Vの最新のサービスパックを適用しましょう!
今回 MDOP 2010 Refresh がMSDNで提供されていたこともあり、Windows Server 2008 R2 に新たに環境を作成しなおしました。
App-Vに関してはサーバーはバージョンアップはされていないので以前と同様の設定で問題なし。クライアント及びシーケンサーがApp-V 4.6となっています。これでやっとOffice 2010 RTMが正式サポートされました(64Bit版のOSに対しても)
ということで今回 Windows7(32bit) に対して Office2010 を配信してみました。
この Office 2010 ですがシーケンス処理を行う際に必要なツールがあります。Microsoft Office 2010 Deployment Kit for App-V になります。これはApp-V向けの展開ツールになります。
今回、Microsoft Office 2010 Deployment Kit for App-V のRTMがあったのでそれを使用しました(ただし英語)。インストールしてみて判ったのですが、特に設定画面などはないので英語でも問題ないかな?
まずはWindows7のクライアントをHyper-V上に用意して、最新状態にします。その Windows7にMicrosoft Office 2010 Deployment Kit for App-Vをインストールします。
そしてApp-V4.6のシーケンサーをインストール。
次にOffice 2007と同様にMSPファイルの作成です。
まずはOffice 2010のVL(ボリュームライセンスでないとApp-Vでの配信はできても認証ができません)をCDドライブに挿入してコマンドプロンプトを起動します。
ここで既定のインストール先を変更します。注意しなくてはいけないのが、あらかじめQドライブを作成しておき、そこに対してインストール作業を行うこと。更にインストールフォルダ名は8文字以下にすることです。私はOff2010にしました。
機能のインストール設定を行います。Access、Excel、Outlook、PowerPoint、Word、Office共有機能は全て「マイコンピューターから実行」にしておきます。Officeツールに関しては「Microsoft Office Document Imaging」は「インストールしない」で、そのほかは「マイコンピューターから実行」にしておきます。
これで保存をしてMSPファイルを作成します。
次にこのMSPファイルを使用してセットアップ作業をシーケンス処理します。
Microsoft Application Virtualization Sequencerを起動し、ファイルから新しいパッケージの作成を行います。
パッケージ名にoff2010と入力し、次へ。
監視の開始をクリックし、Office 2010のCDを入れます。コマンドプロンプトよりmspファイルを使用したセットアップを行います。
例 setup.exe /adminfile “c:off2010.msp”
インストールが終了したら監視の停止をクリックし、アプリケーションの構成画面で必要なものだけを残す
ここでosdファイル名を変更する。既定では、OSD ファイル名が空白文字や複数のピリオドなどが含まれたファイル名になっているため、不必要な文字を削除した短いファイル名に変更します。これを各OSDファイルで行わないとショートカットがこのままの名前になるので悲しい結果が訪れます。
アプリケーションの起動ではOutlook以外を起動します。たとえば、Accessを起動し、その後F1を押してヘルプを表示させます。そしてそれらを閉じる。この操作を各アプリケーションに行います。
ここは変更しないにしておきます
これでシーケンス処理は完了なのですが、少々調整が必要
[仮想レジストリ] タブをクリックして、User/%SFT_SID%/Software/Microsoft/Office/Common/UserInfo を右クリックし、[キー]-[削除]をクリックしてシーケンス作業時のユーザー情報を削除します。この作業により、アプリケーションを配信した際に、クライアントPCにログインしているユーザーの情報が反映されます。
[展開]タブでプロトコルをRTSPにして、ホスト名を入力します。その際に考慮しなくてはいけない問題があります。それは通常サーバーのcontentフォルダに対してシーケンスしたパッケージをいれますが、Office2010を複数のOSで使用するには、OS毎にパッケージを作成する必要があります。ということはフォルダ分けをしないととんでもないことになります。ですので、今回はoff2010をいうフォルダを作成することにし、パスにoff2010を入力しました。
[OSD]タブを開き[SOFTPKG]-[IMPLEMENTATION]-[VIRTUALENV]を開きます。TERMINATECHILDRENをTUREに変更します。 これは、Office2007は終了してもタスクが残るので、終了時に強制的にタスクを終了させる設定です。
[VIRTUALENV]を右クリック>要素>追加>POLICIESを選択します
[POLICIES]を右クリック>要素>追加>LOCAL_INTERACTION_ALLOWEDを選択します
LOCAL_INTERACTION_ALLOWEDを選択し、右ペインの要素テキストにTUREと入力します。OfficeはOLEやIMEとの連携を行うので、そのための設定です。
この操作を各アプリケーション毎に行う必要があります。
Office2010が設定するファイルの関連づけ情報には日本語が使用されています。このような場合、正しくクライアントPCにアプリケーションが配信されません。この問題に対処するために、作成されたOSDファイルの文字コードをUnicode に変更します。
以上でシーケンス処理が終了になります。後はサーバーに登録し、クライアント側で起動するだけですね。
クライアント側では、App-V クライアントをインストールし、Microsoft Office 2010 Deployment Kit for App-V をインストールします。
初回起動時にプロダクトキーを入力します。
認証がうまく行けば以後は聞いてきません。
そして左がApp-Vで配信されたOffice2010、右がRemoteAppのOffice2007です。
これがはたしてベストの設定なのかはわかりませんが、Office2007の時の設定を参考にして行いました。とりあえず、無事動いています。