Windows 7/2008のアクセス権で、一つだけ気をつけること。

 ドツボにハマっている場面を見かけたので、小ネタを。

 結論:
 Windows 7/2008で、プログラム実行時なアクセス権絡みの妙な挙動や何故か拒否されるという挙動が出たら、フォルダに「Authenticated Users」権限が正しく付いていることを確認すること。

 以下、うだうだ。

 7や2008では普通にNTFSでフォーマットすると「Authenticated Users」というグループにアクセス権が付与される。このグループは「Windowsで認証済のアカウント」という意味で、「サブフォルダーとファイルの削除」「アクセス許可の変更」「所有権の取得」の3つ以外の全ての権利が付いている、かなり自由度の高い権限となっている。

 一方、よく見ると普通に「Users」グループも作成されていて、こちらはフォルダ内の読みと実行のみ、とまあ実に制限されている。また、「Administrators」は例によってフル権限。

 さてここで問題です。ここで「Authenticated Users」を削除するとどうなるでしょう。
 結果:プログラムからディスクへの書き込みが出来なくなります。

 Vista以降、プログラムは通常時は実に制限されたユーザー権限で動作している。
 このため、放っておくとディスクからは読込しか出来ない。
 これでは困るので、ここで出てくるのが「Authenticated Users」。
 コレがあるおかげでプログラムはディスクへの書込が出来るということ。
 この辺りの制御をしているのは内部ユーザー認証=UAC。

 Usersとの微妙だが決定的な違いもこの辺りの話。
 UsersにはGuestアカウント(と昔の匿名ログオン)も含まれるが、Authenticated Usersでは明示的にユーザとして定義されているもののみ。
 これが、正規ユーザ実行として認証されない状態のままディスクに突撃するようなマルウェアに対する、セキュリティ防壁になっているというワケですな。

 ちなみに、具体的にこの権限周りでコケるのは以下のような場合。

 1:今まで他で使っていたHDDを繋いだような場合
 2:知ったかクンが勘違いして明示的に権限を削除しちゃったような場合

 殆どは1。今回の元ネタもこのパターンだったのだが・・・2の実例を知っているモンで、ね。

Share

MicroServerの電源が逝って、HPサポートの強さを実感した、そんな日。

 さすが、世界最大のPC屋なだけあるわ・・・と本気で感心してしまったそんな日。

 手元でファイルサーバとして活躍中のHPのMicroServerだが、実はこいつ、先月の地震で「被災」していたんですわ。
 具体的には、あの振動でどうやら電源内ファンがこれで軸ブレを起こしたらしく、超のつく爆音化してしまったのであり。
 その後、皆さん御存知の首都圏のゴタゴタやら何やらで暫く放置していたが(電源も入れていなかったし)、そろそろ落ち着いてきたので「修理頼むか」と思ったのが、きっかけだったのだが。

 ◇

 Day 1(水曜): 修理申し込み。

 その日の午後、職場の合間時間でHPのチャットから修理を申し込むことに。
 相手はどうやら中国系の人のようだが(名前が)、まあ普通に「壊れているんで直してね」と申し込んだところ、シリアルを確認して「了解しました」と。詳細は電話で確認するそうな。
 ↓
 30分も経たないうちに、シンガポールからの国際電話で(!)申し込み内容の確認電話が届く。
 相手はやっぱり中国系の人っぽいのだが(名前から)、普通にに日本語で・・・

 「それでは次に、エンジニアの派遣に都合の良い時間帯や日、或いは都合の悪い時間はいつになりますか」

 ・・・そうでした、小さくともサーバ扱いなので、標準ではオンサイト修理=サービスマンの訪問修理になるんでした。念のため確認したが、当然ながら設置先が個人宅でも全く問題無いとのこと。
 とはいえこちらもしがない月給取り、しかも例の地震のせいでただでさえ不規則だった勤務が更にガタガタという状況なので、日や時間を(ある程度幅を持って)指定することが難しい。 
 そこで、自分で交換するために交換部品を発送して貰うことに。

 「それでは、明日午前中に届きます」

 ・・・マジで?

 ◇

 Day 2(木曜): 部品届く。

 翌日朝、本当に交換部品(電源ユニット)が届く。
 ・・・昨日のチャット開始から正味18時間で届いちまったよ。何この素早さ。

 もちろんその場すぐには受け取れず、運送業者(日通)から電話がかかってきたので宅配BOXに入れて貰ったのだが。
 ちなみに発送元は八王子。そいやHPの事業所あったね・・・と。 

 ◇

 Day 3(金曜): 部品到着確認電話が来る。

 更にその翌日、HP(国内拠点)から電話が。部品の受取確認と、返送タイミングの確認。
 まだ交換してないよ、と言ったら「部品交換方法が不明な場合や、交換が完了しましたら御連絡下さい」とのこと。
 ちなみに「部品届いたけど交換方法が分からん」っとなったら今からでも訪問修理に切り替えることも出来るそうな。

 ◇

 Day 4(土曜=本日): 部品交換完了。

 Micro「Server」の名前の通り、HPのビジネス機共通の非常にメンテナンスのし易い構造を踏襲しているだけあり、電源の交換は実にあっけなく完了。
 具体的には固定はねじ3箇所だけなので、それを外したら後はケーブルタイを切ってケーブルを引っこ抜いて、さくっと交換。電源ONして・・・静かなサーバが戻ってきましたよ。

 #ちなみに切ったケーブルタイだが、どう見ても100円ショップ等で売っている市販品なので、気になる人は後で自分で付けておきましょう、はい。

 一方、爆音化した故障部品はさっきまで交換部品の入っていた箱に詰めて、と。
 これ回収は電話で依頼すればいいんだよね。といってもどうやら受付は平日日中のみっぽいので、それまで放置、と。

 ◇

 というわけで、恐ろしいほどスムーズ&クイックにMicroServerは復活してしまいましたとさ。

 ちなみに修理そのものにかかった時間は30分以下。
 なんというか、汎用品の組み合わせである自作では到底到達できない、メーカー品の面目躍如といったとこですな。

