OVH Community, your new community space.

Utworzenie nowej macierzy RAID z brakującym aktywnym dyskiem


mikel
10-05-2012, 21:43
Cytat Napisał Arkoso
Jakim sposobem udało Ci się dojść, że google używa właśnie ext4? Chyba, że przeczytałeś gdzieś?
Akurat to łatwo sprawdzić

google: "google ext4"

Arkoso
10-05-2012, 21:26
Cytat Napisał Spacedust
Nie lubię eksperymentów Tak jak kiedyś reiserfs, który mi się rozsypał totalnie. Nawet samo Google używa ext4, więc oni muszą wiedzieć co dobre.
Jakim sposobem udało Ci się dojść, że google używa właśnie ext4? Chyba, że przeczytałeś gdzieś?

Misiektt
10-05-2012, 19:10
Jak gruba nie ustawisz na dysku to nie odpali

Spacedust
08-05-2012, 11:38
Cytat Napisał dzimi
z czystej ciekawości, dlaczego nie ZFS ? (natywnie pod linuksem działa bez większego problemu a i wydajność ma sporą (bynajmniej w moim zastosowaniu)).
Jedyne czego mu brakuje to O_DIRECT ale nie mam żadnej aplikacji która by z tego korzystała.
Działa deduplikacja, kompresja, itp.
Nie lubię eksperymentów Tak jak kiedyś reiserfs, który mi się rozsypał totalnie. Nawet samo Google używa ext4, więc oni muszą wiedzieć co dobre.

dzimi
08-05-2012, 10:59
z czystej ciekawości, dlaczego nie ZFS ? (natywnie pod linuksem działa bez większego problemu a i wydajność ma sporą (bynajmniej w moim zastosowaniu)).
Jedyne czego mu brakuje to O_DIRECT ale nie mam żadnej aplikacji która by z tego korzystała.
Działa deduplikacja, kompresja, itp.

Spacedust
08-05-2012, 10:28
Cytat Napisał Joshua
Najlepiej jeszcze partycje na dysku zrobić typu fd (linux raid autodetect).
Teoretycznie wtedy kernel powinien sam poskładać RAIDy bez udziału mdadm.
Tak zrobiłem

Joshua
08-05-2012, 09:19
Cytat Napisał Spacedust
CentOS 5.8 64-bit

A żeby startować te macierze przy starcie wystarczy to + plik wpis do /etc/fstab ?

mdadm --detail --scan >> /etc/mdadm.conf

Wygląda to teraz tak:
Najlepiej jeszcze partycje na dysku zrobić typu fd (linux raid autodetect).
Teoretycznie wtedy kernel powinien sam poskładać RAIDy bez udziału mdadm.

Spacedust
07-05-2012, 12:33
Cytat Napisał Widmo
jak do tej pory wstawało poprawnie to tak, wstanie.

jakie distro? :>
CentOS 5.8 64-bit

A żeby startować te macierze przy starcie wystarczy to + plik wpis do /etc/fstab ?

mdadm --detail --scan >> /etc/mdadm.conf

Wygląda to teraz tak:

Personalities : [raid1] [raid0] [raid6] [raid5] [raid4] [raid10]
md3 : active raid1 sda3[0]
101232536 blocks super 1.2 [2/1] [U_]

md2 : active raid1 sdc3[0] sdd3[1]
2914280100 blocks super 1.0 [2/2] [UU]

md0 : active raid1 sdd1[2] sdc1[1] sdb1[0] sda1[3]
254912 blocks [4/4] [UUUU]

md1 : active raid1 sda2[0] sdb2[1]
15728576 blocks [2/2] [UU]

unused devices:

Widmo
07-05-2012, 12:31
jak do tej pory wstawało poprawnie to tak, wstanie.

jakie distro? :>

Spacedust
07-05-2012, 12:27
mdadm --create /dev/md3 --level=1 --raid-devices=2 /dev/sda3 missing
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/md3 started.
Czy tutaj dobrze to zrobiłem, nie będę robił boot na tej partycji, ale mam /boot na innej macierzy na tych samych fizycznych dyskach (md0). Czy system wstanie prawidłowo ?

