To jest artykuł dla tych, którzy trochę bardziej interesują się Linuksem. Pokażę w nim, jak skonfigurować RAID 5. Nie będę wdawał się w szczegóły i wyjaśniał, czym jest RAID. Przejdę od razu do rzeczy.
RAID w nowych dystrybucjach Linuksa można skonfigurować przy instalacji systemu w bardzo prosty sposób, z użyciem graficznego programu partycjonującego dysk. Ja pokażę tutaj, jak można zrobić to z użyciem komendy mdadm. Sam od dłuższego czasu używam RAID 5 na moim domowym komputerze i jestem bardzo zadowolony. Jedna uwaga: RAID nie chroni przed przypadkowym skasowaniem plików! Dlatego bez względu na to czy używa się RAID-u czy nie, należy zawsze mieć zapasową kopię danych.
Po pierwsze, potrzebne będą przynajmniej trzy partycje (konfigurujemy RAID 5) o zbliżonym rozmiarze. W tym artykule moje przykładowe partycje to /dev/sdb1, /dev/sdc1 oraz /dev/sdd1. Zakładam, że system operacyjny "mieszka" na partycji /dev/sda1. Oczywiście to są tylko przykładowe partycje; można użyć dowolnych partycji, ale aby RAID miał sens, każda z nich musi być na osobnym fizycznym dysku. Partycje można stworzyć w dowolny sposób: używając fdisk, parted lub gparted. Ważne jest, aby przy tworzeniu RAID-u partycje były odmontowane.
Jeżeli używasz dystrybucji typu Fedora, Red Hat, Suse lub Mandriva, zejdź do pierwszego runlevela (komenda init 1). Wydaj komendę fdisk -l i przejrzyj dokładnie partycje, na których będziesz pracować. Zacznijmy od przygotowania partycji do użycia ich w RAID-zie. Dla partycji /dev/sdb1 wydaj następujące komendy:
# fdisk /dev/sdb
(uruchamia konsolę programu fdisk)
m
(pokazuje listę dostępnych opcji)
t
(modyfikuje typ partycji)
L
(wyświetla dostępne opcje)
fd
(ustawia partycję jako Linux Raid Auto)
p
(wyświetla gotowe do zapisania zmiany)
w
(zapisuje zmiany dla partycji /dev/sda1)
Powyższe komendy automatycznie wybierają pierwszą partycję dysku. Aby wybrać inną partycję, należy wpisać numer wybranej partycji kiedy komputer o niego zapyta. Należy wykonać tę czynność na każdej partycji, którą chcemy użyć w RAID-zie, a więc w moim przykładzie dla partycji /dev/sdc1 i /dev/sdd1. Gartycje są już gotowe, tworzymy dysk RAID:
# mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
Teraz w zależności od wielkości partycji czekamy, aż RAID się utworzy - zwykle kilka do kilkudziesieciu minut. W każdej chwili możemy wydać komendę
# cat /proc/mdstat
aby zobaczyć postęp. Kiedy dysk RAID zostanie już utworzony, należy go sformatować:
# mkfs.ext3 /dev/md0
Aby poznać UUID naszego nowego dysku /dev/md0, wydajemy następującą komendę:
# mdadm --examine --scan --verbose
Następnie utwarzamy i edytujemy plik mdadm.conf w folderze /etc:
# touch /etc/mdadm.conf
# vi /etc/mdadm.conf
Jak to zwykle bywa z plikami konfiguracyjnymi, jest wiele opcji które można umieścić w pliku mdadm.conf. Mój plik mdadm.conf wygląda następująco:
DEVICE /dev/sdb* /dev/sdc* /dev/sdd* /dev/sdh*
ARRAY /dev/md0 UUID=a71f22d6:1fbc56db:5d928ce3:9b1cd7ac
Pierwsza linijka mówi programowi mdadm na jakich dyskach ma szukać partycji RAIDowych; druga mówi jak ma nazywać się dysk i jakie jest jego UUID. Ponieważ mój system przyznaje różne litery temu samemu dyskowi zależnie od tego jakie urządzenia mam aktualnie podłączone do komputera, linijka "DEVICE" zawiera więcej niż trzy urządzenia. Dzięki temu, mdadm zawsze wykryje potrzebne dyski niezależnie od tego, jaką literą będą oznaczone.
W czasie używania RAIDU, jego status możemy sprawdzić wydając następującą komendę:
# cat /proc/mdstat
Jeśli wszystko działa poprawnie, wynik takiej komendy powinien wyglądać tak:
# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md1 : active raid5 sdb1[0] sdc1[1] sdd1[2]
68372352 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
unused devices:
Jeżeli zamiast [UUU] widzimy np. [U_U], to wiemy, że drugi z dysków z jakiegoś powodu nie działa. Jeżeli jeden z dysków zepsuje się, kiedy tylko to zauważymy należy go wymienić. To dlatego, że RAID spełnia swoją funkcję tylko w przypadku, kiedy jeden dysk jest uszkodzony. W przypadku gdy więcej niż jeden dysk ulegnie uszkodzeniu, dane zostaną nieodwracalnie utracone.
Wymiana dysku jest prosta. Najpierw należy na dowolnym innym komputerze na dysku zapasowym utworzyć partycję mniej-więcej tej samej wielkości, jak partycja na pierwotnym dysku, zmienic jej typ na Linux Raid Autodetect (opisane powyzej) i sformatować ją jako ext3. Następnie, należy wypiąć uszkodzony dysk. Uwaga: UPEWNIJ SIĘ, ŻE WYPIĄŁEŚ DYSK, KTÓRY JEST USZKODZONY, A NIE INNY! USUNIĘCIE NIEWŁAŚCIWEGO DYSKU GROZI UTRATĄ DANYCH. Można w tym celu sprawdzić jego numer seryjny:
# smartctl -i /dev/sdb
Ta komenda pokazuje wiele informacji na temat dysku, między innymi jego numer seryjny. Warto przygotować się na sytuację awaryjną i zawczasu spisać sobie numery seryjne dysków.
Po podpięciu nowego dysku, wydajemy następującą komendę:
# mdadm --manage /dev/rd0 --add /dev/nowy-dysk
Odczekujemy kilka do kilkudziesięciu minut aż dysk się zregeneruje. Kiedy regeneracja zostanie zakończona (jej postęp śledzimy komendą # cat/proc/mdstat), należy usunąć stary i dodać nowy dysk do pliku /etc/mdadm.conf.
Proces montowania dysku /dev/md0 przebiega dokładnie tak samo jak montowanie innych dysków:
# mount /dev/md0 /mnt/dysk
Można go też dodać do /etc/fstab.
Ilość komentarzy: 1
Dzięki za ten Twój wpis. Prosto i na temat. W sam raz dla newbies :-)
— artur Sun, 14 Nov 2010