ただのにっき。

ただつらつらと日記が書かれていくようです。

38ページ目 (40ページ中)

ASR-2015SをCentOS5.2で~さらにraidutils編~

とりあえず、RAID Arrayの上にCentOS5.2をインストールすることに成功はしたものの、RAID絡みでやらなきゃいけないことがもう一つある(…いや、本当はまだいっぱいあるんだけど…)

それは、OSの上からRAID Arrayをコントロールするためのアプリケーションの導入。例えば、RAID Arrayの状況を見てみたり、手動でVerifyを走らせてみたり、RAIDの状態が見えないと何となく不安な気がする。

で、I2O on Linuxを見てみると、i2o_blockを使ったRAID Arrayは、「raidutils」というアプリケーションでいじったりできるらしい。これ自体は、Adaptecのカードを購入したときに付属するCDに入っているようだったが、、、古いサーバなのでCDらしきものはなく…Adpatecのサイトに行ってもraidutilsがダウンロードできそうにもなく…と。

とりあえず、I2O on Linuxからダウンロードできるソースから、raidutilsをコンパイルしてみた。makeを走らせた直後に、コンパイルエラーが出てmakeに失敗した。なんとなく、I2O on Linux自体が、最近、メンテナンスされてない雰囲気なので…CentOS5.2の上であのサイトから落としたソースはビルドできないのかもしれない。

で、困ってぐぐってみたら、debianプロジェクトのサイトにたどり着いた。debianのレポジトリの中に「raidutils」が存在しており、メンテナーもいるらしい。(Debian — sid の raidutils パッケージに関する詳細を参照)

…ということで、とりあえず、ビルドしてみるかということで試してみた。raidutilsのソース本体と、それへのパッチの両方をダウンロードしてみて、patchコマンドでソースにパッチを適用した。

wget http://ftp.de.debian.org/debian/pool/main/r/raidutils/raidutils_0.0.6.orig.tar.gz

wget http://ftp.de.debian.org/debian/pool/main/r/raidutils/raidutils_0.0.6-8.diff.gz

そして、その後、いつもどおり、configureしてmakeしてみたら、、、普通にビルドできてしまった。さらに、rootでmake installなんかやってみたけれども、普通にインストールできてしまった。

ちょっと不安だったので、raidutilsを使ってRAID Arrayの情報を参照してみたり、ライトキャッシュをon/offしてみたが、普通に動作しているようだった。(ただ、ファームウェアの更新はやってませんけど)

使っているのはCentOSだけど、debianのソースを借りてきて動かしてしまった…けど、とりあえず、問題なさそうだから、ま、いっか(汗)

ASR-2015SをCentOS5.2で~とりあえず、インストール編~

古いサーバにCentOS5.2をインストールすることにした。古いサーバが積んでいるRAIDカードは「ASR-2015S」というヤツで(誤解しているかもしれないが)SCSIを使ったデータのハンドリングはオンボードのSCSIコントローラにやらせるけれど、RAID機能(つまり、2つのHDDにデータを書き込んだり、必要に応じて、RAIDをrebuildしたりといったこと)は「ASR-2015S」が担う…的なややこしいことやってるなぁという印象のRAIDカード。なんか「Zero Channel RAID (ZCR)」ってシロモノらしく、特殊なスロットに収まっているのを見て、なんかイヤな予感がしたんだけども…。

とりあえず、いつも使っているCentOS5.2のネットワークインストール用イメージを書き込んだCD-Rを引っ張り出して、起動してみました。…すると、ディスクのパーティションの設定画面の後で、ディスクがないと言われてしまい、先に進めず。CentOSのインストーラから、RAIDカードを認識できていないような状況だった。

んで、いろいろと調べてみたところ、「ASR-2015S」のRAID Arrayを扱う場合は、「i2o_block」というドライバを使えばいいことがわかった(I2O on Linuxを参照)。で、CentOS5もそのドライバを同梱しているようだった。ということは、デバイスの認識に失敗しているようなので、インストーラを起動するときに自動でデバイスを認識しないようにしてみた。

インストーラの入ったCDからbootして、CentOSのロゴが出ている画面で普段はEnterキーを押すだけだけど、今回は

linux noprobe

と入力して、Enter。ネットワークインストール用イメージなので、まずは、NICのドライバをどうするか聞かれるが、このサーバはIntelのGbEなNICだったはずなので、とりあえずe1000を選択してみたら、すんなり使えるようになった。ネットワーク越しにインストール用イメージが見えるようになったら、追加のデバイスドライバを入れるか聞かれたので、そこで「i2o_block」を選択した。

