2014年12月25日木曜日

1e100.netというgoogleの踏み絵

chrome汚染が酷いので、googleサービスを取捨選択して使用しようと思い立った。
まずchrome自体をダウンロードできなくするために、dl.google.comへのhttp、httpsアクセスを止めた。
あと広告配信を1e100.netからやっているようなので、これも止めた。
するとどうだろう。ssl通信を必要とするほぼほぼ全てのgoogleサービスにアクセスできない。
アクセスしてもタイムアウトする。iptablesがうまく動いている証拠と言えば証拠だが・・・。
慌ててsquidのログを確認すると、216.58.216.XXXを恐ろしい回数ドロップしている。
1e100.netである・・・。

1e100.netについて調べると、http://www.herdprotect.com/に行き当たった。

docs.google.com
http://www.herdprotect.com/domain-docs.google.com.aspx
dl.google.com
http://www.herdprotect.com/domain-dl.google.com.aspx

結局1e100.net(のサブドメイン)を使っているのだ・・・。
なので、iptablesで1e100.netをはじくとさっぱり繋がらなくなる。
また、docs.google.comやdl.google.comをブロックしても、同じ状況に陥る。
ただし、必要な1e100.net群をブロックしていなければ、そこそこ繋がるという不思議状況にもなる。
ワンチャンかけてdl.google.comをブロックするのもありだが、あまりお薦めはしない。
また、何回か試していると、いつも決まった1e100.net(のサブドメイン)を参照している「わけではない」ようなので、余計にたちが悪い。

結局squidでhttpのみdl.google.comや1e100.netをはじく対処で落ち着いた。
落ち着いた?気休めである。そう、問題は何も解決していない。
googleはSSLを推奨しており、わざわざhttp接続にしても、ご丁寧にhttps接続に切り替えてくれる。

https://support.google.com/drive/answer/1211661?hl=ja
で、ファイヤーウォールの設定が書いてあるが、
結局大元の1e100.netを止めてしまっては元も子もないということである。不親切。
また、
https://support.google.com/faqs/answer/174717?hl=ja
に1e100.netについて書いてある(が、日本語にならない。)

we started using a single domain name to identify our servers across all Google products

と記述されているので、まあ「そういうこと」なのだろう。
googleサービスを使うのであれば、1e100.netへのSSLアクセスは必要で、拒否することは出来ない。

そう、抵抗は無意味だ。

2014年12月20日土曜日

3wareとLSIのRAIDディスク状態情報をテキストで書き出したい>grepで複数の単語をつかんでリダイレクト。

3wareのRAIDcontroller状況は3dm2をインストールすることでブラウザ閲覧していたのだけれども、
LSIはブラウザではなく、MEGARAID STRAGE MANAGERで管理することになった。
このMegaRAID Strage Managerがすこぶる使いづらい。
外部PCからはポートを開放しないと参照できないし、何より管理PCにMegaRAID Storage Managerをインストールしなければならない。
3071,5571とか正直わざわざ開けたくない。
そこで、CUIで動く3ware CLIと、MegaRAID CLIで出した情報をテキストに書き込むシェルを書いて対応した。
MegaRAID CLIも使い勝手はかなり微妙。大文字小文字入り乱れるわ、インストール時にパス通してくれないわ・・・。
そもそも見たい情報が分かりやすく出てこない。
LSIは買収したのだから、そろそろ3wareの新商品を出してほしいものである・・・。
気を取り直して


3ware CLIについては
http://www.clustcom.com/content/view/149/32/

MegaCLIについては

http://www.maruko2.com/mw/MegaRAID%E3%81%AE%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B

http://d.hatena.ne.jp/mtkys+tech-memo/20121215/1355591665

を参考にした。

単純にほしい情報をgrepでつかんでリダイレクトさせる。
grepは"-e"で連続してつかんでくれるので、それを利用する。
まず書き出し日時をdateで書き出し。次に情報を追記する。
それをcronに突っ込むと、定期的に書き出してくれる(たとえば/etc/cron.daily/に実行権限をつけて入れておく)。
(foobarには書き出したいディレクトリを指定)

3wareは

