
Ich habe ein RAID 10-Array aus zwei SSDs mit mdadm unter Linux,
Ich habe es erstellt mit
mdadm --create --verbose --level=10 --metadata=1.2 --chunk=512 --raid-devices=2 --layout=f2 /dev/md/MyRAID10Array /dev/nvme0n1p3 /dev/nvme1n1p3
aber ich frage mich, warum ich beim Betrachten des Arrays eine Blockgröße von 65536 KB erhalte. Ich denke auch, dass --chunk=512 möglicherweise zu groß ist.
Von cat /proc/mdstat
md127 : active raid10 nvme1n1p3[1] nvme0n1p3[0]
942664704 blocks super 1.2 512K chunks 2 far-copies [2/2] [UU]
[=====>...............] resync = 29.5% (278703616/942664704) finish=55.2min speed=200170K/sec
bitmap: 6/8 pages [24KB], 65536KB chunk
Antwort1
Laut dem mdadm-Wiki unterhttps://raid.wiki.kernel.org/index.php/Mdstat, was Sie dort sehen, ist der Bitmap-Block, nicht der Array-Block. Die Größe des Array-Blocks beträgt 512 KB, genau wie Sie sie gemäß der Meldung zwei Zeilen darüber eingestellt haben. Obwohl das Wiki die Bedeutung des Bitmap-Block-Werts nicht ganz klar beschreibt, heißt es dort: „Das Bitmap im Arbeitsspeicher verwendet 16 Bits für jeden Bitmap-Block, um alle laufenden Schreibvorgänge in den Block zu zählen, sodass es tatsächlich bis zu 16-mal größer ist als das Bitmap auf der Festplatte.“ Es ist möglich, dass der „Bitmap-Block“ tatsächlich die Größe einer „Seite“ Bitmap im Arbeitsspeicher hat. Ihr Array meldet nur 8 Seiten Bitmap, von denen 6 in den Arbeitsspeicher geladen sind; sobald Ihre Neusynchronisierung abgeschlossen ist, sollte die Seitenanzahl für das Bitmap sinken.
Antwort2
chunk
Definieren Sie den RAID-Array-Elementstreifen (d. h.: wie groß sind die Datenstücke - Blöcke). Von derManpage:
-c, --chunk=
Specify chunk size in kilobytes. The default when
creating an array is 512KB.
Dies wird durch mdstat
die zweite Zeile bestätigt:
942664704 blocks super 1.2 *512K chunks* 2 far-copies [2/2] [UU]
Datenblöcke unterscheiden sich vonBitmapChunks, die die aktiven Zonen definieren, die von jedem Bitmap-Bit abgedeckt werden. Diese Art von Chunks sind viel größer – in Ihrem Fall 64 MB:
bitmap: 6/8 pages [24KB], *65536KB chunk*
Im Allgemeinen müssen Sie diese Parameter für ein RAID1/10 nicht anpassen. Beachten Sie jedoch, dass die Standardeinstellungen für rotierende Medien (HDDs) und nicht für schnelle SSDs optimiert sind. Sie können also, wenn Sie möchten, mit kleineren Datenblöcken (z. B. 8-64 KB) experimentieren. Ich würde mir allerdings nicht die Mühe machen, die Bitmap anzupassen.