質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.54%

  • データベース

    814questions

    データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

  • Devise

    304questions

    Deviseとは、Ruby-on-Railsの認証機能を追加するプラグインです。

  • 基本情報技術者

    53questions

    基本情報技術者とは、経済産業省が行う国家資格「情報処理技術者試験」の区分の一つです。試験ではプログラマーやシステムエンジニアなどIT業界で働くために必要とされる基礎知識や情報処理において論理的な考え方ができるか等が問われ、企業から高い評価を獲ることができ、IT業界の入門的な資格として人気があります。

RAIDの構成方法について

解決済

回答 3

投稿

  • 評価
  • クリップ 1
  • VIEW 704

yuto_

score 3

RAIDの構成方法についてごく基本的な質問があります。
たとえばRAID5で3枚のハードディスクを用いて構成する場合、それぞれのハードディスクを3領域に(等分割で)パーティションする、という理解でよろしいでしょうか?
実際に構成しようとしてみると、それしかないよなあ..と思ったのですが、用語の意味程度の知識しかなく、どうかよろしくお願い致します。
(実際に組まないかも知れませんが、学生に正しく教えねばなりませんので(_))

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

+4

maisumakunさんの質問へのコメントを拝見して感じたことをコメントします。

RAIDは信頼性および性能目的で用いるものだと思いますが、例えば信頼性を上げることの一つに「ハードディスクが物理的に故障した場合にホットスワップが可能である」という点も重要な機能だと思います。よってRAIDは「ソフトを使って構成するもの」ではなく「物理的なハードディスクを複数用意してそれらをまとめて一つのディスクとしてみなす技術」と考えた方が一般的でありmaisumakunさんはそういうことを前提に答えておられると思います。

またRAID5でいえば2D+Pの構成以外に3D+Pや4D+Pも考えられますのでもし2D+Pが唯一の構成であるかのように認識されているのであればその点も注意したほうがよいのではないでしょうか?

RIADについてどのような範囲で学生に説明しようとしているかを明確にした上で質問されたほうがよいと思います。いわゆるRAID技術を説明するならパーティションを切って・・・という前提がおかしいように感じられます。

パーティションで疑似的にRAIDっぽいものを作ることができるかも知れませんがそういう構成ではホットスワップなんて芸当はやりようがなくパリティーによるデータの自動訂正というRAID技術の基礎的なアイデアについての話にとどまってしまいます。自動訂正の話ならパーティションをどうこうという話なしに説明できる気がします。

