Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2011-05-13 08:40:22

  bonus - Użytkownik

bonus
Użytkownik
Zarejestrowany: 2009-11-12

Raid 1 - mdadm na działającym systemie

Witam cechuje mnie kiepska znajomości debiana dlatego proszę o pomoc przy konfiguracji raid1 za pomocą pakietu mdadm (przeprowadzenie za rączkę ;) ). Postępuję zgodnie z http://www.ladogorski.com/software_raid stanąłem na

---------------------------------------
No to partycje mamy, teraz trzeba utworzyć na nich system plików i podmontować je. A więc do dzieła:

    # mkfs.ext3 /dev/md0
    # mkfs.ext3 /dev/md1
    # mkswap /dev/md2
    # mkfs.ext3 /dev/md3
    # mkdir /mntroot
    # mkdir /mntboot
    # mkdir /mnthome
    # mount /dev/md0 /mntboot
    # mount /dev/md1 /mntroot
    # mount /dev/md3 /mnthome
---------------------------------------

Rozumiem, że raid jest w tym tutorialu dla partycji a nie dla dysku. Czy nie można zrobić tego dla dysku ? Chociaż w sumie nie wiem jakie by miały być tego korzyści.
Jak mogę sprawdzić czy powyższe polecenie np. mkswap /dev/md1 (md1 jest pierwszą partycję logiczną, tworzoną w ramach partycji rozszerzonej) odniosło zamierzony skutek. Dla celów orientacyjnych przedstawiam układ partycji systemu:

Kod:

fdisk -l /dev/sdb

Dysk /dev/sdb: 1000.2 GB, bajtów: 1000204886016
głowic: 255, sektorów/ścieżkę: 63, cylindrów: 121601
Jednostka = cylindrów, czyli 16065 * 512 = 8225280 bajtów
Rozmiar sektora (logiczny/fizyczny) w bajtach: 512 / 512
Rozmiar we/wy (minimalny/optymalny) w bajtach: 512 / 512
Identyfikator dysku: 0x0004db05

Urządzenie Rozruch   Początek      Koniec   Bloków   ID  System
/dev/sdb1   *           1        1216     9764864   83  Linux
/dev/sdb2            1216      121602   966994945    5  Rozszerzona
/dev/sdb5            1216        1270      432128   82  Linux swap / Solaris
/dev/sdb6            1270      121602   966561792   83  Linux

Czy dla dev/sdb2 nie tworzy się partycji ? U mnie zakończyło się to jakimś komunikatem o błędzie.

Dodatkowe info dla rozeznania sytuacji.

Kod:

df -h
System plików         rozm. użyte dost. %uż. zamont. na
/dev/sdb1             9,2G  674M  7,6G   8% /
tmpfs                 109M     0  109M   0% /lib/init/rw
udev                  105M  168K  104M   1% /dev
tmpfs                 109M     0  109M   0% /dev/shm
/dev/sdb6             908G   61G  801G   8% /home

sfdisk -l

Dysk /dev/sda: cylindrów: 121601, głowic: 255, sektorów na ścieżce: 63
Uwaga: partycja rozszerzona nie zaczyna się na granicy cylindra.
DOS i Linux inaczej zinterpretują jej zawartość.
Jednostka = cylindry, czyli 8225280 bajtów, bloki 1024-bajtowe liczone od 0

  Urządz.Rozr. Początek Koniec #cyl.    #bloków   Id  System
/dev/sda1   *      0+   1215-   1216-   9764864   fd  Linux RAID autodetect
/dev/sda2       1215+ 121601- 120386- 966994945    5  Rozszerzona
/dev/sda3          0       -       0          0    0  Brak
/dev/sda4          0       -       0          0    0  Brak
/dev/sda5       1215+   1269-     54-    432128   fd  Linux RAID autodetect
/dev/sda6       1269+ 121601- 120332- 966561792   fd  Linux RAID autodetect

Dysk /dev/sdb: cylindrów: 121601, głowic: 255, sektorów na ścieżce: 63
Uwaga: partycja rozszerzona nie zaczyna się na granicy cylindra.
DOS i Linux inaczej zinterpretują jej zawartość.
Jednostka = cylindry, czyli 8225280 bajtów, bloki 1024-bajtowe liczone od 0

  Urządz.Rozr. Początek Koniec #cyl.    #bloków   Id  System
/dev/sdb1   *      0+   1215-   1216-   9764864   83  Linux
/dev/sdb2       1215+ 121601- 120386- 966994945    5  Rozszerzona
/dev/sdb3          0       -       0          0    0  Brak
/dev/sdb4          0       -       0          0    0  Brak
/dev/sdb5       1215+   1269-     54-    432128   82  Linux swap / Solaris
/dev/sdb6       1269+ 121601- 120332- 966561792   83  Linux

Dysk /dev/md2: cylindrów: 241640158, głowic: 2, sektorów na ścieżce: 4

sfdisk: BŁĄD: sektor 0 nie zawiera sygnatury MSDOS
 /dev/md2: nierozpoznany typ tablicy partycji
Nie znaleziono żadnej partycji

Dysk /dev/md1: cylindrów: 108029, głowic: 2, sektorów na ścieżce: 4

sfdisk: BŁĄD: sektor 0 nie zawiera sygnatury MSDOS
 /dev/md1: nierozpoznany typ tablicy partycji
Nie znaleziono żadnej partycji

Dysk /dev/md0: cylindrów: 2440942, głowic: 2, sektorów na ścieżce: 4

