21 posts categorized "ストレージ"

October 16, 2014

家庭用外付けストレージケースを選んだときの話

今回は家庭用外付けストレージケースを選定して悩んだときの話を記してみます。

個人利用の場合は業務利用と違って全て自腹なので、価格的にかなり妥協しないと厳しいです。価格を落とす分ある程度妥協しなければなりませんが、何を妥協するかは大きな選択です。重要なデータを保存するわけなので絶対にデータ消失が発生しないという条件と共に、家庭用途とのことで価格や本体の大きさなんかも気になるところです。


【個人要件】
絶対的な要件としては、現実的な値段の製品のうち、狭い空間にきちんと収まりつつ、絶対にデータが消失しない製品/環境であるということです。それを前提として各ベンダーの製品仕様を元に具体的に要件に落とし込んだのが下記の通りです。

・絶対条件
値段(5万円以下。できれば3万円以下)、大きさ(w150 x h300 x d250以下)、静音、搭載本数(3.5inch 4本以上搭載可能)

・迷った条件
RAID機能、NAS機能、eSATA機能、HDDの出し入れがしやすい、フロント電源

・重視しない条件
速度

【故障時の挙動について考える】
データ消失が発生しないということを考える上で、故障時にどのような挙動が想定されるかを考えるのは重要なことです。そこで家庭用外付けストレージケースで起こりうる故障とその挙動について考えてみました。

(1) HDDが故障した場合
RAID機能がある製品の場合、HDDが物理的に故障したとしても残りのHDDでデータが保全されるはずです。しかし何らかの理由でデータ不整合が起きて論理障害が発生した場合データを取り出す手段があるのか気になります。個人的な経験としても例えばRAID5のボリュームが原因不明で突然見えなくなるという障害を経験したことがありますが、こういった障害の場合、データ復旧がかなり困難になります。

(2) 本体が故障した場合
本体が故障した場合、別の本体を持ってきてHDDだけ入れ替えると保存していたデータがそのまま見えてくるような製品であれば問題ないですが、多くの家庭用製品の場合データが見えてこない気がします。エンタープライズストレージの場合はRAID構成情報が各HDDに書かれる製品が多いですが、この場合がHDDを別の本体に入れ替えてRAID構成をHDDから読み込むとそれまでのRAID構成が引き継がれます。それに対して安いストレージ製品の場合はRAID構成情報がストレージ本体もしくはRAIDコントローラーにしか書き込まれないので、本体が故障した場合HDDだけ入れ替えても当然RAIDボリュームが見えてきません。

(3) 電源寸断時の挙動
HDD書き込み中にコンセントが抜けてしまったり停電が起きたりしたときにデータ破壊されることがないかどうか。製品によって挙動は異なると思いますが、おそらくデータが一部破壊された状態になるのではないかと思います。

【ハードウェアRAID vs ソフトウェアRAID】
ハードウェアRAIDではRAID関連の処理を専用チップで行うことで高速にRAID関連処理を行うことができることに加え、高価なものだとキャッシュとバッテリーを搭載し、更なる高速処理と電源寸断時のデータ破壊を防ぐ機能を搭載しています。

それに対してソフトウェアRAIDではRAID関連の処理をCPUで行います。特に家庭用ストレージはLinuxなどのオープンソースOSをカスタマイズして使っているものが多く、RAID関連処理はLinuxにある機能をそのまま使っているものも多そうです。

ハードウェアRAIDはエンタープライズストレージに多く使われているのに対し、家庭用ストレージの場合はコストの関係からほぼ100%ソフトウェアRAIDだと思います。個人的には家庭用ストレージに高速性まで求めませんが、電源寸断対策用バッテリーがないのは不安です。

【結論】
いろいろ悩んだ結果、「NETGEAR社 ReadyNAS 104」という製品を購入することにしました。コンパクトなサイズにHDDが4本搭載できるNAS/RAID機能付の家庭用外付けストレージなのでした。購入価格は約2万2千円です。


HDDはこのように構成しました。

HDD1: 2TB(RAID1)。メインデータを置く
HDD2: 2TB(RAID1)。同上
HDD3: 1TB(RAID0)。メインデータのバックアップを置く
HDD4: 1TB(RAID0)。同上