#! /bin/sh
#書き出しファイル指定
writefile=/foobar/raidstatus.txt
#日時
date > $writefile
#スロットナンバーと、書き出したいディスク状態、ディスクデータを指定する
tw_cli show >> $writefile
#/c0のところはサーバによって違うことがあるので、必ず事前に確認する
tw_cli /c0 show >> $writefile

megaraidは

#!/bin/sh
#書き出しファイル指定
writefile=/foobar/raidstatus.txt
#日時
date > $writefile
#スロットナンバーと、書き出したいディスク状態、ディスクデータを指定する
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL | grep -e Slot -e state >> $writefile
echo '-----------------------------------------------------'
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL | grep -e Slot -e Raw -e Inquiry >> $writefile

以下のようなテキストファイルができあがるので、参照しやすいところに直書きだしするようにすればいい。
ただし、改行コードがLFなので、LFを正しく解釈する、たとえばワードパッドやnoeditor等で開かないと、
すごく長い一行を読まされる。

3ware CLIは以下--------------------

Wed Dec 10 00:00:00 JST 2014

Ctl   Model        (V)Ports  Drives   Units   NotOpt  RRate   VRate  BBU
------------------------------------------------------------------------
c0    9650SE-8LPML 8         8        3       0       1       1      OK      


Unit  UnitType  Status         %RCmpl  %V/I/M  Stripe  Size(GB)  Cache  AVrfy
------------------------------------------------------------------------------
u0    RAID-10   VERIFYING      -       12%     256K    5587.9    RiW    ON    
u1    SPARE     OK             -       -       -       1863.01   -      OFF   
u2    SPARE     OK             -       -       -       1863.01   -      OFF   

VPort Status         Unit Size      Type  Phy Encl-Slot    Model
------------------------------------------------------------------------------
p0    OK             u0   1.82 TB   SATA  0   -            ST2000DM001-1CH164 
p1    OK             u0   1.82 TB   SATA  1   -            ST2000DM001-1CH164 
p2    OK             u0   1.82 TB   SATA  2   -            ST2000DM001-1CH164 
p3    OK             u0   1.82 TB   SATA  3   -            ST2000DM001-1CH164 
p4    OK             u0   1.82 TB   SATA  4   -            ST2000DM001-1CH164 
p5    OK             u0   1.82 TB   SATA  5   -            ST2000DM001-1CH164 
p6    OK             u1   1.82 TB   SATA  6   -            ST2000DM001-1CH164 
p7    OK             u2   1.82 TB   SATA  7   -            ST2000DM001-1CH164 

Name  OnlineState  BBUReady  Status    Volt     Temp     Hours  LastCapTest
---------------------------------------------------------------------------
bbu   On           Yes       OK        OK       OK       220    10-May-2014 



LSI MegaRAIDは以下--------------------


2014年 12月 10日 水曜日 10:00:00 JST
Slot Number: 0
Firmware state: Online, Spun Up
Slot Number: 1
Firmware state: Online, Spun Up
Slot Number: 2
Firmware state: Online, Spun Up
Slot Number: 3
Firmware state: Online, Spun Up
Slot Number: 4
Firmware state: Online, Spun Up
Slot Number: 5
Firmware state: Online, Spun Up
Slot Number: 6
Firmware state: Hotspare, Spun down
Slot Number: 7
Firmware state: Hotspare, Spun down
-----------------------------------------------------
Slot Number: 0
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Inquiry Data:             Z5XXXXHVST2000DM001-1ER164                      CC43   
Slot Number: 1
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Inquiry Data:             Z4XXXX4QST2000DM001-1ER164                      CC43   
Slot Number: 2
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Inquiry Data:             Z4XXXXGJST2000DM001-1ER164                      CC43   
Slot Number: 3
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Inquiry Data:             Z4XXXXABST2000DM001-1ER164                      CC43   
Slot Number: 4
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Inquiry Data:             Z4XXXXJJST2000DM001-1ER164                      CC43   
Slot Number: 5
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Inquiry Data:             Z5XXXXZ9ST2000DM001-1ER164                      CC43   
Slot Number: 6
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Inquiry Data:             Z5XXXXK6ST2000DM001-1ER164                      CC43   
Slot Number: 7
Raw Size: 1.819 TB [0xe8e088b0 Sectors]
Inquiry Data:             Z4XXXXQTST2000DM001-1ER164                      CC43   

