Macierz dyskowa <- robiona samemu?

Zaczęty przez goofyx, 05 Grudzień 2011, 10:06

goofyx

Mam następującą sytuację <- w moim serwerku nie mam już wolnego miejsca fizycznie ani złącz sata na podpinanie nowych dysków, a niestety mam coraz większą potrzebę czegoś takiego.
Myślałem nad zrobieniem osobnego komputerka jako coś jak macierz dyskowa.
Zastanawiałem się jak to można technicznie rozwiązać, tak aby:
1. obsługa była maksymalnie prosta czyli wpinam nowy dysk i klikam gdzieś inicjuj i to wszystko
2. ze względu na to, że dyski będą różnej wielkości Raidy odpadaja <- myślałem np.: nad Amahi, który ma mechanizm GreyHole (nei wiem jeszcze jak wygląda sprawa dla FreeNas czy ma coś takiego czy nie) co jest odpowiednikiem Disc Expander z WHS <- zresztą nad WHS ver.1 też się zastanawiałem, niestety wydajność tego systemu przy dużej ilości danych jest masakryczna <- system ciągle robi balansowanie danych na dyskach co powoduje, że dyski są wiecznie wykorzystywane i rozgrzewane w 100% :(
3. nie było problemów z udostępnianiem i wykorzystywaniem zasobów z poziomu windowsa i linuksa <- najlepiej bez ręcznego tworzenia pliku samba.conf itp itd
4. taka macierz byłaby podłączona do serwerka, który udostępniałby te zasoby konkretnym użytkownikom

Co mam:
1. komputerek do tego
2. mam dostać kontroler do 12 dysków sata <- bez raidów, ale wprowadzający 12 złącz sata

Nie chce wybrać rozwiązania zbyt skomplikowanego ponieważ nie mam na to czasu, ani nie chce za parę dni stawiać wszystkiego od zera.

Ktoś coś poradzi?

HaNocri

Zakładam, że to co chcesz zrobić to macierz typu JBOD czyli połączenie wielu fizycznych dysków różnej wielkości w jeden duży logiczny dysk. praktycznie każdy system ma taki czy inny sposób poradzenia sobie z tym i tak w linuksie jest mdadm lub lvm, freebsd ma gconcat lub zfs, nie wiem co tam Windows Ci robi, bo nie ma tu obliczania żadnych sum kontrolnych czy jakiś mechanizmów ochrony danych.
FreeNas jest dość wybredny jeśli chodzi o sprzęt, może nie wykryć kontrolera, jeśli to jakiś z tych tanich. Prędzej już linux, jest podobna do FreeNas dystrybucja: OpenMediaVault:
http://openmediavault.org/
Zarządzanie przez www, wspiera wszystkie najważniejsze rozwiązania jak samba, ftp, bittorent, itp. Jest to bardzo młody projekt tego samego autora co FreeNas i nie wszystko musi być 100% sprawne.

Powiem tak, trudno będzie znaleźć jakieś maksymalnie proste rozwiązanie, bo zakłada się że przeciętny urzytkownik raczej nie tworzy macierzy dyskowych ;D. Może jest jakaś graficzna nakładka na Ubuntu, ja takiej nie znam. Osobiście użyłbym jakiegoś linuksa i lvm do utworzenia JBOD.

goofyx

1. JBOD <- myślałem nad tym, ale to nie tworzy kopii zapasowych plików w "locie" (chyba nie) tzn.:
a) WHS ma mechanizm, który robi kopie plików/katalogów w stylu Raid0 tzn.: każdy plik jet przechowywany na dwóch różnych dyskach <- pad jednego dysku jest niegroźny <- tylko że raid0 chce dysków o takim rozmiarze, a WHS nie wymaga tego <- nie wiem jak tam z sumami kontrolnymi itp itd, ale wiem, że jak wyciągniesz jeden dysk z danymi to po ok.5-10 sekundach dane są odczytywane z "kopii"
b) nie wiem jak tam lvm itp <- ale czytałem o zfs i robi chyba coś takiego <- a na pewno GreyHole

2. zgadza się <- zwykły śmiertelnik nie potrzebuje macierzy dyskowych :) Chce tylko aby wybrane rozwiązanie nie wymagało tak jak pisałem tworzenia ręcznego i pisania plików konfiguracyjnych

3. ogólnie chodzi o to, że w domu mam pare naście różnych dysków sata od 40 do 1 tera na półce <- warta by je wykorzystać póki ceny hdd nie spadną do ludzkich wartości ;)