Spacedust
06-05-2012, 21:28
Cytat Napisał meto
W miejsce urządzenia którego nie ma dajesz missing (czyli tak jak kolega podał tylko bez sdb).
Dokładnie tak

meto
06-05-2012, 20:53
W miejsce urządzenia którego nie ma dajesz missing (czyli tak jak kolega podał tylko bez sdb).

Spacedust
06-05-2012, 20:39
Cytat Napisał Widmo
Mój błąd. Ale koncepcja dobra
W nocy wyłączę MySQL i spróbuję to zrobić

Widmo
06-05-2012, 19:54
Mój błąd. Ale koncepcja dobra

Spacedust
06-05-2012, 19:39
Cytat Napisał Widmo
IMO nie podajesz jaki dysk wrzucasz w raid a jaki masz missing.



czytaj: zrob mi md3 level 1 mam 2 device uzyj sda3 ale brakuje mi sdb3
Tak myślałem, że może o to chodzić, ale to nie do końca działa:

mdadm --create /dev/md3 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3 missing
mdadm: You have listed more devices (3) than are in the array(2)!

victor
06-05-2012, 19:39
musisz odmontować urządzenie (/partycję) oczywiście wcześniej.
Tworząc macierz oczywiście podajesz urządzenia które masz, a nie te których nie masz
Nie zepsuje to danych na urządzeniu. Później montujesz po /dev/mdX

Widmo
06-05-2012, 19:36
IMO nie podajesz jaki dysk wrzucasz w raid a jaki masz missing.

mdadm --create /dev/md3 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3 missing
czytaj: zrob mi md3 level 1 mam 2 device uzyj sda3 ale brakuje mi sdb3

Spacedust
06-05-2012, 12:30
Obecnie mam:

proc /proc proc defaults 0 0
/dev/md0 /boot ext3 defaults 1 1
/dev/md1 / ext4 rw,noatime,nodiratime,usrjquota=aquota.user,grpjqu ota=aquota.group,usrquota,grpquota,jqfmt=vfsv0 1 1
/dev/md2 /home ext4 rw,noatime,nodiratime,usrjquota=aquota.user,grpjqu ota=aquota.group,usrquota,grpquota,jqfmt=vfsv0 0 0
UUID=b422827c-9f2f-4bc5-ab5a-3cc921924daa /var/lib/mysql ext4 rw,noatime,nodiratime,usrjquota=aquota.user,grpjqu ota=aquota.group,usrquota,grpquota,jqfmt=vfsv0 1 1
Chcę utworzyć nowy RAID1 dla /var/lib/mysql na dwóch dyskach SSD. Mam nowy dysk SSD podpięty na sda. Stary jest na sdb3:

System plików rozm. użyte dost. %uż. zamont. na
/dev/md1 15G 5,1G 9,2G 36% /
tmpfs 7,9G 1,1G 6,9G 13% /dev/shm
/dev/md0 242M 39M 190M 17% /boot
/dev/sdb3 96G 76G 15G 84% /var/lib/mysql
/dev/md2 2,7T 1,7T 1020G 63% /home
Utworzyłem już odpowiednie partycje na sda:

Urządzenie Rozruch Początek Koniec Bloków ID System
/dev/sda1 1 32 254976 fd Linux RAID autodetect
Partycja 1 nie kończy się na granicy cylindra.
/dev/sda2 32 1990 15728640 fd Linux RAID autodetect
/dev/sda3 1990 14593 101233632+ fd Linux RAID autodetect
Teraz chcę utworzyć macierz z brakującym dyskiem /dev/sdb3, żeby z niego zgrać dane na nową macierz i potem sobie go dodać do macierzy, ale dysk jest w użyciu i nie mogę tego zrobić:

mdadm --create /dev/md3 --level=1 --raid-devices=2 missing /dev/sdb3 mdadm: cannot open /dev/sdb3: Device or resource busy
Rozumiem, że trzeba na chwilę zatrzymać MySQL, ale czy stworzenie takiej macierzy nie spowoduje uszkodzenia danych na tej partycji ?