Share

WD Greenに6Gbpsって…

 別に6Gbpsが欲しかったワケでなく・・・。

 先月末辺りからアキバ中のWD30EZRSがCFD扱品※になってしまい、「あれ~正規代理店品は無いの~?」なんておたおたしていたらEZRSはいつの間にか消滅。
 そして先週末、アキバで買えたのはWD30EZR「X」、6Gbps対応品でした、という話。

 ※基本的にCFD扱=メーカーRMAを切ってある、ということ。
   恐ろしかったのはWD30EZRS-DTL(カード付お買い得Ver)については外箱に「3years Warranty」と書かれた「メーカー純正箱」を使って「RMAの一切無い」モノを売っていたことで、これうっかり騙された人居るんじゃないか?

 で・・・6Gbpsになってどうなったか。
 結論、何も変わっちゃいない。

 EZRS(3Gbps)とEZRX(6Gbps)であまりにも代わり映えしない。軽くベンチも取ってみたが、誤差しか違わない。
 というか、メカ側が変わっていないのにIFだけ変わったところでそんなに劇的に差が出るワケがないんで、当たり前っちゃ当たり前だ。

 ◇

 最後に、前回ネタにしたRATOCのHDDカートリッジ外付けケース。
 2機種目の6Gbps HDDが来たので、早速試してみましょ・・・っと。

 EZRX、全く問題無いです。普通に認識、普通に使えます。

 ・・・ということで、前回の「相性問題」は、6Gbpsが原因なのではなく、純粋にHGST製品による相性でした、ということで。

Share

