SVN: PLD-doc/book/pl_book__dysk/pl_konfiguracja__soft_raid.sec

qwiat qwiat w pld-linux.org
Nie, 31 Gru 2006, 00:26:50 CET


Author: qwiat
Date: Sun Dec 31 00:26:49 2006
New Revision: 8121

Modified:
   PLD-doc/book/pl_book__dysk/pl_konfiguracja__soft_raid.sec
Log:
- reorganizacja rozdzialu
- dodanie info o UDEV
- dodanie info o initrd
- dodane porady planowania macierzy
- dodane linki do innych rozdzialow
- usuniete linki do stron internetowych zwiazanych z LVM (nie ten rozdzial)
- dodanie dwoch slow o usludze mdadm
- kosmetyka


Modified: PLD-doc/book/pl_book__dysk/pl_konfiguracja__soft_raid.sec
==============================================================================
--- PLD-doc/book/pl_book__dysk/pl_konfiguracja__soft_raid.sec	(original)
+++ PLD-doc/book/pl_book__dysk/pl_konfiguracja__soft_raid.sec	Sun Dec 31 00:26:49 2006
@@ -63,7 +63,7 @@
 			<listitem>
 				<para>
 					RAID 5 (<literal>raid5</literal>, <literal>5</literal>)
-					- rozpraszane są zarówno dane jak i	informacje o
+					- rozpraszane są zarówno dane jak i informacje o
 					parzystości na wszystkich dyskach, dzięki czemu
 					wydajność jest wyższa niż w RAID 4; pojemność n-1,
 					wymaga przynajmniej trzech dysków.
@@ -90,6 +90,8 @@
 				</para>
 			</listitem>
 		</itemizedlist>
+		Najczęściej stosuje się macierze RAID1 i RAID5, do specyficznych
+		zastosowań używa się RAID0, pozostałe są rzadziej spotykane.
 	</para>
 	
 	<section id="soft_raid_instalacja">
@@ -110,17 +112,26 @@
 		</para>
 	</section>
 
-	<section id="soft_raid_partycje">
-		<title>Podział na partycje</title>
+	<section id="soft_raid_planowanie">
+		<title>Planowanie macierzy</title>
 		<para>
-			Zaczynamy od założenia partycji na każdym dysku,
-			który ma wchodzić w skład macierzy. Partycje powinny
-			być równe, w przeciwnym razie wielkość macierzy będzie
-			wyznaczana przez najmniejszą partycję. Najlepszym
-			narzędziem do tego celu jest program fdisk, gdyż pozwala
-			dzielić dysk z dokładnością do cylindra. Więcej informacji
-			o podziale na partycje zdobędziemy w
-			<xref linkend="pl_dysk_partycje" />.
+			Jeśli zamierzamy tworzyć macierz opartą na partycjach, 
+			to musimy założyć partycje na każdym dysku, 
+			który ma wchodzić w skład macierzy. Urządzenie z
+			których składamy macierz powinny być równe,
+			w przeciwnym razie wielkość macierzy będzie
+			wyznaczana przez najmniejszą partycję. 
+		</para>
+		<para>
+			Kernel może być ładowany wyłącznie z macierzy RAID 1, jeśli więc będziemy
+			chcieli używać np. RAID5 na głównym systemie plików to musimy umieścić
+			gałąź <filename>/boot</filename> na osobnej,  niewielkiej macierzy RAID1.
+			Należy oprzeć się pokusie umieszczenia obszaru wymiany (swap) na RAID0,
+			gdyż awaria jednego z dysków może doprowadzić do załamania systemu.
+		</para>
+		<para>
+			Więcej informacji o podziale na partycje i planowaniu miejsca na dysku
+			zdobędziemy w <xref linkend="pl_dysk_partycje" />.
 		</para>
 	</section>
 		
@@ -131,28 +142,34 @@
 			polecenia mdadm:
 		</para>
 		<para>
-			<emphasis>mdadm -C {$dev_RAID} --level={$rodzaj} --raid-devices={$ilość_partycji} 				{$lista_partycji}</emphasis>
+			<emphasis>mdadm -C {$dev_RAID} --level={$rodzaj} --raid-devices={$ilość_urzadzen} 				{$urzadzenia}</emphasis>
 		</para>
 		<para>
 		<itemizedlist>