sfdisk: BŁĄD: sektor 0 nie zawiera sygnatury MSDOS
 /dev/md0: nierozpoznany typ tablicy partycji
Nie znaleziono żadnej partycji

Ostatnio edytowany przez bonus (2011-05-13 12:35:08)

Offline

 

#2  2011-05-13 18:06:38

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: Raid 1 - mdadm na działającym systemie

Wiesz co? napisz co chcesz osiągnąć (tak nawiasem: raid 1 nie zapewnia ochrony danych tylko zabezpiecza przed awaria pojedynczego dysku/partycji) bo na razie masz totalną rozpierduchę.

Ostatnio edytowany przez andreq (2011-05-13 18:08:12)

Offline

 

#3  2011-05-13 18:21:51

  rychu - elektryk dyżurny

rychu
elektryk dyżurny
Skąd: gdańsk/kalmar
Zarejestrowany: 2004-12-28

Re: Raid 1 - mdadm na działającym systemie

bonus napisał(-a):

Jak mogę sprawdzić czy powyższe polecenie np. mkswap /dev/md1 (md1 jest pierwszą partycję logiczną, tworzoną w ramach partycji rozszerzonej) odniosło zamierzony skutek.

# swapon /dev/md1
# cat /proc/swaps

to, czy zrobisz softowy raid na partycjach czy na całych dyskach nie ma wpływu na wydajność pracy dysków, wyłącznie kwestia organizacji. rób jak chcesz.

a jeśli interesuje cię ochrona danych, zainteresuj się cryptfs ;)


linux regd. user #248790

Offline

 

#4  2011-05-14 21:00:19

  bonus - Użytkownik

bonus
Użytkownik
Zarejestrowany: 2009-11-12

Re: Raid 1 - mdadm na działającym systemie

To może zacznę od tego co chcę osiągnąć :/ jak wspomniał andreq. Jestem początkującym użytkownikiem debiana więc wybaczcie ...

Muszę stworzyć serwer do kopii danych użytkowników ok. 25 hostów środowiska niezarządzalnego - brak DC, stacje win xp pro i home, win 7 pro. Mam do tego celu sprzęt z procem Celeron 2,0 GHz 256 MB Ram. Ponadto mam do dyspozycji kontroler raid sata (faik-raid). Zakupiłem 2 dyski 1TB, ale oprócz tego dysponuję kilkoma dyskami  40 i 80 GB.

Aktualnie mam zainstalowane system Debian 6.0 stable na pojedynczym dysku 1TB z wydzielonymi partycjami na /, swap i /home. Postawiłem na tym sambe, proftpd (narazie robię za jego pomocą kopie baz z niededykowanych serwerów microsoft sql server - hosty użytkowników). Ze względu na słabe rozeznanie w temacie wpadłem na taki o to pomysł.

Na stacjach klienckich podczas bootowania windowsa odpalać się będzie *.bat mapujący zasób serwera użytkownika samby, jego katalog /home (login i hasło inne niż w systemie windows). W pliku *.bat niestety będzie jawnie zdefiniowana nazwa usera oraz hasło z samby :/ (lub można też wymusić na użytkowniku ich wpisanie), a to dlatego żeby w oparciu o lokalna bazę SAM hosta użytkownik mógł i był zobowiązany do zmiany hasła w oparciu  lokalne polityki co 30 dni i nie był uzależniony do bazy samby.

Teraz zastanawiam się czy ... obecnie planowane rozwiązanie wdrożyć zabezpieczając się tylko poprzez dołożenie drugiego dysku 1TB sata i replikacje tabeli partycji dysku /dev/sdb oraz zastosowanie mdadm - raid 1. Czy może lepiej ... stworzyć raid 1 dla dysków /dev/sda i /dev/sdb dla samego /home i przenieść root katalog / na osobny dysk 40 GB i robić codziennie jego kopię na drugi taki dysk na wypadek uszkodzenia dysku lub systemu (tutaj bez raid jakaś synchronizacja rsync), na wypadek moich błędów administracyjnych.

W ten sposób będę mógł przywrócić stan systemu z dnia poprzedniego. Kopię danych hostów jakie chcę archiwizować to dokumenty służbowe, oraz pliki lokalnych klientów e-mail użytkowników. Chciałem do tego celu zastosować aplikacje Cobian Backup 10 z powiadamianiem e-mail o błędach w wykonywaniu zleconych zadań oraz możliwością zdalnej konfiguracji, ale ostatnio czytałem o rozwiązaniach Amanda i Bacula.

Co poradzicie początkującemu w związku z zaistniałym problemem, jakie rozwiązanie zastosować jak to ugryźć? Wiem zastosowanie chociażby samby jako DC  rozwiązało by problem uwierzytelniania, zarządzania userami lecz narazie chcę to zostawić na później.

Zaznaczę, że kopie mają się wykonywać tylko z sieci lokalnej, brak użytkowników mobilnych.

// Dziel wypowiedzi na jakieś akapity, bo przy takich strumieniach świadomości przeciętnemu człowiekowi wyłącza się czytanie.  Tym razem sam to zrobiłem (choć nie wiem czy dobrze, wymienione zjawisko i u mnie wystąpiło) — azhag

Ostatnio edytowany przez azhag (2011-05-14 21:13:05)

Offline

 

#5  2011-05-15 20:43:50

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: Raid 1 - mdadm na działającym systemie

Ja dopiszę jeszcze, że z powodu wolniejszego zapisu, nie ma sensu robić swapa na macierzy raid1, lepiej swap zostawić na oddzielnych dyskach, a w /etc/fstab w opcjach ustawić:

/dev/sda5 swap swap pri=1 0 0
/dev/sdb5 swap swap pri=1 0 0

oczywiście typ sda5 zmień z powrotem na swap

bonus napisał(-a):

Na stacjach klienckich podczas bootowania windowsa odpalać się będzie *.bat mapujący zasób serwera użytkownika samby, jego katalog /home (login i hasło inne niż w systemie windows). W pliku *.bat niestety będzie jawnie zdefiniowana nazwa usera oraz hasło z samby :/ (lub można też wymusić na użytkowniku ich wpisanie), a to dlatego żeby w oparciu o lokalna bazę SAM hosta użytkownik mógł i był zobowiązany do zmiany hasła w oparciu  lokalne polityki co 30 dni i nie był uzależniony do bazy samby.

Montowanie udziałów za pomocą skryptów bat/cmd nie jest konieczne, wystarczy w eksploratorze windows wybrać opcje mapuj dysk sieciowy. Niestety, wg Twoich założeń, zmiana hasła windows nie spowoduje zmiany hasła danego usera w Sambie.

bonus napisał(-a):

Teraz zastanawiam się czy ... obecnie planowane rozwiązanie wdrożyć zabezpieczając się tylko poprzez dołożenie drugiego dysku 1TB sata i replikacje tabeli partycji dysku /dev/sdb oraz zastosowanie mdadm - raid 1. Czy może lepiej ... stworzyć raid 1 dla dysków /dev/sda i /dev/sdb dla samego /home i przenieść root katalog / na osobny dysk 40 GB i robić codziennie jego kopię na drugi taki dysk na wypadek uszkodzenia dysku lub systemu (tutaj bez raid jakaś synchronizacja rsync), na wypadek moich błędów administracyjnych.

Problem uszkodzenia jednego dysku załatwi raid1, robienie kopii zapasowej systemu, zwłaszcza gdy zakładasz błędy administracyjne, jest wysoce wskazane. To ile dysków użyjesz zależy wyłącznie od Ciebie, na Twoim miejscu poprzestałbym na tych dwóch i ew, robił kopię systemu. W większości przypadków stosuje się system produkcyjny i testowy, wszelkie zmiany robione są na testowym, testowane i przenoszone na produkcję.

Offline

 

#6  2011-05-16 09:07:15

  bonus - Użytkownik

bonus
Użytkownik
Zarejestrowany: 2009-11-12

Re: Raid 1 - mdadm na działającym systemie

rychu napisał(-a):

to, czy zrobisz softowy raid na partycjach czy na całych dyskach nie ma wpływu na wydajność pracy dysków, wyłącznie kwestia organizacji. rób jak chcesz.

andreq napisał(-a):

Ja dopiszę jeszcze, że z powodu wolniejszego zapisu, nie ma sensu robić swapa na macierzy raid1, lepiej swap zostawić na oddzielnych dyskach, a w /etc/fstab w opcjach ustawić:
/dev/sda5 swap swap pri=1 0 0
/dev/sdb5 swap swap pri=1 0 0

Z powyższego wnioskuję, że lepiej jest zastosować raid1 dla partycji, z pominięciem partycji swap?

andreq napisał(-a):

Montowanie udziałów za pomocą skryptów bat/cmd nie jest konieczne, wystarczy w eksploratorze windows wybrać opcje mapuj dysk sieciowy. Niestety, wg Twoich założeń, zmiana hasła windows nie spowoduje zmiany hasła danego usera w Sambie.

Wykorzystanie do tego celu exploratora windows nie spełni planowanego zadania, ponieważ po ponownym uruchomieniu komputera nie pojawi się okienko do wpisania danych użytkownika samby, z którego uprawnieniami chcemy uzyskać dostęp do zasobu sieciowego. Jego podmontowanie nastąpi dopiero gdy użytkownik spróbuje wejść do niego klikając dwukrotnie na odpowiadającą temu literę dysku, wtedy pojawi się owy ekran do uwierzytelnienia.

Plik bat wyświetli w wierszu cmd za każdym razem po ponownym uruchomieniu komputera prośbę o login i hasło, a w przypadku zdefiniowania ich jawnie w tym pliku bat podmontuje zasób automatycznie. Zasób ma być podmontowany na początku pracy użytkownika by aplikacja zgodnie z ustalonym harmonogramem mogła robić kopie do tej lokalizacji.

Ponadto zmiana hasła windows ma następować co 30 dni, natomiast do zasobu sieciowego nie ... bo nie da się tego dokonać bez dc, którego nie planuję narazie lub mojej ingerencji w bazę tdbsam.

Jak zatem mogę usunąć obecnie utworzone md..., następnie chciałbym przy waszej pomocy poprawnie utworzyć macierze raid1 dla partycji. Chciałbym jeszcze zaznaczyć, że zastosowanie macierzy raid1 tylko na potrzeby /home (dyski 1TB) i przechowywanie systemu na oddzielnym dysku było by korzystne w przypadku zmiany komputera, przepięcie dysków do nowego sprzętu i podmonotowanie macierzy, tak mi się wydaje. Dobra przyjmijmy scenariusz taki, że chcę stworzyć 2 osobne macierze raid1 dla partycji sdb1, sdb6 swap stworzyć na obu dyskach zgodnie z zaleceniem. Jak zacząć?

Offline

 

#7  2011-05-16 12:50:15

  bonus - Użytkownik

bonus
Użytkownik
Zarejestrowany: 2009-11-12

