2013年6月22日土曜日

DFS-Rのトラブルシューティング 警告、イベントID 2213、イベントソース DFSRに注意してください!

DFS-Rのトラブルシューティングを行う機会を得ましたので、簡単にまとめておきます。
環境としてはドメインコントローラーが複数台あります(エラー発生時は2台でした)。
新しくグループポリシーを作成したのですが、うまく適用されません。
まずドメインコントローラーのSYSVOLを確認します。
一号機は、"%systemroot%sysvol\sysvol\ドメイン名"フォルダ配下にPoliciesとscriptsフォルダがあります。
(イメージ的にはこんな感じです↓)
windowssysvol

ところが2号機は、"%systemroot%sysvol\sysvol\ドメイン名"フォルダ配下が全くの空っぽでした。
またグループポリシーが読み取れないエラーがイベントログに出ていました。
GPO_apply_error

以上のことから、レプリケーションが失敗していると判断しました。
そこでドメインコントローラーでイベントビューアーを開いて、何か検出されていないかを確認します。
[アプリケーションとサービスログ]→[DFS Replication]で、警告としてイベントID 2213、イベントソースDFSRが検出されていました。
dfs-r_warn_2213
このメッセージを読むとレプリケーションが停止しているとあります。。。

そして正常なシャットダウンが行われていないとの警告(イベントID 2212、イベントソースDFSR)も発見しました。
dfs-r_warn_2212

これらのドメインコントローラーはVMとして稼働しています。
ホストOSのシャットダウン時には、ドメインコントローラーのVMもシャットダウンするように設定しているのですが、何でこんなことに?!

取り急ぎ、レプリケーションを再開すべくイベントID 2213に書かれていたwmicコマンドを実行します。
wmic_dfsr01

これでめでたくレプリケーション再開かなと安心しながら、イベントビューアーを確認しました。

ところが今度は、エラーとしてイベントID 4012、イベントソース DFSRが検出されました。。。
dfs-r_error_4012
これを見ると"レプリケーションとして共用できるオフラインの期間"を超えてしまっており、レプリケーションできないとのこと。。。
ということでMaxOfflineTimeInDaysを長くして、レプリケーションを再開させるしかなさそうです。

MaxOfflineTimeInDaysで検索したところ、いくつかの情報が出てきました。
UNable to replicate between domain controllers in Windows 2012 server
http://social.msdn.microsoft.com/Forums/ja-JP/WAVirtualMachinesforWindows/thread/91e0b351-78d0-417c-a713-feb9fec6f0a2

Implementing Content Freshness protection in DFSR
http://blogs.technet.com/b/askds/archive/2009/11/18/implementing-content-freshness-protection-in-dfsr.aspx

Technical Stuff ? SYSVol DFS Replication Annoyances
http://howdoicomputer.com/2013/02/technical-stuffsysvol-dfs-replication-annoyances/


まずは
Implementing Content Freshness protection in DFSR
http://blogs.technet.com/b/askds/archive/2009/11/18/implementing-content-freshness-protection-in-dfsr.aspx

に書かれている
Being “unable to replicate” can mean any one of these scenarios:
•Disabling the replication connections.
•Deleting the replication connections (either one-way or in both directions).
•Stopping the DFSR service.
•Closing the schedule (i.e. setting “no replication”)
•Keeping the server shut off.

が可能か、DFSの管理コンソールだけ入れてみました。しかし、特殊なレプリケーション(昇格時に構成されるドメインコントローラー間のレプリケーション)のため、レプリケーショングループからサーバーを削除できるようにはなっていません↓
(後日、画像を取得したため3台目のドメインコントローラーが追加済みです)
dfsmng_sysvol.png

ということで、以下のコマンドを実行することにしました。
wmic.exe /namespace:\\root\microsoftdfs path DfsrMachineConfig set MaxOfflineTimeInDays=90
MaxOfflineTimeInDaysは90日まで許容するということです。

DFSRのサービスを停止してから、wmicコマンドを実行してみたところ、失敗。
wmic_dfsr02

DFSRのサービスを起動後に、あらためてwmicコマンドを実行してみたところようやく成功。。。
wmic_dfsr03