-			<listitem><para>-C, --create - utwórz nową macierz.</para></listitem>
-			<listitem><para>-l, --level - ustaw poziom RAID np: linear,
+			<listitem><para><option>-C, --create</option> - utwórz nową macierz.</para></listitem>
+			<listitem><para><option>-l, --level</option> - ustaw poziom RAID np: linear,
 			raid0, 0, stripe, raid1, 1, mirror, raid4, 4, raid5, 5, raid6,
 			6; Jak możemy zauważyć niektóre opcje są synonimami.
 			Przy opcji Building pierwsze mogą być użyte: raid0, raid1, raid4, raid5.
 			</para></listitem>
-			<listitem><para>-n, --raid-devices	- liczba aktywnych
+			<listitem><para><option>-n, --raid-devices</option> - liczba aktywnych
 				urządzeń (dysków) w macierzy
 			</para></listitem>
-			<listitem><para>-x, --spare-devices	- liczba zapasowych (eXtra)
+			<listitem><para><option>-x, --spare-devices</option> - liczba zapasowych (eXtra)
 			urządzeń w tworzonej macierzy. Zapasowe dyski można dodawać i
 			usuwać także później.</para></listitem>
-			<listitem><para>-v --verbose		- tryb "gadatliwy"</para></listitem>
+			<listitem><para><option>-v --verbose</option> - tryb "gadatliwy"</para></listitem>
+			<listitem>
+				<para>
+					<option>--auto=yes</option> - automatyczne tworzenie urządzeń w
+					<filename>/dev/</filename> przez mdadm (stosowane zwykle przy
+					użyciu UDEVa), więcej w Poradach na końcu rozdziału.
+				</para>
+			</listitem>
 		</itemizedlist>
 		</para>
 		<para>
 			Przykłady tworzenia macierzy różnego typu:
-
 			<itemizedlist>
 				<listitem>
 					<para>
@@ -160,23 +177,24 @@
 						<filename>/dev/sda1</filename> i
 						<filename>/dev/sdb1</filename> jako
 						<filename>/dev/md0</filename>
-						<screen># mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sda1 /dev/sdb1</screen>
+						<screen># mdadm -C -v /dev/md0 --level=0 -n 2 /dev/sda1 /dev/sdb1</screen>
 				</para>
 			</listitem>
 			<listitem>
 				<para>
 					RAID1 na dwóch partycjach - <filename>/dev/sdc1</filename>
 					i <filename>/dev/sdd1</filename> jako <filename>/dev/md1</filename>
-					<screen># mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 /dev/sdc1 /dev/sdd1</screen>
+					<screen># mdadm -C -v /dev/md1 --level=1 -n 2 /dev/sdc1 /dev/sdd1</screen>
 				</para>
 			</listitem>
 			<listitem>
 				<para>
 					RAID5 na 4 partycjach w tym jedna jako zapasowa
-					(spare), jeśli nie podasz ile ma być zapasowych
+					(hot spare), jeśli nie podasz ile ma być zapasowych
 					partycji domyślnie 1 zostanie zarezerwowana na
 					zapasową
-					<screen># mdadm --create --verbose /dev/md2 --level=5 --raid-devices=4 --spare-devices=1 /dev/sda3 /dev/sdb3 /dev/sdc3 /dev/sdd3</screen>
+					<screen># mdadm -C -v /dev/md2 --level=5 -n 4 --spare-devices=1 \
+/dev/sda3 /dev/sdb3 /dev/sdc3 /dev/sdd3</screen>
 				</para>
 			</listitem>
 		</itemizedlist>
@@ -189,7 +207,7 @@
 			czyli zakładamy system plików i odwołujemy się do niej np: jako
 			<filename>/dev/md0</filename> np.:
 			<screen># mkfs.xfs /dev/md0</screen>
-			Teraz możemy dokonać odpowiednich poprawek w pliku
+			Teraz możemy dokonać odpowiednich wpisów w pliku
 			<filename>/etc/fstab</filename>.
 		</para>
 		<para>
