SideBySide のエラー イベントID 33

Windows2008とかWindows7のアプリケーションログに「SideBySide のエラー イベントID 33」がでるという現象が発生。

ソース: SideBySide
イベントID: 33
レベル: エラー
ユーザ: N/A

"C:\Windows\system32\conhost.exe" のアクティブ化コンテキストの生成に失敗しました。 従属アセンブリ Microsoft.Windows.SystemCompatible,processorArchitecture="amd64",publicKeyToken="6595b64144ccf1df",type="win32",version="6.0.7600.16823" が見つかりませんでした。 詳細な診断を行うには sxstrace.exe を実行してください。

いろいろ調査してみるとMicrosoft Windows Server TechCenterのWindowsServer ForumsのGeneralにあるSideBySide Error EventID 33 on conhost.exeが該当している模様。

状況を整理すると・・・

・SP1を適用していないWindows Server 2008R2かWindows 7で発生する
・2011年7月のWindows Updateで配布されたKB2507938にてconhost.exeが更新された
・上記のconhost.exeが呼び出すdllが存在していないのでエラーとなる
・呼び出すdllは、hotfix 977648で提供されている
・ただ、hotfix 977648を適用するとconhost.exeが古いバージョンとなるのでKB2507938の再適用が必要

というわけで、解決方法は

1. 現在あたっているKB2507938をアンインストールする
2. hotfix 977648にて「View and request hotfix downloads」をクリックしてhotfixのダウンロード要求を出す
3. しばらくすると、メールアドレスにURLが送られてくるのでダウンロードする
4. ダウンロードしたhotfix 977648を適用する
5. KB2507938を再適用する
6. 再起動

ということになるらしい。

なお、この件に関して質問をされても、当方では回答できませんので、質問はしないでください。
(2011/08/02: hotfix入手方法がわかりにくかったようなので、手順を修正)

IEEE802.15.4とTCP/IP

Ben Nano Noteは単独ではネットワークに接続できず、PCにUSB接続してブリッジするか、それともmicroSDカードサイズの無線LANカードを使うか、ということをする必要があります。

以前、auのau Wi-Fi WINカードが使えないかなぁ?と発売直後に入手してみましたが、ミツミ電機製のチップに対応したLinuxのドライバが発見できず、お蔵入りとなっていました。

そこに、新しい手法が現れました。

Ben WPANプロジェクトです。
IEEE 802.15.4準拠のチップを利用して、無線でTCP/IP通信を行おう、というものです。
Ben Nano Note側はmicroSDHCスロットを使用しますが、SDIOではありません。
便宜上「8:10 card」という名称にしていますが、microSDHCコネクタを利用して汎用I/Oを行わせちゃおう、というものです。

この技術を使って、IEEE 802.15.4チップを操作して、TCP/IP通信を行わせてしまうようです。

Ben Noteで、どういった感じなのかは、Ben WPANプロジェクトのwikiを見るよりはプロジェクトマネージャのWernerさんのページ「Ben-WPAN Overview」を見るとわかりやすいです。

Ben Note用基板: atben
PC用USBコネクタ基板: atusb
Linux用Device Driverは、Linux-zigbeeプロジェクト+ben-wpan kernel branchの修正

で、IPアドレスの部分は、基本IPv6で考えられているような感じで、「6LoWPAN(IPv6 over Low power Wireless Personal Area Networks)」という単語が頻繁に出てきます。

が、詳しくみてないので、よくわかりません。

おいおいもうちょっと調べていってみようかと思います。

Linuxサーバにステータス表示パネルをつける 2017/01/12修正版

サーバの前面につけるような小型のLCDパネル。

どうやら「LCD Smartie」というらしい。

いくつかのベンダからパソコンにつながるようUSBポートをつけたキットが販売されている。

・LCD Smartieなどの表示機器屋の「MATRIX ORBITAL社
ラインナップがいろいろある
Character LCD Displays」2行~4行ぐらいの文字&グラフィック表示($36.08~)
External LCDs」2行~4行ぐらいの文字&グラフィック表示+操作ボタン($92.15~)
Graphic Touchscreen」2行~4行ぐらいの文字&グラフィック表示+タッチパネル操作($68.42~)
Economy Display」2行~4行ぐらいの文字&グラフィック表示の廉価版モデル($35.95~)
PC Bay Inserts」パソコンなどの前面パネルに埋め込む用のKit($64.26~)

MATRIX ORBITAL社製品用の「USB接続ドライバ」と「表示用のソフトウェア

