私はこれについての真っ直ぐな答えを見つけようとしてきましたが、とらえどころのないことが証明されました。この質問とその答えは近いですが、私が望む詳細を本当に教えてくれません。私が知っていると思うことから始めましょう。
標準のブロックデバイスを使用して実行sudo blockdev --report
すると、次のような結果が得られます。
RO RA SSZ BSZ StartSec Size Device
rw 256 512 4096 0 500107862016 /dev/sda
rw 256 512 4096 2048 399999238144 /dev/sda1
rw 256 512 1024 781252606 1024 /dev/sda2
ここ--setra
で、パーティションのいずれかを使用してそのデフォルトの256から128に変更すると、ブロックデバイス全体で次のようになります。
sudo blockdev --setra 128 /dev/sda1
sudo blockdev --report
RO RA SSZ BSZ StartSec Size Device
rw 128 512 4096 0 500107862016 /dev/sda
rw 128 512 4096 2048 399999238144 /dev/sda1
rw 128 512 1024 781252606 1024 /dev/sda2
これは私にとって完全に理にかなっています-ブロックレベルのデバイスはパーティションではなく設定の場所であるため、すべて変更されます。また、RA設定とデバイスのデフォルトの関係は私にとって理にかなっています。一般的には次のとおりです。
RA * sector size (default = 512 bytes)
したがって、上記で行ったデフォルトのセクターサイズの変更は、先読みを128kから64kに減らします。これまでのところ、すべて順調です。
ただし、ソフトウェアRAIDまたはLVMとデバイスマッパーを追加するとどうなりますか?代わりにレポートが次のようになっていると想像してください。
RO RA SSZ BSZ StartSec Size Device
rw 256 512 4096 0 10737418240 /dev/xvda1
rw 256 512 4096 0 901875499008 /dev/xvdb
rw 256 512 4096 0 108447924224 /dev/xvdj
rw 256 512 4096 0 108447924224 /dev/xvdi
rw 256 512 4096 0 108447924224 /dev/xvdh
rw 256 512 4096 0 108447924224 /dev/xvdg
rw 4096 512 4096 0 433787502592 /dev/md0
rw 4096 512 512 0 429496729600 /dev/dm-0
この場合、mdadmによって作成されたmd0の上に、デバイスにマップされたdm-0 LVMデバイスがあります。これは、実際には4つのデバイスxvdg-jにまたがるRAID0ストライプです。
md0とdm-0の両方のRAの設定は4096で、ブロックデバイスよりもはるかに高くなっています。したがって、ここでいくつかの質問:
- RA設定は仮想ブロックデバイスチェーンにどのように渡されますか?
- それが実際にアクセスしているトップレベルのブロックデバイスであるため、dm-0はすべてを破りますか?
- 思い
lvchange -r
DM-0のデバイスに影響を与えるし、ここに表示されていませんか?
単純な場合、使用している仮想ブロックデバイスからのRA設定が渡されますが、それはdm-0(またはmd0)からの読み取りが4 x 4096 RA読み取りに変換されることを意味しますか?(各ブロックデバイスに1つ)。もしそうなら、それはこれらの設定が上記のシナリオの先読みのサイズを爆発させることを意味します。
次に、先読み設定が実際に何をしているのかを理解するという点で:
仮想デバイスの実際の先読み値を決定するための上記のセクターサイズに相当するものを使用します。
- RAIDのストライプサイズ(md0用)?
- 他のセクターサイズと同等のものはありますか?
- それは構成可能ですか?
- FSは役割を果たしますか(主にext4とXFSに興味があります)?
- または、単に渡された場合、単にトップレベルデバイスからのRA設定に実際のブロックデバイスのセクターサイズを掛けたものですか?
最後に、ストライプサイズとRA設定の間に望ましい関係はありますか(たとえば)。ここで、ストライプがRAIDデバイスから引き出される最小の要素である場合、理想的には、その最小単位のデータを処理するために2つのディスクアクセスを必要とせず、RAを作成したいと考えています。単一のアクセスで要求を満たすのに十分な大きさ。