HGST 7K3000 3TBの思わぬ相性問題。

 以前、3TB HDDをいじっていたら不安定に・・・というネタを書いたと思うが、実質的にその続き。

 いやはや、参った。HGSTの最新ドライブと古めパーツの組み合わせで、相性問題確定。
 ちなみに症状は以下の通り。

 ・完全にハング。
 ・青画面。ちなみにパラメータはF4 (腐ったドライバか壊れたハード)。
 ・Software RAID崩壊。所詮Software、I/O周りのハングでは壊れることもあるのよ、念のため。

 そして、この恐怖の症状を発生させる組み合わせは以下の通り。

 RATOC SA-DK1EU + HGST 7K3000 3TB + SiI3124搭載カードの一部

 DK1EUはRATOC製品のREX-SATAシリーズHDDケージを使うための外付けケース。USB2.0とeSATAのDual Interface・・・ってソレが悪さしてるんだろうなコレ。
 ちなみにアイボリーモデルは販売完了になったが新たに黒色モデルが発売されている。中身は変わっていないだろうから、多分この問題もそのまま。

 7K3000は言わずと知れた高速3TB HDD。7200rpmでは最強。

 そして最後のSiI3124搭載カード「の一部」なのだが、これ例えば手元のLycom PE-124ではモロに該当。痛タタタ。何故か極希に上手く行くことも無くはないのだが、まずコケる。

 一方でRATOC自身のどう見てもPE-124のOEMなカードを売っているんだが、RATOCのサポート曰く「問題ない」とのことなので、かなり微妙なレベルの話なのかも。ケーブルぐらいならまだ兎も角、ヘタするとマザーの違いとか電源の違いとか、そんな話かも知れないし。

 #どちらもPCI-Express電源ラインのノイズが・・・という話。高速IFだとこのテの「ノイズ」が原因、ってのは結構無視出来ない問題。

 一つ気になるポイントは、HGSTのHDDが6Gbps対応品だということ。もしかしたらHGSTとの相性ではなく6Gbpsとの相性かも知れないし、そうなると将来的にHGST(WD?)から3Gbpsや1.5Gbpsに固定出来るユーティリティでも公開されれば状況は変わるかも知れない。

 ・・・とはいえ、IFがRATOC製でない以上、現状RATOCにこの相性問題をどうにかする義務は無いしなぁ。
 ん~まあ、こういうこともあるか。

Share

