linux:uwagi_dotyczace_raid-a_programowego

Raid Programowy

Format i położenie superbloku

Przykład 1:

$ cat /proc/mdstat 
Personalities : [raid1] 
md1 : active raid1 sda5[0] sdb5[1]
      293941184 blocks [2/2] [UU]

Zazwyczaj listing wygląda tak, jak powyżej. To jest superblok w formacie/wersji 0.9.

  1. ogramniczenia: do 28 urządzeń w jednej macierzy; wielkość macierzy do 2TB
  2. metadane znajdują się na końcu partycji/dysku
  3. jest automatycznie wykrywany przez jądro w czasie sartu - tzn w przypadku, kiedy sterowniki md i raid1 są wkompilowane w jądro.

Przykład 2:

$ cat /proc/mdstat 
Personalities : [raid1] 
md0 : active raid1 sda2[0] sdb2[1]
      29294452 blocks super 1.0 [2/2] [UU]

super 1.0 - oznacza superblok w nowszej wersji. Występuje w trzech wariantach:

  1. 1.0 - na końcu partycji
  2. 1.1 - na początku partycji (takiej partycji nie da się zamontować oddzielnie)
  3. 1.2 - 4K od początku partycji.

Taka macierz nie jest automatycznie wykrywana przy starcie przez sterownik md w jądrze (potrzebny jest ramdysk z odpowiednimi skryptami - współczesne dysrtybucje tak właśnie rozwiązują ten problem).

Format superbloku w wersji 1.X jest opisany na przykład tu: linux-raid.osdl.org/index.php/RAID_superblock_formats#The_version-1_superblock_format_on-disk_layout.

Narzędzia

O formacie superbloku decyduje opcja -e <wartość> (lub –metadata=<wartość>) polecenia mdadm. Dopuszczalne wartości to:

  1. 0, 0.90, default - klasyczny superblok
  2. 1, 1.0, 1.1, 1.2 - nowy format

Przykład:

mdadm --create --level=1 --raid-devices=2 --spare-devices=0 --metadata=0 /dev/md0 /dev/sda2 /dev/sdb2

W tej chwili nie ma (jeszcze) możliwości konwersji pomiędzy formatami superbloków (oczywiście w przypadku raid-1 jest to dość łatwe).

Partycje

Od jądra w wersji 2.6.28 wszystkie urządzenia md mogą być dzielone na partycje. W wersjach wcześniejszych było to możliwe jedynie na urządzeniach utworzonych polecenie mdadm z odpowiednim przełącznikiem.