![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
RAID 5 で構成さされたアレイにデータを書き込む際、パリティはどのタイミングで生成されるのでしょうか。
以下を例に、教えてください。
【例】
(1)HDD 3台構成
(2)1ブロック 4 bit とする
(3)1010 1011 を書き込む。
【パリティ生成のタイミング】
I. 1010 を HDD 1に、1011 をHDD 2 に一度書き込む。その後、1010 1011 を読み込み,パリティ(0001) を計算し、HDD 3 に書き込む
II. 1010 1011 をHDD1、2 に書き込む前に(RAID コントローラでブロックを振り分ける時に),パリティ(0001)を計算し, HDD 3 に書き込む。
III.I, II ともに間違っている。
ずっと,IIだと思っていたのですが、ウィキペディアの以下の記述を読み、混乱しています。わかるかたがいたら教えてください。
"一方で書き込む場合にはパリティを作成しなおすために、ディスクからの読み出しとパリティ演算が必要となる。"
(参考)
http://ja.wikipedia.org/wiki/RAID
No.4ベストアンサー
- 回答日時:
「新規でデータを書き込む」ということが, コントローラでわかるかどうかがまず問題ではないでしょうか. やればできるでしょうが, 現実的には「RAID アレイを作るときに全データを初期化し, それ以降は『更新』とみなす」方が単純でしょう.
あと, RAID5 で「メモリ上にデータを読み出す必要がある」のは, あくまで「ブロックの変更にあわせてパリティを計算し直す必要がある」からです. そのような処理をしない RAID0 や RAID1 では単にディスクに書き込むだけです. そもそも, アレイにしていない単独のディスクで「ディスクに書き込むためには一度読み出さなきゃならない」とは思いませんよね. 逆にいえば「パリティを計算し直す」ためには既存のデータが必要なので, RAID2 以上なら原則的に「読み出し→パリティ計算→書き込み」という手順になります.
なお, データをディスクに書き込むときに「どのディスクからデータを読み出すのか」については任意性があります. つまり
・書き込む必要のないディスクからデータを読み出し, それらからパリティを計算して (データとパリティを) 書き込む
・書き込むべきディスクとパリティを記録しているディスクからデータを読み出し, それらからパリティを計算して (データとパリティを) 書き込む
のどちらでも処理することが可能です. 3本のディスクで RAID5 を組むなら前者が常に有利ですが, もっとディスクを増やすと後者の方が有利になる場合があります (そんなにディスクを増やしていいのかという大きな問題はある).
No.3
- 回答日時:
ANo.2で回答した者です。
例題:
セクタ=4KB,クラスタ=4KB,ブロック=16KB,ディスク容量は16KB(=4セクタ)と仮定。
今4つのセクタにはそれぞれ何らかのデータが入っています。
1つ目のセクタだけ新しいデータを上書きしたいです。
でもブロック単位でしかデータを読み書きできません。
さて、どうしたら良いでしょうか?
Answer.
1.第1セクタから第4セクタ(=1ブロック)のデータをディスクからメモリにロードする
ようRAIDコントローラに依頼。
2.RAIDコントローラがデータをディスクから読み取ってメモリにロード。
3.ロードした(メモリ上の)データのうち第1セクタに該当するはじめの4KBだけを
新しいデータに差し替え
4.メモリ上にロードした(差し替え後の)第1セクタから第4セクタのデータ(=1ブロック)
をディスクに書き出すようRAIDコントローラに依頼。
5.RAIDコントローラは依頼されたデータをもとにパリティを計算。
6.RAIDコントローラがデータ+パリティをディスクに書き出す。
ありがとうございました。HDDの書き込みの仕組みを理解できました。
書き込みが、ブロック単位なので、変更が1セクタの場合でも、ブロック全体を一度、メモリにロードしないといけないのですね。
ということは、"ディスクからの読み出し" が必要になるのは、RAID 5 に限らない。ブロック単位でデータの読み書きを行う、RAID 0 や 1 も一度、メモリ上にデータを読み出す必要がある。
ただし、RAID 5 の場合はパリティを計算する必要があるので、データを変更したHDD 1のブロック だけでなく、HDD 2のブロックも読み出さないといけない。これが、オーバヘッドになる。
と理解しました。
大変お手数ですが、間違っていたらご指摘いただければと思います。
No.2
- 回答日時:
HDD単体(セクタ)とRAID5(ブロック)とOS(クラスタ)のそれぞれでデータの最小読み書き単位にギャップがあります。
ここで例えばクラスタよりもブロックのほうが大きかった場合のデータ書き込み時の動作を想像してみてください。
なぜ"ディスクからの読み出し"が必要なのかわかるはずです。
回答ありがとうございました。クラスタよりもブロックのほうが大きい場合を考えて見たのですが、私の頭では、わかりませんでした。
お手数ですが、もう少しヒントを (できればズバリ答えを) 頂けないでしょうか。
よろしくお願いします。
No.1
- 回答日時:
この質問の状況では「ディスクからの読み出し」は意味がわからないでしょう.
「HDD1 に 1010 を書き込む (HDD2 のデータは変えない)」という場面を想定してみてください. パリティをどう計算すればいいと思いますか?
回答ありがとうございました。データを書き換える場合は読み込みをしないとパリティを計算できないですね。
新規でデータを書き込む場合も、やはり一度書き込んだ後、読み込み直して、パリティを計算するのでしょうか ? それとも、新規で書き込む場合には、RAIDコントローラ側で、そのことを認識し、書き込む時にパリティを計算できるのでしょうか。
何度も、申し訳ありませんが、教えていただけないでしょうか。 インターネットで検索しても見つかりませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) 電源をバスパワーから取る外付けHDDにスマホで読み書きするためにUSBハブを使うと電力が分散されて外 4 2023/06/20 21:06
- バックアップ Windows11内の写真、動画を外付けHDDでBlu-rayディスクにコピーしたいのですが ・エク 4 2023/03/09 08:56
- その他(パソコン・周辺機器) NVIDIAのシェーダーキャッシュ 1 2022/05/30 22:36
- その他(コンピューター・テクノロジー) 外付けHDDや外付けSSDはスマホで書き込むことは出来るのでしょうか?それともパソコンがないと書き込 3 2023/05/30 20:54
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- Excel(エクセル) 荷捌作業効率をあげるためのエクセル関数を教えてください。 8 2022/10/07 08:17
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Excel(エクセル) エクセルでSUMIFS関数で条件範囲の部分が#valueになる。 4 2023/04/28 12:42
- 一眼レフカメラ カメラの内蔵メモリー(バッファ)に記録された撮影データが、SDカードに書き込まれるタイミングは? 4 2023/05/02 23:09
- UNIX・Linux VirtualBox ゲストOSにPC内蔵HDDのパーティションをマウントする方法は? 2 2023/05/06 22:52
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
hdmiはパラレル?シリアル?
-
TCPではなく、UDPが音声や動画...
-
暗号解読について教えてください
-
Raid1(ミラーリング)とRaid5...
-
ITパスポート 基礎論理の解き方
-
ステップ数について
-
ステップ数??
-
クロック周波数の計算問題について
-
L2スイッチの管理VLANに...
-
ubuntuで デイスク/deb/loopと...
-
今度こそタイピングをマスター...
-
磁気ディスクのアクセス時間の...
-
100台のPCをLAN接続する時に必...
-
ブラインドタッチ、苦手なんで...
-
厳密な意味でのネットワークア...
-
アセンブラでmain関数から作成...
-
レジスタについて
-
最大スタックサイズを大きくす...
-
パソコンでインターネット接続...
-
半導体の前工程と後工程について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
hdmiはパラレル?シリアル?
-
TCPではなく、UDPが音声や動画...
-
ITパスポート 基礎論理の解き方
-
15パズルゲームについて
-
線形符号の生成行列、検査行列...
-
RAID 5 のパリティ生成のタイミ...
-
友達の質問に回答したいんです...
-
暗号解読について教えてください
-
元の個数について(群論)
-
イーサネット10Mbpsの通信速度...
-
偶数パリティチェック
-
ネットしてるだけでもデータ伝...
-
RAID5が理解できない(理論です)
-
PLCのエラー内容
-
7bitのデータ列に1bitのパリテ...
-
Raid1(ミラーリング)とRaid5...
-
ステップ数について
-
ubuntuで デイスク/deb/loopと...
-
パソコンでインターネット接続...
-
プログラムの規模を表す単位「k...
おすすめ情報