キーボードも触ったことのない私が初めて携わった仕事が、某記憶装置の「DOS+FAT」のデバイスドライバーの開発でした。

ちなみにこの某記憶装置、実は現代の最新鋭のジェット戦闘爆撃機でも使われているのですね。そもそも、航空機のアビオニクスなどは何十年も使われることが前提なので「最新鋭のアビオニクス」と言っても、私たちの使っている5000円のデジカメやスマートフォン並の性能、記憶容量でもバイクのエンジンと同じくらいの重さがあるのです。そもそもが1990年代に開発された代物です。

それはそうとして、「DOS+FAT」はインパクトが強烈だったので、今でも大体の機能は説明できます。何しろFAT12とは言え記憶装置のデバイスドライバのソースを書いた本人です。

DOS+FAT のシステムは「初めてのC」を読んだ程度の3ヶ月プログラマでも書けるオモチャみたいな仕組みだったわけです。

ところで、「DOS+FAT」を刷り込まれて育った私が不思議に思うのは

「なぜ Linux のシステムではデフラグが必要ないのだろう」

ということです。ずいぶん調べたのですが、「そもそもそんなことをする必要が無いように最初からファイルが最適化されている」ものだからだそうです。これは EXT2,3,4 も RaiserFS などもそのように作られているそうで、かつて Linux 用デフラグツールも存在したようですが、今では完全にプロジェクト自体が崩壊している(ニーズがない)物なのだそうです。ただし、ディスクの空き容量が極端に少なくなると、途端に空きセクタを求めてパフォーマンスが落ちます。私も随分経験がありますが、「妙に遅いな」と思って df -h をやると空き容量 98% などと出てあわててしまいます。

ところで Windows の NTFS は情報が非公開なので「謎のファイルシステム」です。オープンでないからソースも読めないので、ここからは想像するしかないのですが FAT -> NTFS に変更する Convert なるコマンド一発で変換できる、ということは、基本的に NTFS が FAT を基本にデータアロケーションテーブル作られているということなのですね。もし、データを書き込んでいるセクタの再配置、最適化を行うなら、 量にもよりますが数百GバイトのパーティションのConvert が数十分で終わるわけがない。つまりデータの再アロケーション(再配置、最適化)は行われません。

