8個のディスクが10個ありますTBそれぞれハードウェアRAID6にあります(したがって、8個のデータディスク+ 2個のパリティ)。 非常によく似た質問 の回答に従って、必要なすべてのパラメーターを自動検出しますが、最後にXFSファイルシステムを作成すると、
# mkfs.xfs /dev/vgdata/lvscratch
meta-data=/dev/vgdata/lvscratch isize=256 agcount=40, agsize=268435455 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=10737418200, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=521728, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
これは、そのストライプが使用されていないようです。サイトごとに異なる用語(ストリップサイズ、ストライプサイズ、ストライプチャンクなど)が見つかったため、手動パラメーターが正しいかどうかを確認したいと思います。
RAID 6は256KBのストリップサイズでセットアップされています。
# ./storcli64 /c0/v1 show all | grep Strip
Strip Size = 256 KB
したがって、ストライプサイズは8 * 256KB = 2048KB = 2MBです。これは正しいです? this (そして私が正しく理解していれば)によれば、pvcreate
はストリップ(またはチャンク)のサイズをdataalignment
への引数として使用する必要があります。
# pvcreate --dataalignment 256K /dev/sdb
Physical volume "/dev/sdb" successfully created
パーティションなしでRAIDデバイス全体を使用したことに注意してください。今
# vgcreate vgdata /dev/sdb
Volume group "vgdata" successfully created
デフォルトのPEサイズが4MBの場合は、ストライプサイズ2MBの倍数であるため、問題ありません。正しい?
これで、vgroupの一部が論理ボリュームに割り当てられました。
# lvcreate -L 40T vgdata -n lvscratch
Logical volume "lvscratch" created.
最後に、ファイルシステムが作成されますが、正しい引数(ストライプサイズ2MB、ストライプ幅8)が設定されています。
# mkfs.xfs -d su=2048k,sw=8 /dev/vgdata/lvscratch
meta-data=/dev/vgdata/lvscratch isize=256 agcount=41, agsize=268434944 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=10737418240, imaxpct=5
= sunit=512 swidth=4096 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=521728, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
このアプローチは正しいですか?論理ボリュームまたはボリュームグループの拡張について、注意することはありますか?ボリュームグループが別のRAID6システムで拡張される場合、ストリップサイズは現在のRAID6と同じである必要があると思います。
[〜#〜] edit [〜#〜]:私の混乱は、主にストライプに接続された用語のさまざまな使用法に基づいているようです。私のRAIDコントローラーの製造元、LSIまたはAvago 次のように用語を定義します :
ストライプ幅
ストライプ幅は、ストライピングが実装されているドライブグループに含まれるドライブの数です。たとえば、ディスクストライピングを備えた4つのディスクドライブグループのストライプ幅は4です。
ストライプサイズ
ストライプサイズは、RAIDコントローラーがパリティドライブを含まない複数のドライブにわたって書き込むインターリーブデータセグメントの長さです。たとえば、64 KBのディスク領域を含み、ストライプ内の各ディスクに16 KBのデータが存在するストライプを考えてみます。この場合、ストライプサイズは64 KBで、ストリップサイズは16 KBです。
ストリップサイズ
ストリップサイズは、1つのドライブに存在するストライプの部分です。
Wikipedia (そして [〜#〜] ibm [〜#〜] )は他の定義を使用しているようです:
操作が次のディスクで続行される前にディスクに読み書きされるシーケンシャルデータのセグメントは、通常、チャンク、ストライド、またはストライプユニットと呼ばれ、シングルストライプオペレーションを形成する論理グループは、ストリップまたはストライプと呼ばれます。 1チャンク(ストライプユニット)のデータ量は、多くの場合バイト単位で表され、チャンクサイズ、ストライドサイズ、ストライプサイズ、ストライプ深度、またはストライプ長とさまざまに呼ばれます。アレイ内のデータディスクの数はストライプ幅と呼ばれることもありますが、ストライプ内のデータ量を表す場合もあります。
1つのストライドのデータ量にアレイのデータディスクの数を掛けたもの(つまり、幾何学的な類推では、ストライプの深さとストライプの幅の積)は、ストライプサイズまたはストライプ幅と呼ばれることがあります。ワイドストライピングは、データのチャンクが複数のアレイ(おそらくシステム内のすべてのドライブ)に分散している場合に発生します。狭いストライピングは、データのチャンクが1つのアレイのドライブ全体に分散している場合に発生します。
ウィキペディアのテキストでも、ストライプサイズは2つの異なる意味で使用されています。ただし、xfsファイルシステムを作成するときに、単一のドライブに格納されている単一のチャンクのサイズをsuの引数として指定する必要があると思います。これは、mkfs.xfs -d su=256k,sw=8
上記のコマンドで。正しい?
「ストリップサイズ」と「ストライプサイズ」ではなく、XFSのマニュアルページでは、それぞれ「ストライプユニット」と「ストライプ幅」という用語を使用しています。
これにより、mkfs.xfs(8)
のマニュアルページにある混乱を招くテキストをデコードできます。
sunit=value
This is used to specify the stripe unit for a RAID
device or a logical volume. The value has to be
specified in 512-byte block units. Use the su subop‐
tion to specify the stripe unit size in bytes. This
suboption ensures that data allocations will be
stripe unit aligned when the current end of file is
being extended and the file size is larger than
512KiB. Also inode allocations and the internal log
will be stripe unit aligned.
su=value
This is an alternative to using sunit. The su sub‐
option is used to specify the stripe unit for a RAID
device or a striped logical volume. The value has to
be specified in bytes, (usually using the m or g
suffixes). This value must be a multiple of the
filesystem block size.
したがって、配列が256KiBのストリップサイズを報告している場合は、su=256K
またはsunit=512
(512 512バイトのブロックは256KiBに等しいため)。
swidth=value
This is used to specify the stripe width for a RAID
device or a striped logical volume. The value has to
be specified in 512-byte block units. Use the sw
suboption to specify the stripe width size in bytes.
This suboption is required if -d sunit has been
specified and it has to be a multiple of the -d
sunit suboption.
sw=value
suboption is an alternative to using swidth. The sw
suboption is used to specify the stripe width for a
RAID device or striped logical volume. The value is
expressed as a multiplier of the stripe unit, usu‐
ally the same as the number of stripe members in the
logical volume configuration, or data disks in a
RAID device.
When a filesystem is created on a logical volume
device, mkfs.xfs will automatically query the logi‐
cal volume for appropriate sunit and swidth values.
10スピンドル(8データ、2パリティ)では、どちらかを指定しますsw=8
(データスピンドル)またはswidth=2M
(ストリップサイズにデータスピンドルを掛けたもの)。
注意xfs_info
およびmkfs.xfs
sunit
およびswidth
を512Bセクターの単位で指定されていると解釈します。残念ながら、それは彼らが報告されたユニットではありません。 xfs_info
およびmkfs.xfs
512Bセクターではなく、基本ブロックサイズ(bsize
)の倍数でそれらを報告します。
TL; DR:
これらを指定する最も簡単な方法は、通常、ストリップサイズとスピンドル数によって、したがってsu=
ストリップサイズとsw=
スピンドル数。
論理ボリュームはストライプ化されていなかったため(-i 8 -I 256k)、xfsファイルシステムには連続した単一のディスクしか表示されません
古い質問ですが、同じ間違いから他の検索者を救ってください。