# Raid 1 - odczyt z jednej partycji

## Yatmai

System mi nieco zaczął mulić, więc zacząłem analizować gdzie mogę mieć błędy w architekturze spowalniające ogólne działanie. Jednym z punktów prawdopodobnie jest moja partycja /home. Wygląda to ta, że 20GB partycje /dev/sda7 i sdb2 złączyłem w macierz RAID1 dla zabezpieczenia przed ewentualną awarią dysku. System mam na sda, a "magazyn" na filmy, mp3, etc na sdb. Więc teoretycznie programy lecą z jednego dysku, a filmy (w przypadku mplayer + film  :Very Happy: ) z drugiego przez co odtwarzanie nawet dużego strumienia video nie wpływa (zbytnio) na odczyt z sda, a zatem na uruchamianie się innych programów.

Takie było założenie teoretyczne, niestety (prawdopodobnie przez KTorrent) rozjechało mi się to wszystko, gdyż jakikolwiek odczyt z /home blokuje oba dyski (jak wiadomo przy obecnej architekturze dysków odczyt równoległy np 2 plików jest więcej niż 2x wolniejszy niż szeregowy) przez co generalnie wszystko zaczyna mulić.

Teraz co chciałbym osiągnąć. Raid 1 to przecież lustrzana kopia, a więc na obu partycjach jest to samo. Dlatego właśnie odczyt danych mógłby się przecież odbywać tylko z jednej partycji, dzięki czemu drugi dysk nie byłby niepotrzebnie blokowany. Pytanie teraz czy da się kernel przekonać (bez ingerencji w kod, bo o ile pomniejsze programy nie są dla mnie problemem, to na modyfikowanie sterownika odczytu/zapisu dysku się nie odważę  :Very Happy: ) by zapisywał standardowo, jednak odczytywał z jednej partycji ?  :Smile: 

----------

## czestmir

Nie wiem czy dobrze zrozumiałem ale raid1 rozumie że software'owy iż partycja systemowa i partycja z filmami i mp3 nie są w raid.

Ty chcesz żeby z partycji /home która jest w raid odczyt odbywał się z tylko jedne partycji fizycznej. No hopi to tobie raid nie jest potrzebny

ino skrypt przerzucający dane z jednej partycji fizycznej na drugą. Jeżeli źle zrozumiałem to przepraszam i wyjaśnij to troch bardziej wtenczas.

no i pozdrawiam

----------

## Yatmai

Chyba dobrze zrozumiałeś i nawet myślałem o skrypcie który co jakiś czas synchronizowałby partycje. Pozostaje tylko pytanie ile potrwałby taki rsync, bo wkurzające by było tracenie kompa na np 5 minut podczas jakiejś czynności (a zwłaszcza czegoś pilnego :] )

----------

## czestmir

Raid 1 jest najmniej wydajnym raid'em a softwera'owy no cóż. Sądzę że wydajność poprawiłby raid wszystkich partycji, ale domyślam się że istotne jest dla ciebie ilość GB na dysku a raid 1 ograniczył by tą pojemność tylko do rozmiaru jednego dysku. Polecał bym codzienny backup różnicowy, a raz w tygodni pełen. Oczywiście zależności od twoich potrzeb.

----------

## Yatmai

Hehe, no niestety 20GB na raid 1 mogę odżałować, ale 200GB to lekka przesada  :Wink:  Tym bardziej, że awaryjność współczesnych dysków nie jest za wysoka (w zasadzie w życiu to mi 3 dyski padły, przy czym 1 po tygodniu odżył, a ponadto z każdego można było wcześniej odzysać ok 95% danych  :Smile:  ) To bardziej teoria dla lepszego samopoczucia, bo wszyscy wiemy jak boli utrata np zdjęć z wakacji, imprezy, etc  :Smile: 

Jak będę miał chwilę to sprawdzę jak szybko załatwiałby sprawę rsync, bo generalnie na /home trzymam tylko ustawienia, zdjęcia, projekty, a wielgaśne kolekcje mp3/filmów/iso mam na innej partycji  :Smile: 

