2009年9月10日木曜日

NVIDIA RAID1 の障害対策と準備

注意
2009-09-10現在、障害に実際には遭遇していないため、
SATAケーブルをわざと引っこ抜いた後、
RAID1アレイを回復するテストをした実績を元に作成しています。

したがって、妄想トラブルに対する妄想トラブル対策で、誤りを含む可能性が高いです。


前提
1.SATA1+SATA2でRAID1を構成しており、各HDDをDISK1 DISK2と呼ぶ
2.当該RAIDにOS(Vista64bit)が入っている
3.HDDがハード的に完全に破壊され、どうやってもBIOS認識から不可能な障害を「完全破損」
HDDがハード的に一部破壊され、クラスタエラー等の問題が発生した障害を「一部破損」
HDDのハード的には問題ないが、degradedになってしまった場合を「RAID障害発生」
と呼ぶことにする。

参考:
http://www.dell-faq.com/detail.asp?baID=1&FAQID=101581
[XPS600 RAID アレイ構築/削除方法
よくあるトラブルと対処方法(劣化したRAID レベル1 構成の再構築)]

準備
1.degradedの原因と過程次第ではSATA2側のMBRが、
Windowsのブートローダにより破壊されてしまう恐れがあるため、
KNOPPIX等で MBRのバックアップを取っておく。
C:\opt\backup\for_hgst320gb_nvraid1_recover\mbr_sda_eq_sdb.dd
にバックアップを保存しておいた。

障害原因:DISK1 と DISK2 が 完全破損
1.あきらめるしかない。日々のバックアップを探しましょう

障害原因:DISK1 or DISK2 のみ完全破損
1.障害が発生したDISKがどちらかはっきりしているのが、
不幸中の幸いという状態。新しいDISKを購入し、交換する。
あとは再起動すれば、勝手にミラーリングが始まる。

障害原因:"DISK1 or DISK2 のみで 一部破損" or "RAID障害発生"
1.この場合、起動時のRAIDリスト表示で
degraded のアレイが二つという扱いになり
DISK1が c:\ 、DISK2が d:\ となって起動する場合がある。
その時、DISK2のMBR(のみ)が破壊されてしまい、DISK2は単体で起動できなくなる。
CHKDSK NVRAIDのログ(あるのかな・・) badblocks 等でなんとか
どちらに障害があるのか調べる。

 幸い、片側がエラー、片側がdegradedの時は、エラー側を調べるなり
諦めるなりすれば良い。

2-RAID障害だった場合.
いつのまにかdegradedになっていたとしても、
その後のファイル更新はc:\であるDISK1に反映されているはずであることから、
DISK2のアレイを削除し、ミラーリングアレイの再構築をすれば済む。

2-障害がDISK2 の場合.
いつのまにかdegradedになっていたとしても、
その後のファイル更新もc:\であるDISK1に反映されていることから、
DISK2を新しいDISKに交換すれば済む。
ミラーリングもおそらく勝手に始まる。

2-障害がDISK1 の場合.
いつのまにかdegradedになっていたとすると、
その後のファイル更新はc:\であるDISK1にのみ反映されていることから
ヤッカイである。

(以下は妄想度が高い。ただし、
「d:\で認識された時、DISK2のMBRが破壊されるが、バックアップで回復すると
DISK2でVistaが起動可能である」というのはテストした。)
1.まず、DISK1をPCから外す
2.DISK2をSATA1に繋ぎかえ、KNOPPIXにより破損したMBRを回復させる
3.DISK1をSATA2に繋ぎ、BIOSでSATA2のRAIDをdisableにした後、
DISK2をc:\として起動する。
そして、DISK1にだけ入っている日付の新しいデータをDISK2にコピーをとる。
4.DISK1をPCから外して保管、新しく購入したDISKに交換する。
5.自動か手動かで、Windows起動後にミラーリング処理をする

その他.
各Diskの後ろから1024byte目から512byte分に、nvidia_raidのデータが書き込まれる。
したがって、ここをZeroで埋めるとnvidia_raid的にはnewdisk扱いになる。
また、BIOSで個々のディスク情報を一切保存していないようで、
例えば、マザーボードが故障したときに、同型番の別マザーボードを持ってきて、
各SATA端子のRAID Enable/Disableさえ一致させれば、RAID部分は復旧となるようだ。
MediaShield utilityは安易にいじらない方がよい。むしろ、一切。




