March 24, 2012

ML110 G7 の HP Smart アレイ B110i SATA RAIDコントローラ で作ったRAIDに CentOS6.2 を導入する

ちょっと実験したいことがあったので、
ML110G7のB110iでRAID0を作ってCentOS6.2を導入してみた。
結構めんどいので手順を残しておく。

USBメモリとネットにつながる別のLinuxマシンが別途必要なので用意しておくこと。 

まず、HPから"Driver Diskette"をDLしてくる。
Driverじゃないことに注意。
Driverはrpmで提供されるが、DriverDisketteはディスクイメージをgzで固めたものが提供される。
この記事を書いている時点での最新版はココ。

DLしたらUSBメモリをアンマウントしてから
$ gunzip hpahcisr-1.2.6-11.rhel6u1.x86_64.dd.gz
$ sudo dd if=hpahcisr-1.2.6-11.rhel6u1.x86_64.dd of=/dev/sdb #sdbはUSBメモリ
としておく。

次にML110G7のB110iの設定を行う。
・POST画面でF9を押してRBSUに入って、Advanced Optionを選択
・SATA ConfigurationでRAIDを選択
・RBSUをぬけて、再起動
・POST画面でF8を押してORCAに入ってCreate RAIDで各種設定
・ORCAをぬける
でB110iの設定は終了。今回は2TBのHDDを2玉、RAID0にして4TBとした。

用意したUSBメモリを起動前のML110G7に挿す。
CentOS6.2のインストールディスクをつかってML110G7を起動。

Grubの起動画面っぽいところでESCを押しboot:プロンプトを出す。
boot: linux dd blacklist=ahci
として、ドライバを導入させる。ahciを殺さないとHDDが個別に認識されてしまう。
導入が済むと、さらに他のドライバを導入するかを聞かれるのでNoで先に進む。

あとは普通にグラフィカルなインストール画面に戻る。

RHEL5.7以降(6を含む)ならば、これだけで問題ないはず。

参考:
http://ml110.web.fc2.com/
http://h50146.www5.hp.com/products/software/oe/linux/mainstream/product/hardware/option/array/b110i.html

ML110 G7 を開けてみた

実験用にML110G7を購入した。
HDDの換装のためケースを開けてみて、G6からの変化にビビったのでレポート。

まずはG6の中身をおさらい。



















といった感じで見た目は普通のPCと同じでかなり質素。
iLOとかついていて痒いところに手が届くし、
PCIe x16とかも普通につかえて、ATXの電源をのせかえればGPGPUとかの実験にも使える。
激安”パソコン”風サーバでした。

一方、G7は、















と、ミドルクラスサーバっぽい雰囲気に!

細かくみていくと…
















ファンが前部に追加&メンテナンス性が向上してたり、




















サイドパネルやHDDへのアクセスを制限する鍵がついたり、




















HDDがトレイ式にかわってたり、




















それにあわせて、ストレージ用にバックプレーンがついてmini-SAS式になったりしてます。

また、G6には内部にUSBのポートがありましたが、
G7では内部USBポートは廃止され、SDカードスロットが追加されています。





















機能面でもiLO3の搭載をはじめいろいろ近代化していて面白いです。
一番試したかった機能はML110G7では無理なようでしょんぼりですが…

というわけで、
安さを追求した質素なG6、
エントリークラスの”サーバ”であるという主張をうるさいぐらいにしてくるG7、
と言った感じ。

これなら電源の冗長化までオプションに入れちゃってもよかったんじゃないかなぁ?
BTOオプションで対応してるみたい。総額4万追加すると460Wの冗長化電源に対応。
これで「パワーもメモリもいらないけど、物理サーバがほしいな」という案件には十分対応可能になった。すごい!
でも、HPのストアで買うとやっぱり高いのよね…

G6ほどの安さはもはや望めないのでどうしたものかなーと。ぐぬぬ。
とおもっていたら、2台で2万みたいなキャンペーンしててワロタwwwww
NTT-Xストアの在庫も△になってるしそろそろモデルチェンジ?ML110 G8も出たら買うよ!

March 20, 2012

MACアドレスの申請・取得について(IABタイプ)

仕事で"とあるネットワーク機器"を販売することになり、MACアドレスの申請・取得を行った。
その手順をまとめておく。

まずIEEEの登録関係のTOPから IAB関連ページに飛ぶ。

つぎに、申請フォームに移動する。

一番上の設問にAgreeした後は、順に記入していく。
Part1では申請者の情報、Part2では管理者の情報、を記入する。

Part3では、
・今回が初めての申請か否か
・初めてでないならば何故追加の申請をするのか
・親会社か子会社か
を記入する。
親会社でも子会社でないならばPart4は飛ばして良い。