----------

## mbar

Ty Art.root to masz zawsze jakieś wydumane problemy z kosmosu.  :Confused: 

Gdybyś trochę poszperał, to byś się dowiedział (szok), że md raid1 wysyła żądania odczytu tylko do jednego z dysków. To co chcesz zrobić to głupi pomysł i tylko bardziej spowolni system.

----------

## Yatmai

 *mbar wrote:*   

> Gdybyś trochę poszperał, to byś się dowiedział (szok), że md raid1 wysyła żądania odczytu tylko do jednego z dysków. To co chcesz zrobić to głupi pomysł i tylko bardziej spowolni system.

 

Ja gdzieś tam czytałem, że plusem Raid1 jest to, że sys wysyła zapytanie do obu dysków na raz, ale jako że to lustrzana kopia to może zacząć odczytywać gdy pierwszy znajdzie żądane miejsce, a więc skraca się ogólny czas wyszukiwania.... Jednak zapytanie leci do obu (wszystkich) dysków  :Smile: 

 *mbar wrote:*   

> Ty Art.root to masz zawsze jakieś wydumane problemy z kosmosu.  

 

Hehe, ktoś mnie kiedyś skwitował propos rozwodzenia się nad podobnym problemem, że jeśli tylko takie problemy mam w życiu to muszę być naprawdę szczęśliwym człowiekiem  :Very Happy: 

Może niektóre pomysły wydają się absurdalne, ale jak mi system muli to przecież nie zacznę płakać i zbierać na lepszy sprzęt, bo przecież co mam jest naprawdę mocne, tylko muszę jeszcze potrafić okiełznać tę moc  :Smile: 

----------

## mbar

to lepiej pokaż jak żeś to skonfigurował od góry (opcje tworzenia systemu plików) do dołu (raidtab, mdstat)

http://tldp.org/HOWTO/Software-RAID-0.4x-HOWTO-8.html

----------

## Yatmai

/etc/mdadm.conf

```
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=e43a8b87:48648094:b6c6ca3c:bacbefe4
```

/proc/mdstat

```
Personalities : [linear] [raid0] [raid1] [multipath] [faulty]

md1 : active raid1 sdb2[1] sda7[0]

      19542976 blocks [2/2] [UU]

unused devices: <none>

```

Przed tym utworzyłem /dev/md1 mknod /dev/md1 b 9 1 a na koniec, po synchronizacji dysków mkreiserfs /dev/md1

Generalnie wg tego co znalazłem na wiki, bez "sztuczek"  :Smile: 

----------

## timor

Jeżeli nie powinienem tego wyciągać to założę osobny wątek  :Wink: 

Ale jestem ciekaw doświadczeń Yatmai z tym raidem 1, bo planuję zrobić u siebie coś podobnego i chciałbym możliwie uniknąć nieprzewidzianych jajc  :Wink: 

Obecnie mam 250 i 160 Seagate'a o rożnych parametrach, chcę do tego dokupić identyczną 250 i teraz tak... Te dwie 250 chciałbym spiąć w raid0 a 160 wykorzystać na backup i może na winde.

RAID0 powinien dać przyjemnego kopa w korzystaniu z dysku, ale jest to konfiguracja dość niebezpieczna więc konieczny będzie backup przynajmniej partycji home (podobnie jak Yatmai trzymam tam dokumenty i projekty, magisterkę... -  wszystko co najważniejsze). Zastanawiam się właśnie jak byłoby najlepiej to przeprowadzić. RAID0 na windzie nie jest dla mnie priorytetem bo korzystam z niej tylko do paru programów potrzebnych na uczelni.

No i z możliwości mam mniej więcej takie:

- postawić dwie 250 w raid0 (na system, home i wszytko) i wykonywać dzienny backup na 160 - boję się jednak, że przy obecnych kilkunastu GB danych mocno i na długo zamulałoby mi to kompa,