HaNocri

Aha, czyli chcesz użyć dysków różnych wielkości, ale jednocześnie mieć możliwość tworzenia jakiś kopii zapasowych. W takim razie może być trudno bez pisania jakiś skryptów, czy konfiguracji z wiersza poleceń :wth:.
Wiem, że lvm ma opcję mirror, ale nie wiem jak to się zachowuje przy dyskach róznych wielkości, nigdy nie testowałem. Mozna by też inaczej: utworzyć dwie macierze typu JBOD mniej-więcej podobnej wielkości i ustawić okresową synchronizację plików pomiędzy macierzami np. przy pomocy rsync-a np co 5 minut. Albo użyć drbd (taki raid 1 tylko przez sieć), ale na jednej maszynie (nie wiem czy tak się da). Generalnie są to metody niewiele mające wspólnego z wydajnością, lepiej utworzyć pełnoprawnego RAIDa, ale przy dzisiejszych cenach dysków trzeba kombinować :bad:.
Może ktoś jeszcze wpadnie na jakiś pomysł.

goofyx

Aktualnie dyski mam podobnej wielkości więc mam raidy 1.

Tak jak pisałem Amahi posiadając GreyHole pozwala na coś takiego jak chce <- na wirtualce będę to próbował, ale ciekawi mnie jak na rzeczywistym sprzęcie się to będzie zachowywać.

_Aleksander_

Pomysł zacny, tylko to jest chyba przedsięwzięcie rodem "wybierz dwa z trzech: szybko, tanio, dobrze".
Kiedyś też o tym myślałem i finalnie zakończyłem jako użytkownik QNAP TS-412.
Jak dotąd jestem bardzo zadowolony z tego rozwiązania.

goofyx