[マニアック注意] PCI-Express バス実装トポロジを確認してみる。

 さてそれは、ふとした疑問。

 手元のAsus M4A89GTD PRO/USB3の、NECのUSBチップがぶら下がっているのは890GXの下か、SB850の下か、どっち?

 一昔前のマニュアルにはブロックダイアグラムが載ってて当たり前だったけど、最近はそうでもない模様。
 仕方ないので、Windowsでのデバイスリスティングを頼りに、PCIeバスの接続を割り出してみますか。

 ちなみにこの手法はx86 PCでは汎用的に通用するので、例えばIntel Chipsetのマザボで「このPCIeスロット、直接CPUにぶら下がっているのか、それとも(圧倒的に帯域の狭い)DMIの先にあるのか」なんてことを判別する際にも使えますよ、念のため。

 ◇

 ということで、まずはハードウェア側の基礎知識から。

 PCI-Expressには「レーン」と「ポート」という2つの概念がある。
 「レーン」というのは信号線の数。PCIe x16とかx1とかいう、アレ。よく見ますな。
 対して「ポート」というのはやや分かりにくいのだが、簡単に言うとデバイスを接続出来る数。

 例えば「16レーン」且つ「1ポート」では、PCIeカードは1枚しか挿せない。
 ところが同じ「16レーン」でも「2ポート」では、「8レーン」+「8レーン」でPCIeカードを2枚挿せる。
 こんな感じ。

 次。

 PCI-Expressはソフトウェア的にはPCIと同一に見えるように工夫されているため、全ての「ポート」に対して「PCIバス番号」が振られる。

 これどういうことかというと、CPU側から見た場合、例えばPCIバスが3本あるのと、PCI-Expressが3ポートあるのと、同じに見えるんですわ。
 なので、例えばPCI-ExpressでVGAを挿してポート1を使用した場合、PCIバスの1番目にVGA挿してあるのと同じようにCPUからは見える。

 ◇

 次、Windows側の基礎知識。

 前述の仕組みのお陰で、WindowsからはPCI-ExpressとPCIとは区別されずに見える。

 そして、個々のデバイスの接続模様は、デバイスマネージャから個別のデバイスの「プロパティ」ダイアログを開き、「詳細」タブの「プロパティ」を開いて「場所のパス」という項目から確認出来る。

 ♯Windows7の場合。他も大体同じだと思う。

 するとこんなのが見える筈。

 PCIROOT(0)#PCI(0100)#PCI(0000)

 コレを読み解けば良いのですよ。
 ということで、以下読み方。

 ◇

 PCIROOT(0)

 まず最初のコレ、CPUから見たPCIバスの1つ目(0から始めるので)という意味。
 普通のPCだとまず見ないが、サーバ系だと1つのCPUに複数のバスが接続されていることも。そういう場合、ここにPCIROOT(1)なんてのが出てきたりする。

 #PCI(0100)

 次に来るコレはノースブリッジに接続されたPCIバスの番号。16進数で、上2桁と下2桁で意味が違う。
 上2桁はスロット番号で、1から始まる。0は自分自身という意味。

 下2桁は機能番号と言い、1つのPCIバスに1つのデバイスしか接続されていない場合は0。
 複数のデバイスが1つのPCIバスに接続されている場合、ここの数字を変えることで区別する。

 #PCI(0000)

 最後のコレは、PCIバスに接続されているデバイス自身のこと。
 例によって16進数で、上2桁と下2桁で意味が違う。
 上2桁は、上記したように0は自分自身を示すので、ノースブリッジの下に自分が居ますよ、という意味。
 下2桁は、機能番号なので、1つのデバイスが1つの機能しか持っていなければ00だけ、2つ以上の機能を持っていれば00、01・・・という風に増えていく。

 以上により、こんな風に解釈される。

 PCIROOT(0)#PCI(0100)#PCI(0000) → CPU:ノースブリッジの1番目のポート:単機能PCIeデバイス(拡張カード)

 ◇

 もし間にPCIeブリッジなんかが挟まると、一項目増えることに。

 PCIROOT(0)#PCI(0400)#PCI(0000)#PCI(0000)
 →CPU:ノースブリッジの4番目のポート:PCIe/PCI-Xブリッジ:PCI-Xデバイス

 ポイントは2つ。
 繋がってるのが全部で4項目になっていること。
 PCIeブリッジ自体は、0000と表示されていること。

 PCIeブリッジの表示が0000なことについては、正直良く分からないのだがこれそういうモノらしい。
 ここから先は別のバスになります、ということで区切っている、のかな?
 ちなみにPCIeブリッジがPCI-Xを2ch持っていると、0000と0001となります、はい。

 ◇

 そしてサウスブリッジに内蔵された機能の場合は、例えばこんな風。

 PCIROOT(0)#PCI(1402)
 →CPU:サウスブリッジの20番目のポートが内蔵する2番目の機能

 この場合、サウスブリッジに内蔵された20番のポートに内蔵された2番目の機能、という意味。
 何で最後に#PCI(0000)が付かないかというと、PCIeバスに「接続された」デバイスではなく「内蔵された」機能のため。

 ◇

 さて、ここまでは長~い前振り。

 以上の前提を以てデバイスマネージャを開いてチェックすると、M4A89GTD PRO/USB3では以下のようになっている模様。

 0100 – 内蔵VGA
 0200 – PCIe x8 (スロットはx16)
 0300 – PCIe x8 (スロットはx16)
 0400 – PCIe x4
 0900 – オンボード NEC USB3.0
 0A00 – オンボード JMicron JMB361
 1100 – SB850 RAID
 1200 – SB850 OHCI
 1202 – SB850 EHCI
 1300 – SB850 OHCI
 1302 – SB850 EHCI
 1400 – SB850 SMBus
 1401 – SB850 IDE
 1402 – SB850 HD-Audio
 1403 – SB850 ISA (LPC)
 1404 – SB850 PCI → 0700 – VIA 1394
 1405 – SB850 OHCI
 1500 – オンボード ギ蟹
 1501 – PCIe x1
 1600 – SB850 OHCI
 1602 – SB850 EHCI

 890GXは22レーン/8ポート(A-Link相当分を除く)。3ポート余ってます(0500、0600、0700)な。
 そして0800が欠番に見えるのは、これ多分内部的にノース・サウス間のA-Link(=PCI-Expressそのもの)用に使っているんでないかね。
 そして1100以降1602までSB850が占有しているので、その中にある1500と1501に関してはSB850配下のPCI-Express Busということが判別出来る。

 にしても、PCIeスロットがSB850配下ってのはちと想定外だった。これ要するに、PCIe-x1カードを挿す場合でも、空いているなら他のスロットを使った方がよろしいということですな。

 ◇

 ということで、結論。
 M89GTD PRO/USB3のUSB3.0は890GX直下にぶら下がっている。
 以上。

Share