DFS-Rのサービスが起動した状態(インスタンスがある状態)じゃないと設定変更コマンドが有効にならないようですね。
これでようやくグループポリシー(とスクリプト)が複製されるようになりました。
本件、ユーザーなどのActive Directoryオブジェクトの複製は問題なく、グループポリシー(とスクリプト)が複製されていなかったため、発見が遅れることとなりました。
皆様もお気を付けください。

2013年6月20日木曜日

SanDisk Extreme Pro microSDHC UHS-I card 16GBを買った

パソコンハウス東映さんでSanDisk Extreme Pro microSDHC UHS-I card 16GB SDSDQXP-016G(以降、SDSDQXP-016G-X46)を買ってきました。
IMG_1414
(となりはついでに買ってきたシリコンパワーのUSB 3.0 8GBメモリ)

先日の逗子海岸花火大会で、連写しすぎて8GBメモリをパンクさせるというドジをやらかしたので、倍の容量を購入しました。
UHS-I対応ですが、普通のMicroSDメモリと端子配置に違いはありません。
IMG_1415
左の少し緑っぽいのが、SDSDQXP-016G-X46です。

では早速ベンチマークを取ります。
比較対象は、手元にあるSanDisk Extreme Pro SDSDXPA-008G-X46で、購入したSDSDQXP-016Gと同スペックのReadおよびWrite性能を持っています。
CrystalDiskMark 3.0.2 x64を使用して計測しています。

まず、SDSDXPA-008G-X46です。
PCでフォーマット後に計測した結果、以下の通りです。
SDSDXPA-008G-X46_FATformated

SONY α77でフォーマット後に計測した結果、以下の通りです。
SDSDXPA-008G-X46_A77formated

少々気のせいという気もしないでもないですが、α77でフォーマットしたほうが10%以上の性能向上が見られます。

続いてSDSDQXP-016G-X46は、どうでしょうか。
PCでフォーマット後に計測した結果、以下の通りです。
SDSDQXP-016G-X46_OnAdapter_FATformated

SONY α77でフォーマット後に計測した結果、以下の通りです。
誤差の範囲という気もしますが、α77でフォーマットしたほうは少々シーケンシャルライトが遅くなっています。
SDSDQXP-016G-X46_OnAdapter_FATformated

ちなみにSDカードアダプターで性能が変わるのかも試してみるため、手元にあったKingstonのSDカードアダプターを使ってみました。
向かって右側はここまでの計測で使ったSDカードアダプターで、手元にあったKingstonのSDカードアダプターは向かって左側のものになります。
IMG_1416

SONY α77でフォーマット後に計測した結果は、以下の通りです。
SDSDQXP-016G-X46_OnAdapterKingston_A77formated

誤差の範囲と思われるところもありますが、シーケンシャルライトが、FATでフォーマットしたものに近い値を出しました。
SDカードアダプターもブランド物のほうが良いかもしれません。
しばらくは、KingstonのSDカードアダプターと、SDSDQXP-016G-X46を組み合わせて使ってみようと思います。

2013年6月9日日曜日

ライブラリーの実態とは

ライブラリーから「パブリックのドキュメント」を削除する方法について、調べることがありましたので、簡単に纏めておきます。

基本的には、GUIから操作する手順
ライブラリ: フォルダーを追加または削除する方法
http://windows.microsoft.com/ja-jp/windows-8/add-folders-library

がポピュラーです。

他に手はないのかいろいろ当たってみました。
・レジストリに該当情報がないか確認
 パブリックのドキュメント に関するGUIDが定義されていた。
 ただし、HKEY_CURRENT_USER配下で上記GUIDを含む箇所は見当たらず。
・下記ドキュメントから、ライブラリーが論理的なものであることを確認
 第 8 章: Windows 7 ライブラリとシェルの使用
http://msdn.microsoft.com/ja-jp/library/windows/desktop/ff934858.aspx

・ライブラリーの物理パスを下記ドキュメントから確認
 以下のドキュメントをFOLDERID_DocumentsLibraryで検索すると
 KNOWNFOLDERID
http://msdn.microsoft.com/en-us/library/dd378457(v=VS.85).aspx