・同じくLCD Smartieなどの表示機器屋のCrystalfontz社
ラインナップはMATRIX ORBITAL社製品と似たような感じで、価格も同じぐらい。
Webが見やすいので個別の製品群リンクは省略。
ユーザフォーラムがある

・sureelectronics社の20*4 LCD Display Board with UART Based USB(Edition llI)(DE-LP14113)
20文字*4行の表示で、1個 USD$26.00。
以前はいくつかラインナップがあったが、現在はもう1つ、16文字*2行の1602 LCD Display USB (Edition I) Smartie module PC Case
(DE-LP12111)
(USD$17.90)があるだけ。
CP2102を使ったUSBシリアル変換ボードとセットとなっており、miniUSBコネクタでパソコンと接続する感じになっている。
(USBシリアル変換部分のドライバはおそらく、CP210x USB – UART ブリッジ VCP ドライバ)

・Soundgraph社のiMON VFDシリーズ
Soundgraph社が業務転換してしまい、プロダクトが終了している

使うためのソフトは、何種類かある
LCD Smartie
Windows用ソフト。
“Crystalfontz”,”Matrix Orbital”,”HD44780チップ互換品”をサポートしているとのこと。
具体的な製品は後述のLCDprocの対応リストを見るとわかりやすい
2013年の更新が最後になっている。

smartie-utils
Tclで作成されたLinux用ソフトウェア、sureelectronics社のやつに対応している。
指定したシリアルポートにデータを流し込んで使う、という使い方のようで、sureelectronics社以外の似たようなやつにも対応するんじゃん?と書かれている。
2015年が最終更新だけど、ソースを見たところ、変更するポイントもなさそうなので、そんなもんかな、というところ。

LCDproc
Linux用で、2013年が最終更新。
LCD対応リストを見ると、いろんなデバイスに対応しているのがわかる。

LCD4Linux
やっぱりLinux用で2009年が最終更新。
LCD対応リスト
これみるとSureElectronicsのやつはMatrixOrbitalらしい。

・Crystalfontz社のフォーラムに「3rd Party Software Link」という形でいくつかのソフトウェアがリストされている。
LCDProc, LCD4Linux, LCD Smartieは、ドット絵も表示できるとのこと。
また、「 Crystalfontz LCD Display on a Raspberry Pi」にラズパイ向けの接続手法の記事もある。


以下は2011年5月20日に公開した旧版。
資料として残している。


サーバの前面につけるような小型のLCDパネル。

どうやら「LCD Smartie」というらしい。

いろいろなベンダからパソコンにつながるようUSBポートをつけたキットが販売されている。

・sureelectronics社のLCD Smartie Kit 20X4 White on Blue USB/UART Display PC Information
20文字*4行の表示で、1個 USD$17.99。
LCD Smartie Kitシリーズとして、いろいろラインナップがある模様。

・Soundgraph社のiMON VFD
日本でも入手可能

使うためのソフトは、何種類かある
LCD Smartie
Windows用ソフト。
“Crystalfontz”,”Matrix Orbital”,”HD44780チップ互換品”をサポートしているとのこと。
具体的な製品は後述のLCDprocの対応リストを見るとわかりやすい

smartie-utils
Linux用で、sureelectronics社のやつに対応しているようだ。

LCDproc
Linux用
LCD対応リスト

LCD4Linux
やっぱりLinux用。
LCD対応リスト
これみるとSureElectronicsのやつはMatrixOrbitalらしい。

・チップメーカのCrystalfontzがフォーラムに「3rd Party Software Link」という形で記載されている。
LCDProc, LCD4Linux, LCD Smartieは、ドット絵も表示できるらしい。

inotifywaitを使ってプログラム終了を検知する

Linux kernelにinotifyが組み込まれている環境では、inotify-tools パッケージ のinotifywaitを使って、パラレル実行した結果が全部終わるのを待ってから、次に進むようなスクリプトが作れるらしい。(kernel 2.6.13以降ならinotifyを使えるらしい)
inotify-tools

process1~process4までをいっぺんに並列実行して
それが全部終わったprocess5を実行させたい

#!/bin/bash
process1 &
process2 &
process3 &
process4 &

#ここで処理を待って

process5
exit

こんなスクリプトを書きたい場合・・・

#!/bin/bash
(process1; touch /tmp/myprocess/p1) &
(process2; touch /tmp/myprocess/p2) &
(process3; touch /tmp/myprocess/p3) &
(process4; touch /tmp/myprocess/p4) &

#ここで処理を待って
for i in {1..4}; do
  inotifywait -e CREATE -qq /tmp/myprocess/