-----------------------------------------
余談だが、SeagateのST2000DM001がとにかく悩ましい。
よく飛ぶ。というか、環境を選ぶ。
普通の環境(室温24から30度)だと、半年に数台壊れていく。壊れたHDDは東芝に換装。
逆にサーバ室(室温21度)だと年に2台程度。他社とあまり変わらず。
デスクトップ用だよね?これ・・・。

2014年12月15日月曜日

virtualboxで仮想PCが立ち上がらない、DMMとかDRMを使用したコンテンツを再生できないはKB3004394のせい。

windows7上にvirtualboxでlinuxをインストールして使っているのだけれども、どうにも立ち上がらない。

virtualboxは結構不具合があるイメージだったので、仕方ない、再インストールするか、と思い立って再インストールしたのだけれども、やはりエラーを吐いて落ちる。

おかしい、と探し回ったら
http://www.infoworld.com/article/2858014/operating-systems/botched-kb-3004394-triggers-uacs-diagnostic-tool-error-0x8000706f7-amd-catalyst-driver-fail-defende.html

だそうで。

windows updateのKB3004394が入っていると、仮想マシンを立ち上げられないようである。

対処法は、
1・まずKB3004394をコンパネ> プログラム>インストールされた更新プログラムを表示>KB3004394をアンインストール(結構時間かかる)

2・再起動

3・virtualboxをアンインストール。この際、ディスクイメージなど設定は残しておくように。ダイアログが表示される(念のため再起動)

4・virtualboxをインストール。設定を残しておいたら普通に立ち上がる

この手順が書かれた英語サイトがあったけれども失念してしまった。

また、KB3004394はDRMを使用したコンテンツの再生にも引っかかるらしく、知り合いから「DMMのコンテンツをwindows media playerで再生できない」と問い合わせられて、「もしかして」的なノリで削除して貰ったら再生できたという。

一応どれがはまったのか分からないので、その際の手順(試した順序的には実は逆だった)を書いておくが、まず間違いなくKB3004394の削除のみで対応出来そうな気がする。

1・KB3004394を削除して再起動する。これでも駄目なら2へ

2・マイクロソフトからDRMのリセットツールをダウンロードし、実行する
http://support.microsoft.com/kb/976590/ja
より、ResetDRM.exeをダウンロードし、「管理者権限で」実行する。
 詳しくはurlにて。
再起動して再生できなければ3へ

3・windows media playerコンポーネントを一度外し、再度入れる
コンパネ>プログラム>windowsの機能の有効化または無効化>メディア機能の中のwindows media playerとmedia centerのチェックを外す
>再起動
>さっきチェックを外した2つにチェックを入れる
>念のため再起動
更に、2を実行する

これで大丈夫の筈。

ざっくり見ているとwin7のみでこの問題が起きるようで、8.1だとIEの動作が軽くなるのだとか。
へえ。

他に見つけたリンク
http://d.hatena.ne.jp/wakwak_koba/20141210

もしや7に見切りを付けさせるマイクロソフトの、的な陰謀論も邪推したくなる。

2014年12月7日日曜日

ファイルサーバのスペックは高くなければならない。

「ファイルサーバ スペック」で検索すると
http://q.hatena.ne.jp/1294767892

http://oshiete.goo.ne.jp/qa/6565636.html
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1313700233
等、そんなに高いスペック要らないよ!というページが沢山出てくる。

これは

嘘。

真っ赤な嘘。

ぶっちゃけこれに騙されてATOM D525でファイルサーバを組んだら偉い目に遭わされた。
転送が遅い。
兎に角ファイルの入出力が亀のように遅い。
CPU使用率が半端なく上がる。
挙げ句の果てには熱暴走。12cmファン2基付けたのに・・・。
しようが無いから個人で引き取って個人サーバに作り替えても、やっぱり遅い。耐えられない。
意外とファイルサーバはスペックが必要なのである。
スピードを気にしないなら話は別だが、100GB、200GBなんてザラに弄るとなると、色々耐えられない。
ファイルサーバというのであれば、少なくともUSB2.0位のスピードを出して欲しいものである。