要はメインデータ用ボリュームは実容量2TB(RAID1)、バックアップ用ボリュームも実容量2TB(RAID0)となります。データ保全としてはRAID1ミラーリングとバックアップを併用する形です。この構成であればRAID1が問題なく機能すればHDDが1本故障してもデータは保全されますし、万が一RAID1ミラーリングボリュームが見えなくなったとしてもバックアップからデータを取り出せます。また本体が故障したらHDDを取り出してLinuxが動いているマシンに取りつけてmdadmコマンドを使って自力でデータを取り出すことになりそうです。

おそらくこのタイプのストレージでは4本でRAID5を組んで使われるパターンが多いのだと思いますが、その構成だと既記したようにRAIDボリュームが見えなくなったり本体が故障した場合に最悪データが取り出せなくなると思いRAID5は採用していません。RAID1であればLinuxのmdadmコマンドを活用してなんとか自力で復旧できる気がしますが、RAID5だとできなくはないかもですがとても時間がかかりそうな気がしたのでした。

データ消失リスクという点においてはソフトウェアRAIDを信用してないので本当は使いたくなかったのですが、予算の都合もありRAID1ボリュームとRAID0ボリュームに分けてバックアップを取りながら使うことにしました。データ保全を考える上で本来こういった構成を取る場合は外部バックアップが必須ですが、予算と設置スペースの関係で泣く泣く外部バックアップなしとなりました。

※補足
なぜソフトウェアRAIDを信用していないか。本質的なところとしてはハードウェアかソフトウェアかというところにはなく、HDDにRAID構成情報が書かれるかと、電源断時にも書き込み途中のデータが確実に書き出されるかというところにあります。

【おまけ】
「NETGEAR社 ReadyNAS 104」をいろいろいじっていて感じたこと/気づいたことを記します。

・2万円台の安いストレージなのに、LUN切り出し、iSCSI、シンプロビジョニング、スナップショットと、エンタープライズストレージ並の機能が搭載されていました。
・ある意味プロ仕様なので、エンタープライズストレージを扱ったことがない人だと最初どう設定したらよいのか悩むかと思います。
・標準でアンチウィルス機能が搭載されているようです。
・RAIDはNetGear社独自のX-RAIDの他、RAID0,1,5,6,10、JBODが扱えます。HDD4本のうち好きな組み合わせでRAIDが組めます。
・Linuxベースです。sshログインしていろいろ操作できるのは便利です。
・ソフトウェアRAIDです。mdadmコマンドの利用に慣れていたらいろいろできます。
・CPUが弱いです。ちょっと処理速度が遅いかなー。
・安いのにNICが2個搭載されています。
・2TB HDDでRAID1構成を組んだ後、rebuildに6時間以上かかりました。
・筐体は結構コンパクトです。

安いのにプロ仕様で大変気に入りました。IT業界に身を置いている人は勉強にもなるのでお勧めです。逆にIT業界に身を置かない人は国産メーカーのわかりやすいGUIを持った製品のほうが良いかもしれません。

| | Comments (0) | TrackBack (0)

May 26, 2014

dmマルチパスを用いたDELLストレージ設定方法(MD30xx編)

今回はいつもと趣向を変えて、DELL社DASストレージの設定方法をご紹介します。今回ご紹介するMD3xxx系はマニュアルがわかりにくいだけでなくネット上で設定例をあまり見かけないので役に立つ方は役に立つかと思います。

さて、本題に入ります。

DELL PowerVault MD3000系DASストレージではマルチパスを扱うときに専用のMPPドライバーを使います。それに対してMD32xx系ではDM-RDAC(dm-multipath)と呼ばれるネイティブLinux kernelデバイスマッパーを使います。ここではMD3000系でもdm-multipathを使えるようにする設定方法を記します。

Dell_powervault_md3000i


【Storage ManagerとHBA board用ドライバーのインストール】
Linuxサーバ上にStorage ManagerとHBA board用ドライバーをインストールします。それらはMD3xxxに付属しているCDROMに含まれています。