- mogę też postawić 250 w RAID0 a home na RAID1 (pomiędzy 250-tkami, lub 160-tką) - tyle, że 160-tka jest dużo mniej wydajna (mniejszy bufor i sporo słabsze odczyty),

- mogę też postawić home w RAID5 (pomiędzy 3 dyskami) albo jakiś inny z mirroringiem i strippingiem.

No i mam sporo wątpliwości którą metodę wybrać bo 250-tki to SATA2 a 160-tka to SATA1, więc przy RAID1 z nią czy RAID5 160-tka będzie zamulać mi dwa pozostałe dyski i obniżać wydajność całości. Ale że jest wolniejsza i ma dłuższe czasy dostępu to idealnie nadaje się na wrzucanie tam backupu, w stosunku do dysków na system.

Widzę, że przynajmniej część z Was ma już jakieś doświadczenia w tej materii, więc byłbym wdzięczny za uwagi/propozycje.

Pozdrawiam.

----------

## Yatmai

Primo SATAII ma teoretyczną przepustowość 300GB/s, a spotkałeś się z transferem większym niż 100MB/s ?  :Razz:  To zwykły chwyt marketingowy.

Propos Raid0 to nie ma tak różowo. Odczyt na poziomie 60MB/s biblioteki dajmy na to 300kB zajmie ułamki sekundy. Cały problem polega na tym, że tych bibliotek przy uruchomieniu dajmy na to Kadu jest pare -naście -dziesiąt -set  :Wink:  I po każdym odczycie głowica musi odnaleźć kolejną, co najbardziej spowalnia całą zabawę. W Raid0 dochodzi jeszcze taki czynnik, że obie głowice muszą się ustawić na właściwej pozycji by rozpocząć odczyt - jeśli jedna się spóźni to druga czeka  :Wink: 

Z własnego doświadczenia, podwojony (a przynajmniej teoretycznie  :Wink:  ) transfer przyda się co najwyżej przy przenoszeniu ogromnych plików - jakieś filmy, dvd-iso, etc. Nie wiem jak Wy, ale ja na takie rzeczy mam wydzieloną osobną ogromną partycje, od razu na nią wgrywam/ściągam i jakoś nie miałem jeszcze potrzeby przerzucać filmów po całym dysku  :Smile:  Inną rzeczą jest przenoszenie tak dużego pliku na inny komputer. Zdarzało mi się często jak nie miałem nagrywarki dvd - musiałem przerzucać wszystko do ojca i tam wypalać. Tylko tutaj wąskim gardłem i tak jest sieć. Na 100Mbit ethernet osiągałem transfery rzędu 11-12MB/s max, co i tak jest sporo poniżej wydajności pojedynczego dysku.

Co warto zrobić, /home na Raid1 - bezpieczeństwo przede wszystkim  :Wink:  Oprócz tego nie głupie będzie stworzenie dwóch swap'ów o równych priorytetów na obu dyskach i podział ról. Na sda mam głównie systemy/aplikacje, na sdb dane do nich. Generalnie doszedłem do takiego podziału po obserwacji pracy dysku atop'em. Prosty przykładzik:

1. odpalasz mplayer'a z sda

2. zaczyna odtwarzać teledysk - ciągnie jakieś 250kb/s, niewiele ale chodzi o czas w

ustawiania głowicy  :Wink: 

3. odpalasz firefox'a - gdyby wszystko było na jednym dysku to głowica musiała by skakać między teledyskiem a bibliotekami - a tak mamy transfer równoległy  :Smile: 

4. ściągasz jakiś plik z www na sdb

5. na sdb głowica skacze pomiędzy odczytem teledysku, a zapisem pliku

6. sda jest bezczynny więc odpalając kadu dostajesz pełną prędkość odczytu, mimo, że w tle lecą dwie inne operacje  :Smile: 

Przyznam, że takie rozwiązanie mocno poprawia szybkość i czas reakcji systemu w warunkach dużego obciążenia. Przy idle nie ma co się czarować, cudów się nie wyczaruje  :Wink: 

----------

## SlashBeast