@@ -207,22 +225,53 @@
 ARRAY /dev/md2 devices=/dev/sda3,/dev/sdb3,/dev/sdc3,/dev/sdd3</screen>
 		</para>
 		<para>
-			Jeśli któraś z macierzy ma obsługiwać główny system plików
-			to musimy jeszcze skonfigurować bootloader (w następnym rozdziale),
-			w przeciwnym wypadku już możemy ich używać. Dla pewności
-			możemy zrestartować system i sprawdzić czy macierze się składają
-			poprawnie.
+			Macierze (inne niż rootfs) są składane przez
+			rc-skrypt <filename>/etc/rc.d/rc.sysinit</filename>,
+			na podstawie powyższych wpisów konfiguracyjnych, zatem po restarcie
+			maszyny będziemy już z nich korzystać.
+			Jeśli mamy macierz z głównym systemem plików, to musimy
+			jeszcze przygotować initrd i bootloader (poniżej).
 		</para>
 	</section>
-	
-	<section id="soft_raid_bootloader">
-		<title>Konfiguracja bootloadera</title>
+
+
+	<section id="soft_raid_initrd">
+		<title>Initrd</title>
 		<para>
-			Jeśli chcemy by system startował z macierzy RAID1 (RAID0 i RAID2-5 nie są obsługiwane przez 
-			<productname>LILO\GRUB</productname>) musimy
-			skonfigurować bootloader, w przypadku <productname>LILO</productname>
-			w <filename>/etc/lilo.conf</filename> należy podać odpowiednie
-			urządzenie dla opcji "root=" i "boot=":
+			Jeśli główny system plików ma być na macierzy to musimy 
+			wygenerować obraz <emphasis>initrd</emphasis> z modułami,
+			które pozwolą na złożenie macierzy.
+			Na początek musimy mieć zainstalowany
+			pakiet mdadm-initrd. Generowanie takiego initrd przebiega
+			dokładnie tak samo jak dla zwykłego urządzenia blokowego,
+			musimy się tylko upewnić, że do obrazu trafiły dodatkowo
+			moduły: md-mod, odpowiednio raid0, raid1... i ewentualnie
+			xor. Generowanie obrazu initrd szczegółowo zostało opisane
+			w <xref linkend="kernel-urzadzenia_geninitrd" />.
+		</para>
+	</section>
+
+
+	<section id="soft_raid_boot_na_raid1">
+		<title>Bootloader</title>
+		<para>
+			Jeśli na raidzie ma się znaleźć głównym system plików (bez
+			<filename>/boot</filename>), to konfiguracja jest identyczna
+			jak w przypadku klasycznych urządzeń blokowych.
+		</para>
+		<para>
+			Jeśli gałąź <filename>/boot</filename>
+			ma się znaleźć na macierzy (wyłącznie RAID1) to powinniśmy
+			zainstalować bootloader na każdym z dysków wchodzących w
+			skład macierzy, dzięki czemu będziemy mogli
+			uruchomić system mimo awarii jednego z dysków. 
+			RAID0 i RAID2-5 nie są obsługiwane przez 
+			<productname>LILO\GRUB</productname>
+		</para>
+		<para>
+			W <productname>LILO</productname> w pliku <filename>/etc/lilo.conf</filename>
+			należy podać odpowiednie
+			urządzenie dla opcji <option>root</option> i <option>boot</option>:
 <screen>boot=/dev/md0
  raid-extra-boot="/dev/sda,/dev/sdb"
  
@@ -230,7 +279,10 @@
      label=pld
      root=/dev/md0
      initrd=/boot/initrd</screen>
-			Po zmodyfikowaniu konfiguracji musimy zaktualizować bootloader
+			Opcja w opcji <option>raid-extra-boot</option> wskazujemy urządzenia
+			na których ma zostać zainstalowany bootloader (urządzenia wchodzące
+			w skład <filename>/dev/md0</filename>). Po zmodyfikowaniu
+			konfiguracji musimy zaktualizować bootloader
 			poleceniem <command>lilo</command>.
 		</para>
 		
@@ -288,6 +340,7 @@
 will insure that if id0 fails that you can still boot to the os with id0
 pulled and not have to have an emergency boot floppy.</screen>
 