すると、最初、「HDDがありまへん」と怒られたところで、「ASR-2015S」のRAID Arrayが見えた!その後は普通にインストールして、インストール完了。

ファイルサーバのストレージ

会社のファイルサーバのHDDがディスクフルになりかけたのが半年ちょっと前くらいだった気がするが、さっき確認したら、(まだ空き容量はあるけれど)空き容量が減っていく勢いはかなりのものだった(汗)

まぁ、HDDのGB単価は安くなっているからストレージを確保する費用はたいした問題じゃないけど、ファイルサーバで扱うデータが増大していくと、移行したり、データをバックアップするのに相当に時間がかかるのが大変かもしれず。

上司の京都土産

出張で関西方面に出かけていた上司からおみやげをもらいました。。

一つは「鶴屋長生」さんの「生麩まんじゅう」。このまんじゅうは、生地が麩でできていて、とてもやわらかくて、珍しい食感です。みそ餡の甘さも控えめでおいしかったー。

さらに、「まざあぐうす」さんの「醍醐」っていうチーズケーキももらった。濃厚なレアチーズにあっさりしていて軽めのスポンジが合わさっているような…そんな味。とても柔らかい食感がなんとも素晴らしいなぁと。

f:id:y_fudi:20090122180500j:image

両方とも、これはうまい!と思える逸品でした。ごちそうさまでした。

ケースファンの効果

最近、CrystalMark DiskInfoでHDDの温度を見たときに、結構高めになっているマシン(ケースはATXで、CPUは古めのAthron XP)があった。搭載しているHDDは2台で、いずれも古めのIDEドライブ(MaxtorのDiamondMax16と、HGSTのDeskstar 7K250)ということもあったが、それぞれ43度と44度になっており、多少暖房が効いている部屋といえども、ほとんどアイドルしているだけなので、これは温度高めかなと思っていた。

で、筐体を調べてみたら…安いBTOなPCだったせいか、ケースファンが付いてなくて、結局、ファンといえば、CPUファンと電源のファンだけが回っている状態で、CPUやチップセットの熱が筐体に溜まっているんだろうなぁと想像して、余ってたケースファン(2000rpm/9cm)を装着してみた。

取り付け作業を終えて、しばらくして測ってみたところ、それぞれ31度、37度まで温度が下がっていることが確認できた。

HDDの温度とMTBFの関係については、HDDベンダーは相関関係があると言っていたような気がするが、大規模にHDDを使っているGoogleは相関関係が見られなかったと言っていたような気がする。そんな対立はあるが、とりあえず、温度を下げておいて悪いことはなさそうだと思っている。

HDD自体にファンを付けるパーツも売っているが、ケースファンでがんばるのも手だなと思った。

リリースされたと思ったら引っ込められた

SeagateのBarracuda 7200.11シリーズのファームウェアバグが報じられてはいるが、Seagate本社でのfirmwareのリリースはうまくいっていないようだ。Barracudaシリーズとか、DiamondMaxシリーズとか、シリーズ毎にファームウェアをリリースするつもりのようだが、最初にリリースされたファームウェアがvalidationのためってことでダウンロードできなくなっていた。

Firmware Update for ST3500320AS, ST3640330AS, ST3750330AS, ST31000340AS:

http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=207951

Note: This file has been temporarily taken offline as of Jan 19, 2008 8PM CST for validation.

きっと、早々にダウンロードしたユーザで何かが起こったから、再度のvalidationをやっているんだろうなぁ(遠い目)

なんとなく、validation後に新ファームウェアがリリースされそうな予感がするし、ファームウェアがダウンロードできなくなっているのもあるし、とりあえずは、突然死するリスクを抱えながら、様子を見るしかなさそうだ。

しかし、サービスプロバイダとかレンタルサーバ屋さんで膨大な数のSeagate製HDDを使っていたりすると…ファームウェアアップデートの手間だけでも気が遠くなるなぁ。RAIDカード越しにファームウェアを適用するのはできなさそう(Barracuda ES.2のファームウェアアップデートツールは無理っぽかった)だから、きっと、アップデート専用PCでも用意して、それにつないでアップデートすることになるんじゃないかと。そしたら、ホットスワップなケースに入っていたら多少は楽だろうけど、サーバ止めて、HDDを引っこ抜いて…ってやってるとすごい手間じゃなかろうか。