Part5では、今回の申請内容を秘密にするか否か、秘密にする場合はその理由を記入する。
秘密にする場合は初回及び年毎に手数料が発生する。年間1000$とかで結構高い。
試作機等をフィールドテストする場合等、
MACアドレスと会社名を結び付けたくない場合に利用するようだ。

Part6では、支払い方法等を記入する。 今回はクレジットカードで決済する。

クレジットカードでの支払いの場合のフォームは普通に埋めてOK

すべてが終わると、こんな味気ないメッセージが出る。

人手で審査しているようなので即発行というわけではない。
しばらく待っていると、メールに添付される形で
割り当てられたMACアドレスの範囲が書かれたPDFが送らえてる。

なんら詰まること無く、さらっと終わってしまった。
なんというか、拍子抜けではある。
しかしコレで堂々と使えるMACアドレスが手に入った。 

たかだか625$で4096個のMACアドレスが使えるようになるので、
今回のように"ネットワーク機器を販売する"といった場合以外にも、
"VMを納品したい"みたいな時にもつかえるかも? 

ちなみにIABのMACアドレス単価は15¢程度だがOUIでとったら0.01¢位になる。
それはそうと、IABではなくOUI-36でとればよかったかなー。
なんでIABを選んだのかすでに覚えていない。

March 8, 2012

Express5800/GT110d に Ubuntu10.04 TLSを導入する

DVDから普通に導入したらどうもNICを認識していない。
Ubuntuにしては大変珍しい、という印象。
BCM5718用のドライバをBroadcomから取ってきて導入する。

ここからリンクをたどってDLする。
この記事を書いてる時点では、2012年1月末リリースの3.122gが最新の様子。
適当にDLして~/local/srcにでも置いておく。
$ cd ~/local/src
$ unzip linux-3.122g.zip
$ cd ./Server/Linux/Driver
$ tar zxvf tg3-3.122g.tar.gz
$ cd tg3-3.122g/
$ make
$ sudo make install
$ sudo modprobe -r tg3
$ sudo modprobe tg3
これで認識されるようになる。

Kernelをアップデートするたびにコンパイルして入れ直しなので注意。
これどうやったらやらなくて良くなるんだっけ。。。?
DKMSとか使えばいいの?ゲロめんどい。

February 17, 2012

January 30, 2012

CentOS6 における仮想マシンまわりのあれこれ

CentOS6になってKVMがデフォルトとなり,色々勝手がかわっているようなので,
目につくたびにちょこちょこ更新する.


仮想ブリッジの構築
virbrとかNATとかいらない(ことが私の環境では多い)ので,恒久的なブリッジを手で作ることにする.
まず,virbrを破棄
# virsh net-destroy default
# virsh net-autostart default --disable
次いで,NetworkManagerを止めてnetworkに戻す.(この辺はやりようが他にある気がするが…)
# chkconfig NetworkManager off
# chkconfig network on
# service NetworkManager stop
# service network start
さらに,ブリッジ作成用にbridge-utilsを導入(普通は入っているかも)
# yum install bridge-utils
で,ようやくブリッジを作成する.ブリッジ名をbr0とする.ifcfg-br0を新規作成し,ifcfg-eth0を修正する.
# vim /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
BOOTPROTO=dhcp
ONBOOT=yes
DELAY=0
# vim /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE="eth0"
HWADDR="9C:8E:99:7B:F4:93"
ONBOOT="yes"
BRIDGE=br0
注意事項として,上記の設定をするとホストマシンのゲートウェイデバイスはeth0ではなくbr0になる.
インターフェイス名を指定して設定してあるものは,eth0をbr0に書き換える必要がある.
このブリッジを仮想マシン構築時にネットワークデバイスとして指定すればよい.