あと、サーバはサーバ用の物を使わなきゃ駄目!とか言うのも、

嘘。

本当に、嘘。

ECC?何それ美味しいの?高耐性ハードディスク?民生と同じくらい壊れるのが?
ということで、経験則とソースを織り交ぜて、実際フルスペックでファイルサーバを組むならば、というページをつくることにした。

想定環境は
・centos6.6もしくはcentos7
・30人くらいが業務として大量の動画や画像を入出力する
この2点。

CPU
・コア数が多ければ多いほど処理できる数が多くなる
http://www.hpc.co.jp/4u24d_features.html
より
ファイルサーバーのCPUコア数がNFSのプロセス数より少ないと、1つのCPUコアを複数のNFSプロセスが共有することになります。CPUコアが複数 のNFSプロセスを処理する十分な速度があれば問題はありませんが、クライアントマシンからのアクセスが非常に多くなった場合は、どうしてもその処理がボ トルネックとなり、その結果I/O性能が頭打ちになる現象が発生します。
ということで、プロセスを捌くためにマルチコアは有用。
また、
XFSは複数のスレッドやプロセスの同時アクセスに対応し、並列してI/Oを行うことが出来るため、コアの数に比例してI/O性能が向上する傾向があります。つまり同時アクセスが多ければ多いほど(CPUコア数とCPU速度の限界に達するまで)全体のI/O速度は上昇

wifipediaでは

アロケーショングループ

XFSファイルシステムは内部的に複数のアロケーショングループ英語版に分割することが可能である。アロケーショングループとは、等しいサイズの連続的なディスク領域である。1つのファイルやディレクトリは複数のアロケーショングループに跨って存在することが可能である。 それぞれのアロケーショングループが固有のinode空間と固有の空き領域を持つことで、拡張性と並列処理性が生み出される。(複数の異なるスレッドプロセスが同一のファイルシステムに同時にアクセス可能である) この特性により、メタデータの更新も並列に行うことができ、マルチプロセッサシステムやマルチコアシステムにおいて、I/O性能を向上させることができる。 ファイルシステムが複数の物理デバイスに渡るときに、この強みは発揮され、すべての物理ストレージの性能が最大限発揮される。

ということで、RHEL7(centos7)以降で標準FSとなったXFS環境には限りなく有効。


メモリ
・積めるだけ積む

http://d.hatena.ne.jp/ogawad/20130124/1358984437
メモリをたくさん載せる
→ SMB 2.1 では空きメモリがキャッシュになる
samba4ならSMB2/3対応なので、積めるだけ積んだ方が得策。
また、linuxカーネル自体が空きメモリをキャッシュとして使うので、積めるなら積めるだけ。

チップセット
・現時点だとintel 7 seriesまでが妥当。
・一応Haswell世代まで大丈夫

昔からのセオリーで枯れた技術で組むというのがあるが、最近はなかなか技術革新も早いので、2014年の終わり状況で、という前提で、
枯れた技術=intel 7 seriesチップセット(ivy-bridge世代)が間違いなく動くであろうチップセットと言い切りたい。
また、自分がソースで申し訳ないが、intel 8 seriesチップセット(i7 4770)でcentos6.5をファイルサーバとして稼働させている実績がある。
ちなみに
https://hardware.redhat.com/
で調べるのもいいが、認定品しか出ない。

ハードディスク
・SeagateとWestern Digital Greenだけはやめておく

Seagateの一連製品、およびWestern DigitalのGreen(省電力版)は避けること。
圧倒的な破損率を誇る。
http://gigazine.net/news/20140924-hdd-reliability-sep2014/
これはうちの環境でもそうで、Seagateの値頃感がある商品は特にひっかかる。
理想で買うなら今はなきHGST、もしくはWDのblackあたりか。
東芝も気になるが(HGSTの3.5インチ中国工場を取得して製造の噂)、カカクコムを見る限りだとそうでもなさそう。

