<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="cs">
	<id>https://wiki.slavicin.unart.cz/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Charlie</id>
	<title>Wiki UnArt Slavičín - Příspěvky [cs]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.slavicin.unart.cz/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Charlie"/>
	<link rel="alternate" type="text/html" href="https://wiki.slavicin.unart.cz/index.php/Speci%C3%A1ln%C3%AD:P%C5%99%C3%ADsp%C4%9Bvky/Charlie"/>
	<updated>2026-04-18T00:40:26Z</updated>
	<subtitle>Příspěvky</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.slavicin.unart.cz/index.php?title=Linux_SW_RAID&amp;diff=3686</id>
		<title>Linux SW RAID</title>
		<link rel="alternate" type="text/html" href="https://wiki.slavicin.unart.cz/index.php?title=Linux_SW_RAID&amp;diff=3686"/>
		<updated>2011-06-22T19:42:50Z</updated>

		<summary type="html">&lt;p&gt;Charlie: /* Nastavení parametrů synchronizace */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;V Linuxu můžeme použít 3 typy RAIDů:&lt;br /&gt;
* Linux SW RAID, který je realizován kompletně Linux-em&lt;br /&gt;
* [https://help.ubuntu.com/community/FakeRaidHowto FakeRAID] neboli SW RAID v BIOSu počítače, který je realizován BIOSem, ale nad kterým v Linux-u máme kontrolu jen v případě, že máme funkční Linux driver k chipsetu, který tento SW RAID realizuje&lt;br /&gt;
* plně HW RAID - v základních sestavách běžných počítačů a serverů jej nehledejte, za řadič plně HW RAID si musíte připlatit. Z vlastní [http://vyuka.fai.utb.cz/mod/forum/discuss.php?d=1567 neblahé zkušenosti] HW RAID doporučuji pouze v případě, kdy máte více strojů se stejným řadičem, jinak v případě, že máte stroj pouze 1, řadič umře a stejný se už dávno neprodává, už z disků s např. RAID5 data neodstanete. Proto &#039;&#039;&#039;HW RAID v tomto článku nebudu vůbec řešit&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Výhody a nevýhody FakeRAIDu a Linux SW RAIDu=&lt;br /&gt;
&lt;br /&gt;
Jeden aspekt, který nemůžu srovnat, je hotswap disků. V Linux SW RAID je hotswap jednoduchý (viz níže). Jak se hotswap disků dělá v BIOS (Fake) RAIDu, netuším, nikdy jsem to nezkoušel.&lt;br /&gt;
&lt;br /&gt;
==Linux SW RAID==&lt;br /&gt;
*Výhody: &lt;br /&gt;
**pokud máte hotswap disky a správně nakonfigurovaný systém (viz kapitola o Hotswap), můžete za plného provozu serveru (bez výpadku služeb) odstranit pokažený disk a místo něj dát čerstvý nový. Nastavení nového disku totiž děláte z příkazové řádky Linuxu.&lt;br /&gt;
**do Linux SW RAIDu lze zapojit různě velké disky - nezapojují se totiž celé disky, ale jejich partitions. Pokud po letech provozu selže jeden ze starých disků a do RAIDu vložíme nový disk s násobnou velikostí, není jeho zbylá volná kapacita promarněna - můžeme ji využít na ukládání nekritických dat, popř. můžeme zbylou kapacitu do RAIDu zapojit později, až vyměníme i ten zbývající starý malý disk&lt;br /&gt;
**Linux SW RAID je nezávislý na HW počítače. Pokud [http://vyuka.fai.utb.cz/mod/forum/discuss.php?d=1567 shoří základní deska] a disky přežijí, můžete disky vložit do jakéhokoli jiného počítače a server máte okamžitě znovu online, v plné parádě včetně funkčního RAIDu, bez potřeby jakéhokoli nastavování v Linuxu.&lt;br /&gt;
**Linux SW RAID je plně funkční, odladěný a stabilní systém, určený pro nasazení v ostrém provozu. Což se mnohdy od Linux driverech BIOS SW RAIDu nedá říci.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Nevýhody:&lt;br /&gt;
**je potřeba se naučit syntaxi příkazů mdadm :-)&lt;br /&gt;
**ve srovnání s plně HW RAIDem asi menší rychlost a větší zátěž CPU&lt;br /&gt;
&lt;br /&gt;
==FakeRAID - BIOS SW RAID==&lt;br /&gt;
*Výhody:&lt;br /&gt;
**Je možný dual-boot Windows-Linux, oba OS vidí RAID jako jeden disk (u Linux serverů vás ale tato výhoda asi nezaujme..)&lt;br /&gt;
**Jednoduché ovládání - nemusíte se učit syntaxi příkazů mdadm :-)&lt;br /&gt;
**disky v SW BIOS RAIDu se v Linux-u tváří jako jeden disk, takže můžete nabootovat např. z nějakého live CD, které nemusí podporovat Linux SW RAID, a přesto uvidíte ten samý disk, který je stále plně funkční RAID, zatímco u disků Linux SW RAIDu byste viděli jeho jednotlivé komponenty. Novější Live CD si ale Linux SW RAID dokážou nadetekovat a normálně poskládat.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*Nevýhody:&lt;br /&gt;
**Problémy s výkonem - [http://vyuka.slfree.net/mod/forum/discuss.php?d=1371 viz tento report problému 50% výkonu čtení a 25% výkonu zápisu ve srovnání s Linux SW RAID]&lt;br /&gt;
**pokud jeden z disků v RAIDu umře a výrobce FakeRAIDu neposkytuje SW k jeho správě přímo ve vašem OS, pak musíte po vložení nového disku rebootovat a v BIOSu nový disk nastavit. Váš server bude v té době offline. Toto u Linux RAIDu nehrozí, pokud jsou vaše disky hotswap.&lt;br /&gt;
**Pokud umře základní deska, musíte najít nějakou se stejným BIOSem/chipsetem, jinak svoje diskové pole nesložíte. U RAID1 (mirroring) budete schopni provozovat aspoň jeden disk, ale pokud budete chtít poskládat z disků svého bývalého RAIDu opět funkční pole, s jiným BIOSem/chipsetem budete mít asi smůlu. V takovém případě budete muset vytvořit nové prázdné pole a na ně nahrát data ze zálohy.&lt;br /&gt;
**Linux nemusí mít ovladač pro daný BIOS SW RAID, nebo ovladač nemusí být stabilní - viz např. [http://forums.whirlpool.net.au/forum-replies-archive.cfm/818185.html FakeRAID pro chipset ICH9]. Což je u nového HW vcelku běžný problém. Pokud nemáte funkční ovladač, nedokážete pole z Linuxu ovládat, tj. nedokážete za provozu přidávat další disky, neuvidíte vzniklé chyby, neuvidíte postup synchronizace u nového disku atd.&lt;br /&gt;
**Většina BIOS SW RAIDů neumožňuje nastavovat parametry typu &amp;quot;Minimální/maximální rychlost synchronizace&amp;quot;, což může ovlivnit výkon vašeho serveru v době, kdy by se synchornizace prováděla&lt;br /&gt;
&lt;br /&gt;
=Ovládání Linux SW RAID=&lt;br /&gt;
==Hotswap disků==&lt;br /&gt;
Správná otázka: umí Linux SW RAID hotswap? Tj. můžu přijít k serveru, vytrhnout z něj za provozu disk bez toho, abych jej musel nejdřív na příkazové řádce označit jako vadný, a pak jej do systému za provozu vrátit? Tak, jak to umožňují plně HW RAID řadiče?&lt;br /&gt;
&lt;br /&gt;
Odpověď je: ano, je to možné. Návod jsem sepsal na [https://raid.wiki.kernel.org/index.php/Hotplug wiki Linux RAIDu].&lt;br /&gt;
&lt;br /&gt;
==Přidání disku do pole==&lt;br /&gt;
&lt;br /&gt;
Pokud chceme přidat do pole disk (např. poté, co jsme jej odstranili při výpadku pomocí mdadm -f), použijeme např. tyto příkazy:&lt;br /&gt;
&lt;br /&gt;
 mdadm -a /dev/md0 /dev/sda1&lt;br /&gt;
 mdadm -a /dev/md1 /dev/sda2&lt;br /&gt;
 mdadm -a /dev/md2 /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Popřípadě se dá použít i &lt;br /&gt;
 mdadm --re-add /dev/md0 /dev/sda1&lt;br /&gt;
&lt;br /&gt;
Rozdíl mezi &amp;quot;--add&amp;quot; a &amp;quot;--re-add&amp;quot; by měl být v tom, že re-add by při přidávání disku, který jsme před chvílí odebrali, při použití &amp;quot;write-intent bitmap&amp;quot; neměl dělat kompletní resync. Skutečnost je taková, že v takovém případě kompletní resync nevyvolá ani &amp;quot;--add&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Místo ručního přidávání disků můžete použít i tento skript, který výše uvedené příkazy udělá za vás - ale jen v případě, kdy již disk byl v poli zapojen a jednotlivé jeho RAID partitions mají na sobě všechna potřebná metadata, takže příkaz &amp;quot;mdadm --examine --scan /dev/sda1&amp;quot; vytiskne &amp;quot;ARRAY /dev/md0 level=raid1 num-devices=2 UUID=...&amp;quot;, tj zjistí, do kterého RAID zařízení daná partition patří:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 # Tento skript uložte v /usr/local/sbin/add-all-raid-parts&lt;br /&gt;
 for i in $( ls $1* ); do&lt;br /&gt;
        #split the output of mdadm scan (&amp;quot;ARRAY /dev/md? level=raid1 num-devices=2 UUID=...&amp;quot;)&lt;br /&gt;
        #so MD_DEVICE will contain /dev/md?&lt;br /&gt;
        read -d ] ARR MD_DEVICE REST&amp;lt; &amp;lt;(IFS=&#039; &#039;; echo `mdadm --examine --scan $i`)&lt;br /&gt;
        if [ &amp;quot;&amp;quot; != &amp;quot;$MD_DEVICE&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;Adding $i into RAID device=$MD_DEVICE&amp;quot;&lt;br /&gt;
                mdadm -a $MD_DEVICE $i&lt;br /&gt;
        fi&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Skript pak můžete zavolat např. takto:&lt;br /&gt;
 add-all-raid-parts /dev/sda&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Výpadek disku==&lt;br /&gt;
===Odstranění vadného disku===&lt;br /&gt;
Pokud je disk zcela mrtvý nebo odpojený - prostě není v zařízeních /dev/ a nemáte rozjetý [https://raid.wiki.kernel.org/index.php/Hotplug hotplug], musíte odstranit tento disk z vašeho pole takto:&lt;br /&gt;
 mdadm /dev/mdX --fail detached --remove detached&lt;br /&gt;
&lt;br /&gt;
Pokud disk ještě máte v zařízeních /dev (tj. pokud ještě nějakým způsobem žije, UDEV systém nebo reboot jej ještě neodstranil), označte jej jako vadný a odstraňte jej z pole, například takto:&lt;br /&gt;
&lt;br /&gt;
 mdadm -f /dev/md0 /dev/sda1; mdadm -r /dev/md0 /dev/sda1&lt;br /&gt;
 mdadm -f /dev/md1 /dev/sda2; mdadm -r /dev/md1 /dev/sda2&lt;br /&gt;
 mdadm -f /dev/md2 /dev/sda3; mdadm -r /dev/md2 /dev/sda3&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Option -f označí partition jako vadnou (&amp;quot;failed&amp;quot;), option -W (--wait) čeká na dokončení předchozí operace, option -r odstraní partition z RAIDu.&lt;br /&gt;
&lt;br /&gt;
To samé za vás provede tento skript:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 #Tento skript uložte v /usr/local/sbin/fail-all-raid-parts&lt;br /&gt;
 MDADM=/sbin/mdadm&lt;br /&gt;
 for i in $( ls $1* ); do&lt;br /&gt;
        #split the output of mdadm scan (&amp;quot;ARRAY /dev/md? level=raid1 num-devices=2 UUID=...&amp;quot;)&lt;br /&gt;
        #so MD_DEVICE will contain /dev/md?&lt;br /&gt;
        read -d ] ARR MD_DEVICE REST&amp;lt; &amp;lt;(IFS=&#039; &#039;; echo `$MDADM --examine --scan $i`)&lt;br /&gt;
        if [ &amp;quot;&amp;quot; != &amp;quot;$MD_DEVICE&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;Failing $i from RAID device=$MD_DEVICE&amp;quot;&lt;br /&gt;
                $MDADM -f $MD_DEVICE $i&lt;br /&gt;
                $MDADM -W $MD_DEVICE&lt;br /&gt;
                $MDADM -r $MD_DEVICE $i&lt;br /&gt;
        fi&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pro testování kompletního výpadku disku můžete využít [http://wiki.debian.org/Persistent_disk_names#Testingthediskfailures tento skript].&lt;br /&gt;
&lt;br /&gt;
==Přidání nového disku místo vadného==&lt;br /&gt;
Nejdřív si ze zbylého dobrého disku (např. /dev/sda) zkopírujeme partition table na nový (např. /dev/sdc):&lt;br /&gt;
 # sfdisk -d /dev/sda | sfdisk /dev/sdc&lt;br /&gt;
Pak přidáme nové partitions do jednotlivých raid polí pomocí &lt;br /&gt;
 #mdadm --add /dev/mdX /dev/sdXY&lt;br /&gt;
Pokud těch partitions (nebo disků) máte moc nechce se vám to dělat ručně, můžete si napsat skriptík jako např.:&lt;br /&gt;
 #for mdnr in 0 1 2; do pnr=$((mdnr+1)); mdadm --add /dev/md$mdnr /dev/sdc$pnr /dev/sdd$pnr; done&lt;br /&gt;
===Bootovatelnost: nahrání GRUB bootloaderu do MBR nového===&lt;br /&gt;
Pokud je na disku systém a má být bootovatelný, musíme ještě do MBR nainstalovat grub. &lt;br /&gt;
O tom, že disk nemá v MBR boot loader, se můžete přesvědčit třeba takto:&lt;br /&gt;
 xeric:~# dd if=/dev/sdd bs=512 count=1 | hexdump&lt;br /&gt;
 1+0 records in&lt;br /&gt;
 1+0 records out&lt;br /&gt;
 512 bytes (512 B) copied0000000 0000 0000 0000 0000 0000 0000 0000 0000&lt;br /&gt;
 *&lt;br /&gt;
 , 2.5337e-05 s, 20.2 MB/s&lt;br /&gt;
 00001b0 0000 0000 0000 0000 0000 0000 0000 0180&lt;br /&gt;
 00001c0 0001 fefd ffff 003f 0000 2941 0254 fe00&lt;br /&gt;
 00001d0 ffff fefd ffff 2980 0254 f08b 0380 fe00&lt;br /&gt;
 00001e0 ffff fefd ffff 1a0b 05d5 2b76 1747 fe00&lt;br /&gt;
 00001f0 ffff fefd ffff 4581 1d1c 8e3a 1d1a aa55&lt;br /&gt;
 0000200&lt;br /&gt;
Vidíme, že až do adresy 0x1b0 jsou v MBR samé nuly, což asi nebude bootloader.&lt;br /&gt;
&lt;br /&gt;
Proto uděláme toto:&lt;br /&gt;
 #grub&lt;br /&gt;
 grub&amp;gt; find /boot/grub/stage1&lt;br /&gt;
Tento příkaz najde všechny disky, na kterých je soubor &amp;quot;stage1&amp;quot;, který GRUB potřebuje při boot-u. Příkaz vypíše třeba toto:&lt;br /&gt;
 find /boot/grub/stage1&lt;br /&gt;
  (hd0,0)&lt;br /&gt;
  (hd1,0)&lt;br /&gt;
  (hd3,0)&lt;br /&gt;
Můj nový disk je &amp;quot;hd3&amp;quot;, takže udělám toto:&lt;br /&gt;
 grub&amp;gt; root (hd3,0)&lt;br /&gt;
 root (hd3,0)&lt;br /&gt;
  Filesystem type is ext2fs, partition type 0xfd&lt;br /&gt;
 grub&amp;gt; setup (hd3)&lt;br /&gt;
 setup (hd3)&lt;br /&gt;
  Checking if &amp;quot;/boot/grub/stage1&amp;quot; exists... yes&lt;br /&gt;
  Checking if &amp;quot;/boot/grub/stage2&amp;quot; exists... yes&lt;br /&gt;
  Checking if &amp;quot;/boot/grub/e2fs_stage1_5&amp;quot; exists... yes&lt;br /&gt;
  Running &amp;quot;embed /boot/grub/e2fs_stage1_5 (hd3)&amp;quot;...  17 sectors are embedded.&lt;br /&gt;
 succeeded&lt;br /&gt;
  Running &amp;quot;install /boot/grub/stage1 (hd3) (hd3)1+17 p (hd3,0)/boot/grub/stage2 /boot/grub/menu.lst&amp;quot;... succeeded&lt;br /&gt;
 Done.&lt;br /&gt;
 grub&amp;gt; quit&lt;br /&gt;
 quit&lt;br /&gt;
&lt;br /&gt;
O tom, že se dílo podařilo, se můžete přesvědčit opět příkazem&lt;br /&gt;
 xeric:~# dd if=/dev/sdc bs=512 count=1 | hexdump&lt;br /&gt;
 1+0 records in&lt;br /&gt;
 1+0 records out&lt;br /&gt;
 512 bytes (512 B) copied, 2.2194e-05 s, 23.1 MB/s&lt;br /&gt;
 0000000 48eb 0090 0000 0000 0000 0000 0000 0000&lt;br /&gt;
 0000010 0000 0000 0000 0000 0000 0000 0000 0000&lt;br /&gt;
 *&lt;br /&gt;
 0000030 0000 0000 0000 0000 0000 0000 0000 0203&lt;br /&gt;
 0000040 00ff 2000 0001 0000 0200 90fa f690 80c2&lt;br /&gt;
(atd)&lt;br /&gt;
 0000190 7369 006b 6552 6461 2000 7245 6f72 0072&lt;br /&gt;
 00001a0 01bb b400 cd0e ac10 003c f475 00c3 0000&lt;br /&gt;
 00001b0 0000 0000 0000 0000 0000 0000 0000 0180&lt;br /&gt;
 00001c0 0001 fefd ffff 003f 0000 2941 0254 fe00&lt;br /&gt;
 00001d0 ffff fefd ffff 2980 0254 f08b 0380 fe00&lt;br /&gt;
 00001e0 ffff fefd ffff 1a0b 05d5 2b76 1747 fe00&lt;br /&gt;
 00001f0 ffff fefd ffff 4581 1d1c 8e3a 1d1a aa55&lt;br /&gt;
 0000200&lt;br /&gt;
&lt;br /&gt;
==Nastavení parametrů synchronizace==&lt;br /&gt;
Po přidání disku do pole začne Linux na něj synchronizovat data RAID pole.&lt;br /&gt;
Jak rychle se bude tato synchronizace provádět, můžeme sami ovládat a tím určovat, kolik % volného CPU a IO času sychronizace zabere, a to pomocí nastavení&lt;br /&gt;
proměnných /proc/sys/dev/raid/speed_limit_min (defaultně má hodnotu 1000) a /proc/sys/dev/raid/speed_limit_max (defaultně má hodnotu 200000).&lt;br /&gt;
&lt;br /&gt;
Pokud chceme synchronizaci rychlejší, proveďte tento příkaz&lt;br /&gt;
&lt;br /&gt;
 echo 200000 &amp;gt; /proc/sys/dev/raid/speed_limit_min&lt;br /&gt;
&lt;br /&gt;
==Jak zabránit plné resynchronizaci při pádu systému nebo vyjmutí disku==&lt;br /&gt;
Pokud následkem nějaké chyby (násilné vyjmutí disku, pád OS) dojde k tomu, že se pole rozsynchronizuje, čeká vás zdlouhavá resynchronizace - defaultně se resync dělá v RAID1 jako prostá kopie &amp;quot;čisté&amp;quot; RAID partitiony do té &amp;quot;špinavé&amp;quot; (dirty). &lt;br /&gt;
U RAID partitions, které mají stovky GB, si počkáte i několik hodin.&lt;br /&gt;
&lt;br /&gt;
V těchto případech se ale dá kompletní resynchronizaci zabránit použitím tzv. &amp;quot;write intent bitmapy&amp;quot;, kterou vytvoříte takto:&lt;br /&gt;
&lt;br /&gt;
 for mddev in /dev/md[0-9]*; do mdadm --grow --bitmap=internal $mddev; done&lt;br /&gt;
&lt;br /&gt;
Popř. pokud chcete přidat bitmapu jen na některá RAID pole:&lt;br /&gt;
&lt;br /&gt;
 for mdnr in 3 4 5; do mdadm --grow --bitmap=internal /dev/md$mdnr; done&lt;br /&gt;
&lt;br /&gt;
Více viz [https://raid.wiki.kernel.org/index.php/Bitmap stránka o Linux SW RAID bitmapách na RAID wiki kernel.org]&lt;br /&gt;
&lt;br /&gt;
==Monitoring RAIDu==&lt;br /&gt;
===Postup synchronizace===&lt;br /&gt;
Pokud přidáme do RAIDu disk, můžeme sledovat postup jeho synchronizace např. takto:&lt;br /&gt;
&lt;br /&gt;
 watch cat /proc/mdstat&lt;br /&gt;
Což vypíše u plně synchronizovaných RAID zařízení:&lt;br /&gt;
 md0 : active raid1 sda1[0] sdb1[1]&lt;br /&gt;
      497856 blocks [2/2] [UU]&lt;br /&gt;
A u RAID zařízení, kde synchornizace právě probíhá:&lt;br /&gt;
 md1 : active raid1 sda2[2] sdb2[1]&lt;br /&gt;
      468752512 blocks [2/1] [_U]&lt;br /&gt;
      [=&amp;gt;...................]  recovery =  5.4% (25333888/468752512) finish=66.8min speed=110468K/sec&lt;br /&gt;
&lt;br /&gt;
Status synchronizace se vypisuje také příkazem&lt;br /&gt;
 mdadm --detail /dev/md1&lt;br /&gt;
Který při synchronizaci vypíše toto:&lt;br /&gt;
 /dev/md1:&lt;br /&gt;
        Version : 00.90&lt;br /&gt;
  Creation Time : Mon Jan  4 15:06:14 2010&lt;br /&gt;
     Raid Level : raid1&lt;br /&gt;
     Array Size : 468752512 (447.04 GiB 480.00 GB)&lt;br /&gt;
  Used Dev Size : 468752512 (447.04 GiB 480.00 GB)&lt;br /&gt;
   Raid Devices : 2&lt;br /&gt;
  Total Devices : 2&lt;br /&gt;
 Preferred Minor : 1&lt;br /&gt;
    Persistence : Superblock is persistent&lt;br /&gt;
 &lt;br /&gt;
    Update Time : Thu Mar 18 10:34:57 2010&lt;br /&gt;
          State : clean, degraded, &#039;&#039;&#039;recovering&#039;&#039;&#039;&lt;br /&gt;
 Active Devices : 1&lt;br /&gt;
 Working Devices : 2&lt;br /&gt;
 Failed Devices : 0&lt;br /&gt;
  Spare Devices : 1&lt;br /&gt;
 &lt;br /&gt;
 Rebuild Status : &#039;&#039;&#039;6% complete&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
           UUID : 511ea31a:0a968ed8:25791403:81883028&lt;br /&gt;
         Events : 0.826942&lt;br /&gt;
 &lt;br /&gt;
    Number   Major   Minor   RaidDevice State&lt;br /&gt;
       2       8        2        0      &#039;&#039;&#039;spare rebuilding   /dev/sda2&#039;&#039;&#039;&lt;br /&gt;
       1       8       18        1      active sync   /dev/sdb2&lt;br /&gt;
&lt;br /&gt;
===Zasílání emailů===&lt;br /&gt;
Ze všeho nejvíc nás zajímá chvíle, kdy jeden disk v RAIDu selže - budeme chtít, aby nám systém poslal email.&lt;br /&gt;
V Debian-u je to jednoduché - při instalaci balíku mdadm se také automaticky spustí mdadm v monitor módu &lt;br /&gt;
jako démon, takže stačí jen v souboru /etc/mdadm/mdadm.conf nastavit řádky &lt;br /&gt;
&lt;br /&gt;
 MAILADDR mujmail@mojedomena.cz&lt;br /&gt;
 MAILFROM mujmail@mojedomena.cz&lt;br /&gt;
&lt;br /&gt;
==Pojmenování disků podle šachty, ve které jsou zastrčené==&lt;br /&gt;
Viz [http://wiki.debian.org/Persistent_disk_names můj článek na wiki Debianu]&lt;br /&gt;
&lt;br /&gt;
==Přejmenování RAID zařízení: mdX-&amp;gt;mdY==&lt;br /&gt;
Tuto operaci budete potřebovat asi jen v případě, kdy budete chtít přidat disky s RAIDem z jednoho počítače do jiného, ve kterém už RAID je, a budete jim chtít přidělit nějaké vaše vlastní jméno. Příklad přejmenování md0 na md6:&lt;br /&gt;
 mdadm --stop /dev/md0&lt;br /&gt;
 mdadm --assemble /dev/md6 [--super-minor=0] --update=super-minor /dev/sda5 /dev/sdb5&lt;br /&gt;
&lt;br /&gt;
První příkaz stopne RAID na /dev/md0, aby mohl provést změny v superblocích jeho disků.&lt;br /&gt;
Druhý příkaz poskládá (&amp;quot;assemble&amp;quot;) RAID /dev/md6 z disků, které byly součástí /dev/md0, což zařídí nepovinná podmínka &amp;quot;--super-minor=0&amp;quot;. &lt;br /&gt;
Vysvětlení: Každý disk, který je součástí RAIDu, má ve svém superbloku zapsáno číslo &amp;quot;minor&amp;quot;, které odpovídá číslu N jména RAID zařízení /dev/mdN. Proto také u libovolného disku, který byl součástí Linux RAID pole a který připojíte do počítače, můžete zjistit jméno mdN RAID zařízení, do kterého disk patřil, pomocí příkazu &amp;quot;mdadm --examine --scan /dev/sdXY&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Option &amp;quot;--update=super-minor&amp;quot; pak zařídí, aby se při operaci assemble v superblocích disku přepsalo minor číslo disku z (/dev/md)0 na (/dev/md)6&lt;br /&gt;
[[Soubor:Příklad.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Vynulování superblock-u==&lt;br /&gt;
Pokud uděláte při správě chybu jako já:&lt;br /&gt;
 #mdadm --add /dev/md0 /dev/sdc&lt;br /&gt;
Tj. přidáte do pole celý disk místo jedné partition (což samozřejmě jde), je jediným řešením pro návrat zpátky odstranění superblock-u:&lt;br /&gt;
 #mdadm --zero-superblock /dev/sdc&lt;br /&gt;
&lt;br /&gt;
==Zvětšení RAID zařízení včetně LVM==&lt;br /&gt;
Lze udělat plně online.&lt;br /&gt;
Postup:&lt;br /&gt;
*z mdX, které chci zvětšit, odeberu 1 starý disk (--fail a --remove)&lt;br /&gt;
*přidám do mdX nový disk s větší partition a udělám&lt;br /&gt;
 mdadm --grow /dev/mdX --size=max&lt;br /&gt;
následně vyhodím i druhý starý disk a přidám jeho novou větší partition-u do mdX také.&lt;br /&gt;
Nakonec zvětším LVM physical volume:&lt;br /&gt;
 pvresize /dev/mdX&lt;br /&gt;
&lt;br /&gt;
==Potřebuju změnit velikost partitions (včetně systémového), na nové není místo, co dělat?==&lt;br /&gt;
*zapojte do systému jakýkoli nový disk, na kterém vytvoříme správný partitioning.&lt;br /&gt;
*boot from SystemRescueCD (výhoda: malé CD, které umí 32bit i 64bit a má všechny nástroje pro správu disků)&lt;br /&gt;
*Stopněte md0, pokud jede:&lt;br /&gt;
 mdadm --stop /dev/md0&lt;br /&gt;
*a nahoďte si jej pod jiným jménem (nebojte, změna jména nemá žádné trvalé následky:) &lt;br /&gt;
 mdadm --assemble /dev/md10 /dev/sd?? /dev/sd??&lt;br /&gt;
*vytvořte nový md0 s novým diskem&lt;br /&gt;
 mdadm --create /dev/md0 --level=raid1 --raid-devices=1 /dev/nejaky_novy_disk&lt;br /&gt;
 mkfs.ext2 /dev/md0&lt;br /&gt;
*namountujte obě RAID zařízení:&lt;br /&gt;
 mount /dev/md10 /media/old&lt;br /&gt;
 mount /dev/md0 /media/new&lt;br /&gt;
*zkopírujte obsah: &lt;br /&gt;
 rsync -a /media/old /media/new&lt;br /&gt;
*nainstalujte grub:&lt;br /&gt;
 mount -o bind /dev/ /media/new/dev&lt;br /&gt;
 mount -o bind /proc/ md0/proc&lt;br /&gt;
 mount -o bind /sys/ md0/sys&lt;br /&gt;
&lt;br /&gt;
 chroot /dev/new&lt;br /&gt;
 grub-install /dev/md0&lt;br /&gt;
*zkuste, jestli nabootujete. Já jsem nenabootoval a musel jsem udělat ještě toto:&lt;br /&gt;
 #grub&lt;br /&gt;
 grub&amp;gt; find /boot/grub/stage1&lt;br /&gt;
 find /boot/grub/stage1&lt;br /&gt;
  (hd0,0)&lt;br /&gt;
  (hd1,0)&lt;br /&gt;
  (hd3,0)&lt;br /&gt;
 grub&amp;gt; root (hd0,0)&lt;br /&gt;
 root (hd0,0)&lt;br /&gt;
  Filesystem type is ext2fs, partition type 0xfd&lt;br /&gt;
 grub&amp;gt; setup (hd0)&lt;br /&gt;
 setup (hd0)&lt;br /&gt;
  Checking if &amp;quot;/boot/grub/stage1&amp;quot; exists... yes&lt;br /&gt;
  Checking if &amp;quot;/boot/grub/stage2&amp;quot; exists... yes&lt;br /&gt;
  Checking if &amp;quot;/boot/grub/e2fs_stage1_5&amp;quot; exists... yes&lt;br /&gt;
  Running &amp;quot;embed /boot/grub/e2fs_stage1_5 (hd0)&amp;quot;...  17 sectors are embedded.&lt;br /&gt;
 succeeded&lt;br /&gt;
  Running &amp;quot;install /boot/grub/stage1 (hd0) (hd0)1+17 p (hd0,0)/boot/grub/stage2 /boot/grub/menu.lst&amp;quot;... succeeded&lt;br /&gt;
 Done.&lt;br /&gt;
 grub&amp;gt; root (hd1,0)&lt;br /&gt;
 root (hd1,0)&lt;br /&gt;
  Filesystem type is ext2fs, partition type 0xfd&lt;br /&gt;
 grub&amp;gt; setup (hd1)&lt;br /&gt;
 setup (hd1)&lt;br /&gt;
  Checking if &amp;quot;/boot/grub/stage1&amp;quot; exists... yes&lt;br /&gt;
  Checking if &amp;quot;/boot/grub/stage2&amp;quot; exists... yes&lt;br /&gt;
  Checking if &amp;quot;/boot/grub/e2fs_stage1_5&amp;quot; exists... yes&lt;br /&gt;
  Running &amp;quot;embed /boot/grub/e2fs_stage1_5 (hd1)&amp;quot;...  17 sectors are embedded.&lt;br /&gt;
 succeeded&lt;br /&gt;
  Running &amp;quot;install /boot/grub/stage1 (hd1) (hd1)1+17 p (hd1,0)/boot/grub/stage2 /boot/grub/menu.lst&amp;quot;... succeeded&lt;br /&gt;
 Done.&lt;br /&gt;
 grub&amp;gt; root (hd3,0)&lt;br /&gt;
 root (hd3,0)&lt;br /&gt;
  Filesystem type is ext2fs, partition type 0xfd&lt;br /&gt;
 grub&amp;gt; setup (hd3)&lt;br /&gt;
 setup (hd3)&lt;br /&gt;
  Checking if &amp;quot;/boot/grub/stage1&amp;quot; exists... yes&lt;br /&gt;
  Checking if &amp;quot;/boot/grub/stage2&amp;quot; exists... yes&lt;br /&gt;
  Checking if &amp;quot;/boot/grub/e2fs_stage1_5&amp;quot; exists... yes&lt;br /&gt;
  Running &amp;quot;embed /boot/grub/e2fs_stage1_5 (hd3)&amp;quot;...  17 sectors are embedded.&lt;br /&gt;
 succeeded&lt;br /&gt;
  Running &amp;quot;install /boot/grub/stage1 (hd3) (hd3)1+17 p (hd3,0)/boot/grub/stage2 /boot/grub/menu.lst&amp;quot;... succeeded&lt;br /&gt;
 Done.&lt;br /&gt;
 grub&amp;gt; quit&lt;br /&gt;
 quit&lt;br /&gt;
&lt;br /&gt;
*Obsah boot sektoru si můžete prohlédnout např. takto:&lt;br /&gt;
 dd if=/dev/sda bs=512 count=1 | hexdump&lt;br /&gt;
*pokud ano, zkopírujte na nový disk i obsah ostatních disků&lt;br /&gt;
*&lt;br /&gt;
*Namountuj&lt;br /&gt;
*mount -o bind /dev/ /media/md0&lt;/div&gt;</summary>
		<author><name>Charlie</name></author>
	</entry>
</feed>