※MD3xxx系では、サーバにRAIDボードではなくHBAボードを挿します。RAIDボードを使う場合はRAIDボード上でRAID関連処理をしますが、MD3xxx系ではストレージ側のコントローラーでRAID関連処理をします。


【MD3000でdm-multipathを使うための事前準備】
/etc/multipath.confを以下の内容に置き換えてリブートするとmultipathから見えるようになります。


defaults {
        getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
}
devices {
        device {
                vendor DELL*
                product MD3000*
                path_grouping_policy failover
                getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
                features "1 queue_if_no_path"
#               path_checker readsector0
                path_checker rdac
                prio_callout "/sbin/mpath_prio_tpc /dev/%n"
                hardware_handler "1 rdac"
                failback immediate
        }
}
blacklist {
       device {
               vendor Dell.*
               product Universal.*
       }
       device {
               vendor Dell.*
               product Virtual.*
       }
}

【MDSM(Modular Disk Storage Manager)の起動と設定】
MDSMはバージョンによって操作性が多少異なるので注意です。大雑把に以下の手順を実施します。

$ SMclient

1. マシン名をつける。
2. HotSpare HDDを指定する。
3. ディスクグループを作成する。(例: VG01)
4. 仮想ディスク(LUN)を作成する。(例: VG01_lun1, VG01_lun2) ※注:ディスクグループ1つに対して2つの仮想ディスクを作るようにすべし。すると各々の仮想ディスクが各パスに分散されるのでパフォーマンスが上がる\!
5. 仮想ディスク(LUN)とホストをマッピングする。

【ストレージとうまく接続できているか確認する方法】
DASを接続しているサーバからストレージが正しく認識しているか以下のように確認することができます。


$ multipath -ll
mpathc (36f01faf000dd7c2a000002513aaa3f5b) dm-1 DELL,MD30xx
size=1.5T features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- policy='round-robin 0' prio=14 status=active
| `- 1:0:0:1 sdc 8:32 active ready running
`-+- policy='round-robin 0' prio=9 status=enabled
  `- 1:0:1:1 sde 8:64 active ready running
 
mpathb (36f01faf000dd7ba2000002a0529257a6) dm-0 DELL,MD30xx
size=1.5T features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- policy='round-robin 0' prio=14 status=active
| `- 1:0:1:0 sdd 8:48 active ready running
`-+- policy='round-robin 0' prio=9 status=enabled
  `- 1:0:0:0 sdb 8:16 active ready running

いずれも「status=active」であれば正常。


【サーバ内で仮想ボリュームを作る】


■1. pvcreate
pvcreate /dev/dm-1
pvcreate /dev/dm-2
 
■2. vgcreate
vgcreate vg1 /dev/dm-1 /dev/dm-2
 
■3. lvcreate
lvcreate -n lv01 -L 100GB vg1
lvcreate -n lv02 -L 100GB vg1
lvcreate -n lv03 -L 100GB vg1





$ fdisk -l
Disk /dev/mapper/vg01-lv01: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

OSからLUNがデバイスとして見えていれば正常。(LUN:Logical Unit Number。サーバから見えるデバイスのこと。一般PCでは1台のHDDを指すが、仮想化されたストレージの場合は切り出された領域が見える)


| | Comments (0) | TrackBack (0)

November 04, 2013

RAID5のパリティ生成アルゴリズム

「RAIDという仕組みは本当に安全なのか?」という懸念が昔からあったので、今回RAID5のParity algorithmについて研究してみました。(RAID6のParity algorithmについて研究しましたが、それはまた今度)

【RAID5の特徴】
RAID5の特徴について改めて整理すると以下のようになるかと思います。

•Block単位でパリティ分散記録する。
•水平パリティを1つ用いる。水平パリティにはXOR方式を用いることが一般的。
•HDDが1本壊れても復旧できる。


【XOR(排他的論理和)について】
RAID5ではXORを用いてパリティを生成しますので、まずはXORについておさらいしておきます。

ABA XOR B
000
011
101
110

【RAID5のパリティ生成の仕組み】
例えばデータが「1111 0101 1100 1010 0000 1111」の場合は以下のようになります。

HDD-AHDD-BParity
111101011010
110010100110
000011111111