+			Bootloadery szczegółowo opisaliśmy w <xref linkend="bootloader_wstep" />.
 		</para>
 	</section>
 	<section id="soft_raid_diagnostyka">
@@ -304,22 +357,54 @@
 
 	<section id="soft_raid_porady">
 		<title>Porady</title>
-		<para>
-			Mając dwie macierze RAID0 np: <filename>/dev/md0</filename> i
-			<filename>/dev/md1</filename>, możemy utworzyć macierz RAID10
-			jako <filename>/dev/md2</filename> 
-			<screen># mdadm --create --verbose /dev/md2 --level=1 --raid-devices=2 /dev/md0 /dev/md1</screen>
-			analogicznie RAID01 tworzymy mając dwie macierze RAID1.
-		</para>
+		<itemizedlist>
+			<listitem>
+				<para>
+					Mając dwie macierze RAID0 np: <filename>/dev/md0</filename> i
+					<filename>/dev/md1</filename>, możemy utworzyć macierz RAID10
+					jako <filename>/dev/md2</filename> 
+					<screen># mdadm -C -v /dev/md2 --level=1 -n 2 /dev/md0 /dev/md1</screen>
+					analogicznie RAID01 tworzymy mając dwie macierze RAID1.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					Aby samemu złożyć macierz (z np: <productname>PLD Live CD</productname>)
+					wydajemy polecenie, które może wyglądać następująco:
+					<screen># mdadm -A /dev/md0 /dev/hda /dev/hdb</screen>
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					Jeśli macierz jest składana w trakcie startu systemu
+					to automatycznie tworzony jest plik urządzenia <filename>/dev/mdX</filename>.
+					Kiedy właśnie tworzymy macierz lub nie startowała wraz z system, to możemy
+					skorzystać z gotowych urządzeń w <filename>/dev</filename> (pakiet dev)
+					lub samemu je utworzyć (pakiet udev).
+					Udev nie tworzy urządzeń <filename>/dev/md0</filename>,
+					więc musimy w tym celu użyć parametru <option>--auto=yes</option>
+					w wywołaniach programu mdadm, lub utworzyć je poleceniem
+					<command>mknod</command>. Urządzeniu nadajemy
+					<literal>major</literal> o wartości 9 i kolejny, niepowtarzalny
+					numer <literal>minor</literal>. 
+					Nie musimy się za to martwić o moduły, są ładowane automatycznie przez mdadm lub
+					z initrd. Więcej o UDEV w <xref linkend="kernel-urzadzenia_moduly_udev" />.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					Wraz z pakietem mdadm dostarczany jest rc-skrypt uruchamiający mdadm
+					w trybie monitorowania (jako demona). Więcej szczegółów w dokumentacji
+					programu mdadm.
+				</para>
+			</listitem>
+		</itemizedlist>
+
 	</section>
 
 	<section id="soft_raid_dodatki">
 		<title>Dodatki</title>
 		<para>
-			Uruchomienie macierzy z np: <productname>PLD Live CD</productname>
-			<screen># mdadm -A /dev/md0 /dev/hda /dev/hdb</screen>
-		</para>
-		<para>
 			Literatura:
 			<itemizedlist>
 				<listitem>
@@ -331,12 +416,6 @@
 				<listitem>
 					<para><ulink url="http://gentoo-wiki.com/HOWTO_Gentoo_Install_on_Software_RAID">http://gentoo-wiki.com/HOWTO_Gentoo_Install_on_Software_RAID</ulink></para>
 				</listitem>
-				<listitem>
-				<para><ulink url="http://gentoo-wiki.com/HOWTO_Install_Gentoo_on_an_LVM2_root_partition">http://gentoo-wiki.com/HOWTO_Install_Gentoo_on_an_LVM2_root_partition</ulink></para>
-				</listitem>
-				<listitem>
-				<para><ulink url="http://gentoo-wiki.com/HOWTO_Gentoo_Install_on_Software_RAID_mirror_and_LVM2_on_top_of_RAID">http://gentoo-wiki.com/HOWTO_Gentoo_Install_on_Software_RAID_mirror_and_LVM2_on_top_of_RAID</ulink></para>
-				</listitem>
 			</itemizedlist>
 		</para>
 	</section>


Więcej informacji o liście dyskusyjnej pld-doc