done

process5
exit

説明!

  inotifywait -e CREATE -qq /tmp/myprocess/

ここは、/tmp/myprocess/ にファイルが作られたことを検知する。
/tmp/myprocess/ に何でもいいから1つファイルが作られるまで、待ちとなる。

この処理をfor文で4回繰り返している。つまり、ファイルが4つ作られるまでは、ここで待つことになる。

問題点
RHEL/CentOS5では、inotify-toolsが標準で入っていないこと。
コンパイルしてインストールする必要がある。

注!
このスクリプトは、例えば、100個ぐらい走らせたい処理があるけど、CPU coreが4つあるから、同時実行は4つとして、終わり次第次々に実行させていきたい。という場合には使えません。

ボクとSA契約してWindowsServer2008R2になってよ!

[ネタ元]

まだ、WindowsServer2003を使ってるんだって?
あれから8年も経ってて、いろいろ変わってるんだよ。
いまも、そのまま使い続けるのは不利益だと思うんだ。

そうだね。大きく変わった点を8個ばかりあげてみようか?
きっと気に入ってくれると思うよ。

1. CHKDSKが早いよ
まず、CHKDSKの時にかかる時間ってのは、ドライブのサイズに影響されるんじゃなくて、ファイル数に比例するんだけど・・・

WindowsServer2003の場合
・数日かかることもあるよ

WindowsServer2008R2の場合
・WindowsServer2008でも改善されてたけど、WindowsServer2008R2だとさらに早いよ
・WindowsServer2008/2008R2だと、オンラインのままでチェックできることがほとんどで
該当ドライブをオフラインにしなきゃいけないことって、レアケースだよ
・ま、そのレアケースであっても、かなり早くなったよ。

詳しくはwhitepaperみてもらいたいんだけど簡単に言えば・・・
・1千万個のファイルがあるボリュームにCHKDSKかけるとだいたい7分
・1億個のファイルがあるボリュームにCHKDSKかけると2時間ぐらい

だから、ボクとSA契約してWindowsServer2008R2になってよ!

参考情報
White paper on CHKDSK
Details on self-healing NTFS
What’s new in Windows Server 2008 R2 NTFSM

2. ファイルサーバの拡張性が違うよ

WindowsServer2003の場合
・1ファイルサーバで、まぁ、数千ユーザぐらいじゃない?

WindwosServer2008R2の場合
・1ファイルサーバで1万ユーザぐらいはいけるよ。設定が適切なら
・192個のディスクと10GbEを装備させて物理的なパフォーマンスが確保されているサーバで
ベンチマークソフト FileServerCapatityTool(FSCT)を動かした場合に23000ユーザ行けたよ

だから、ボクとSA契約してWindowsServer2008R2になってよ!

参考情報
Past, Present, and Future of Windows-Based NAS: A Growing Market for Highly Available Solutions: スライド24枚目、動画16分ぐらいからFSCTの概要と、23000ユーザ試験時のお話
Windows Server 2008 File Server Performance at Microsoft IT: 100TB越えのデータを5万ユーザに提供するファイルサーバクラスタの事例
File Server Capacity Tool (FSCT) 1.0 available for download: FSCTについての詳細

3. 冗長化構成の組みやすさが違うよ

WindowsServer2003の場合
・ファイルサーバの冗長化設定は面倒だよ

WindowsServer2008R2の場合
・簡単に設定できるように、設計自体が見直されたよ
・設定の確認や、トラブル時の調査も容易になったよ
・WindowsStorageSevrer2008R2だとさらに簡単に2ノード冗長構成が組めちゃう!

だから、ボクとSA契約してWindowsServer2008R2になってよ!

参考情報
Details on Windows Storage Server R2 two-node cluster setup, starting on slide 37
Step-by-step for creating a two-node File Server Cluster
Failover Clustering Validation described

4. 作れる共有数が増えたよ

WindowsServer2003の場合
・サーバあたり65000個の共有が作れるよ。これはSMB1の制限だね。
・でも、冗長化構成にすると、なんと1600個に減っちゃうよ
 共有1個につき1個のクラスタ設定が必要だからなんだよ

WindowsServer2008R2の場合
・SMB2になったから、サーバあたりで、なんと40億個を超える共有が作れるよ
・冗長化構成の場合でも同じ個数が作れるよ
 共有単位での設定ではなくて、ファイルサーバ機能として冗長構成になったからだよ

だから、ボクとSA契約してWindowsServer2008R2になってよ!