追記:すみません、「自動訂正」という言葉は不適切な気がします。単に一つのディスクで障害が発生した際にパリティーから欠損したデータが計算できるに過ぎませんね。その点誤解を招く表現になっているので訂正させていただきます。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/15 11:14

    KSwordOfHaste 様 詳しくご回答下さり有り難うございます。

    >RAIDは信頼性および性能目的で用いるものだと思いますが、例えば信頼性を上げることの一つに「ハードディスクが物理的に故障した場合にホットスワップが可能である」という点も重要な機能だと思います。

    一台故障してもそのまま(電源をおとさず)使い続けられる(ついでにデータも修復できる)ということですよね。 
    (違っていたらご指摘下さいませ)

    >よってRAIDは「ソフトを使って構成するもの」ではなく「物理的なハードディスクを複数用意してそれらをまとめて一つのディスクとしてみなす技術」と考えた方が一般的でありmaisumakunさんはそういうことを前提に答えておられると思います。

    そうですね、「複数のハードディスクを一つのディスクとみなして使用できる技術」というのがRAIDの大前提であることは、今朝 maisumakun 様からの返信を読んで分かりました。別の観点から補足下さり、有り難うございました(_) 

    >RIADについてどのような範囲で学生に説明しようとしているかを明確にした上で質問されたほうがよいと思います。いわゆるRAID技術を説明するならパーティションを切って・・・という前提がおかしいように感じられます。

    学生に実際に話すかは別にして、実際にデータを保存していくときの仕方が、きっとそういうやり方でないかと思ったもので^^;、具体的な実装はどうかを知りたい(知った上で教えたい)と思い、質問しました。
    質問の内容も見当違いだったようですが、ご指摘の通り、質問の仕方があまりにも言葉足らず・分かりにくかったです。失礼いたしました。

    IT関係は素人もいいところなのですが、教えねばならぬことになり四苦八苦しています。
    皆様有り難うございました(_)

    キャンセル

  • 2017/02/15 14:29

    > 一台故障してもそのまま(電源をおとさず)使い続けられる
    そうですね。そのためにこそRAIDを使うのだと思います。
    > 具体的な実装はどうかを知りたい
    RAIDの中身については概念的な「こうなっているであろう」ということは話してもよさそうに思います。
    例えば2D+Pなら3本のディスクに連続したデータが以下のように順番に並んでいると仮定して不自然なことはないはずです。
    -------------- 各ディスクのブロック位置
    D1 D2 P12 - LBA(Logical Block Address) = 0
    D3 D4 P34 - LBA = 1
    ...
    ディスクの先頭から4ブロック読み込む指示をするとRAID Controllerは2つのディスクからD1,D2,D3,D4と読み込むという具合です。もし2台目が壊れていたらD1,P12,D3,P34と読み込んでD1,P12からD2を計算しD3,P34からD4を計算し何事もなかったかのようにD1~D4をホストへ転送するといった感じですね。RAIDの実際の中身が正確にどうなっているかは別として「概念的にはこんな具合にできている」という説明をする分にはよいと思います。

    キャンセル

  • 2017/02/15 16:03

    有り難うございます。

    確かに KSwordOfHaste 様の言われるように、あえて RAID5 でなく RAID4 的に示した方が、分かりよいかも知れませんね!

    自分も学生には、KSwordOfHaste 様がいま書いて下さった位の説明しかしません。

    ...パリティの取り方も復元の仕方も排他的論理和を取るだけで非常にsimpleなので話したいですが、排他的論理和の計算に慣れている学生以外には、混乱させるだけなので話しません^^;
    RAID6 も。

    ITパスを受ける子には RAID0,1と、「RAID5 の雰囲気」のみで、応用情報を受ける子にも、相手によりますが、RAID5 の上記のような説明しかしないと思います。(といいましても、できたばかりの専門学校で、まだ僕は数人にITパス~応用情報を教え始めたばかりですが;)

    しかしとにかく、自分が具体的なブツとその働きをある程度正確に理解していないと、自信をもって正しくデフォルメできませんので、今回色々と教えて頂きまして本当に有り難うございました。とても勉強になりました。(_)

    ちゃんと教えられるよう、精進します。

    キャンセル

  • 2017/02/15 18:54

    白状するとRAID5の説明のつもりでRAID4を書いてました...RAID4の存在を意識してなかったのでパリティー分散がRAID5の条件という点を意識してませんでした。テストなら×ですね・・・ちゃんと区別して覚えてなくお恥ずかしい限りです。
    > 論理和の計算に慣れている学生以外には、混乱させる
    プログラマーであれば二進数やビット演算の基礎知識は知っておいたほうがいい気もします。そうした基礎事項を知った上でならRAID4の仕組みが腑に落ちるはずだからです。プログラマーは論理的に物事を積み上げていくのが大事な気がするので単なる暗記より仕組みを知ってほしいという気がします・・・ただどう教えるかというのは難しい問題かも知れません、受講対象が全員プログラマー志望というわけでもないのでしょうし。

    キャンセル

  • 2017/02/15 23:34

    はい。ビット演算はそれ自体面白いですし、論理和についても慣れて欲しいのですが、うちは特に?数学が普通に出来ない子が多いので…

    ただ、基本情報・応用情報になると必要になってきますので、最低限は教えます。そして、数学が普通に出来る子やプログラマ志望の子には確かに徹底したい所ですね…

    RAIDのパリティの所もスッキリ分かりますので、具体的に計算させて分かった気にさせるプリントを、基本情報以上対象に作ろうかしら?

    色々良い方向性が見えてきました。有難うございます。

    自分は致命的にハードに弱く(実際に余り触っていない)、ネットワーク系にも弱いので、道は険しいですが頑張ります(^^;

    キャンセル

checkベストアンサー

+3

いえ、RAIDをかけたディスクアレイはOSから見ればあくまで1つのディスクに見えますので、内部のパーティション構成は、RAID自体のディスク構成とは無関係に設定できます。

なお、RAID5の場合、1台分の容量がパリティのために消費されますので、3台のディスクを使った場合は「2台分の容量を持ったディスク」として認識されます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/14 18:52

    RAIDをソフトを使わず自分でプログラミングする場合、どうするかという話なのですが・・。

    キャンセル

  • 2017/02/14 19:01

    そもそも「RAID」という語自体が、「複数台のハードディスクを組み合わせることで仮想的な1台のハードディスクとして運用」することを前提としています。

    個々のディスクやパーティーションが見えている状態で、その内側で行うものは、「RAIDごっこ」に過ぎません。

    キャンセル

  • 2017/02/14 19:05

    実際のRAID 5コントローラーは、入出力すべき「データの塊」を適当な単位で分散・パリティ計算しているだけで、パーティーション構造なんて知らない、という実装でも問題ありません。

    キャンセル

  • 2017/02/15 08:19

    一口にRAIDといったら、
    論理的には1つに見せて信頼性(耐障害性)と効率性を高める技術としか言えないですよね。

    質問者様がどこまで教えるのか次第ですが、
    試験的に問われる観点でいうと、ストライピング(RAID0)、ミラーリング(RAID1)は知らないと話を膨らませることはできないかもですね。

    キャンセル

  • 2017/02/15 10:14

    maisumakun 様,Panzew_vor 様、ご回答有り難うございます。

    >そもそも「RAID」という語自体が、「複数台のハードディスクを組み合わせることで仮想的な1台のハードディスクとして運用」することを前提としています。

    これは知りませんでした!本来、そういうことだったのですね・・!
    自分は「RAID」=「複数台のハードディスクを組み合わせることで、信頼性や効率性を高める技術」という理解でした。
    勿論、理屈からRAID5ならば実際のハードディスク数ー1台分の容量になりますし、それを仮想的な1台のハードディスクとして運用していることは製品から理解していましたが、そこに力点があるとは認識していませんでした。(単に実用上の分かりやすさのためだと思っていました)

    しかしそこに最初の動機があったのですね。また実装も一番そこが面倒そうですね。
    パリティの使い方自体は非常に単純なアイディア・計算ですので。

    >実際のRAID 5コントローラーは、入出力すべき「データの塊」を適当な単位で分散・パリティ計算しているだけで、パーティーション構造なんて知らない、という実装でも問題ありません。

    これが知りたかったのです!
    そうなのですね・・。「分散したデータ・パリティを、どう保存してゆくのか」について、単純に言えば、(1)各ディスクで空いているところから順に保存してゆくのか、(2)パリティはパリティで(パーティションした領域に)保存してゆくのか、疑問に思ったのです。
    後者の方が実装しやすいように思ったのですが、どうもそういう訳ではなさそうですね・・。

    詳しく教えて下さり、どうも有り難うございました。(_)

    キャンセル

+2

RAID - Wikipedia
ストレージ 用語解説 RAIDとは - Fujitsu Japan
RAID比較(構成・速度実測・耐障害性)

ネット検索が全てとは言いませんが、
用語として古くからある言葉なのでどういう技術なのか調べようと思えば簡単に調べがつくので、
教える立場として根幹的原理原則からしっかり押さえていただきたいと存じます。

ソフトウェアRAIDってものもありますがややこしくなるので省きます。

通常ハードディスクには(ハードウェアである)RAIDコントローラを介してアクセスします。
OSから見たら一つのハードディスクに見えますが、
物理的に複数のハードディスクを管理して束ねています。
単純ミラーリングであるRAID 1以外は、
一度RAID構成したハードディスクを外して単品で読み書きしようとしても
RAIDコントローラが散らしたデータの断片でしかないため
人力でデータ復旧するのは困難です。
むしろ、人はRAID構成している物理的ハードディスクの中がどうなっているか知らなくて良くて、
構成されたあとのOSから見える論理的ハードディスクだけわかっていればいい世界です。

RAIDの構成の仕方によっては
一つが壊れてもシステムを止めずにRAIDコントローラが復旧を段取りできる場合があります。
しかし、復旧中に追い打ちをかけるように二つ目が壊れたりすることもあり、
その場合構成の仕方によってはお手上げになります。
(どういう構成の場合どういう耐障害性を持つかは上記に上げたサイトで確認してください。)

もちろん、RAIDコントローラが肝なので、
コントローラ自身やコントローラの動作に必要な構成情報を収めた記憶域が壊れると
これもお手上げです。
特定の技術一つに依存せず、運用面も含めてバックアップ体制を構築することが求められます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/15 12:57

    上記の疑問に対して色々検索してはみたのですが、疑問自体が普通は考えないであろう間違ったものでしたので、疑問を解消するページが全然出てこなかったのですよね^^;

    種々のIPA試験対策本や僕が調べた解説ページではハッキリしなかったのですが、

    Wikiがこんなに詳しく分かりやすいとは!!!

    いつも愛用していますのに、迂闊でした。

    RAID0~6と、その組合せの内容について一通り理解しているつもりでしたが、上記の疑問(コントローラがどう振る舞うか)を含め、残っていた細かい疑問が、いま Wiki を読んですべて氷解しました。

    どうも有り難うございました。いや、本当に感謝しています。

    というか・・Wiki すら調べていなかったこと、それで質問したことは、本当に恥ずかしい。反省しています。

    大変失礼致しました!(_)

    キャンセル

同じタグがついた質問を見る

  • データベース

    814questions

    データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

  • Devise

    304questions

    Deviseとは、Ruby-on-Railsの認証機能を追加するプラグインです。

  • 基本情報技術者

    53questions

    基本情報技術者とは、経済産業省が行う国家資格「情報処理技術者試験」の区分の一つです。試験ではプログラマーやシステムエンジニアなどIT業界で働くために必要とされる基礎知識や情報処理において論理的な考え方ができるか等が問われ、企業から高い評価を獲ることができ、IT業界の入門的な資格として人気があります。