Re: Raid 1 - mdadm na działającym systemie

Zrobiłem

Kod:

mdadm -S /dev/md0 
mdadm -S /dev/md1 
mdadm -S /dev/md2

oraz

Kod:

dd if=/dev/zero of=/dev/hda bs=512 count=1

teraz jest jak przed jakimkolwiek działaniem zaczynam od nowa. Spróbuję z http://www.howtoforge.com/software-raid1-grub-boot-debian-etch-p2 jednak pomoc dla początkującego mile widziana ;)

Hmm, dałem

Kod:

sfdisk -d /dev/sdb | sfdisk /dev/sda

jednak zwraca ostrzeżenie i nie wykonuje polecenia, wiem że mogę to wymusić atrybutem --force ale nie wiem czy nie będzie z tego tytułu jakich konsekwencji. Może jakaś podpowiedź/objaśnienie na ten temat?
Oto wynik powyższego polecenia

Kod:

sfdisk -d /dev/sdb | sfdisk /dev/sda
Sprawdzanie czy nikt nie używa teraz tego dysku...
Uwaga: partycja rozszerzona nie zaczyna się na granicy cylindra.
DOS i Linux inaczej zinterpretują jej zawartość.
OK

Dysk /dev/sda: cylindrów: 121601, głowic: 255, sektorów na ścieżce: 63

sfdisk: BŁĄD: sektor 0 nie zawiera sygnatury MSDOS
 /dev/sda: nierozpoznany typ tablicy partycji
Stara sytuacja:
Nie znaleziono żadnej partycji
Nowa sytuacja:
Jednostka = sektory 512-bajtowe, liczone od 0

  Urządz. Rozruch Początek   Koniec #sektorów Id  System
/dev/sda1   *      2048  19531775   19529728  83  Linux
/dev/sda2      19533822 1953523711 1933989890   5  Rozszerzona
/dev/sda3             0         -          0   0  Brak
/dev/sda4             0         -          0   0  Brak
/dev/sda5      19533824  20398079     864256  82  Linux swap / Solaris
/dev/sda6      20400128 1953523711 1933123584  83  Linux
Uwaga: partycja 1 nie kończy się na granicy cylindra

sfdisk: Nie podobają mi się te partycje - nie zmieniono
(jeśli na pewno tak mają wyglądać - proszę użyć opcji --force).

Partycje /dev/sdb były tworzenie z poziomu kreatora systemowego podczas instalacji systemu.

Ostatnio edytowany przez bonus (2011-05-16 12:51:07)

Offline

 

#8  2011-05-17 06:59:57

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: Raid 1 - mdadm na działającym systemie

sfdisk: BŁĄD: sektor 0 nie zawiera sygnatury MSDOS
/dev/sda: nierozpoznany typ tablicy partycji
Stara sytuacja:
Nie znaleziono żadnej partycji

To nie powinno dziwić, bo zamazałeś MBR zerami...

Kod:

dd if=/dev/zero of=/dev/hda bs=512 count=1

sfdisk: Nie podobają mi się te partycje - nie zmieniono
(jeśli na pewno tak mają wyglądać - proszę użyć opcji --force).

Tu po prostu sfdisk twierdzi, że masz dziwny układ partycji, i trochę ma rację...dziwi mnie pierwsza partycja, która nie zaczyna się od zera. Zawsze możesz utworzyć partycje przy pomocy innego programu np. cfdisk

Offline

 

#9  2011-05-17 10:20:55

  bonus - Użytkownik

bonus
Użytkownik
Zarejestrowany: 2009-11-12

Re: Raid 1 - mdadm na działającym systemie

andreq napisał(-a):

Tu po prostu sfdisk twierdzi, że masz dziwny układ partycji, i trochę ma rację...dziwi mnie pierwsza partycja, która nie zaczyna się od zera. Zawsze możesz utworzyć partycje przy pomocy innego programu np. cfdisk

Nie wiem czy dobrze rozumuję ale "debianowy partycjoner" widocznie dzieli dysk w oparciu o bloki, a nie o sektory. Muszę poczytać odnośnie budowy bloków z sektorów (bo chyba tak to jest).

Kod:

 fdisk /dev/sdb

UWAGA: tryb kompatybilności z DOS-em jest przestarzały. Zdecydowanie
       zaleca się wyłączyć ten tryb (polecenie 'c') i zmienić jednostki
       wyświetlania na sektory (polecenie 'u').

Polecenie (m wyświetla pomoc): v
Pozostało 7597 nieprzydzielonych sektorów 512-bajtowych

Może w związku z powyższym dokonać zmiany rozmiaru/korekty partycji dyskowych? Czy mogę spokojnie działać dalej? Wolę to uporządkować na początku, niż potem robić to jeszcze raz ...

Póki co postępuję dalej.

Musiałem zaimportować okład partycji inaczej:

Kod:

sfdisk -d /dev/sdb > sdb.out
Uwaga: partycja rozszerzona nie zaczyna się na granicy cylindra.
DOS i Linux inaczej zinterpretują jej zawartość.

sfdisk -f /dev/sda < sdb.out
Sprawdzanie czy nikt nie używa teraz tego dysku...
OK

Dysk /dev/sda: cylindrów: 121601, głowic: 255, sektorów na ścieżce: 63

sfdisk: BŁĄD: sektor 0 nie zawiera sygnatury MSDOS
 /dev/sda: nierozpoznany typ tablicy partycji
Stara sytuacja:
Nie znaleziono żadnej partycji
Nowa sytuacja:
Jednostka = sektory 512-bajtowe, liczone od 0