参考資料
SMB2 – Big Improvements in the Remote Filesystems Protocol: 24ページにSMB1とSMB2との共有数制限やユーザ数制限の変化が書いてある。
 ちなみに、この資料。他にもSMB2になって変わった点がいろいろ書いてあるので有用です。

5. 暗号化ファイル機能が強化されたよ

WindowsServer2003の場合
・NTFSの暗号化ファイルシステム(EFS)を使うけど、暗号化を保ったままコピーできないんだよね

WindowsServer2008R2の場合
・WindowsServer2008で導入されたActiveDirectoryのRight Management Service(AD RMS)を使えば暗号化を保ったままコピーできるよ
・WindowsServer2008R2のFile Classification Infrastructure(FCI)を使うと、より簡単にRMSの利用が行えるようになるよ

だから、ボクとSA契約してWindowsServer2008R2になってよ!

参考資料
Active Directory Rights Management Services Overview: AD RMSについての詳細
Using File Classification Infrastructure (FCI) and AD RMS to automatically protect sensitive information:AD RMSとFCIの組み合わせについてのHow toへのリンク

6. 遅い回線で大容量ファイルをコピーする際の速度改善

WindowsServer2003の場合
・ネットワーク遅延があるネットワークで、コピーすると遅いよ

WindowsServer2008R2の場合
・WindowsServer2008から採用のSMB2なら、非同期処理が使えるからパフォーマンス向上
・応答時間(RTT)が200msぐらいのネットワークで1分かかるコピー処理は、同じネットワーク上なら10秒かからず終わるよ
・WAN越しでRTTが76ms,ネットワーク帯域が1Gbitで10GBを転送させると6時間かかってたけど、8分に終わるよ。45倍も速くなったってことだね
・WindowsServer2008R2だとMTUサイズを大きくするSMB2.1にも対応で、さらに改善するよ

だから、ボクとSA契約してWindowsServer2008R2になってよ!

参考資料
SMB2, a complete redesign of the main remote file protocol for Windows: SMB2で変わった点の概要
File Server performance improvements with the SMB2 protocol in Windows Server 2008: パフォーマンスの面で変わった点
SMB2 – Big Improvements in the Remote Filesystems Protocol: 4でも出てきた資料の7ページに、どれくらいの効果があったか書いてある。
SMB v2.1: 12ページからLarge MTUについての話で、16ページに改善例がある

7. 小さいファイルをたくさん転送する場合も早くなったよ

WindowsServer2003の場合
・小さなファイルを大量にコピーすると、超時間がかかるよ
・あと、コピーの時に便利なROBOCOPYって標準添付じゃなかったし

WindowsServer2008R2の場合
・シングルスレッドでコピーするツールはSMBでも遅いまんま
・ROBOCOPYをWindows7やWindowsServer2008R2で動かすと、マルチスレッドで動作するよ
・で、そんなROBOCOPYを使うと、22倍も速くなったりするよ

だから、ボクとSA契約してWindowsServer2008R2になってよ!

参考資料
Past, Present, and Future of Windows-Based NAS: A Growing Market for Highly Available Solutions: スライド49枚目,動画56:30ぐらいのところでROBOCOPYのマルチスレッドによる改善例紹介あり
Command-line Reference: ROBOCOPY: ROBOCOPYのマニュアル

8. 支社とか向けのいろいろなキャッシュ機能があるよ

WindowsServer2003の場合
・WAN越しのファイルアクセスとかだと遅いよ
・WANアクセラレータとか導入しても、あんまり改善されないこともあるよ

WindowsServer2008R2の場合
・WindowsServer2008、WindowsServer2008R2ならSMB2で万全
・WindowsServer2008R2のBranchCacheは、WANアクセラレータよりいいよ


だから、ボクとSA契約してWindowsServer2008R2になってよ!

参考資料
BranchCache: BranchCacheについての紹介と、セットアップガイドなどへのリンク
The Basics of SMB Signing (covering both SMB1 and SMB2): SMB2のSigningについての詳細

そんなわけで、MicrosoftのJose Barretoさんのblogに、WindowsSevrer 2003からWindows Server 2008R2になるまでの8年間で変わった8つのことという記事を読んでたら、頭に何かがささやきかけてきたので、記事を書いてみたんだ。
ちなみに元ネタの方には「SA契約してよ」なんて話は一切ないんだ。

ちなみに、QBはふにゃっとのふにゃでりかさんに描いてもらったんだよ。ありがとう!

で、ここまで説明してわからないなんて、きみたちの考えることは、わけがわからないよ