仮にB列が消失した場合はどうなるでしょうか。

HDD-AHDD-BParity
1111?1010
1100?0110
0000?1111

この場合はHDD-AとParityでXORを適用するとBが復元できます。

HDD-AHDD-BParity
111101011010
110010100110
000011111111

この仕組みを応用して、HDD本数が7本の場合、A-BのXOR結果とC、その結果とD、・・・とXORをしていくことになります。

HDD-AHDD-BHDD-CHDD-DHDD-EHDD-FParity
1111101011000110000011110000

仮にhdd-Bが故障した場合はどうなるでしょうか。

HDD-AHDD-BHDD-CHDD-DHDD-EHDD-FParity
1111?11000110000011110000

この場合もBを除いた全てとxorをしていくとBが復元できます。(xorする順番は問わない)

0000 G
1111 F
----
1111
0000 E
----
1111
0110 D
----
1001
1100 C
-----
0101
1111 A
----
1010 B

HDD-AHDD-BHDD-CHDD-DHDD-EHDD-FParity
1111101011000110000011110000

こんなシンプルな仕組みであればファームウェアのバグ発生は考えにくそうで、RAID5はそれなりに安全そうですね。

※最後に「インフラエンジニアの教科書」という本を出版させていただきました!という宣伝で締めさせていただきます。

| | Comments (0) | TrackBack (0)

October 04, 2009

RAID6の正確な定義とは

いよいよ今月こちらの本が出版されるのですが、その本を執筆している最中、「そういえばRAID6の正確な定義って何だろう?」という話になりました。

よく知られているRAID6の定義としては「パリティ情報を2本のHDDに書き込むので、HDDが2本死んでもデータが飛ばない」というものです。しかし曖昧なのは、どのようなパリティ情報をHDDに書きこむのか、というところです。この件、文献によって書いてあることに差があります。例えば「RAID5のパリティ情報をもう1つ他のHDDにも書き込んだものがRAID6だ」というものや、「RAID5のパリティ情報とは別のアルゴリズムで算出したパリティ情報を他のHDDに書き込んだものがRAID6だ」など。

RAID1-5に関しては明確な定義があります。Wikipediaによると「1988年にカリフォルニア大学バークリー校のデイビッド・パターソン, Garth A. Gibson, Randy H. Katzによる論文「A Case for Redundant Arrays of Inexpensive Disks (RAID)」に於いて提唱された。これはSIGMOD Conference 1988: pp 109-116 で発表された。」ということでした。しかしRAID6に関しては。いつどこで誰が定義したのかを明確に述べた文献が存在しませんでした。

それを踏まえて、日本語の文献は間違いが多い(1次情報を調べず2次情報を鵜呑みにすることが多い)ため、英語の文献を中心に調べてみました。いろいろ調べてみた中で、英語版のWikipediaに書いてあった内容が一番本当っぽい気がします。

Implementation
According to the Storage Networking Industry Association (SNIA), the definition of RAID 6 is: "Any form of RAID that can continue to execute read and write requests to all of a RAID array's virtual disks in the presence of any two concurrent disk failures. Several methods, including dual check data computations (parity and Reed-Solomon), orthogonal dual parity check data and diagonal parity, have been used to implement RAID Level 6

http://en.wikipedia.org/wiki/RAID6#RAID_6

超ざっくり訳すと

「SNIAというストレージベンダーの業界団体によると、RAID6の定義は、2本の仮想ディスクで読み書きに失敗しても処理を継続できること。RAID6の実装には二重チェックデータ計算、直角二重パリティチェック、及び斜めのパリティチェックを含む、いくつかの方法があります」

ということです。つまりはRAID6とは2本のHDDが死んでもRAIDが死ななければ何でもいいということになりそうです。すなわち、パリティ情報の書き込み方についてはベンダーによって実装方法が違うかもしれないという結論ですね。

| | Comments (0) | TrackBack (0)

June 22, 2009

もしRAIDボードが壊れたら

ハードディスクは壊れやすいのでRAIDで冗長性を確保することが多いですが、RAIDボードは壊れにくいのでRAIDボードが壊れたらどうしようというところまで考えている人は意外と少ないです。