仮想マシンのコピー
下記コマンドでコピーする.LVMで切り出した論理ボリュームをまるっと割り当てている.
# virt-clone --original master_vm --name copy_vm --file /dev/VolumeGroup/LogicalVolumeCopy
注意すべきはNIC.
原因がCentOS6由来なのかKVM由来なのか調べていないが,
ネットワークデバイス名がeth0->eth1となってしまう.
eth0が存在せずeth1があるのは気持ちが悪いので対処しておく.
コピー後に以下の手順で対処する.



  • 一度NICを消してVMを起動
  • そのままVM終了
  • NICを追加して起動

  • NICの消去・追加はGUIからだと楽ちん.
    直接いじりたい人は/etc/libvirt/qemu以下のファイルを編集
    全く別件をいじっていて気がついたのだけど、これってudev関係なので、
    仮想マシンのコピーの前に、/etc/udev/以下のルールでNIC関連のを消しておくだけでいいっぽい。

    January 5, 2012

    Arduino と W5200 ( WIZ820IO )を接続する


    追記(2012/03/24):
    なんか急にアクセスが増えてきたので、フォローをしておくと、
    http://avr.paslog.jp/article/2361305.html
    こんな話もあって、この対策を取ると安定する可能性がある。まだ試せてない。
    3.3V系のArduinoとつないで動かす場合に下記の問題が発生しない、という話もある。
    その辺をまとめて丸っと検証したいが時間がないなう。
    追記(2012/03/30)
    ココで検証はじめました。
    やっぱりなんか怪しい。
    ArduinoのOfficialEthernetShieldにはWizNet社の W5100 が採用されている。
    W5100のパッケージは0.4mmピッチのQFP80pinである。
    私は不器用なので基板を自作する際、0.4mmピッチは実に辛い。

    ところでW5100 はSPI接続とバス接続のいずれかが選択できるようになっているが、上記シールドではSPI接続を選択している。
    よって実はArduinoとW5100は高々7本のラインでしか接続していない。
    しかし0.4mm,80pinものハンダ付けを”強いられているんだ!!”

    これは不合理なので同社製の W5200 に乗り換えたい。
    こちらはW5100のSPI接続専用版で0.5mmピッチのQFN48pinである。(多少スペックが上がっていたりもする)
    QFNである点はイマイチだが0.5mmピッチになり、かつpin数も半分程度になる。
    ぜひW5200に乗り換えるべきである。

    さて、ここで問題になるのは2点。
    ・標準ライブラリこそがArduinoの売りであるためEthernetライブラリからはW5100と同等にみえなければならない
    ・動くか判らんうちから基板をおこすのは怠い

    まず後者を金で解決する。こことかここで評価用基板( WIZ820IO )がうっている。
    OfficialEthernetShieldと比べると半値以下だ。

    そして前者の解決策はここにある。
    そう、ベンダー自らArduinoでW5100と同様に使えるようライブラリを提供してくれているのだ。
    Downloadタブの中に"Library for Arduino + Ethernet ( IDE ver1.0 )"があるのでこれをDLして所定の位置に展開・上書きすれば良い。

    ただしこれを上書きしてしまうと、W5100へのアクセスが出来なくなりそう。
    W5100とW5200の切り替えが出来ると良いなぁ、とおもうのでそのうち手を入れて適当に公開することにしよう。

    というわけで、SPI系をまるっと接続したら即動いた。 拍子抜け過ぎる。
    写真の左、Etherのケーブルが刺さってるコネクタだけのように見えるのがWIZ820IOである。


    追記(2012/01/06):
    どうも挙動が安定しない。
    ExampleのWebServerをそのまま入れて、watchコマンドで5秒に一回取得してみると、1時間ぐらいで死んでしまう。こまった。
    オフィシャルの方でも実験してみて再現するならEthernetライブラリの問題。
    しないならW5200あるいは入れ替えたW5200用Ethernetライブラリの問題。


    追記(2012/01/06):
    W5100で同様の実験を行っているが、9時間異常なし。
    W5200あるいはW5200用Ethernetライブラリに問題があると見ていいんだろうなぁ。。。ガクリ。

    追記(2012/01/07):
    丸一日以上異常なし。
    W5100は安定しておる。


    November 28, 2011

    vim で .pde ファイルにカラーアノテーションをつける

    Arduinoのエディタがいまいちだなーとおもったので、vimで編集したいのだけど、カラーアノテーションされないのは辛い。 .pdeなんてC++なんだからなんとかなるのだろうと調べてみると、 こんなのがあった。

    上記リンクから最新のsyntaxファイルをDLして、~/.vim/syntaxに入れておく。
    .vimrcに
    au BufNewFile,BufRead *.pde setf arduino
    
    を追記してvimで.pdeを開くと、ちゃんと色がついてる! めでたし!

    July 27, 2011

    Ubuntu10.10 での Arduino開発環境導入

    ちょっと遊んでみたくて環境を構築した。

    すでにaptに登録があるので
    $ sudo aptitude install arduino
    
    で依存関係一式は入る。

    しかし、古いので新しいのを公式から落としてくる。
    今回はLinux 64 bitを落として展開する。
    展開後のディレクトリをホームディレクトリ以下にでも置く。

    起動するときはフルパスで~/arduino-0023/arduinoあたりを直接たたく。
    起動時のパスで各種の利用ディレクトリを決定するため、シンボリックリンクだとうまくいかないことがある。

    July 19, 2011

    CentOS6 日本語&開発用ワークステーションで導入後、home以下のディレクトリ名を英語化する

    CentOS6.0を日本語&開発用ワークステーションで導入したら
    homeディレクトリ以下の各種ディレクトリ名が日本語表記でだいぶ萎える。

    たぶんUbuntuと同じ方法で対処できるだろうということでためしたらうまくいった。

    $ LANG=C xdg-user-dirs-gtk-update