nie 300GBps tylko 3GBps. Klasyczne dyski nie wyciągają >100M ale SSD już tak, nawet ktoś zrobił sobie raid0 z dysków SSD uzyskując 833MBps, jednak kontroler który był w pci-express 8x nie był wstanie więcej wyciągnąć. Gdy zrobiłem raid0 ze starych dysków ata100 80G wzrost wydajnosci sugerujac sie hdparmem był na poziomie 20% tj wzrost prędkości, nie mówie o czasach dostępu do plików bo nie testowałem tego.

----------

## timor

A jak sprawa ma się z RAID1 jeżeli będzie on zrobiony pomiędzy dyskami o różnej prędkości? Dużo będzie to wolniejsze?

----------

## Yatmai

@Timor - poleci to z prędkością wolniejszego. Ale jeśli masz na myśli twoje 250 i 160GB to nie bój żaby, są wystarczająco szybkie. Sam mam Seagate 160GB i 200GB  :Smile: 

@SlashBeast SSD zostawmy w spokoju, bo fajnie wygląda zajebiście szybki odczyt, a nikt jakoś nie wspomina o słabym zapisie  :Wink: 

A propos starszych dysków, to testowałem różne konfiguracje twardzieli 1.2,  6 i 15 GB zawsze odczyt był ok 12-15% większy od tego wolniejszego dysku, co nas raczej nie zadowala.

----------

## timor

 *Yatmai wrote:*   

> @Timor - poleci to z prędkością wolniejszego. Ale jeśli masz na myśli twoje 250 i 160GB to nie bój żaby, są wystarczająco szybkie. Sam mam Seagate 160GB i 200GB 

 

Mnie właśnie dziwi bo ta 160-tka ma kilka mb/s, tak wynikałoby z moich testów. 160-tka średnio 17MB/s a 250-tka ok. 23-24MB/s.

----------

## SlashBeast

Nie wiem czy zapis na poziomie 80MBps mozna okreslic jako słaby. Ale generalnie za taki fajny dysk SSD 16G to trza zaplacic ~ 3k PLN.

----------

## kolszak

mialem raida softw. 1 na roznych dyskach (80 GB i 150 na ide) dzialalo. Obecnie mam Raida 1 na dwoch dyskach 160 GB sata. Wydajnosc ogromna bo praktycznie taka jaka daje podlaczenie jednego dysku ale za to bezpieczenstwo jeszcze wieksze. Innego raida softwarowego nie polecam. Niech ktos zrobi softowa 5 i zobaczy jak to obciaza system. Obecnie na Raid 1 i dyskach ST3160815AS mam: dla hdparm -tT /dev/md0 933 / 73 MB/sec. Wiec chyba nie potrzeba mi wiecej  :Smile:  propozycje skryptow dla rsync ja bym zlekcewazyl jesli masz pieniadze na dysk by zrobic macierz (a dysk i tak masz bo przeciez gdzies chcesz kopiowac te dane).

----------

## Yatmai

Raid 5 w ogóle jak dla mnie nie wchodzi w grę  :Wink:  Na serwerach bym to przemyślał, ale na desktop nie ma najmniejszego sensu. Nawrzucam twardzieli a potem mnie ojciec z domu wywali za rachunek z elektrowni  :Very Happy: 

----------

## timor

Ja póki co mieszkam w akademiku więc rachunki za prąd to drugorzędna sprawa  :Very Happy: 

Ciekaw jeszcze jestem czy RAID0 rozwiązałby moje problemy z robieniem wielu rzeczy na raz, jak się ma wydajność gdy coś kopiujecie/kompresujecie, na innym pulpicie coś się robi na maszynie wirtualnej, a na jeszcze kolejnym zapuści eclipsa i thunderbirda  :Wink:  ?

Dzięki za dotychczasowe odpowiedzi, musiałbym się z miesiąc czasu bawić aby dojść do tego samemu  :Wink: 

----------

## Yatmai

No raczej Raid0 nie załatwi sprawy, właśnie przez skakanie głowicy między plikami

----------