Urządz. Rozruch Początek   Koniec #sektorów Id  System
/dev/sda1   *      2048  19531775   19529728  83  Linux
/dev/sda2      19533822 1953523711 1933989890   5  Rozszerzona
/dev/sda3             0         -          0   0  Brak
/dev/sda4             0         -          0   0  Brak
/dev/sda5      19533824  20398079     864256  82  Linux swap / Solaris
/dev/sda6      20400128 1953523711 1933123584  83  Linux
[b]Uwaga: partycja 1 nie kończy się na granicy cylindra[/b]
Zapisano nową tablicę partycji

Ponowny odczyt tablicy partycji...

Jeśli utworzono lub zmieniono partycję typu DOS, np. /dev/foo7, należy
użyć dd(1), aby wyzerować pierwsze 512 bajtów:
dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(więcej w fdisk(8))

Efekt:

Kod:

fdisk -l

Dysk /dev/sda: 1000.2 GB, bajtów: 1000204886016
głowic: 255, sektorów/ścieżkę: 63, cylindrów: 121601
Jednostka = cylindrów, czyli 16065 * 512 = 8225280 bajtów
Rozmiar sektora (logiczny/fizyczny) w bajtach: 512 / 512
Rozmiar we/wy (minimalny/optymalny) w bajtach: 512 / 512
Identyfikator dysku: 0x00000000

Urządzenie Rozruch   Początek      Koniec   Bloków   ID  System
/dev/sda1   *           1        1216     9764864   83  Linux
/dev/sda2            1216      121602   966994945    5  Rozszerzona
/dev/sda5            1216        1270      432128   82  Linux swap / Solaris
/dev/sda6            1270      121602   966561792   83  Linux

Dysk /dev/sdb: 1000.2 GB, bajtów: 1000204886016
głowic: 255, sektorów/ścieżkę: 63, cylindrów: 121601
Jednostka = cylindrów, czyli 16065 * 512 = 8225280 bajtów
Rozmiar sektora (logiczny/fizyczny) w bajtach: 512 / 512
Rozmiar we/wy (minimalny/optymalny) w bajtach: 512 / 512
Identyfikator dysku: 0x0004db05

Urządzenie Rozruch   Początek      Koniec   Bloków   ID  System
/dev/sdb1   *           1        1216     9764864   83  Linux
/dev/sdb2            1216      121602   966994945    5  Rozszerzona
/dev/sdb5            1216        1270      432128   82  Linux swap / Solaris
/dev/sdb6            1270      121602   966561792   83  Linux

teraz za pomocą fdisk pozmieniałem ID partycji /dev/sda oto efekt

Kod:

 fdisk -l

Dysk /dev/sda: 1000.2 GB, bajtów: 1000204886016
głowic: 255, sektorów/ścieżkę: 63, cylindrów: 121601
Jednostka = cylindrów, czyli 16065 * 512 = 8225280 bajtów
Rozmiar sektora (logiczny/fizyczny) w bajtach: 512 / 512
Rozmiar we/wy (minimalny/optymalny) w bajtach: 512 / 512
Identyfikator dysku: 0x00000000

Urządzenie Rozruch   Początek      Koniec   Bloków   ID  System
/dev/sda1   *           1        1216     9764864   fd  Linux RAID autodetect
/dev/sda2            1216      121602   966994945    5  Rozszerzona
/dev/sda5            1216        1270      432128   82  Linux swap / Solaris
/dev/sda6            1270      121602   966561792   fd  Linux RAID autodetect

Dysk /dev/sdb: 1000.2 GB, bajtów: 1000204886016
głowic: 255, sektorów/ścieżkę: 63, cylindrów: 121601
Jednostka = cylindrów, czyli 16065 * 512 = 8225280 bajtów
Rozmiar sektora (logiczny/fizyczny) w bajtach: 512 / 512
Rozmiar we/wy (minimalny/optymalny) w bajtach: 512 / 512
Identyfikator dysku: 0x0004db05

Urządzenie Rozruch   Początek      Koniec   Bloków   ID  System
/dev/sdb1   *           1        1216     9764864   83  Linux
/dev/sdb2            1216      121602   966994945    5  Rozszerzona
/dev/sdb5            1216        1270      432128   82  Linux swap / Solaris
/dev/sdb6            1270      121602   966561792   83  Linux

Zgodnie z wcześniejszymi założeniami pozostawiłem partycję /dev/sda5 z id 82.

Wykonałem

Kod:

mdadm --zero-superblock /dev/sdb1
mdadm --zero-superblock /dev/sdb5
mdadm --zero-superblock /dev/sdb6

Kod:

mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/sda1
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

Kod:

mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/sda6
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.

Kod:

cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active (auto-read-only) raid1 sda1[1]
      9763768 blocks super 1.2 [2/1] [_U]

md1 : active (auto-read-only) raid1 sda6[1]
      966560632 blocks super 1.2 [2/1] [_U]

Kod:

mkfs.ext3 /dev/md0
mkfs.ext3 /dev/md1
mkswap /dev/sda5

Kod:

cat /proc/swaps
Filename                                Type            Size    Used    Priority
/dev/sdb5                               partition       432120  0       -1

Tutaj mam pytanie ... wykonałem polecenie

Kod:

cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf.org
mdadm --examine --scan >> /etc/mdadm/mdadm.conf

Wynikiem było dodanie do pliku konfiguracyjnego następujących wpisów

Kod:

ARRAY /dev/md/0 metadata=1.2 UUID=7f84c463:bcc2a680:c092675a:b7f0aadb name=storage1:0
ARRAY /dev/md/1 metadata=1.2 UUID=49ababde:2884e470:c1601d46:effec6f1 name=storage1:1

jednak odbiegają one od tych które widnieją w tutku http://www.howtoforge.com/software-raid1-grub-boot-debian-etch-p2. Chciałbym się dowiedzieć czy do tego momentu jest wszystko ok.

Ostatnio edytowany przez bonus (2011-05-17 10:55:26)

Offline

 

#10  2011-05-17 16:52:56

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: Raid 1 - mdadm na działającym systemie

Macierze działają, wg mnie brakuje Ci w /etc/mdadm/mdadm.conf wpisu

Kod:

DEVICE /dev/sd[ab][16]

Offline

 

#11  2011-05-17 22:12:00

  bonus - Użytkownik

bonus
Użytkownik
Zarejestrowany: 2009-11-12

Re: Raid 1 - mdadm na działającym systemie

Rozumiem, że mam dodać ten wpis do pliku konfiguracyjnego a dalej postępować zgodnie z tutkiem?

Ostatnio edytowany przez bonus (2011-05-17 22:12:12)

Offline

 

#12  2011-05-18 06:47:44

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: Raid 1 - mdadm na działającym systemie

Wpis ma być na początku mdadm.conf, poczytaj pomoc man

Kod:

mdadm.conf

Co do opisu, z grubsza wg niego, tylko dostosuj wpisy w fstab do Twoich realiów.  Konfigurację, gruba sobie daruj, pewnie masz grub2, pierwszy raz system wystartuj z macierzy poprzez "ręczne" podanie kernelowi parametru root=/dev/md0 (naciśnij e przy ekranie gruba), potem update-grub powinno załatwić sprawę.

Nie zapomnij skopiować danych na macierz, przed restartem...

Wcześniej pobierz sobie, jak nie masz, jakieś livecd na. ewentualne problemy ze startem systemu, polecam http://grml.org/download/

Offline

 

#13  2011-05-18 14:51:01

  bonus - Użytkownik

bonus
Użytkownik
Zarejestrowany: 2009-11-12

Re: Raid 1 - mdadm na działającym systemie

Hmm jak to skopiować, nie zrobi synchronizacji z /dev/sdb ? Czy mogę prosić o instrukcję krok po kroku nie wiem czy teraz montować /dev/md... do /mnt/md... Jak te dane przekopiować ?
Zgodnie z zaleceniem dodałem do mdamd.conf

Kod:

cat /etc/mdadm/mdadm.conf
DEVICE /dev/sd[ab][16] ...

Ostatnio edytowany przez bonus (2011-05-18 14:53:00)

Offline

 

#14  2011-05-18 16:35:09

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: Raid 1 - mdadm na działającym systemie

Dobrze zaczynasz...

Montujesz macierze np. /dev/md0 do /mnt/md0, /dev/md1 do /mnt/md1.

Potem zgodnie z instrukcją kopiujesz dane, np:

Kod:

cp -dpRx /* /mnt/md0
cp -dpRx /home/* /mnt/md1

Obecnie nie zrobi Ci synchronizacji z /dev/sdb, bo zrobiłeś zdegradowaną (uszkodzoną) macierz z samych sda. Dopiero gdy po przekopiowaniu danych uruchomisz system z macierzy (bez danych raczej nie wstanie), dodajesz dyski sdb do odpowiednich macierzy i wtedy rozpocznie się synchronizacja.

Offline

 

#15  2011-05-19 12:02:59

  bonus - Użytkownik

bonus
Użytkownik
Zarejestrowany: 2009-11-12

Re: Raid 1 - mdadm na działającym systemie

Podczas

Kod:

cp -dpRx /* /mnt/md0

Zapełnił mi się dysk ... nic dziwnego bo jeszcze home się kopiuje czy można zrobić jakieś wyłączenie z tego polecenia tego folderu?
teraz wykonuje się

Kod:

cp -dpRx /home/* /mnt/md1

i trwa ... (jakieś 200GB) jak to jest skoro nie ma póki co macierzy. Czemu tak długo trwa kopiowanie danych do /mnt/md... ? Czy dane są kopiowane w tej chwili na oba dyski /dev/sdb i /dev/sda.

Ostatnio edytowany przez bonus (2011-05-19 12:05:48)

Offline

 

#16  2011-05-19 16:04:14

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: Raid 1 - mdadm na działającym systemie

bonus napisał(-a):

Podczas

Kod:

cp -dpRx /* /mnt/md0

Zapełnił mi się dysk ... nic dziwnego bo jeszcze home się kopiuje czy można zrobić jakieś wyłączenie z tego polecenia tego folderu?

Właśnie dziwne, zdawało mi się, że masz /home na innej partycji, więc opcja x powinna pominąć kopiowanie. Spróbuj jeszcze raz, wcześniej odmontowując /home.

bonus napisał(-a):

teraz wykonuje się

Kod:

cp -dpRx /home/* /mnt/md1

i trwa ... (jakieś 200GB) jak to jest skoro nie ma póki co macierzy. Czemu tak długo trwa kopiowanie danych do /mnt/md... ? Czy dane są kopiowane w tej chwili na oba dyski /dev/sdb i /dev/sda.

Nie nie są kopiowane jednocześnie na oba dyski - masz zdegradowana macierz z samego dysku sda.
Czemu długo? Policz ile sekund będzie trwało przekopiowanie 200 GB danych, przyjmując, że transfer wynosi 100 MB/s (to jest bardzo dobry transfer w przypadku dysku mechanicznego)

Offline

 

#17  2011-05-19 19:32:51

  bonus - Użytkownik

bonus
Użytkownik
Zarejestrowany: 2009-11-12

Re: Raid 1 - mdadm na działającym systemie

Wykonanie

Kod:

cp -dpRx /home/* /mnt/md1

trwało jakieś 20-30 minut co jest bardzo dziwne. Dyski sata są podłączone do kontrolera fake-raid na pci :/. Przerzucam tymczasowo cały /* do /mnt/md1/calosc potem usunę /home i całą resztę przeniosę do /mnt/md0, oczywiście trwa to bardzo długo zostawiłem kompa w pracy włączonego ... do jutra się zrobi napewno :).

Offline

 

#18  2011-05-19 21:00:25

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: Raid 1 - mdadm na działającym systemie

bonus napisał(-a):

Wykonanie

Kod:

cp -dpRx /home/* /mnt/md1

trwało jakieś 20-30 minut co jest bardzo dziwne. Dyski sata są podłączone do kontrolera fake-raid na pci :/.

Dziwne?!

Przyjmijmy, że:
200 GB => 200 000 000 000 B
transfer wynosi 100 MB/s => 100 000 000 B/s
czyli przekopiowanie potrwa:
200 000 000 000 / 100 000 000 = 2000 s
co daje: 33 minuty 20 s

Offline

 

#19  2011-05-20 02:17:35

  rychu - elektryk dyżurny

rychu
elektryk dyżurny
Skąd: gdańsk/kalmar
Zarejestrowany: 2004-12-28

Re: Raid 1 - mdadm na działającym systemie

może pomyliłeś raid0 z raid1 ;)


linux regd. user #248790

Offline

 

#20  2011-05-20 08:24:18

  bonus - Użytkownik

bonus
Użytkownik
Zarejestrowany: 2009-11-12

Re: Raid 1 - mdadm na działającym systemie

rychu napisał(-a):

może pomyliłeś raid0 z raid1 ;)

tak jasne ...
zrobiłem

Kod:

umount /dev/sd6

i ponownie

Kod:

cp -dpRx /* /mnt/md0

Tak jak przed odmontowaniem wywaliło

Kod:

cp: czytanie `/proc/sysrq-trigger': Błąd wejścia/wyjścia

i "wisi" w procesach też widnieje to polecenie i rezerwuje pamięć jednak nic się nie zmienia, znaczy brak aktywności procesu ...
zakończyłem proces ctrl+c bo co mam zrobić? Wszystko się nie skopiowało co można wywnioskować chociażby z zajętości dysku na /dev/sdb1 /mnt/md0. Zainstalowałem rsync jakie polecenie rozwiąże problem skopiowania i wyłączenie /proc/*.

Ostatnio edytowany przez bonus (2011-05-20 08:50:38)

Offline

 

#21  2011-05-21 07:38:24

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: Raid 1 - mdadm na działającym systemie

Możesz kopiować katalogi pojedynczo, przy pomocy cp pomijając /proc i /sys. Jak chcesz użyć rsync to:

Kod:

rsync -auHx --exclude=/proc/* --exclude=/sys/*  /* /mnt/md0/

Potem musisz utworzyć katalogi proc i sys

Kod:

mkdir /mnt/md0/proc /mnt/md0/sys

I nadać im odpowiednie prawa dostępu:

Kod:

chmod 555 /mnt/md0/proc
chmod 755 /mnt/md0/sys

Offline

 

#22  2011-05-23 12:23:31

  bonus - Użytkownik

bonus
Użytkownik
Zarejestrowany: 2009-11-12

Re: Raid 1 - mdadm na działającym systemie

Dobra skopiowane ... Na początek dalszych rozważań zaznaczę, że Grub wersja 1.98.
Wyedytowałem plik /etc/fstab

Kod:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# / was on /dev/md0 during installation
/dev/md0        /               ext3    errors=remount-ro 0       1
# /home was on /dev/md1 during installation
/dev/md1        /home           ext3    defaults        0       2
# swap was on /dev/sda5 during installation
UUID=8db19870-9a42-4a9f-8ff0-6655ebd8457b none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0

także uuid'y zmienione na /dev/mdx jak wyżej
Potem robię reboot i edytuję wpis gruba na root=/dev/md0. Czy nie muszę zmienić jeszcze set root='(hd0,msdos1)'? Chociaż hd0 wskazuje na sda, sam nie wiem ... W każdym razie przy takiej konfiguracji w grub'ie

Kod:

insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set c39401f2-a51d-4aed-bc93-dc75e2fa1037
echo 'Loading Linux 2.6.32-5-686 ...'
linux /boot/vmlinuz-2.6.32-5-686 root=/dev/md0 ro quiet
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.32-5-686

Ctrl+x odpala się normalnie pierwsze są monity o braku jednego dysku w raid'zie potem normalnie. Nie wiem z jakiego dysku ładuje się teraz system, ale żadnej synchronizacji tu nie widzę. Co dalej mam z tym robić?
Poszedłem dalej :)
Dokonałem zmiany typu partycji dysku /dev/sdb na fd (Linux RAID autodetect). Przy próbie zapisu

Kod:

Tablica partycji została zmodyfikowana!

Wywoływanie ioctl() w celu ponownego odczytu tablicy partycji.

UWAGA: ponowny odczyt tablicy partycji zakończył się błędem 16: Urządzenie lub zasoby zajęte.
Jądro nadal używa starej tablicy. Nowa tablica będzie używana po
następnym restarcie systemu albo po uruchomieniu partprobe(8) lub kpartx(8)
Synchronizacja dysków.

Zrobiłem restart.
Teraz dodałem partycje /dev/sdb do odpowiednich macierzy

Kod:

mdadm --add /dev/md0 /dev/sdb1
mdadm: added /dev/sdb1

Kod:

mdadm --add /dev/md1 /dev/sdb6
mdadm: added /dev/sdb6

chyba leci :)

Kod:

cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb1[2] sda1[1]
      9763768 blocks super 1.2 [2/1] [_U]
      [===>.................]  recovery = 19.3% (1887552/9763768) finish=7.0min speed=18710K/sec

md1 : active raid1 sdb6[2] sda6[1]
      966560632 blocks super 1.2 [2/1] [_U]
        resync=DELAYED

Teraz jak uporządkować sprawę partycji swap i gruba?. Chyba wszystko dobrze zrobiłem. Byłem ciekaw czy raid 1 może działać bez 1 dysku twardego z tego wynika, że może :) tylko zapewne podczas synchronizacji nie można wykonywać żadnych zmian w systemie bo potem mogą wystąpić niespójności? Wytłumaczcie proszę ? Mam w pracy serwer z raid 1 na mdadm i ciekaw jestem czy wstanie, gdyby jeden dysk padł.

Hmm podczas synchronizacji nie pracuję w trybie single user i wykonała mi się na ftp kopia bazy sql mam nadzieje, że nic się przez to nie sknoci? Dane skopiowały się na /dev/md1 podczas dodawania /dev/sda6.

Offline

 

#23  2011-05-23 20:35:43

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: Raid 1 - mdadm na działającym systemie

Dobra zajmijmy się swapem, masz w fstab:

# swap was on /dev/sda5 during installation
UUID=8db19870-9a42-4a9f-8ff0-6655ebd8457b none            swap    sw              0       0

Powinieneś zmienić kolumnę sw, na sw,pri=1 oraz dodać swap na sdb5 (oczywiście będzie miał inny UUID), też z sw,pri=1

Teraz grub... wpis:

set root='(hd0,msdos1)'

w grub.cfg wskazuje, że grub ładowany jest z dysku sda, mniemam, że na dysku sdb gruba nie instalowałeś. Musisz wykonać:

Kod:

# grub-install /dev/sda
# grub-install /dev/sdb

Może być konieczne, chwilowe usuniecie partycji na sdb z macierzy. Po ewentualnym dodaniu z powrotem partycji i synchronizacji macierzy, dodaj do grub.cfg (a raczej będziesz musiał pobawić się plikami w /etc/grub.d/ - bo wpisy w grub.cfg są generowane z pliku /etc/defaurt/grub i plików w /etc/grub.d/) wpis:

insmod part_msdos
insmod ext2
set root='(hd1,msdos1)'
search --no-floppy --fs-uuid --set c39401f2-a51d-4aed-bc93-dc75e2fa1037
echo 'Loading Linux 2.6.32-5-686 ...'
linux /boot/vmlinuz-2.6.32-5-686 root=/dev/md0 ro quiet
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.32-5-686

A przed poprzednim wpis set falback=2, gdzie numer 2 jest pozycją w menu grub-a, która ma być załadowana po niepowodzeniu ładowania pozycji default. Tu masz przykładowy skrypt (skrypty w debianie nie załatwiają tej opcji) http://wiki.ubuntuusers.de/GRUB_2/Skripte#Fallback-Skript

O kopię bazy nie musisz się martwić, dane na macierzy (w twoim przypadku, bez jednego dysku) są automatycznie kopiowane na drugi po jego dodaniu do macierzy. W czasie jej odbudowy dane zapisywane są już na dwóch dyskach.

Offline

 

#24  2011-05-24 16:19:27

  bonus - Użytkownik

bonus
Użytkownik
Zarejestrowany: 2009-11-12

Re: Raid 1 - mdadm na działającym systemie

Wybacz andreq ale nie wiem jak zabrać się za konfigurację grub'a po wykonaniu wskazanych czynności bez modyfikacji gruba zrobiłem restart. System oczywiście nie wstał, monity:
najpierw

Kod:

... fd0 read error

następnie

Kod:

Loading Linux 2.6.32-5-686
error: file not found
Loading iniial ramdisk ...
error: you need to load the krenel first

Failed to boot both default and fallback entries

Press any key to continue ...

Offline

 

#25  2011-05-25 06:59:46

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: Raid 1 - mdadm na działającym systemie

Wyświetla Ci się menu gruba, przypuszczam, że tak. Jak wyświetli się menu, naciśnij c, pojawi się znak zachęty gruba

Kod:

grub>

wpisz:

Kod:

grub> insmod raid
grub> insmod ext2
grub> set root=(md0)
grub> search --no-floppy --fs-uuid --set c39401f2-a51d-4aed-bc93-dc75e2fa1037
grub> linux /boot/vmlinuz-2.6.32-5-686 root=/dev/md0 ro quiet
grub> initrd /boot/initrd.img-2.6.32-5-686
grub> boot

Po każdej komendzie działa uzupełnianie TAB-em.

Innym sposobem, mniej męczacym, jest użycie livecd, zamontowanie macierzy z systemem, wykonanie chroot-a i wykonanie

Kod:

# dpkg-reconfigure grub-pc

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)