もし今RAID5でサーバを組んでいたとして突然RAIDボードが壊れたとしたらどうなるか。「RAIDボードが壊れたら単に新しいRAIDボードに交換すればよいのでは? 」と単純に考える人もいると思います。しかしもしそうだとしたらRAID設定した情報はどうやって復元しましょうか。「え?単に同じ設定を新しいRAIDボードに同じように施せばよいのでは?」と思うかもしれませんが、この方法で本当に大丈夫なのでしょうか?

と、今回はそんなことを考えていきたいと思います。

【RAID構成情報ってどこに書かれている?】
RAID構成情報ってどこに書かれているか。高価なRAIDボードであればRAIDボードとHDD双方に、安価なRAIDボードであればRAIDボード上だけに書かれていることが多いようです。

これを確かめるには次の手順で行えます。例えばHDD3本でRAID5を構成し、マシンの電源を落とします。マシンが停止しているときHDD1~3の順番を入れ替えてからマシンの電源を入れます。このときHDDが入れ替わったことをRAIDボードが検知してくれるようであればHDDにRAID構成情報が書き込まれています。逆にRAIDが壊れてしまったらRAIDボード上にしかRAID構成情報が書き込まれていないことになります。

【新しいRAIDボードにそれまでのRAID構成情報を移せるか】
もし高価なRAIDボードが壊れたのであれば、新しいRAIDボードに入れ替えるだけで勝手にHDDからRAID構成情報が新しいRAIDボードに引き継がれます。

それに対して安価なRAIDボードが壊れたのであればもうちょっと深く考える必要があります。

