Last updated $Date: 2008-08-31 04:38:02 $
Martti Kuparinen <martti.kuparinen@iki.fi>
http://www.iki.fi/kuparine/comp/ubuntu/fi/raid.html
Tässä kerrotaan miten asensin PC:ni jossa käytän Ubuntu 8.04 käyttöjärjestelmää. PC:ssä on kaksi identtistä SATA-kiintolevyä asetettuna RAID1 -tilaan jotta olen turvassa yhden kiintolevyn hajoamiselta. Vaikka käytänkin RAID1:tä kaikkialla teen silti säännöllisesti varmuuskopioita koska RAID ei ole varmuuskopionnin korvike.
[ Please note that this page is also available in English ]
Käynnistin asennuksen "Alternate install CD"-levyltä ja levyosioinnin alussa
valitsin "Osioi itse" (kuva 1). Varmistin että molemmat kiintolevyt löytyivät
asennusohjelmassa (kuvassa 2 näkyy kaksi identtistä kiintolevyä).
Seuraavaksi poistin kaikki nykyiset levyosiot (jotka olivat aikaisemmin olleet
Microsoft Windows-käytössä). Kiintolevyn kaikki osiot saa helposti poistettua
painamalla Enter kiintolevyn nimen päällä (painoin Enter sda:n ja sdb:n
päällä -- yksi rivi kuvan 2 punaisen rivin ylä- ja alapuolella).
Kuva 1 - Levyosioinnin aloittaminen
Kuva 2 - Kaksi tyhjää kiintolevyä
Seuraavaksi loin kolme osiota kummallekin kiintolevylle: 8 GB /:lle, 500 MB
swap:lle ja loput /home:lle. Huomaa että tässä vaiheessa levyjen osiotyyppien
pitää olla "fyysinen nide RAIDia varten" (0xFD fdisk:ssä) eikä
"Ext3 tapahtumakirjanpidon sisältävä tiedostojärjestelmä". Huomaa myös miten
kummankin levyn ensimmäinen osiolle on laitettu käynnistyskelpoisuuden
ilmaisin päälle (B kirjain kuvassa 4). Ilman käynnistyskelpoisuuden ilmaisimen
päällelaittamista tietokone ei ehkä lähde käyntiin ilman CD-levyä!
Kuva 3 - Osion tyypin asettaminen ja käynnistyskelpoisuuden ilmaisin
Seuraavaksi menin ylöspäin ja valitsin "Tee ohjelmallisesti toteutetun
RAID-laitteen asetukset" (kuva 4).
Kuva 4 - Kaksi kiintolevyä joilla osiot RAID1 -laitteille
Seuraavaksi tallensin tehdyt muutokset osiotauluihin (kuva 5).
Kuva 5 - Muutosten tallentaminen
Seuraavaksi loin kolme (3) MD-laitetta (RAID1 jossa on 2 käytettävää ja
0 varalla olevaa osiota -- kuvat 6-9).
Kuva 6 - Uuden MD-laitteen luominen
Kuva 7 - RAID1 eli peilaaminen
Kuva 8 - Kaksi varsinaista osiota
Kuva 9 - Ei yhtään varalla olevaa osiota
Seuraavaksi valitsin molemmilta kiintolevyiltä osiot jotka kuuluvat
RAID1-pakkaan (kuva 10). On tärkeää valita kaksi samankokoista osiota,
joten minun tapauksessani md0=sda1+sbd1, md1=sda2+sdb2 ja md2=sda3+sdb3.
Kuva 10 - RAID1-pakan jäsenten valitseminen
Seuraavaksi määritin tietostojärjestelmät ja liitoskohdat jokaiselle
RAID-laitteelle. Minun tapauksessani "RAID1 laite n:ro 0" on ext3 liitettynä
/-hakemistoon, "RAID1 laite n:ro 1" on swap ja "RAID1 laite n:ro 2" on ext3
liitettynä /home-hakemistoon (kuvat 11-15).
Kuva 11 - RAID-laitteille luodut tiedostojärjestelmät
Kuva 12 - RAID1 laite n:ro 0:lle luoto /-tiedostojärjestelmä
Kuva 13 - RAID1 laite n:ro 1:lle luotu swap
Kuva 14 - RAID1 laite n:ro 2:lle luotu /home-tiedostojärjestelmä
Kuva 15 - Kaikki tiedostojärjestelmät luotuna
Lopuksi menin sivun alaosaan, valitsin "Lopeta osioiden teko ja tallenna
muutokset levylle" ja valitsin "Kyllä" tallentaakseni osiotauluihin tehdyt
muutokset (kuva 16). Tästä eteenpäin Ubuntun asennus on aivan normaali asennus.
Kuva 16 - Muutosten tallentaminen
Asennuksen ja PC:n uudelleenkäynnistämisen jälkeen asensin grubin myös toiselle (/dev/sdb) kiintolevylle. Ilman tätä PC ei käynnisty jos ensimmäinen (/dev/sda) kiintolevy hajoaa ja poistetaan PC:stä.
martti@ubuntu:~$ sudo grub-install /dev/sda martti@ubuntu:~$ sudo grub grub> device (hd0) /dev/sdb grub> root (hd0,0) grub> setup (hd0) grub> quit
VAROITUS: Ubuntussa on vakava virhe jonka seurauksena uudelleenkäynnistäminen epäonnistuu jos yksi kiintolevy RAID1:stä puuttuu. Oheinen pätsi auttoi minua.
martti@ubuntu:~$ cd /tmp martti@ubuntu:~$ wget http://www.iki.fi/kuparine/comp/ubuntu/en/local.diff martti@ubuntu:~$ cd /usr/share/initramfs-tools/scripts martti@ubuntu:~$ sudo patch -p0 < /tmp/local.diff martti@ubuntu:~$ sudo update-initramfs -k all -u
Huomioi että sinun täytyy suorittaa tämä joka kerta kun initramfs-tools paketti päivitetään tai asennetaan uudelleen.
Asennuksen jälkeen tarkistin että kaikki tiedostojärjestelmät (/, swap ja /home) todellakin ovat RAID1 levyillä.
martti@ubuntu:~$ grep /dev/md /etc/fstab /dev/md0 / ext3 defaults,errors=remount-ro 0 1 /dev/md2 /home ext3 defaults 0 2 /dev/md1 none swap sw 0 0 martti@ubuntu:~$ df -h / /home Filesystem Size Used Avail Use% Mounted on /dev/md0 7.4G 586M 6.4G 9% / /dev/md2 12G 159M 12G 2% /home
Kaikkien RAID-laitteiden tilan voi tarkistaa /proc/mdstat tiedostosta. Jokainen mdN laite sisältää kaksi sdXN levyä ja jokaisen mdN laitteen tulee näyttää "2/2" ja "UU". Lisätietoja saa mdadm ohjelmalla.
martti@ubuntu:~$ cat /proc/mdstat Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md2 : active raid1 sda3[0] sdb3[1] 12659136 blocks [2/2] [UU] md1 : active raid1 sda2[0] sdb2[1] 489856 blocks [2/2] [UU] md0 : active raid1 sda1[0] sdb1[1] 7815488 blocks [2/2] [UU] unused devices: <none> martti@ubuntu:~$ sudo mdadm --query --detail /dev/md0 /dev/md0: Version : 00.90.03 Creation Time : Wed Oct 17 16:45:59 2007 Raid Level : raid1 Array Size : 7815488 (7.45 GiB 8.00 GB) Used Dev Size : 7815488 (7.45 GiB 8.00 GB) Raid Devices : 2 Total Devices : 2 Preferred Minor : 0 Persistence : Superblock is persistent Update Time : Wed Oct 17 15:16:18 2007 State : active Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 UUID : 1760de71:d6ca4125:8324c8dc:300ec7e1 Events : 0.11 Number Major Minor RaidDevice State 0 8 1 0 active sync /dev/sda1 1 8 17 1 active sync /dev/sdb1
Seuraavaksi simuloin /dev/sdb levyn hajoamisen irroittamalla kyseisen levyn. Systeemi käynnistyy edelleen mutta RAID-laitteiden tila näyttää että /dev/sdb1, /dev/sdb2 ja /dev/sdb3 ovat kadonneet järjestelmästä ja että /dev/mdN on "degraded" tilassa.
martti@ubuntu:~$ cat /proc/mdstat Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md2 : active raid1 sda3[0] 12659136 blocks [2/2] [U_] md1 : active raid1 sda2[0] 489856 blocks [2/2] [U_] md0 : active raid1 sda1[0] 7815488 blocks [2/2] [U_] unused devices: <none> martti@ubuntu:~$ sudo mdadm --query --detail /dev/md0 /dev/md0: Version : 00.90.03 Creation Time : Wed Oct 17 16:45:59 2007 Raid Level : raid1 Array Size : 7815488 (7.45 GiB 8.00 GB) Used Dev Size : 7815488 (7.45 GiB 8.00 GB) Raid Devices : 2 Total Devices : 1 Preferred Minor : 0 Persistence : Superblock is persistent Update Time : Wed Oct 17 15:16:18 2007 State : active, degraded Active Devices : 1 Working Devices : 1 Failed Devices : 0 Spare Devices : 0 UUID : 1760de71:d6ca4125:8324c8dc:300ec7e1 Events : 0.11 Number Major Minor RaidDevice State 0 8 1 0 active sync /dev/sda1 1 0 0 - removed
Next I reconnected the disk and instructed the system to rebuild itself. After rebuild everything was ok again.
martti@ubuntu:~$ sudo mdadm --add /dev/md0 /dev/sdb1 mdadm: hot added /dev/sdb1 martti@ubuntu:~$ sudo mdadm --add /dev/md1 /dev/sdb2 mdadm: hot added /dev/sdb2 martti@ubuntu:~$ sudo mdadm --add /dev/md2 /dev/sdb3 mdadm: hot added /dev/sdb3 martti@ubuntu:~$ cat /proc/mdstat Personalities : [raid1] md2 : active raid1 sdb3[2] sda3[0] 12659136 blocks [2/1] [U_] resync=DELAYED md1 : active raid1 sda2[0] sdb2[1] 489856 blocks [2/2] [UU] md0 : active raid1 sdb1[2] sda1[0] 7815488 blocks [2/1] [U_] [>....................] recovery = 2.8% (215168/7815488) finish=16.2min speed=9780K/sec unused devices: <none>
Siinä kaikki. Nyt voit mennä takaisin Ubuntu-asennukseni -oppaaseen ja katsoa miten voit helposti viimeisteillä uuden asennuksesi.