Vista64bitの起動HDD(non-RAID)を、NVIDIA RAIDのRAID1に移行


私はこれでうまくいきましたが、うまくいかない環境もあると思います。
ご注意下さい。

私的記録です。

前提
1.マザーボードはASUSTeK M2NPV-VM
2.SATA1にVista64bitの入ったディスクを接続(以降DISK1)
3.SATA2に新規購入した同容量のディスクを接続(以降DISK2)
4.NVIDIA RAIDのドライバは
http://www.nvidia.com/object/nforce_nf400_winVista64_15.01.html
[nForce 430/410/405/400- Windows Vista x64][Version: 15.01]
を利用

参考
http://www.dell-faq.com/detail.asp?baID=1&FAQID=101574
[XPS600 RAID アレイ構築/削除方法-STEP 1 : RAID 構成について]
http://www.mazn.net/blog/2008/05/10/74.html
[nForceのマザーM2NPV-VMでのRAID (NVRAID) の使用]
http://jisaku.sakura.ne.jp/hdd/faq/hdd8.html
[OS起動用SATAHDDをチップセットのRAIDに移行できる?]

1. NVIDIA RAIDのドライバーをダウンロードしておく。
スキャンディスク(CHKDSK)がエラーがなくなるまで実行しておく。
重要なファイルをtarかzipで固めて、そのMD5値をとっておく。
DISK1のバックアップを取る。
2. BIOSで[Adanced]=>[Onboard Device..]=>[NVRAID Con..]と進み、
[RAID Enable]と[SATA 2 RAID]のみ「Enable」にし、変更を保存する。
3. 再起動し、起動時に[F10]で実行できるMediaShield Utilityを使い、
DISK2のみによるStriping RAIDアレイを作る。BOOTは「No」のままでよい。
4. Vistaを起動し、ダウンロードしておいたドライバを入れる。
(RAIDアレイが存在しないとダメみたいなので、このタイミングで入れる)
再起動を促されるので、再起動。
5. スタートメニューに[NVIDIA Corporation / NVIDIA Control Panel / Storage]
というのが作られているハズなので、[Storage]を実行し、
「3.」で作ったRAIDアレイが見えている事を確認する。
ちなみに、チャンネル名は、手元では「SATA 1.1」となっていた。
6. 再起動し、BIOSで[SATA 1 RAID]もEnableにし、変更を保存する。
7. 再起動し、MediaShield Utilityを使う。
「3.」で作ったRAIDアレイを削除する。
そして、DISK1のみによるStriping RAIDアレイを作る。
その時、「CleardiskData?」というメッセージが表示されるが、
必ず[N]を入力すること。必ず[N]。必ず[N]。必ず[N]。
[B]キーでBOOTを「Yes」にする。
8. DISK1のみによるRAIDアレイでVistaを起動する。
(私はこの回りくどい手順を踏んだ場合に限り、
DISK1を単一ディスクのRAID0アレイという設定の上でVistaを起動できた。)
新しいアレイのドライバを入れたといって再起動を促されるが、
[後で再起動する]を選ぶ。
[Storage]を実行すると、DISK1によるアレイとDISK2の両方が見えるように
なったので、[アレイの移行]により DISK1+2によるRAID1(MIRROR)に移行開始。
長時間待機へ。320GBのHDDで5時間かかった。
9. PCを再起動し、問題なく起動できることを確認する。
さらに「1.」でとっておいたMD5値の確認やDISK1のバックアップと
内容が違わないか確認する。問題なければ、作業完了。

KNOPPIXを使って、OS起動HDDを換装


前提
1.SATA1にVista64bitの入った160Gのディスクを接続 (以降sda)
2.SATA2に新規購入した320GBのディスクを接続(以降sdb)
3.sdaはNTFSのシングルパーティション(sda1)を持つ
4.KNOPPIX 5.1.1を利用
5.Vista64bitに限らず、NTFSのXP/Vista32bit等も同様のはず。