%APPDATA%\Microsoft\Windows\Libraries\Documents.library-ms
が物理パスであると定義されていました。

ということで、ライブラリーはレジストリにはなくて、特定の物理パスに置かれている何かであることがわかりました。
というわけで%APPDATA%\Microsoft\Windows\Libraries\を開いてみます。
赤枠内が全く同じであることが見て取れます。
library-ppath

試しにドキュメントをメモ帳で開いてみます。すると
document-library_ms
XMLファイルでした。これがDocuments.library-msということですね。こちらにもXMLファイルであるとの記載がありました。

MSDN マガジン > ホーム > アーカイブ > 2009 > MSDN マガジン June 2009 > Windows 7 徹底解剖: ライブラリの紹介
内部ライブラリ
http://msdn.microsoft.com/ja-jp/magazine/dd861346.aspx#id0370055


ファイルによっては、以下のGUIDが含まれているようです。
・{7D49D726-3C21-4F05-99AA-FDC2C9474656} は、
 http://msdn.microsoft.com/ja-jp/library/windows/desktop/dd798386(v=vs.85).aspx
 に記載のある通りドキュメントフォルダーを表すGUIDです。
・{ED4824AF-DCE4-45A8-81E2-FC7965083634}は、
 http://msdn.microsoft.com/en-us/library/dd378457(v=VS.85).aspx
 に記載のある通り"パブリックのドキュメント"をを表すGUIDです。

内部ライブラリにひな形のXMLがあるので、もしやと思いテンプレートを
document-library_ms-test01
一旦テキストファイルとし保存しました。
document-library_ms-test02

拡張子をtxtからlibrary-msに変更してみます。
document-library_ms-test03
document-library_ms-test05
document-library_ms-test04
と拡張子が消えました。

で、ダブルクリックして開いてみると[フォルダーの追加]ボタンがあるので、
document-library_ms-test06
D:\LIBを追加してみました。
document-library_ms-test07

ジャンクションポイントとは全く異なる仕組みですが、仮想的にマウントされています。
でこのlibrary-msファイルを%APPDATA%\Microsoft\Windows\Libraries\にコピーしてみます。
左ペインのライブラリに新しいDocument2が増えました。
document-library_ms-test08

当然のことながら、D:\LIBにポイントされています。
document-library_ms-test09

ライブラリは、こういう拡張性を持っているわけです。

応用例としては、先ほど作ったDocument2のファイル名を変更してダウンロードとします。でプロパティを編集して
document-library_ms-test10

ライブラリのほうにもダウンロードを表示させれるということですね~
document-library_ms-test11

なかなか面白い仕組みです!

2013年6月1日土曜日

System Center 2012 Oprrations Manager SP1でレポートの新規作成機能がなくなった

ちょっとSystem Center 2012 Oprrations Manager SP1でレポートの機能を調べてほしいと頼まれました。「ディスクの空き容量単独のレポートがないので、新規作成するにはどうするか」ということです。

論理ディスクの空き容量は、オペレーティングのパフォーマンスに一応あります。が、ほかのパフォーマンスカウンタのスケールが大きすぎるため、少々使い勝手が悪いです。
sc2012omsp1reportosperformance1
sc2012omsp1reportosperformance2

ディスクキューの長さは単体のレポートとしてあるのに、なぜか空き容量はないのですよね。
使用率としてのグラフはあるものの、棒グラフなのが惜しい。
sc2012omsp1reportperformancebutili1
sc2012omsp1reportperformancebutili2

気になったのですが、SCOM 2007とかでは、レポートの新規作成があったはずなのメニューから消えている点。
sc2012omsp1reports

そこをまず調べえ見たところ、以下のサポート情報を発見しました。
System Center 2012 Operations Manager SP1 では、[新しいレポートのデザイン] ([create a new report]) が表示されません
http://support.microsoft.com/kb/2815851/ja


なんと[新しいレポートのデザイン]は、機能削減されたとのこと。ではその代わりにどうするかというと、
SQL Server Reporting Services (SSRS) のレポート マネージャーから直接レポート ビルダーを起動してください。
とサポート情報にあります。
ということで、レポート ビルダーを直接動かすしかなくなりましたorz