NIC
・黙ってintel、もしくはRealtekにヒートシンクをつける
・PCI-X(pci express)接続で使う
365日回り続け、膨大なデータを送受信するため、ファイルサーバでなぜかハードディスクの次に破損が多い場所。
お金があるなら間違いなくintelをお薦めする。
もしお金がないのであればRealtekとなるだろうが、
http://roserogue.blogspot.jp/2014/06/lannicrealtekcentos65rpm.html
にあるような誤認識に気をつけることと、チップに小型ヒートシンクを付け、ファンを回す必要がある。
とにかく発熱し、それが重さとなって伝わってくる。
ヒートシンクをつけた場合とそうでない場合に、かなりの速度的乖離があるので是非つけておきたい。

また、NICはPCI-EXPRESSで使用すること。
PCIはパラレル接続で、何レーンあろうがGBE1枚で帯域は頭打ちになる。
http://www.avaldata.co.jp/products/y2_technology/pci-express/pci-express01.html
シリアル接続のPCI expressならその心配はない。
また、昔はpci expressに差したNICが認識しないことがあった(centos5.3とかだった気がする)が、今はそんなことがない。


--------------------------------
以下は蛇足。 民生で組むならこんな感じ。

マザーボード    13000円
Z87-PRO(V EDITION)
http://kakaku.com/item/K0000581734/
マザーはサーバ用途ならsupermicroやTYANがお勧めだが、ASUSでも結構いける。
ポイントはPCI-Express 1Xが4本なこと。4本全部GBENICでボンディングすれば相当速い、筈。


CPU    35000円
Core i7 4770 BOX
http://kakaku.com/item/K0000516805/
i5でも良い気がするが、4コア8スレッドは魅力的。

メモリ    16000円
CMV16GX3M2A1333C9 [DDR3 PC3-10600 8GB 2枚組]
http://kakaku.com/item/K0000347975/
16GB積んでおけ。

電源
G1000-MB    16000円
http://kakaku.com/item/K0000589946/
ENERMAX、CORSAIRなど良いメーカーがだいたい同価格帯で並ぶ800W以上の電源。
そこであえてLEPAを選ぶ。
一応アメリカのブランド。

ハードディスク    88000円
WD30EURX [3TB SATA600]
http://kakaku.com/item/K0000684294/
MD04ACA200BOX [2TB SATA600 7200]
http://kakaku.com/item/K0000690439/

本当はHGSTの0S03663 [3TB SATA600 7200]を手に入れたかったが、予算の都合である。
これを8台購入する。

ケース    18000円
CM Storm Trooper SGC-5000-KKN1-JP
http://kakaku.com/item/K0000316118/
スタンドアロンのサーバであれば、迷わずこれを選ぼう。
8台のハードディスク収納、冷却を考えるとこれ以外にお薦めがない。
何より一番のポイントは取っ手がついていること。


RAIDカード    90000円
MegaRAID SAS 9361-8i KIT LSI00416 [SAS/SATA/RAID]
http://kakaku.com/item/K0000601268/
チャレンジとしか言いようがない。
centosなら927Xあたりがよく文書が出てくるので、本来ならこちらをお薦め。
バッテリバックアップ電池が25000円くらい。
勿論RAIDは10で組む。
今時RAID5やRAID6で組む意味が分からない。

NIC    14000円
Gigabit CT [LAN]
http://kakaku.com/item/K0000157168/
Intel製品である。
限界まで引き出すのであれば
Gigabit ET2 Quad Port Server E1G44ET2 [LAN]
という4ポート付きのものもある(ただし4レーン用)。

締めて30万円といったところか。業務用としては安く済む部類である。
これにオムロンの正弦波UPSをくっつければ、見事にファイルサーバ。
高い!と思うならば、ここからスペックを落とせば良い。20万以下にはなるだろう。
でも最低限、いつのでも良いからcorei3、8GBのメモリ、LSIのRAIDカードの3点は押さえたい。

追記
書くのを忘れていたが、チップセットによってI/O限界が違うので、ざっくり書くと「高いマザーに越したことはない」というのも覚えておいて頂きたい。