1.Vistaでスキャンディスク(CHKDSK)がエラーがなくなるまで実行しておく。
また、重要なファイルをtarやzipで固めて、そのMD5値をとっておく。
2.BIOSでBOOTの優先順位を変更し、CDROMを最初にもってくる。とても重要。
(うっかり作業中のHDDで起動すると、HDDのデータが変更されてしまう)
3.KNOPPIXを起動し
dmesg | grep sd
等とを実行の上、sdaが160G、sdbが320Gのディスクであることをよく確認し、
sudo dd if=/dev/sda of=/dev/sdb bs=32M
等としてディスクを丸ごとコピーする。1時間ほどかかった。
4.KNOPPIXを念のため再起動し
md5sum -b /dev/sda1 /dev/sdb1
として、VIsta64bit の入った NTFS領域のMD5値が一致する事を確認し、
丸ごとコピーの成功を確認する。
5.シャットダウンし、160GBのディスクを外して保管。
以降で何か失敗しても、これで最初からやり直せるはず。
SATA1に320GBのディスクを接続するよう接続変更。
6.KNOPPIXを起動し
sudo qtparted
でqtpartedを起動、[/dev/sda]=>[sda1]=>右クリック=>[サイズ変更]をする。
160GB程のパーティションを300GB程のパーティションに変更予約した。
[ファイル]=>[確定]で予約した変更を実行。1分ほどでおわった。
これでKNOPPIXのお役目終了。
7.再起動し、Vistaを起動する。
CHKDSK を促され、実行。自動的に再起動される。
8.[コントロールパネル] =>[管理ツール] =>[イベントビューア] を起動する。
[アプリケーション]を選択し、チェックディスク(CHKDSK)をかけたあたりの時間の
[Wininit]の項目に、CHKDSKのログが保存されているので、それをみて
エラーが無いか確認。
9.念のため、「1.」で作った重要なファイルのMD5値が変っていないか確認する。
確認はやりたいだけやれば、それだけ安心できるはず。

2009年8月10日月曜日

mixiのアカウント登録時のパケット通信量

ミクシィのアカウント登録時、携帯電話の認証を行う為、
携帯でメールの読込と携帯サイトアクセスが今日現在必要だった。
しかし、パケット定額契約をしていないので高額にならないか心配だったが大丈夫そうだった。

mixiから届くメールのサイズが1.0KB
そのメールに書かれたアドレスへアクセス(1ページ目)し、
登録時のパスワードを入力・送信し、パスワード確認OK(2ページ目)の表示を確認
の2ページ分で受信4058バイト 送信1870バイトだった。

合計7KB程の送受信なので、
1パケット50バイトで1パケット0.21円とすると
30円程になる。

2009年6月30日火曜日

so-netからADSL-directへADSLの引越し

so-net(ACCA12M)からADSL-direct(eAccess12M)へ移行した記録です。

2009年
6/1 月 so-net オンラインで(ADSL ACCA12M)解約書類請求
6/2 火 direct オンラインでADSL-direct(J-book BB 12Mコース)契約申込
6/5 金 so-net 郵便で解約書類到着
6/6 土 direct 郵便で申込内容確認と説明書到着
6/8 月 direct メールで工事予定日(7/1)連絡到着
6/9 火 so-net 郵便で解約書類発送(郵便代無料) 工事日はNTTの月末最終営業日
6/10水 direct 郵便でADSL乗り換え案内書(他社ADSL回線撤去のお願い)到着
NTTからのコメント:他事業者利用 名義OK
6/13土 so-net メールで退会手続き完了のお知らせ到着
退会受付確認ウェブページも更新された
6/14日 direct オンラインで工事予定日変更(6/30へ)を申込
6/26金 direct メールでADSLサービスNTT工事予定日(6/30)のお知らせ到着
6/27土 direct ヤマト宅急便でモデム到着
6/29月 direct 郵便でNTT工事予定日のお知らせ到着
ADSL利用可能日:7/2
so-net so-netのメールアドレスを登録・利用・通知していた所を、削除・変更した。
6/30火 10:00 so-netの接続が切れる
10:08 directのモデムに交換完了。既にインターネット接続できていた。
モデムのログから10:06からインターネット接続していたようだ。

2009年2月6日金曜日

HP PSC2150でHP56,HP57のインク詰替と、インク残量データのリセット

HPのインクカートリッジHP56(黒/顔料)HP57(カラーCMY/染料)に関する基本的なインク詰替情報は、
こちら等、沢山ありますよね。