3wareのナレッジベースにて:SEAGATEのハードディスクのファームウェアのバグ

久しぶりに3wareのナレッジベースを見てみたら、ちょっと困ったことが書いてあった。

Q15385

The Seagate SATA-2 Seagate Barracuda ES.2 family drives (NS) must have firmware AN05 or newer in order to be compatible with the 9690SA controller. Seagate firmware AN05 is newer than firmware SN05.

こりゃ、Seagate Barracuda ES.2で使われているファームウェアにバグがあった感じだなぁ(遠い目)。確か、Barracuda ES.2って、社内のどこかで見た記憶が…(涙)とりあえず、ファームウェアが入ったISOファイルの名前でググってみたら、Adaptecのサイトにも似たようなことが書いてあった。

Known Issues with Seagate Barracuda ES.2 SATA II Disk Drives

The array keeps failing drives. The controller error log shows continuous “aborted command” messages when using Seagate Barracuda ES.2 SATA II drives (models: ST31000340NS, ST3750330NS, or ST3500320NS). Is this a known issue with those drives?

症状としては、断続的にHDD側で受け取ったコマンドの処理をを中断してしまい、RAIDカードがHDD側の対応をドライブが逝ったと判断してしまうって感じだろうか。

渦中のSeagateのサポートコミュニティを見てみると、アナウンスが出てた。

ANNOUNCEMENT Firmware Issues

アナウンスのスレッドの書き込みから張られてたリンクを辿ると、こんなことも書いてあった。

Welcome, Seagate hard drive owners. A number of Seagate hard drives from the following families may fail when the host system is powered on:

Barracuda 7200.11

DiamondMax 22

Barracuda ES.2 SATA

SV35

Once a drive has failed, the data is inaccessible to users. Seagate has isolated this issue to a firmware bug affecting drives from these families manufactured through December 2008. Please use the following tools and instructions to determine if you have one of the affected products. If you do, we recommend that you update the firmware on the disk drive.

個人的には、Barracuda ES.2 SATAのファームウェアがバグってるのは痛い(…痛すぎる…)ことではあるけれど、Seagate的には、ファームウェアバグを抱えてるラインナップに「DiamondMax 22」とか「Barracuda 7200.11」が含まれているってのが、強烈に痛いんじゃないだろうか。「Barracuda 7200.11」って、アキバでもよく見かけたドライブだし、いろんなメーカーのPCに密かに入ってるような気がするし。しかも、一回、ダメになると、そのHDDのデータにアクセスできなくなるってのも深刻かも。

とりあえず、Firmware Recommendations for Seagate Drivesに載っていた対象製品リストを貼ってみたりして。

  • Barracuda 7200.11

ST31000340AS

ST31000640AS

ST3750330AS

ST3750630AS

ST3640330AS

ST3640630AS

ST3500320AS

ST3500620AS

ST3500820AS

ST31500341AS

ST31000333AS

ST3640323AS

ST3640623AS

ST3320613AS

ST3320813AS

ST3160813AS

  • Barracuda ES.2 SATA

ST31000340NS

ST3750330NS

ST3500320NS

ST3250310NS

  • DiamondMax 22

STM31000340AS

STM31000640AS

STM3750330AS

STM3750630AS

STM3500320AS

STM3500620AS

STM3500820AS

STM31000334AS

STM3320614AS

STM3160813AS

しかし、MaxtorのDiamondMaxってBarracudaとファームウェアを共通化してあったんだなぁ。まぁ、当然だといえば当然か(汗)

3wareの「9650SE」に刺さってるSATAドライブのSMART情報をちら見する。

3wareのRAIDカード「9650SE」に刺さっているSATAドライブのSMART情報が見られることがわかった。使ったOSはCentOS 5.2(x86_64)。なんとなく、RAIDカードの向こうにあるドライブのSMART情報って見えないような気がしていたんだけども。

で、SMART情報をチラ見するのに使うのはsmartctl。

普通のIDEドライブ(PATA)が刺さってるLinuxマシンだと、こんな感じでSMART情報が見られる(ま、ドライブがSMARTに対応していることが前提だけど)

smartctl -a /dev/sda

コマンドを実行すると情報がずらずらと出てくる。IDEドライブなんだから、なんとなく/dev/hdaのような気がするけど、コマンドの確認を使ったマシンがsdaになっていた。

で、余談だけど、IDEドライブがなんで/dev/sdaで見えるのか、ってことを調べてみたら、こちらに書いてあった。なるほどねぇ。