Cytat: _Aleksander_ w 05 Grudzień 2011, 12:39
Pomysł zacny, tylko to jest chyba przedsięwzięcie rodem "wybierz dwa z trzech: szybko, tanio, dobrze".
Kiedyś też o tym myślałem i finalnie zakończyłem jako użytkownik QNAP TS-412.
Jak dotąd jestem bardzo zadowolony z tego rozwiązania.
Tylko musiałbym kupić chyba ze 4 takie :( <- a nie dam 4x1,5tyś = 6tyś tylko za "opakowania", gdy mogę mieć coś takiego jako rozwiązanie "domowe" za 500-700zł.
Już 1,5 roku temu myślałem nad czymś takim jak stawiałem swojego serwerka z danymi <- ale koszta były za duże jak na coś domowego.

Troll81

FreeNAS na wirtualce z dwoma wirtualnymi dyskami spiętymi w RAID. Każdy plik dysku na osobnym dysku fizycznym. Do tego druga wirtualka jako serwer multimediów podpięta pod FreeNASa za pomoca iSCSI.

buninek

Cytat: HaNocri w 05 Grudzień 2011, 11:54
Aha, czyli chcesz użyć dysków różnych wielkości, ale jednocześnie mieć możliwość tworzenia jakiś kopii zapasowych. W takim razie może być trudno bez pisania jakiś skryptów, czy konfiguracji z wiersza poleceń :wth:.
Wiem, że lvm ma opcję mirror, ale nie wiem jak to się zachowuje przy dyskach róznych wielkości, nigdy nie testowałem.
[...]
Może ktoś jeszcze wpadnie na jakiś pomysł.

Możliwość tworzenia raid1 z dysków o różnej wielkości oferuje btrfs.
https://btrfs.wiki.kernel.org/articles/u/s/i/Using_Btrfs_with_Multiple_Devices_9854.html

Pozwala na dużo więcej. Szczególnie ciekawa jest możliwość dodawnia nowych dysków do istniejącej puli z utworzonym już systemem plików. Niestety nadal nie jest to jeszcze w pełni przetestowane i stabilne rozwiązanie.

Bawiłem się tym dość dawno w początkowym stadium, kernel 2.6.29-31. Zachwyciła mnie prostota, możliwość kompresji, robienia migawek, zniechęciła niezbyt imponująca wydajność.

Bardzo fajną alternatywą dla NAS jest ATA over Ethernet.
http://www.rfxn.com/ata-over-ethernet-as-an-alternative/

HaNocri

Racja, zapomniałem o btrfs, czyli odpowiedniku zfs dla linuksa
Cytat: buninek w 05 Grudzień 2011, 14:51
Możliwość tworzenia raid1 z dysków o różnej wielkości oferuje btrfs.
To dobra wiadomość.
Cytat: buninek w 05 Grudzień 2011, 14:51
Szczególnie ciekawa jest możliwość dodawnia nowych dysków do istniejącej puli z utworzonym już systemem plików.
To jeszcze lepsza wiadomość.
btrfs wciąż jest opisywany jako "under heavy development", więc do zastosowań w tzw. środowisku produkcyjnym raczej się nie nadaje, ale do domu można rozważyć. Ponoć od wersji jądra 2.6.31, są już tylko zmiany kompatybilne z wersjami wstecz, kolejne zmiany nie powinny wymagać tworzenia systemu plików na nowo.
Szybkie i proste snapshoty to jest to, bo te które oferuje lvm w tej chwili są dalece od wygodnych w użyciu.

Cytat: buninek w 05 Grudzień 2011, 14:51
Bardzo fajną alternatywą dla NAS jest ATA over Ethernet.
To bardzo ciekawe, będę musiał wypróbować, Debian oferuje gotowe paczki vblade.

goofyx

Cytat: Troll81 w 05 Grudzień 2011, 12:47
FreeNAS na wirtualce z dwoma wirtualnymi dyskami spiętymi w RAID. Każdy plik dysku na osobnym dysku fizycznym. Do tego druga wirtualka jako serwer multimediów podpięta pod FreeNASa za pomoca iSCSI.
Takie rozwiązanie też brałem pod uwagę ;)
Ale marnie wyobrażam sobie wydajność takich 2TB dysków wirtualnych.
Próbowałem też na VirtualBoxie tworzyć dyski vmdk z bezpośrednim dostępem do dysku <- raw dyski.
Ale mając hosta WHS 2011 i system na wirtualnym XP SP3 <- XPek widzi partycje, ale chce je formatować przy próbie wejścia na nie :(
Muszę spróbować coś takiego, ale mając hosta jako debiana <- może na linuchu to ruszy <- tylko z kolei debian nie chce zainstalować mi sterów do kontrolerów raid jakie ma na mobo, więc do bani z taką robotą :(

Troll81

A zfs juz nie jest obsługiwany aby przez Linuksy??

HaNocri

Cytat: Troll81 w 06 Grudzień 2011, 11:58
A zfs juz nie jest obsługiwany aby przez Linuksy??
Oficjalnie nie i prawdopodobne nigdy nie będzie, bo licencje jądra i zfs się "gryzą" (GPL vs CDDL), ale jest coś takiego
http://zfsonlinux.org
to moduł jądra i aplikacja userlandu, ale chyba lepiej poczekać na stabilizację btrfs, który ma z założenia pełnić te same funkcje, bo jednak jest oficjalnie w jądrze. Za to ten port zfs może być w każdej chwili porzucony i skończymy z ręką w nocniku.

apohawk

#13
zfs nie będzie w kernelu linuksa właśnie przez licencję. ostatnio jak patrzyłem na btrfs, to nie miał narzędzia fsck, czyli brak możliwości naprawy uszkodzeń systemu plików, np. spowodowanych zanikiem prądu. więc wciąż "under heavy development". jak coś się zmieniło, to dajcie znać od której wersji kernela i co dograć.

co do zagadnienia, to może raid softwarowy przez mdadm pod linuksem? tworzymy dwa zestawy dysków w linear, dyski składowe mogą być różnej wielkości, te dwa zestawy w miarę równych rozmiarów, a potem z nich utworzyć raid1. rozmiar raid1 to mniejszy z zestawów. redundancja jest, użycie śmieciowych dysków różnych rozmiarów jest, wydajność raczej leży i kwiczy, zależy jakich dysków się użyje. te 40GB to może sobie odpuść
No good deed goes unpunished.

buninek

Cytat: apohawk w 06 Grudzień 2011, 20:29
zfs nie będzie w kernelu linuksa właśnie przez licencję. ostatnio jak patrzyłem na btrfs, to nie miał narzędzia fsck, czyli brak możliwości naprawy uszkodzeń systemu plików, np. spowodowanych zanikiem prądu. więc wciąż "under heavy development". jak coś się zmieniło, to dajcie znać od której wersji kernela i co dograć.
fsck jest zbędne. To jest system plików "autonaprawialny" (CRC, journaling). By design zakłada się, że nie ma prawa się zepsuć.  :D
Odpowiednika fsck rónież nie ma w zfs.
Xfs również nie posiada dedykowanego fsck i jakoś nikt nie narzeka i nie jęczy.

Btrfs nie polecam zwolenikom stabilnego debiana. ;D