つまり NTFS は FAT システムの DET(ディレクトリエントリテーブル)を拡張してセキュリティ機能を追加して、安全性のため FATを強化しただけのシステムである、ということは薄々気が付いていました。(追記:MFTというそうです。つまり、FATシステムのセクタをミミズのようにたどって必要なセクタにアクセスするという基本的なアクセス方法は全く80年代のFD主力時代のPCの技術そのものなのですね。確かにFAT よりは細かなファイルは高速にアクセスできますが、大きなファイルのセクタ管理は、それほど優れているわけでない。もちろんその後の「味付け」によって重戦車並に化粧されて重くなったと思います。追記:XML によるメタファイル化されただけのようです。

NFTS は何のことはない、30年前のFATの基本設計の延長上にある物理ディスクのセクタの管理システムにジャーナリングやセキュリティ機能だとか様々なモノを付け加えただけのものなのでしょう。あくまで推測ですが。

「Windows のディスクの"プロパティ">"ツール">"最適化"を見るといつも断片率は0%じゃないか」と反論する貴方は鋭い。しかし0% と言っても、サードパーティのデフラグツールでは 30% 以上のフラグメンテーションが起きているということも当たり前にあります。純正ソフトウェアの機能なんてそんな程度なのですね。この騙しには驚きました。

そもそもフラグメンテーションが起こるからそういうツールがあるわけです。アイドリング中だろうが高負荷時でも、どうせ必死になってウラでデフラグしているわけでしょう。デスクトップだと、アイドリング時間は長いから、そんなに気にならないのですが、サーバーとして24H負荷がかかっているバックグラウンドでデフラグしていると思うと、ちょっと怖くなります。スナップショットのマージなんか始まったら、もう Raid のリビルド並のストレスがディスクにかかります。

-切り離せない過去-

マイクロソフトがNTFSを捨てられないのはあまりにも多すぎるステークスホルダーにあります。アップルのように簡単にDockコネクタを捨てられないわけです。なぜ後方互換性を無視したファイルシステムを新規に開発しないのでしょう。

-だから Hyper-V は止めとく-

GroupWise のドキュメントにあったのですが、同じ条件でインストールした Windows 版の GroupWise と NetWare 版では遥かに性能が違ったそうです。また聞きなのですが、とあるSI屋さんで、グループウェアを導入する場合、 Windows 版と Linux 版があれば、企業規模で50人程度なら Windows 版でも十分だけど100人を超えると必ず Linux 版を提案するそうです。理由はまた聞きなのではっきりしないのですが、やっぱり問題の基本は NTFS の効率の悪さにあるのだろうなと想像しています。

そこで問題になるのは「仮想化環境」です。仮想化環境で高い負荷をかけると明らかにディスクIOがボトルネックになります。ですから実験環境やごく小規模環境ではSATAディスクで問題ないと思っていますが、実運用環境ではSAS+RAID、お金と償却期間(メーカーの保障期間)を無視して短い間使えればよければSSDアクセラレータをお勧めしています。さもなければもっとDRAMを積んで仮想マシンに目いっぱいメモリを与えるようにアドバイスしています。128GbのSLCのSSDを使うより64GbのDRAMを使ったほうがお金も効率がいいと考えています。

それでも最後はHDDにデータを書きに行くわけで、書きに行くのはキャッシュが利くのでまだしも、読み出しとなると、ミミズのようなFATベースのセクタ管理を使ってノロノロとディスクから読み出すNTFSではどんなものなのでしょう。明らかに Novell Openenterprise Server (OES) の NSS や EXT3 より読み出しのパフォーマンスは落ちます。ましてや、効率の悪いNTFS上に作られたWindows仮想マシンのVHD形式も中身はNTFSですから、まさに二重苦なのです。泥沼に立てた砂のお城なのですね。IT系の Hyper-V の性能向上に関するメディア記事やベンダーのサポートページでは、「システムディスクと仮想ディスクは別な物理ディスクに作成しろ」とか「各物理ディスク1個に1つの仮想マシンを割り当てろ」とか、「全部の仮想システムをシャットダウンしてデフラグしろ」とか「資源をプール化するための仮想化のメリットのどこに役立つンだ」という???で珍妙で本末転倒な解決策が色々陳列されています。

これらのシステムはEXTは別として互換性はありません。 NetWare 5.0 から も NWFS -> NSS へ移行はセキュリティを含めてコピーはできても、はコンバートできませんでした。

-それでも必要悪-

それでも Hyper-V による仮想化は3匹の子豚の藁の家のようなニーズがあるでしょう。 Windows 8 では Hyper-V 上で複数のシステムが「簡単に切り替えられる」のがメディアが言う「売り文句」だというし、それはちょっと興味があります。

-ということでクライアント Hyper-V を試してみた-

何とか Windows8 の 64 ビット版の Hyper-V が動く環境ができたので、早速試してみました。ちなみに Intel/AMD の仮想化支援機能(VT) が機能するマシンでも Hyper-V は動かないケースがあります。SUSE + XEN の完全仮想化も問題ない機材でもあり得る事なので、Hyper-V が動くかどうかはしっかりカタログスペックを調べておくことです。

コントロールパネル>プログラムと機能>Windowsの機能の有効化/無効化から「Hyper-V」をチェックして再起動、Windows Update をして再起動で Hyper-V が使えるようになります。Hyper-V 管理ツールのアイコンができるので、このツールから管理します。

SUSE で XEN などの仮想化機能を使った方なら、すぐ仮想マシンの作成を行うことができるでしょう。もともとが XENの機能構造をそのまま真似て作ったので、今まで XEN をやってきた人であればすぐ使い方に慣れるかもしれません。Linux のパッケージに付いてくる Virt-Manager より「分かりやすい」(<-ここ重要)なインターフェースです。しかもスナップショットも取れる。

-しかし重すぎる-

しかし、最初に Windows 2003 を試しに入れて早速、Windows Update の重いことには驚きます。仮想化ホスト(Domain-0に相当)のディスク IO がほぼ 100% に近い数字です。決して子ホスト(Dom-Uに相当)が遅いわけではありません。試しに「共有」を作ってopenSUSE の iso ファイルを転送したところ、ディスク io は100% に張り付いたままです。明らかに Windows の NTFS ファイルシステムがボトルネックになっているようなんですね。SUSE + XEN に慣れていれば iostat コマンドで iowait が 100% 張り付きということはまず見ません。大抵、瞬間的に 5/60% 程度までは上がることはあってもです。
a0056607_15203347.jpg
4.5Gの iso ファイルをコピー中の Hyper-V ホストのディスク利用状態


a0056607_15254065.jpg

ネットワークがボトルネックになっている気配は全然ないしなぁ



これで Hyper-V は複数のシステムの仮想化ホストとして切り替えて実用的に役に立つのでしょうか。

もちろん、仮想ディスクが DAS 接続の場合は、ディスクシステム自体が NTFS なのでしょうが、SAN(ストレージネットワーク)であれば、iSCSI や PCoE(ファイバーチャネル) のSANのシステム自体が独自OSでNTFSを使っていない(たぶん)ので、仮想化ホストからは、NTFSに見えても、(たぶん)中身は EXT3 だとかだと思います。RAID 構成はまた違う意味で効率的なのかもしれません。

ということで大手のSI事業者なんかは必死に高価なファイバーチャネルのSANシステムを、事業規模にかかわらず売り込んできます。もちろん高価だし、ハードウェアのサポート料金も高い。私がベンダーのセールスマンだったら、間違えなく Hyper-V をおすすめします。そのほうがお客様からの手離れはいいですし、彼らは高価なパッケージやハードウェアを沢山買ってくれるからです。何しろ SUSE Linux の無制限仮想化アクティベーションは僅か4万円ほどなのです。

もちろん、2008S/2012S の Hyper-V とはクライアント Hyper-V はチューニングが違うのよ、と言われればその通りなのですが、Hyper-V 3.0 は、メディアでは「滅茶苦茶に高機能高性能になってスケーラビリティと言ったら、そりゃもう何個の仮想CPUが使えて何TBのメモリが使えて最大何TBの仮想ディスクが使える」というカタログスペックを語る記事をよく見ます。

しかし彼らの記事はカタログスペックを記事にしただけで、実際に運用をしてみたわけではない。本当に1台のハードウェアで何台の仮想マシンが「運用に耐えられるか」と考えた場合、やはり Linux/Unix 系で動作する XEN や KVM, VMware などに軍配が上がりそうです。

何しろ「Hyper-V 遅い ディスクIO」などのキーワードで検索すると出てくる出てくる、運用者の嘆き。諦めて VMware に乗せ換えたとか、KVM に乗せ換えた事例がゴロゴロ出てきます。結局、SASディスクを諦めて、SSD-Raid に乗せ換えたら爆速に解決した(それって根本的に重大な問題じゃん)とか、いかに Hyper-V が金食い虫なのかの事例がボロボロ出ているのが実情の様です。

実際は「単機能をコンパクトに仮想化してアプライアンス化」することを考えれば、別に仮想ディスクなんて僅かで済んでしまいます。実際 SLES11 を導入してみましたが、僅か 512Mbのメモリと4Gの仮想ディスクでインストールできてしまいました。おそらくこの程度なら簡単な LAMP や DNS/DHCP として利用することには何の問題もないでしょう。

a0056607_1531384.jpg

リモートで使うと操作が「お、重すぎる」


スナップショットも使えるようですが、これだけディスクIOが大きいと、スナップショットを取った後のマージ処理が怖そうです。

百歩譲ってGUIの親切さ、使い易さは賞賛する価値はありますが、いかんせん openSUSE+XEN と Windows Hyper-V をデュアルブートして(つまり全く同じ環境で)動かすと体感上 Hyper-V で Linux を動かすと "Is there anyone home ? knock knock..." と頭を殴りつけたいくらい重い。これで実用に耐えられるのかしらって思わず考え込んでしまいます。


仮想化の脅威、「ハイパーバイザー攻撃」を防ぐ3つの対策

仮想データセンターのセキュリティ対策における最初の1歩は、ホストサーバの攻撃対象を狭めることだ。特に米MicrosoftのHyper-Vは、Windows Serverにロールとしてインストールされることも多く、攻撃対象を減らすことが重要になる。

この記事では Hyper-V 以外のハイパーバイザーの記載はありません。つまり Hyper-V は脅威に対して何等かのマルウェア、ウィルス対策が必要だということです。つまり、サーバーで一番重いジョブ。つまりハイパーバイザー管理者にとって悪夢とも言える何らかの対策が必要なのです。そして、Windows Update ととアンチウィルスソフトウェアを更新すると訪れる悪夢のような「再起動」のダイアログ。やっぱり Hyper-V はライブマイグレーションを前提で考える必要がありそうです。119万円しますからね。二つ購入するのはちょっと勇気が必要です。

Windows Update とアンチウィルスソフトウェアのない Windows Server を運用するのは、冬のススキノの街をゴムなしの皮靴で歩くような危なさがあります。

一方で、 Unix/Linux 系のハイパーバイザーでも脆弱性はあるでしょう。SSH や DNS ポイズニングです。しかしこの様な対策は、ウィルス対策で何とかなるものではありません。基本的には、脆弱性のあるパッケージをアップデートして、サービスを立ち上げ直すだけです。カーネルに致命的な欠陥がなければまず再起動は必要ないでしょう。

-Hyper-V を誉めてみる-

それでも Hyper-V のニーズがあることは事実でしょう。少なくとも Hyper-V の管理コンソールは動作もキビキビしているし、わかりやすい。リモートデスクトップでも管理操作はそこそこ軽快だと思います。それによく出来ている。Linux で

「putty で入って xm create してくれ」

というよりは分かりやすいわけです。ここに Windows 「しか」知らない管理者と Linux「も」知っている管理者との違いが出てきます。

まぁそれでも GUI 操作がうまくいかない場合 vbscript や PowerShell でスクリプト作らなければならない Hyper-V よりは楽だと思うのですが....

-俄か管理者とエンジニアの違い-

少なくとも 「Linux を扱うエンジニアで Windows には全く無知」という人はほとんどいないと思います。かく言う自分自身がやっぱり Windows の GUI は文句がいっぱいあっても使いやすいと思っています。

あるいは「Mac は好きだけど Windows は大嫌い」という方もいらっしゃいます。彼らに言えることは「あなたたちは少なくとも他のプラットフォームと比較できるだけのスキルがある」ということなのですね。

逆に 「Windows は知っているけど Linux はなぁ...」という方は沢山いらっしゃる。特に Windows 以降の世代でコンピューターを扱った方にはそういう「エンジニア」の方々も多いと思います。

よく言われることですが「Linux は管理コストが高い」と言われます。逆に言えば「Linuxの管理者なら高い単価で仕事ができる」ということになります。また 「Windows しか知らないエンジニアはいつまで経っても単価が安い」ということになるのでしょうか。 あくまでも技術者としての視点ですね。

もし「エンジニア」としてキャリアを積みたい「システム管理者」や「ベンダーのエンジニア」がいれば Windows しか知らないのはどうなんでしょう。

しかし「社内でキャリアを積みたい」あるいは「エンジニアとしてのキャリアには興味がない」のなら Hyper-V は良い選択です。決して「俄か管理者」を否定するものではありません。そういう生き方もあるということです。

続き: 実はお金が無いのが最大の理由だったりしますが...
仮想化のお値段:無制限インスタンスに払うお値段

続きはこちらで
一度は経験したい仮想化の別世界:SIベンダーが教えたくない実情

その続きはこちらで
Hyper-V のハイパーバイザーでは MTBF は低くないのか?

関連記事

[PR]
by islandcenter | 2013-01-29 16:24 | プライベートクラウド | Trackback | Comments(4)

-問題-

eDirectory の別名(エイリアス)を修正すると元のオブジェクトも変更されるのか

-回答-

エイリアスを修正すると元のオブジェクトも変更されます。

例えは data-entry.sales.tokyo.ace ユーザのエイリアスを yamadas.sales.tokyo.ace という名前で作りました。この yamadas さんのログインスクリプトやパスワード、アクセス権限の変更は data-entry ユーザにも反映されます。

a0056607_13444174.jpg

オブジェクトの作成から「別名」(エイリアス)を作成、エイリアス元のオブジェクト名、エイリアス名、エイリアスを作成するコンテナを選び作成します。


たとえば yamadas さんはデータエントリー専門のパートタイマーだったとします。同じ作業をやらせたい satos.market.tokyo.ace というユーザを dataentry のエイリアスとして作成すれば、二人は同じ権限、パスワード、ログインスクリプトを持つユーザとして登録できます。それでいながら yamadas, satos という異なる「別名」でログインできます。

a0056607_13465275.jpg

エイリアスの「管理」を行うことは、エイリアス元そのものを変更することになします。



このような使い方は他にもヘルプデスクや「あるサーバー機能の管理者」などに適しています。

このように「同じ役割」を持ったユーザを複数、同じコンテナや異なるコンテナに作成したい場合は、エイリアスオブジェクトは便利です。ただし、同じパスワード、同じ権限を持つため、扱い方は十分注意する必要があります。

eDirectory のエイリアス「別名」オブジェクトは、Windows のショートカット、あるいはシンボリックリンクのように動作する「ポインター」です。

エイリアスは UNIX・Linux のハードリンクとは違うため、エイリアスは削除しても、元のオブジェクトには変更がありません。


islandcenter.jp
[PR]
by islandcenter | 2013-01-21 13:49 | OES2 Linux/NetWare | Trackback | Comments(0)

またまた Windows 8 は 32bit か64bit か の顛末記です。

あまり乗り気ではなかったのだけれど、Windows 8 update 版を2枚買いました。DVDメディア版のアップデートは、5,900 だかで、ダウンロード版は 3,300 円なのですが、ダウンロード版だと32ビット版からダウンロードすると32ビット版、64ビット版だと64ビット版しか購入できません。DVD版ならどちらが使いやすいかをじっくり検討できるので今回はパッケージを購入しました、Amazon なら1割引きです。この措置は2013年1月までで、2月以降は2万幾何かの費用が掛かります。

ノートブックは Dospara 製の 15 インチ Core2 Duo 4G メモリの4年前の古いマシン。キーボードタッチがいいので、リモート端末として愛用しています。もう一台は Onkyo 製 13 インチ Core i3 Dual Core Quad thred 8Gメモリ、Windows7 x64 です。2年前に買いました。基本的に持ち運びなのですがメインは「お仕事」マシンです。

双方、openSUSE 12.2 とデュアルブートにしていて、XEN の仮想化テストや現場のデモで愛用してきたマシンです。

まずやること

仮に Windows をプリインストールされたPCを買ってきた場合でもまずやるべきことは、「コンピューターの管理」から「ディスク管理」を選んで、C:ドライブのサイズを縮小してしまうことをまずお勧めします。そうすれば、D:ドライブが作れる領域ができるわけで、万が一、システムのリカバリやバックアップなどの必要があってもD:ドライブにデータを置いておけばよいのだから、これは必ずやっていることです。だいたいC:ドライブはいろいろアプリケーションを入れても40Gバイトもあれば十分なので、あとはデータドライブとしておく。更に40Gほど空きパーティションにしておけば、救助用の Linux をインストールしてデュアルブートにしておくか、Windows7/8 のデュアルブートにしてもよいわけです。

ClassicShellを入れる

Widnwows8 で多分一番ダウンロードされて最大の利用者が享受するのがこのフリーウェアでしょう。 Windows 7 で失われて使い勝手が悪くなったのはエクスプローラのAPIの「上矢印」ボタンなんですが、このボタンは Windows 8 では見事に復活しています。

その代り失われた最大のものがスタートボタンなんですね。

私が Windows 8 を散々こき下ろしおきながらも,プレビュー版がぶっ壊れたのを幸いにほったらかしていたWindows8 の導入に踏み切ったのは ClassicShell のおかげと言ってもよいでしょう。

http://www.classicshell.net/

a0056607_10431698.jpg

少なくとも Classic Shell を入れると「ちょっと味気ない角ばった Windows 7だ」と思われる程度で、あまり Windows 8 の UI を使う必要がなくなります。

ちなみに、クラッシックなデスクトップアプリケーションでもインストールさえすれば、スタートメニューにアイコンは出ますが、アプリケーションを入れすぎると恐ろしいほどアプリケーションが「スタート画面」に「ピン止め」されてしまいます。これを解除するためには「右クリック」>下のペインから「ピン止めの解除」をする必要があり、従来の用に「右のボタン」>「削除」ができません。タッチパッドでは指先がかなり忙しいことになります。

またインストールされた全てのアプリケーションであまり使わないが必要となったアプリケーションを呼び出すときは、スタート画面の空いているところを右クリックすると「全てのアプリケーション」という項目が出るので、これを押すと恐ろしい数のアイコンがフラットに出てきます。見つけるのに苦労するでしょう。

やっぱりアプリケーションの「階層化」に慣れている人には Classic Shell は必須です。

そもそもスタートメニューを呼び出すには画面の右をなぞるか、左隅にカーソルを合わせないと出てこないし、画面のマルチタッチ操作がないタッチパッドのノートブックであれば、スタートメニューの下のスクロールバーを一生懸命右スクロールさせる必要があります。


次にやるべきこと

まずは Windows のアップデートでしょう。軽く300Mbはあるアップデートですから、できるだけトラフィックの少ない時間帯に実施すべきです。おそらくこれからどんどんサイズが増えるものなので、あと半年後くらいにはCD1枚分は覚悟しておくべきです。ちなみに当たり前ですが32ニット版より64ビット版の方がアップデートのサイズ、時間、ともにかかります。SOHO環境でも WSUS(Windows Update) の専用サーバーがほしくなります。大量導入するなら専用の「今月のアップデート用ISO」でも用意してほしいところです。

いくつかのアップデートはブートローダーをデュアルブートで grub ブートにした後はインストールできないので主なアプリケーションを入れた後、何度もしつこく確認したほうがよいでしょう。

次に、アンチウィルス系のソフトウェアをダウンロード、インストールします。AVGとかAVASTでも十分ですが、一種類では怖いので SpyBot Search & destroy と Bit defender も入れて定時スキャンするようにしておきました。結構怪しいレジストリや coockie が引っかかるものです。あとは Windows Defender もあるので、これで4重の構えです。

もっとも、32ビット版のアンチウィルスソフトウェアで64ビットのコードをチェックするには単純に2倍以上の時間がかかるということも考えておくべきでしょう。何しろ32ビットプログラムで64ビットのデータをチェックするには、倍のデータのロード、さらに64ビット化した時の、「怪しさのチェック」が入るわけです。単純に64ビットデータのシフト演算の場合、32ビットのコードでレジスタ演算を行う場合、Long word を二度ロードしてシフトしなければならないので、非常に時間と負荷がかかります。32ビット命令でレジスタを使って64ビットの怪しい実行コードを調べるのはどう考えてもオーバーヘッドが大きくなりすぎます。

早く64ビットネイティブで動作するアンチウィルスが出てほしいものです。(実は64ビットパワーが一番必要なのがアンチウィルスソフトウェアだったりします)

ただし、世の中に出回っている「怪しい挙動」ソフトウェアはほとんどが最大効果を狙った32ビット版なので、64ビット版というのは、安全性からもいい選択肢かも知れません。

次に、ドライバ類のアップデートなどをして、アプリケーションをインストールします。

私の場合、 Opera, Firefox, Chrome, LibreOffice, Gimp2, Evernote Thunderbird などですが、どうしてセットアッププログラムだけはダウンロードできて後はオンラインじゃないとインストールできないソフトウェアが多いことでしょう。通信通信容量制限がかかっているISPと契約している場合はあっという間に制限値に達する可能性があるので十分注意してください。

それにしてもアプリケーションの少なさよ

スマートフォンや iPod/iPad などを使って入れば必ず見つかるSNS系のWindows UI のアプリケーションはほとんどありません。Facebock の非公認アプリケーションがありましたが、見事に文字化けしました。mixi は一応あるようです。ゲーム系はまず Microsoft XBOX 系のアプリケーションしかまともなものはありません。もっとも有料アプリは別でしょうが、その気力も失せました。

従来の「デスクトップアプリケーション」が縦の動きに対して、Windows UI のアプリケーションは全部右へのスクロールです。ホイール付マウスでは横スクロールできないので、意味ないですね。


確かに早くなった起動

Winsows7 のスタートアップにタスクマネジャを入れてみるとよくわかるのですが、起動してから遅延起動するサービスが多く、「デスクトップは上がれど使えない状態」が非常に長かったのですが、Winodws 8 はあまりそういったことはないようです。デスクトップが上がってからタスクマネージャーを起動してもCPUの負荷はすぐ下がります。これは32ビット版でも64ビット版でも同様でした。

ただし、 Windows Update が走った後は「構成を適用中」がずーっと続いて、また再起動なんてことがあるので、あまり過大な期待はしないほうが良いでしょう。軌道が早いと思って期待していると 「Windows の構成中」なんて出てしまうのですね。がっかりです。

しかし、デスクトップが上がるのが早いかアプリケーションが立ち上がるのが早いかは別問題です。我々は Windows が高速に起動できることを期待していません。いかに早くアプリケーションが使えるかが重要なのですね。

特に通信系(ブラウザ)の起動からタブの復帰まで異常に時間がかかることは、特に64ビット版のほうが顕著です。Opera では終了時のタブを自動復旧してくれる便利な機能があるので愛用しているのですが、再起動をするとタブを復帰させるまで、非常に待たせてくれます。

やっぱり32ビット版の方が安心して使えるという気がします。同じマシンに入れてみても、明らかにキビキビ感は32ビット版の方が軍配があります。

また、 Windows UI アプリケーションも起動が滅茶苦茶遅い。

つまり Windows 8 を使うには「通信インフラ」全体をチューニングする必要があるということです。ISPとの契約をベストエフォートから「専用線」にするか、ハイスピード無線通信(一日の上限なし)にするか。多分、 Windows 8 を利用する上で一番儲かる業者が通信事業者であることは間違えありません。


ぅぅ..プリンタドライバがない..

私が愛用しているのはお客様から頂いた NEC の PR-5000N Multi Writer モノクロレーザーなのですが、x64 版では見事にドライバーが使えませんでした。 Windows 7 x64 用もマイクロソフトのドライバ証明書がないものはインストールすることができません。一般的にはどうやら裏技があるようです。NECのページを見ると 5000N は見事に「対応検討中」となっていました。多分時間があれば作るし作らない可能性もあるし、「安物なんだから買い替えたほうが早いんじゃない」というメッセージに読めました。

同様に、SOHO向けのインク代で稼いでいる「Windows 専用」を謳っているCE社の安い複合機なんかはそういうことになりそうです。Linux でさえ有志がドライバを作ってリリースしたのにです。「モノを大事にする」エコでケチな人が沢山周辺機器を持っている場合、32ビット版をお勧めします。

これつまり、マイクロソフトが認めたドライバじゃないと動かないということで、ベンダーさんは「幾ばくか」のお金を払って証明書をゲットしなければx64 版では動かせないということです。

これは、いかにもx64版は「マイクロソフトのコントロールに入らないデバイスやソフトウェアは排除する」という姿勢の表れかもしれません。パソコンを趣味にして、あるいは仕事のため、周辺ハードウェアを作ってみてもドライバ証明書がなければ動かないわけですから、この点でも問題は大きくなりそうです。

PCを道具ではなく「ホビー」としたい方にはあまり 64ビット版は進められないなぁということです。もっとも「PCをホビーとしたい」方なんて全体のわずかしかないので問題とはならないのですけどね。そういう方は Linux を使ってください。

※裏技にスタートアップスクリーンから「ドライバー署名を無効にする」機能を出す方法が色々載っていますが、 Linux とデュアルブート環境なので、Grub のブートローダーではこの機能を有効に出来ませんでした。F8キーブートも Windows 8 ではなくなってしまいました。

教訓 - Windows 7 用の x64 ドライバでも Windows8 では動かないものが沢山存在する。

WSUS の容量が倍増した

Windows Update Server(WSUS) を入れているお客様から聞いた話なのですが、 Windows 7/32 に移行した後、足りていた WSUS の容量が倍増したので何とかしてほしいと依頼されたことがありました。ほかにもアンチウィルスの定義ファイルだとかアセット管理データベースも容量が急に増えたというのです。

何のことは、ありません。一部で Windows7/64 を入れたため、これらの管理ソフトウェアも肥大化してしまったのです。

ということで、Windows7/8 と x86, x64 環境が混在している環境では、集中的な管理は非常に管理コストが上がるということも覚悟しておいたほうが良いようです。複雑な環境ではない別なお客様では Windows 7 移行に伴い徹底的に32ビット化で通しました。大変いい選択だったと思います。



いきなりリブートしてた

Windows8 x64 を入れて安心して寝ていたら、先日の朝 Windows 8 x64 版がリブートしていて BIOS のパスワードスクリーンで止まっていました。ログなし。見事な突然のリブートです。

まずメーカープリインストールPCでは滅多に起こらない事なのでしょうが、OSなしモデルで購入し、別にボリュームライセンスを使うケースでは、64ビット版ではいきなりリブートしてしまうことがあります。32ビット版ではあまり経験がありませんでした。とても不安定なのですね。

だから大事なデータはD:ドライブに保存する。これ重要です。Thunderbird なら -profilemanager オプションでプロファイルを C:/user の下に作らず、任意の場所に作れるので、D:ドライブに保存しています。 xxxxxxx.sit というフォルダなので覚えておきましょう。Opera 使いなら Opera Sync を使う。

やっぱりマイクロソフト製品の64ビット版はどうも信用できないですね。


Windows UI アプリのデータはどこに保存される?

Windows UI のデータは C:/user の下に保存されるようです。というかほとんど Windows UI アプリケーションの「保存」という概念もないので、試しに無料のメモ帳アプリを使って「保存」しようとすると見事に C:\user の下でした。まぁ別ドライブにも保管できるので、あまり問題はないのですが、「ディレクトリ構造を意識」して使うという行為はまだ健在なようです。 Android 端末を使ったことはないのですが、iOS ではファイルが iPod のどこに保管されているかなんて意識したことも、そういう作りになっている以上ジェイルブレークしないと中身を見ることもできません。

一方 Windows UI のアプリケーションには「エクスプローラ」が付いていないので「ファイルの操作」はできません。まぁそのうち「有志」が作ってくれるのでしょう。

現状ではファイルをコピーしたり移動したりの作業はクラッシクデスクトップでエクスプローラーを立ち上げる必要があるわけで、タッチパネルだけでこの作業をやるのは不器用な人には向いていないのかもしれませんね。

この作りを見て思い出すのは、Windows 3.1 です。従来のDOSのファイラーをGUIにかぶせただけのファイルマネージャ。単なるプログラムラウンチャとなったプログラムマネージャ。

つまり Windows UI は従来からあるC:ドライブを起点とするファイルシステムの呪縛からは離れられない。ユーザはいつも「ファイルがどこにあるか」を強く意識して作業をすることになります。ファイルがどこにあるのかを意識しないのがクラウドの良いところだと力説する方には申し訳ありませんが、Windows UI であっても常に「ファイルがどこにあるのか」は強く意識しなければなりません。Windows + F キーを押すとファイルの検索ダイアログがペインに出てきますが、探すのは C:/user の下だけです。Windows 7 譲りのエクスプローラーのファイル検索のバカバカしい仕様があるので fileseeker のようなフリーウェアはやっぱり必須ですね。

http://www.vector.co.jp/vpack/browse/person/an038378.html

最後に openSUSE 12.2 をアップグレードインストールすると GRUB が復帰してトリプルブートできるようになりました。EFIブートの新しい Onkyo マシンは苦労しましたよ。

結局どちらのバージョンを選ぶべきか

メモリが4G未満の場合はあえて64ビット版を選ぶ積極的な理由はありません。よほどのことがなければ4G(実質3.2G)のメモリを使い切る可能性は少ないわけです。多分、2013年1月現在、販売されている主力の安価なPCが4Gメモリなので、32ビット版を購入するか、アップグレードするにしても32ビット版のほうが軽いし、メリットが大きいでしょう。ただしメモリは価格が暴落しているので増設はいまどきのトレンドなので難しいところです。RAM ディスク化した方がいいかもしれません。

最初から8Gのメモリとかを使っている以上は64ビット版しかあり得ないのですが、デバイスドライバーは全部調べましょう。メーカープリインストールだからと言って、使っているプリンタやスキャナ、TVカードなどが64ビットドライバで、しかもマイクロソフトの証明書付きでなければ、「動きません」とヘルプデスクに言われるだけです。(裏技があってもです)

コンスーマ向けの古くて安いデバイスは買い替えが必要なようです。

もしどうしても使いたいデバイスがあるのであれば、Vista/7 の32ビット版とのデュアルブート環境を作るのがお勧めです。

Hyper-V を使いたいのであれば、64ビット版しか選択肢はありません。ただし「お遊び用マシン」や「お仕事用」のマシンには必要ないでしょう。あえて言えば「お仕事用」でどうしても互換性の問題で古いシステムを使いたいのなら、64ビット+Hyper-V は選択肢の一つです。古い Dospara マシンは XEN の完全仮想化(VT機能が必要)は問題ないのに、Hyper-V は見事に蹴られました。 Hyper-V も使いたいのなら新しいマシンを選ぶべきです。ただし Hyper-V が動くかどうかは運まかせです。CPUが対応していても Bios が対応していても、受け付けない場合があるようです。また、今回初めて Hyper-V を使うことができましたが、私のようにXEN に慣れてしまった人には「滅茶苦茶重い」ことは覚悟すべきでしょう。ハイパーバイザーを中心に使うなら別なハイパーバイザーを選ぶべきです。 -- かつてサーバー版にトライしたことはありますが、結局動かなかった....のでサーバー版がどうかは分かりません。デュアルブートを嫌って、ハイパーバイザーで Windows も Linux も、という方がいれば、Linux ベースのハイパーバイザーで Windows を使う方が軽快に使えそうです。

今回は、アップグレード版のメディア付き(32/64インストールDVD2枚付 \5,900 1/末まで)を2本購入して徹底的に遊んでみたのですが、古い4Gバイトメモリのノートは32ビット版、より新しくエクスペリエンスの値が高い新しい8Gバイトのノートは64ビット版で Hyper-V を使いたいときに使う(デュアルブートでたまに使う、正確には openSUSE もあるのでトリプルブート)ことにしようと思います。32ビット版では、ちゃんと Windows 7 用のプリンタドライバも警告付でも使えました。

ちなみにお遊び用のC6デスクトップマシン4Gメモリはそのまま Windows 7 (無駄なことに64版がプリインストールされているけど)です。

ただし、この環境では2台の合計4つの Windows を管理しなければならないので、Windows Update も4回ということになります。これも面倒なことです。また有料のアンチウィルスもライセンスを買い増しが必要ですね。AVG, Avast, Bitdiffender, SpyBot の各種無料のアンチウィルス、スパイウェア検出ツールを入れました。あと Windows Defender も入っています。

本気で「タブレットだけ」として使うのが目的ならばARM版 Windows RT が一番よい選択肢となるかもしれません。タブレットならあまり周辺機器は使わないし、プリンタを使うこともあまりないでしょう。 Surface は国内未販売ですが、幾つかの選択肢があります。しかも戦略上、Windows 8 + Microsoft Office のメディアとライセンスを購入できるより安い価格で本体付きで購入できるかも知れません。

結局 Windows UI を使わないなら、Windows Vista/7 から Windows8 へのアップグレードは「正解」だった、と思います。Classic Shell 以外にも様々な「スタートボタン復活ソフト」がフリーウェアやシェアウェアであるので、好みのものを使えば、煩わしいスタートメニューは使わなくて済みますし、「ちょっと Windows7 より軽快かな」程度のメリットはあります。ただし32ビット版に限った話ですけれど。

islandcenter.jp
[PR]
by islandcenter | 2013-01-12 11:11 | Windows 8 | Trackback | Comments(3)

ip-sentinel をはじめとする arp poisoning の技術を使った「認証されていないデバイスの接続拒否」システム(検疫システム)やプログラムをいろいろと検討してみました。

http://www.nongnu.org/ip-sentinel/

ip-sentinel はデバイスが吐き出す arp のブロードキャストをキャプチャして、リストにない mac アドレスを検出すると、その mac アドレス(未登録デバイス)に偽の mac アドレスを送りつけて(arp poisoning)、未登録デバイスが目的の機器、ネットワークへの接続を阻止します。 ip-sentinel 自体は非常に単純な機能しかないし、C言語で書かれた僅かなコードは、マイコンCしか知らない私でも、何とか「どこでエラーを返しているか」くらいは調べられる単純なプログラムでした。ソースも古く、「これだけでまず必要十分」な機能だけを備えています。

この20Kbほどの小さなプログラムの実運用にはかなりスクリプトなどと組み合わせた運用方法を考えなければ使いこなすのは困難そうなので、他に何か良い製品はないかと調べてみました。

しかしこの仕組み(arp ポイズニング)を使った、検出アプライアンスや通信遮断ソフトウェアをいろいろと調べてみると、ほぼどこの製品でも ipv6 は対応していませんでした。

ipv6 では通信経路を見つけるため arp を使わず、 ICMP を使うためです。

--

ここで「はてipv6 って何だ」ということになるのですが、どこに情報を探ってみても「ipv4」とは似て非なるもの、全く異なるもの、と評価している人が多いようです。ここで問題となるのは ip-sentinel をはじめ、同様な機能を持った「未登録デバイスの検疫遮断システム」なるものは、現状の環境ではほとんど ipv6 の前には使い物にならないということです。

もっとも、社内のルータやソフトウェアが ipv4 にしか対応させていない以上、これらのデバイスにはアクセスできませんが、ネットワーク内部に ipv6 のみの機器同士を適切に設定すると通信できてしまうわけですね。たぶん。

何しろ「世界中の石ころにもIPアドレスが振れる」んじゃないかというアドレス空間ですから、ほとんどのデバイスが「グローバルアドレス」に近いものを持ちます。従って、ipv6 対応の端末が、持ち込まれると、ipv4 ルータの外へは無理としても社内に持ち込まれてしまうとどうしようもありません。特に管理しているPCで ipv4 と ipv6 をデュアルスタックにしていれば、致命的でしょう。このような端末であれば、ipv6 を喋る端末からもアクセスできてしまうし、 ip-sentinel のような検出遮断ツールからも遮断できません。

となると、対策は一つ

「管理できるデバイス、PCは ipv6 を完全に無効にする」

しか方法はありません。

BYODを積極的に取り入れる場合、持込端末の制御はユーザに嫌われる以上、これらの端末の ipv6 の無効化はユーザに歓迎されません。これらの端末が不用心なBYODポリシーの中で持ち込まれると対応のしようがないわけです。

--

Novell は ipx から IP に完全に移行して「ipxを殺す」ために、NetWare 4x では ip/ipx ゲートウェイという機能でNATのような機能を提供を始め 1998年の NetWare 5 で完全にIP対応してから、デュアルスタックに移行し、昨年の OpenEnterpriseServerr 11 (OES11) の発売で「ip/ipxデュアルスタックを完全に殺す」ことに成功しました。今では Windows XP クライアントのみが ipx 接続のために残されています。

OSX以降の Macintosh は詳しくないのですが、90年代に大流行した Appletalk を殺すことに成功しているようです。

これは1ベンダー、あるいは1ユーザの中でクローズした世界でのことで、世界中に無限大に存在する ipv4 資産を持つステークスホルダーを「殺す」まで、いったい何十年かかることでしょう。たぶんボクが生きている間は不可能じゃないか、という気すらします。今後、数十年は、販売されるデバイスが ipv4/6 のデュアルスタック対応となるでしょう。

もっとも、この数年間は「ウチには ipv6 は必要ない」と思う方がほとんどでしょう。問題の先送りなのかも知れませんが、私もそう思います。

あるいは、「自分のネットワークだけは早期に ipv6 にしてしまおう」その考え方も投資効果は別として積極的で結構だと思います。

もし、イワシが持っている携帯電話を調べて、次にどのイワシがどのマグロに食われるかを予想するようなビッグデータを使ったアプリケーションが大ヒットするようになれば、必要になるかも知れません。もっともイワシが携帯電話を持っていればの話です。

--
しかし「現実」に Windows でも Linux でもインストールや直後の設定の場面で「ipv6を意識的に無効にする」作業が必要なのが現状なのです。そんな中で「ウチは ipv6 は無効にしているから」という言い訳は出来なくなってきていることに気が付きます。

ユーザ部門にデバイスのセットアップを任せているケースでは、「無意識に ipv4/ipv6 デュアルスタックを使っている、あるいは使えて”踏み台化”している状態になっている」わけです。そこまで時代が進んでいることに気が付かない管理者の皆さんは大勢いるのではないでしょうか。

まず「意図的的に ipv6 は使えないようにする」作業が必要となります。

ここで、アセット管理(資産管理)システムとの統合の問題が出てくるわけです。

まずは通常のアセット管理システムでは検出できないような、ipv6 端末も検出できるように設定を変更しなければならないわけですね。あればですが...

nmap コマンドで -6 オプションを使えば ipv6 デバイスもスキャンできます。その場合 nmap を使う端末の ipv6 をイネーブルにする必要があります。 SUSE Linux の場合 YaST > Softwaremanagement > search から nmap を検索してインストールします。 YaST > Network Device から General 画面の ipv6 をチェックして再起動すれば ipv6 スキャナができるようです。(未確認)

その上で nmap コマンドを -6 オプションでセグメントをプローブスキャンしてみましょう。ひょっとしたら、どこかの Wifi ルータの設定がイネーブルになっていたり、未登録の ipv6 端末が接続されているかも知れません。これらは、 ipv4/ipv6 デュアルスタックの機器(現在販売されているデバイスのほとんどのデフォルト)に接続できてしまう可能性があります。(openSUSE なら ndpmonというパッケージが使えます)

まずやるべきことは、これらの「存在するかも知れない ipv6 端末」を「見つけて殺す」あるいはユーザさんに「とめてもらう」こと。次に、まず、優先的にアセット管理システムを ipv6 に対応させることでしょう。

その後、基幹ネットワーク、基幹アプリケーションをデュアルスタック化する必要があるでしょう。そして、完全に ipv4 を「殺す」ためには気の長い期間をかけて、デュアルスタックネットワークを管理する必要があります。(ipv6 を先送りするか、ipv4 を使い続けるかどうかは別として)

私の顧客のほとんどでも数万台のPCを ipx から ip へ完全に移行するまで数年かけてデュアルスタック環境を保持し続けました。ipv6 への完全移行はおそらく、その数十倍の年月が必要だと思います。確かに ipx -> ip への移行はそれなりに効果はあったと思います。というか必要だったというのが正解です。

ipv6 自体はひどいものだとは思いませんし、技術的にも必要だから生まれたものです。しかし、この長期のデュアルスタック状態が脅威となる可能性があります。

2013年はIP資源枯渇を迎えた元年です。今の時点で言えることはとにかく「ipv6 を殺しておけ」ということです。


islandcenter.jp
[PR]
by islandcenter | 2013-01-05 19:38 | プライベートクラウド | Trackback(1) | Comments(0)