ここでは、HP56,HP57に対応する数多くのプリンターのうち、PSC2150利用者による詰め替えインク利用者為の調査結果等を記します。
私の手元調査環境は
XP Pro のパソコン
PSC2150 2台
HP56 7個
HP57 3個
HP58 2個 です。

先に結論を。
私的結論:PSC2150はインク残量データ上、HP56とHP57の片方でもインク無しと認識すると、PSC2150単体で行うゼロックスコピーをはじめ、何もさせてくれない仕様のようなので、PSC2150でインクの詰め替えをする場合、インク補充に加えてインク残量データのリセットも必須。保有カートリッジが接点を覆う方法が通用しない場合、ヤフオク等で使用済みの安いカートリッジを調達し、HP56を4個、HP57も4個用意する。



以下はインク残量データのリセットに関する調査実績です。

まず、こちらで紹介されているような、カートリッジの接点を覆う方法がHP56は保有カートリッジに通用しなかった。
HP57は保有カートリッジすべてに通用した。HP58(接点位置はHP57と同じらしい)は試していない。
私は、接点3個分ほどの長方形シールと、接点よりほんの少し大きな紙を用意し、その紙をシール粘着面の端に張り、その粘着成分無しの部分が接点の部分に来るようにシールをカートリッジに貼って接点を覆っている。HP56,57はかなりデリケートみたいなので、気を使う。

同様に紹介されている、4個のカートリッジを使う方法は、HP56にも保有カートリッジ全てに通用した。
HP56(その1)を取り付け中とすると、HP56(2)に交換して、PSC2150のディスプレイに
「Enter キー ヲ オシテ(改行)カートリッジ ヲ チョウセイ シテクダサイ」
と表示されれば、Enterを押さずにHP56(3)に交換して
「Enter キー ヲ オシテ(改行)カートリッジ ヲ チョウセイ シテクダサイ」
と表示されれば、Enterを押さずにHP56(4)に交換して
「Enter キー ヲ オシテ(改行)カートリッジ ヲ チョウセイ シテクダサイ」
と表示されれば、Enterを押さずにHP56(1)に交換して
「Enter キー ヲ オシテ(改行)カートリッジ ヲ チョウセイ シテクダサイ」
と表示されればHP56(1)のインク残量データリセット成功。このあと続けて交換していけば、HP56(2)・・・(4)もリセットできる。
なお、HP56(1)→HP56(2)→HP58(1)→HP58(2)→HP56(1)と交換してみたが、
HP56(1)のリセットはできなかった。取り付け位置(ミギガワ)がHP56と同じなので、いけるかもと思ったので試したのだが。。。

このように順調に進められれば問題ないが、カートリッジ交換後
「ミギノカートリッジヲ(改行)トリハズシテシラベテクダサイ」
とエラー表示された場合、端子部分をキッチンペーパーで乾拭きすると、ほぼ100%エラー解消した。ティッシュペーパでは、なぜかカートリッジの故障につながるだけなので辞めた方がよい。HP56(HP57)はとてもデリケートなようだ。もしも解消しないなら、きっとインク残量データのリセットに利用できない。

「カートリッジヲ(改行)トリハズシテシラベテクダサイ」(「ミギノ」がない)
とエラー表示された場合、カートリッジが使用不可(破損している)であり、インク残量データのリセットに利用できない。端子部分をキッチンペーパーで乾拭きしてもこのエラーなら、諦めたほうがよい。

これは私の経験上の推測だが、少なくとも2006年中盤以降のHP56カートリッジは、インク残量データは持っていないが、インク残量が「0」か「0ではない」かの1bitデータは記憶可能で、PSC2150が記憶しているインク残量データが0になれば、カートリッジに「0」と書き込まれている気がする。なぜなら、色が薄くなりインク詰め替え後、インク残量データをリセットしなくても詰替え1回目はしばらく使えるのだが、2回目になる前に色が薄くもなっていないのに、突然利用不可になる事が3度あった。そして、そのカートリッジはリセットにも使えない、
「カートリッジヲ(改行)トリハズシテシラベテクダサイ」(「ミギノ」が出ない)
というエラーを表示する。つまり、使用不可(破損している)という状態にされてしまう。
そして、そのカートリッジを別のPSC2150に取り付けても同じエラーが表示されてしまう。
したがって、カートリッジ側もインク残量が「0」か「0ではない」かだけは記憶しているのではないかと思っている。もちろん、エラーを表示しないカートリッジを、取り付け履歴がないPSC2150に取り付けると、インクが実際どれだけの残量であろうと、インク残量データ上、インクは満タンと認識される事は知っている。