もし安価なRAIDを使っていて、[HDD1][HDD2][HDD3] & [HDD4(HotSpare)]というRAID5構成を組んだとします。これがしばらく使っているうちにHDD2が壊れてしまい、HDD2を新しいHDDに入れ替えたとすると構成は[HDD1][HDD3][HDD4] & [HDD2(HotSpare)に変わります。さて、もしこの時点でRAIDボードが壊れてしまった場合どうなるでしょう。ひょっとしたら新しいRAIDボードに入れ替えて新たに[HDD1][HDD3][HDD4] & [HDD2(HotSpare)という設定を施せば復活するかもしれないし復活しないかもしれません(使用するRAIDボードによるでしょう)。確実に言えるのは、このとき最初の設定[HDD1][HDD2][HDD3] & [HDD4(HotSpare)]にしてしまったら間違いなくRAID5は飛んでしまうでしょう。

つまり、安価なRAIDボード使っているとしたら、新しいRAIDボードに入れ替えてもRAID構成を復旧できるかどうかはボードによるし、もし対応可能なボードであっても壊れる直前のRAID構成情報を正しく把握していなければ復旧が行なえないことになります。

ただし安価なRAIDボードを使っていてもRAID構成がミラーリング(RAID1)なのであれば、RAID1には特にパリティ情報を保持しているわけではなく単にHDD1とHDD2に同じ情報を書き込んでいるだけなので、もしRAIDボードが死んでも、HDDだけ取り出してサーバに直接つなげば普通に読み書きできる場合が多いです。

というわけで、RAID5やRAID6といったパリティを用いるタイプのRAIDを組むのであれば高価なRAIDボード(数万円くらいするもの)でないと怖いですが、RAID1であれば安価なRAIDボードでもそれなりに使えるのではないでしょうか。

【高価なRAIDボードにバッテリーが搭載されている理由】
ここからは余談となりますが、高価なRAIDボードにはバッテリーが搭載されていることがあります。これはRAID構成情報を保持するためのものではなく、キャッシュデータを保持するメモリに何らかの理由で電源供給ができなくなった場合電源供給できるようにすること及び、もしRAIDボードの交換となった場合、キャッシュデータごと新しいRAIDボードに引き継げるようにバッテリーが搭載されている模様です。(DELLのRAIDボードとか)

【オンボードRAIDが壊れた場合】
マザーボードにRAIDチップが搭載されているような場合は、RAIDチップが壊れてしまうとマザーボードごと入れ替えなければならないので面倒です。

以上、RAIDについて述べてきました。RAIDって奥深いですね。

| | Comments (12) | TrackBack (0)

March 04, 2009

大容量ストレージユニットを安価で構築する方法(上級者向け)

数十テラバイトクラスのストレージユニットを構築しようとすると通常は車が買えるくらいのお金が必要になります。しかしお金のないベンチャー企業や個人だとそんなに出せません。何かよい手はないかと以前いろいろ調べたところ、自作PCならぬ自作ストレージユニットを構築できる硬派な製品を発見しました。写真を見ていただければどんなものか一目瞭然ですね。

外付けハードディスク自作ケース金具「番長皿屋敷シリーズ」という製品なようですが、すごいのが「ハードディスク・ATX電源・ポートマルチプライア・ファン・アクセスランプはすべて別売り」ということ。要するに箱だけ提供するので、あとは好きにやってね、ということのようです。個人的には「ハードディスク以外のパーツは含まれているのでハードディスクだけ用意してね」というので例えば4万円とかだと買っていたかもしれません。

| | Comments (0) | TrackBack (0)

August 14, 2008

必要以上に容量の大きすぎるHDDを使わないほうが良い理由

HDDの大容量化のペースはすごいですね。最近では1TBもの容量があるHDDが個人でも買える値段で登場しています。しかしインターネットサービスを提供する立場で考えると、必要以上に容量が大きすぎるHDDというは結構困ることがあります。今回はその理由について述べてみたいと思います。

【FormatやRAID Rebuildに時間がかかる】
例えば36GBと1TBのHDDでは実に30倍もの容量差があります。いろいろな要素を省いて単純に考えるとFormatやRAID Rebuildも30倍の時間がかかるということになります。FormatやRAID Rebuildって結構時間がかかりますのでこの差はとても大きいです。

RAID Rebuildと言えばこんな話しがあります。例えばサーバに3個のHDDが搭載されていて、2個をRAID1(ミラーリング)に、1個をHotSpareにしているサーバがあったとします。サービス提供中にRAID1側HDDの1個に障害がおきるとHotSpare側HDDがActiveになって自動的にRAID Rebuildがかかりますが、このRAID Rebuild時はレスポンスがものすごく悪くなります。大規模サイトともなるとクライアント側に一切レスポンスを返さなくなるくらいです。理想を言えばRAID Rebuildがかかったサーバはサービスから切り離すべきですが、24時間サーバ監視できない小さなベンチャー企業などではそこまで柔軟にサーバ管理できない場合もあるかと思います。そんな場合はやはりRAID Rebuildが極力短くて済む、必要なサイズに近い容量のHDDのほうが望ましいです。

【容量の大きなHDDは壊れやすい、かも】
容量の大きなHDDは容量の小さなそれと比べて壊れやすいというのはよく聞く話です。実測データはありませんが、普通に考えれば記録密度が上がることで単位ビット当たりの専有面積が狭くなるのでエラーが発生しやすい、すなわち壊れやすいというのは一応筋が通っています。ただしこのあたりは技術革新によって解決される可能性もあるので雑談として捕らえてください?


【まとめ】
容量の小さなHDDと大きなHDDの価格差があまりなければ何も考えずに容量の大きなHDDを買ってしまいそうですが、サービスで利用するHDDは用途にあった容量のものを選択しないと無駄な作業時間が多く発生します。普通のWEBサーバであれば36GB、もっと言えば18GBでも十分なことが多いです(まあそこまで小さい容量のものは現在なかなか売ってないでしょうが)。というわけでHDDを購入する際は是非サービスに合ったものを選びましょう。

| | Comments (0) | TrackBack (0)

July 02, 2007

MTBF(平均故障間隔)の正しい読み方

HDDのカタログを見ると、MTBF(Mean Time Between Failures:平均故障間隔)が140万時間などと書いてあることがあります。140万時間というと約160年なわけで、つい「このHDDは平均160年間壊れない」と読み違えてしまうわけです。

しかしその解釈は間違いで、正確には

・140万台のHDDを同時稼動させたときに1時間に1台故障する

ということを意味しています。

ということは、「HDDを100台、24時間365日稼動させると1年で0.625台故障する」となります。

●計算式
160年:1台=1年:x
x=1/160=0.00625
0.00625x100台=0.625

■関連リンク
メーカー別HDDシリーズ一覧表
ストレージカテゴリー

| | Comments (0) | TrackBack (0)

March 16, 2007

ハードディスクの故障率に関するgoogleの研究結果

ハードディスクの故障率に関するgoogleの調査結果を見つけました。

ハードディスクは高温で利用しても故障は発生しないという新説には驚きました。ただこの件、ホームページを見る限りではどういう実験から導いた結論なのかまで記されていないのでその説が本当に正しいのかはわからないですね。

ただ、ハードディスクは常時アクセスがあり、回転している方が、こまめにスリープ状態に入るものよりも故障率は低くなるということになるとう説は正しい気がします。私の経験則的にもなんとなくそんな気がします。同じ方向に回り続けているのと、しょっちゅう回転にブレーキがかかるのとではたしかに前者のほうが寿命が長そうです。


あとちょっと脱線になりますが、「最初にハードディスクに対するスキャンを実行し、スキャンエラーが発生したディスクは、発生しなかったディスクに比べて60日以内に故障する確率は39倍も高くなる」とありますね。ハードディスクを購入したらまずはスキャンしてみるというのはとても良い習慣です。ハードディスクに限らず機械物は初期不良期が結構不具合率が高くそれを乗り越えると意外と長持ちする場合が多いですから、まずは初期不良ではないということをしっかりとチェックしておくと安心です。

■関連記事
壊れにくいサーバについて考える(HDD編)

| | Comments (1) | TrackBack (0)

March 15, 2007

ハードディスクを廃棄する方法

大規模サイトともなるとたくさんのハードディスクを保持しています。ここまでくるとほぼ毎日どこかしらのハードディスクが壊れているような状態で、それに伴い廃棄するハードディスクも年々増えてきています。そこで今回はハードディスクを安全に廃棄する方法を整理してみたいと思います。

【ハードディスクのデータを消去する】
単純にフォーマットした程度ではデータは割と簡単に復元できる、というのは有名な話しです。そこでハードディスクの中身をランダムなデータで埋め尽くすという方法が考案されました。これ、Linuxでは簡単に実現できます。

# shred -n 5 -vz /dev/hda (※hdaはハードディスクドライブ名)

shred。シュレッド。シュレッダーですね。ちなみに-nは何回ランダムなデータを書き込むかを指定するオプション。-vは進捗状況メッセージ表示。-zはshredを実行した後、NULで上書きするオプションです。

※おすすめ
CDROMブート可能なLinux CDを作っておくとCDブートしてコマンドを叩くだけでshredが出来ます。shredする機会が多い方は是非作っておきましょう。

【ハードディスクを破壊する】
ただ、shredが実行できるのはあくまでもハードディスクが生きている場合であって、そもそもドライブが認識しないだとか不良セクターがあるなどの場合はshredできません。こんなときはハードディスクを物理的に破壊するしかありません。

よく取られる方法は専用のハードディスク破壊機器を使うかもしくは電気ドリルで穴を開ける方法です。大規模サイトを運営している会社であれば各1セット持っておいたほうがよいと思います。

ただし注意があります。ハードウェアをリースやレンタルで調達している場合はそもそも業者が保有する資産ですから勝手に物理破壊することができません。こんな場合は業者に相談してしかるべき対処を双方で検討するしかありません。

【ハードディスクを廃棄する】
そしていよいよハードディスクの廃棄です。民間の廃棄物処理業者かもしくは地方自治体の清掃局に処理を依頼することになるかと思います。中古販売業者に処理を依頼すると中古品として販売されてしまう可能性があるので避けたほうがよいと思います。

【最後に】
セキュリティを考え出すとどうしても性悪説で物事を考えなければならないのであまり楽しい作業ではないといえます。しかし避けられないことは楽しめという言葉の通り、どうせやるなら楽しくかつ楽に済ませたいものです。shredコマンドや電気ドリル破壊等は発想がシンプルで操作も簡単なのでその方向性に合っていると思いご紹介してみました。

| | Comments (0) | TrackBack (0)