もとい。SATAドライブでSMART情報を見ようとすると、「-d ata」を付けてみたらってアドバイスされる。

In Linux, SATA disks accessed via libata are only supported by smartmontools for kernel versions 2.6.15 and above. Try an additional ‘-d ata’ argument.

そんなわけで、「-d ata」を付けると、普通にSMART情報がずらっと取得できる。

smartctl -d ata -a /dev/sda

で、3wareの9650SEに刺さっているSATAドライブの場合は、「-d」で指定するデバイス名が3wareになる。加えて、3wareのカードに刺さっているディスクは複数なので、どのポートに刺さってるドライブのSMART情報を見るかって番号を必要になる。例えば、9650SE上の0番ポートに刺さってるドライブを参照したい場合は

-d 3ware,0

って感じになると。

普通のドライブであれば「/dev/sda」とか指定していたデバイスの指定のところに、「/dev/twa0」を指定すると、晴れてSMART情報が参照できた。9650SEを複数枚刺していると、「/dev/twa1」とか「/dev/twa2」とか増えていくのかもしれない。で、結局、9650SEの0番目のポートに刺さってるSATAドライブのSMARTは、以下のようなコマンドで見られた。

smartctl -d 3ware,0 -a /dev/twa0

ま、SMART情報が見られたところで、温度とか再割り当てセクタの数など、いくつか項目しか理解できないけど、見られないよりはマシかな…ということで。

ITE IT8211が余ってたので

雑用に使うためにWindowsサーバを構築することにした。社内に転がってるパーツをかき集めてたら、ITE製IT8211を搭載したATAカードが落ちてたので、流用することにした。

Windowsをインストールした後、IT8211のカードのドライバを探しにITEのサイト(http://www.ite.com.tw)に行ってみたが、さっぱりドライバをダウンロードできそうなページが見つからず。。。ダメもとで、ITEのページにある検索窓に「IT8211」とか入れてみたら、製品紹介が出てきて…そのページからドライバへのリンクが張られてた。てか、わかりにくすぎるんじゃないか、このナビゲーション(汗)

で、ドライバを入手して適用してみたら、デバイスマネージャに「SCSIとRAIDコントローラ」ってのが出現し、その中に「ITE IT8211 ATA/ATAPI Controller」ってのが追加されてた。SCSIでもRAIDコントローラでもないんですけど、これ…。

ちょっと調べてみたところ、IT8211にRAID機能を載せたとおぼしきIT8212ってチップがあるようなので(IT8211がIT8212からRAID機能を省いたサブセット版なのかもなぁ)、その辺とドライバを共通化してるのかもしれないなぁと思いつつ、ま、実用上は関係ないかと思いきや、早速、CrystalDiskInfoでSMART情報が見られなくて…後悔。

「unauthenticated user」が溢れた。

なんかサーバが重いなぁと思って、show processlistで見てみると、MySQLが「unauthenticated user」で溢れていた。netstatで見てみても、MySQLのポートがこれまでにないくらいESTABLISHEDであふれかえっていて、結局、「unauthenticated user」からのアクセスが、コネクションを使い切って、…あー(涙)という状況になった。

とりあえず、何らかの対処をしないと困るので、とりあえず、MySQLを再起動してみたが、解決せず。さらに、Webサーバも再起動してみたし、OSも再起動してみたが、やっぱり解決せず。で、「unauthenticated user」でGoogle先生に聞いてみたところ、MySQLがアクセスしてくるクライアントのIPアドレスのDNSの逆引きをやっているらしく、逆引きができないときに「unauthenticated user」が溢れるという事象が起こるらしかった。

そこで、MySQLが動いているマシンの/etc/hostsファイルを編集して、アクセスしてくるマシンの名前解決ができるようにしたら、「unauthenticated user」にお引き取りいただくことに成功して、再び平和が訪れた。

しかし。「unauthenticated user」が溢れることになるトリガーがよくわからない。特にMySQL周辺の設定を変更したわけでもないのだが、突然、溢れ出したように見えた。

あと、MySQLがなんでDNSの逆引きをやってるかがわからないので調べてみた。MySQLの権限テーブルでアクセス元を制限できるけど、その制限の指定にホスト名が使える(…そういえば、localhostとか使ってるなぁ…)背景には、MySQLがアクセスしてきてるクライアントのIPを逆引きしているということがあるらしい。なるほどなぁ…。

«過去の 投稿 新しい 投稿 »