DELL Dimension 2400C のHDDをSATAのSSDに交換

純正PATAの3.5インチHDDを、SATAの2.5インチSSDに交換した。

オーナーズマニュアル (.pdf) (7.47 MB) の79ページにあるマザーボードイラストによると、マザーボードにSATAの端子が1つあり、手元の実機も1つ持っていた。ケース内が狭い為、ケーブルの取り回しの都合で、SATAケーブルのコネクタは、
L字上向き(マザー側)<=>ストレート(HDD側) というのが最適だった。両側ストレートもケーブルをかなり急角度で曲げれば取り付け可能だった。ケーブルの長さは、25cm 程度で十分だった。

ケースへの取り付けは、2.5インチ→3.5インチマウンタをつかったのだが、取り付けネジ部を2.5HDD→3.5FDDに変えるマウンタを使った。ネジ位置がズレていて不都合だったが、仕方なく利用。取り付けネジ部を2.5HDD→3.5HDDに変えるマウンタ(がきっと存在するので、それ)を買うべきだった。

最後に、BIOSでSATAを有効にしてドライブが認識され、利用可能になった。

2009年1月15日木曜日

KNOPPIX(5.3.1)をUSBメモリの第二パーティション(/dev/sda2)へインストール

行った手順をそのまま記録します。


  1. USBフラッシュメモリー 4GB と
    KNOPPIX5.3.1CD日本語版(LCAT対応)knoppix_v5.3.1CD_20080326-20080520-AC.iso 700MB
    を書き込んだCD-rを用意

  2. CD-rからKNOPPIXを普通に起動し、Konsole(ターミナル)を起動後、USBフラッシュメモリーを差し込む。/dev/sdaとして認識された。

  3. $ sudo qtparted
    として、QTParted 起動し、sdaのパーティションを編集した。
    sda1を FAT32 3137.66MB
    sda2を FAT32 713.82MB
    になるよう編集し、 メニュー→ファイル→確定 でパーティションを実際に編集、フォーマットした。

  4. $ cp /usr/sbin/mkbootdev /tmp/
    でmkbootdevのコピーをとり、それをエディタ(gvim,kwrite等)で
    元々/dev/sdX1専用になっているmkbootdevを/dev/sdX2専用に変更した。

    ...
    else
    MOUNTPOINT="/media/${DISK##/dev/}1"
    fi
    ...
    if [ $TYPE = "KEEP" ]; then
    # set bootable flag to first partition
    sfdisk "$DISK" -A1

    DISK="$DISK"1
    fi
    ...

    の 1 になっているところを 2 にかえた。つまり

    ...
    else
    MOUNTPOINT="/media/${DISK##/dev/}2"
    fi
    ...
    if [ $TYPE = "KEEP" ]; then
    # set bootable flag to first partition
    sfdisk "$DISK" -A2

    DISK="$DISK"2
    fi
    ...

    とした

  5. $ sudo /tmp/mkbootdev
    で、/dev/sdX2専用に変更したmkbootdevを実行し、
    →A:Don't change partitions on USB storage
    →/dev/sda
    と進み、USBフラッシュメモリーへファイルコピーとかが始まる。
    KNOPPIX USB版の作成完了。あとは動くのを祈りつつ試したら動いた。

2009年1月14日水曜日

DELL Dimension 2400C のメモリーを2GBに増設

PCワンズで購入した、ノーブランド DDR PC-3200 1GB を二枚差して、
2GBに増設したところ、動作した。CPUがCeleronなので、もちろんPC-2100での動作。
memtestを実行したところ、Dual Channel動作していた。

1GBのモジュールが使えるのかどうか、Web情報ではよくわからなかったが、
使えるようだ。とりわけ、2400Cの説明書では1GBが上限だが、
DELLのサポートサイトQ&Aでは2GB上限となっていたのには参った。

富士通 FMV-C601 のメモリーを1GBに増設

PCワンズで購入した、ノーブランド DDR PC-3200 1GB を一枚差して、
1GBに増設したところ、動作した。二枚差しは試していない。

1GBのモジュールが使えるのかどうか、Web情報ではよくわからなかったが、
使えるようだ。