Buduję domowy serwer plików FreeBSD przy użyciu ZFS.
Jest to AMD X2 3200+ z 3 GB pamięci RAM. Ma kartę PCI Express Gig-E. Dysk rozruchowy to stary dysk o pojemności 400 GB, a ja mam 4 dyski Seagte o pojemności 750 GB (na wszelki wypadek jeden z inną wersją oprogramowania układowego).
Uruchamianie z ZFS byłoby fajne (uprościłoby to instalację), ale użyłem instrukcji ZFSOnRoot, aby skonfigurować dysk Root / OS za pomocą ZFS (jeśli wszystkie partycje to ZFS, to nie trzeba wykonywać fsck podczas rozruchu aby sprawdzić systemy plików UFS). Powodem, dla którego chcesz, abyś mógł następnie skonfigurować wszystkie swoje partycje (/ var, / usr, / tmp itp.) Z różnymi opcjami zgodnie z wymaganiami (takimi jak noatime i asynchroniczne dla / usr / obj, co przyspieszy jądro kompiluje), ale wszystkie będą dzielić przestrzeń ze wspólnej puli. Następnie możesz skonfigurować dysk danych i dać każdemu użytkownikowi własną partycję (z różnymi cytatami i ustawieniami). Następnie możesz robić migawki (które są tanie w ZFS).
My home server has a df that looks like:
/dev/ad0s1a 1.9G 744M 1.1G 41% /
devfs 1.0K 1.0K 0B 100% /dev
dozer/data 1.8T 62G 1.7T 3% /data
dozer/home 1.7T 9.6G 1.7T 1% /home
dozer/home/walterp 1.9T 220G 1.7T 11% /home/walterp
tank/tmp 352G 128K 352G 0% /tmp
tank/usr 356G 4.4G 352G 1% /usr
tank/var 354G 2.2G 352G 1% /var
Pod względem wydajności kopiowanie plików jest naprawdę szybkie. Chciałbym zauważyć, że korzystałem z ZFS na systemach AMD64 FreeBSD, które mają 3-4 GB i działa dobrze, ale po przeczytaniu martwię się o uruchomienie go na systemie i386, który miał 2 GB lub mniej pamięci.
Skończyło mi się porty SATA na płycie głównej, więc nie próbowałem dodawać żadnych nowych dysków. Początkowa konfiguracja była prosta: polecenie utworzenia RAIDZ, a następnie polecenie utworzenia / home, które zostało sformatowane w sekundach (IIRC). Nadal używam starszej wersji ZFS (v6), więc ma pewne ograniczenia (nie wymaga dysków o równej wielkości, ale w przeciwieństwie do Drobo, jeśli masz 3 750 GB i 1 TB, efekt końcowy będzie tak, jakbyś miał 4 750 GB dysków).
Jednym z głównych powodów, dla których korzystałem z ZFS z RAIDZ, były kompleksowe sumy kontrolne. CERN opublikował artykuł, w którym udokumentował test, w którym wykrył ponad 200 nieskorygowanych błędów odczytu podczas przeprowadzania testu R / W przez okres kilku tygodni (oczekuje się, że ECC na dyskach detalicznych będzie mieć awarię raz na 12 TB). Chciałbym, aby dane na moim serwerze były poprawne. Miałem poważną awarię z powodu przerwy w zasilaniu (ktoś przeciążył UPS, podłączając do niego grzejnik), ale kiedy system może się wycofać, ZFS szybko wrócił, bez standardowych problemów z FSSP.
Podoba mi się, ponieważ mogłem dodać CUPS do Samby, aby uzyskać serwer wydruku. Dodałem pamięć podręczną DNS i mogę dodać inne oprogramowanie, które mi się podoba (myślę o dodaniu monitorowania SNMP do komputerów stacjonarnych w moim domu, aby zmierzyć wykorzystanie przepustowości). Jeśli chodzi o to, co wydałem na system, jestem pewien, że mógłbym kupić tanią skrzynkę NAS, ale wtedy nie miałbym 64-bitowego lokalnego systemu Unix do zabawy. Jeśli podoba ci się FreeBSD, powiedziałbym, że idź z nim. Jeśli wolisz Linuksa, polecam rozwiązanie Linux. Jeśli nie chcesz wykonywać żadnej administracji, wtedy wybrałbym samodzielne urządzenie NAS.
W kolejnej rundzie aktualizacji sprzętu planuję uaktualnić sprzęt, a następnie zainstalować aktualną wersję FreeBSD, która ma ZFS v13. V13 jest fajny, ponieważ mam dysk RAM z podtrzymaniem bateryjnym, którego mogę użyć do dziennika ZIL (to powoduje krzyk zapisu). Obsługuje także dyski SSD w celu przyspieszenia serwera plików (specyfikacje nowych serwerów plików Sun są słodkie i otrzymują je z systemu ZFS, który używa dysku SSD, aby system był bardzo szybki).
EDYCJA: (Nie można jeszcze dodawać komentarzy). Prawie postępowałem zgodnie z instrukcjami na stronie http://www.ish.com.au/solutions/articles/freebsdzfs . Jedną z głównych zmian w wersji 7.X od czasu napisania tych instrukcji było to, że 7.2 pojawiło się, a jeśli masz 2 GB, nie powinieneś dodawać następujących trzech wierszy w /boot/loader.conf:
vm.kmem_size_max="1024M"
vm.kmem_size="1024M"
vfs.zfs.arc_max="100M"
Instrukcje wyjaśniają również, jak utworzyć kopię lustrzaną i jak przywrócić system do trybu odzyskiwania (podłącz z ZFS). Raz lub dwa razy bawiłem się jego instrukcjami, a następnie skorzystałem z instrukcji administratora ZFS firmy Sun http://opensolaris.org/os/community/zfs/docs/zfsadmin.pdf, aby lepiej zrozumieć, czym był ZFS. Aby utworzyć mój magazyn danych, użyłem zmodyfikowanej wersji polecenia na stronie 91, aby utworzyć pule ZFS. Będąc FreeBSD, musiałem wprowadzić małą zmianę:
zpool create dozer raidz /dev/ad4 /dev/ad6 /dev/ad8 /dev/ad10
Tam, gdzie znaleziono ad4-ad10, wykonując dmesg | grep 'ata. * Master', są to nazwy dysków twardych SATA w systemie, które będą używane dla partycji dużych zbiorów danych. Na mojej płycie głównej, pierwsze trzy porty ATA (AD0-3), w których 4 porty PATA, a następnie, ponieważ każdy port SATA jest urządzeniem głównym, nie ma starych numerów.
Aby utworzyć system plików, po prostu:
zfs create dozer/data
zfs set mountpoint=/data dozer/tank
Drugie polecenie jest wymagane, ponieważ wyłączyłem domyślne punkty montowania dla udziałów.
Wprowadzenie: W końcu zbudowałem swój system i oto moje notatki, na wypadek, gdyby pomógł komukolwiek innemu.
Cele:
Dane techniczne:
Projekt:
Używamy ZFS jako systemu plików, ponieważ uzyskał on tak pozytywne recenzje. ZFS wymaga prawie 64-bitowego systemu operacyjnego i lubi dużo pamięci, więc powinienem uzyskać minimum 4 Gb
Sprzęt komputerowy:
Obudowa komputera ABS Aplus ABS-CS-Monolith Black SECC Steel ATX Full Tower - 1 @ 69,99 USD http://www.newegg.com/Product/Product.aspx?Item=N82E16811215009
Western Digital Caviar Green WD5000AADS 500 GB SATA 3,0 Gb / s 3,5 "dysk twardy 6 @ 347,94 USD (57,99 USD rocznie) http://www.newegg.com/Product/Product.aspx?Item=N82E16822136358
XIGMATEK XLF-F1253 120 mm 4 biała dioda LED Wentylator obudowy - 1 @ 8,99 USD http://www.newegg.com/Product/Product.aspx?Item=N82E16835233015
LITE-ON Czarny dysk IDE DVD-ROM Model iHDP118-08 - 1 @ 19,99 USD http://www.newegg.com/Product/Product.aspx?Item=N82E16827106275
Crucial 4 GB (2 x 2 GB) 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400) CT2KIT25664AA800 - 1 @ 45,99 USD http://www.newegg.com/Product/Product.aspx?Item=N82E16820148160
Płyta główna GIGABYTE GA-MA74GM-S2 AM2 + / AM2 AMD 740G Micro ATX AMD - 1 @ 54,99 USD http://www.newegg.com/Product/Product.aspx?Item=N82E16813128342
Kabel OKGEAR 18 "SATA II GC18ATASM12 - 6 @ 11,94 USD (1,99 USD rocznie) http://www.newegg.com/Product/Product.aspx?Item=N82E16812123132
Dwurdzeniowy procesor AMD Athlon 64 X2 5050e Brisbane 2,6 GHz AM2 45 W ADH5050DOBOX - 1 @ 62,99 USD http://www.newegg.com/Product/Product.aspx?Item=N82E16819103298
KINGWIN Mach 1 ABT-1000MA1S 1000 W Zasilacz ATX / BTX - 1 @ 199,99 USD http://www.newegg.com/Product/Product.aspx?Item=N82E16817121037
Dysk Seagate 400 GB IDE - 1 @ (miał w szafie), ale dyski IDE 80 GB kosztują około 37,00 USD, a 80 GB to więcej niż wystarcza.
Uchwyt adaptera do dysku twardego IDE, aby zmieścił się we wnęce 5-calowej - 1 @ ~ 17,00 $
Wysyłka - 1 @ ~ 35,00 $
Oprogramowanie: FreeBSD 7,2 - 1 @ 0,00 $ http://www.freebsd.org/
Całkowity koszt: 874,81 USD
Konfiguracja sprzętu: Podstawowa wersja komputera z trzema drobnymi problemami.
Sprawa, którą kupiłem, miała gniazda na 6 dysków twardych i dwie wnęki 3.5. Zakładałem, że IDE może zmieścić się w jednej z 3.5 zatok. To było złe założenie i nie było żadnego rozsądnego sposobu, aby to zadziałało. Poszedłem do Fry's i kupiłem adapter za około 17,00 $ i wszystko działało dobrze.
Kupione przeze mnie kable Sata miały złącza 90 stopni, co było miłe, poza sześcioma dyskami nie było sposobu, aby wykonać pracę. Podłączenie jednego kabla spowodowało, że nieelastyczna część złącza zawiesiła się na następnym dysku twardym. Musiałem iść do Fry'ego i 5 zwykłymi kablami SATA. Niestety te, które kupiłem w Newegg, były tak tanie, że nie warto ich odsyłać.
Obudowa skierowana jest z tyłu dysków twardych w bok obudowy, a kable zasilające z zasilacza mają sztywne złącze, które wystaje poza krawędź obudowy. To nie pozwoliło mi zsunąć bocznej osłony z powrotem na miejsce. Musiałem się trochę z tym pobawić, aby go uruchomić, i ostatecznie skończyło się na tym, że dwa modułowe kable zasilające (mają po cztery wtyczki SATA na każdym) przeplatane między dyskami, tak że pierwsze dyski zasilane kablem 0, 2 i 4, a drugi zasilany 1, 3 i 5. To pozwoliło na wystarczającą elastyczność, że mogłem je rozpiąć.
Konfiguracja systemu operacyjnego:
Nagrano ISO FreeBSD 7.2 na CD. Mógłbym użyć pojedynczego DVD, ale nie miałem żadnego leżącego w pobliżu.
Nagrano memtest86 + ( http://www.memtest.org/ ) na płycie CD.
Podłączyłem świeżo zbudowany komputer i przeszedłem do biografii, aby upewnić się, że widział wszystkie 7 napędów i DVD-ROM. Tak się stało. Zmieniono kolejność uruchamiania, aby CDROM był pierwszy.
Włóż płytę memtest86 + CD do świeżo zbudowanego komputera, uruchomiłem ponownie i pozwól mu działać przez noc. Przeszedł bez błędów.
Zainstalowałem FreeBSD 7.2, jeśli nie jesteś tego zaznajomiony, polecam lekturę: http://www.freebsd.org/doc/en/books/handbook/install.html Wyjaśnia, co należy zrobić, niż ja mogą. Oto moje określone ustawienia:
Po instalacji i ponownym uruchomieniu zauważyłem, że wykryto tylko 4 z 6 napędów SATA. Poszedłem do BIOS-u i pod zintegrowanymi urządzeniami peryferyjnymi zmieniłem typ OnChip SATA na AHCI, a typ OnChip SATA typ 4/5 na „SATA” Zapisano ustawienia i uruchomiono ponownie.
W tym momencie FreeBSD wykrył wszystkie sześć dysków jako: ad4 ad6 ad8 ad10 ad12 ad14
Pobierz najnowszą wersję z cvs za pomocą csup: csup -g -L 2 stable-supfile Edytowałem już plik, aby użyć hosta: cvsup11.us.FreeBSD.org, pozostawiając wszystkie inne informacje bez zmian.
Odbudowałem i zainstalowałem najnowsze jądro i świat, jak opisano tutaj: http://www.freebsd.org/doc/en/books/handbook/makeworld.html Dostosuj moje jądro (patrz ZFSNAS). Wyłączyłem duży zestaw urządzeń, ponieważ nigdy nie planuję używać SCSI, USB, PCMCIA, Szeregowego, Równoległego itp., Dodałem następujące elementy do /etc/make.conf: CPUTYPE = athlon64 CFLAGS = -O2 -fno-strict-aliasing -pipe make -j8 buildworld
Konfiguracja NAS:
Utwórz pulę ZFS dla naszego magazynu: zpool utwórz magazyn raidz2 ad4 ad6 ad8 ad10 ad12 ad14
Utwórz domowy system plików na nowo utworzonej pamięci:
edytuj /etc.rc/conf i dodaj:
To instaluje systemy plików ZFS podczas uruchamiania.
Utworzono katalogi root, samba i perforce
O ile nie potrzebujesz więcej systemów plików w swojej puli, prawie skończyłeś z częścią ZFS. Aby uzyskać więcej informacji, zobacz: http://www.freebsd.org/doc/en/books/handbook/filesystems-zfs.html http://opensolaris.org/os/community/zfs/docs/zfsadmin.pdf
Zainstalowane porty:
Dodano użytkowników:
Grupy utworzone:
Konfiguracja Samby:
źródło
Nie widzę powodu, dla którego chciałbyś, sądzę, że obsługa Snapshot jest wystarczająco dojrzała w OpenSolarisa, abyś mógł przełączyć się z powrotem na starszą wersję i uruchomić ją (ale to właściwie tylko zgadywanie).
Dodać jak w rozwinąć basen w paski? Po prostu dodaj dysk do puli, to wszystko. Zastanów się, jakie będą konsekwencje twojego następnego pytania.
Możesz użyć go jako paska i powiedzieć ZFS, aby zachował n kopii pliku. Abyś mógł korzystać z pełnej dostępnej przestrzeni dyskowej i nadal uzyskać przyzwoitą redundancję
Zastępowanie urządzeń w puli pamięci Myślę, że jest to zalecane rozwiązanie, najprostszym sposobem, aby dowiedzieć się, jak dobrze działa to we FreeBSD, jest prawdopodobnie próba.
Czy zastanawiałeś się nad wydaniem FreeNAS (Roadmap) 0.70 i będzie on obsługiwał ZFS.
Zaoszczędzisz sobie kłopotów ze strukturą i uzyskasz stosunkowo przyjemne w użyciu GUI za darmo.
źródło
Mam serwery z FreeBSD + ZFS (w wersji 7.2-STABLE i 8.0-CURRENT), a nie w produkcji.
Ładowanie z ZFS opisano tutaj http://lulf.geeknest.org/blog/freebsd/Setting_up_a_zfs-only_system/
Dodawanie dysków w locie jest tak proste, jak pisanie „zpool add mypool da7”, zaraz potem można użyć nowego dysku; możesz także dodać całą masę napędów w paski, lustro, raidz (ulepszony raid-5) lub raidz2 (ulepszony raid-6)
Dyski o różnych rozmiarach można umieszczać w puli, ale nie można ich używać w trybie lustrzanym / paskowym / rajdowym (o ile dobrze pamiętam, wtedy będzie można użyć tylko najmniejszej przestrzeni na dysku twardym)
(Otwarte) Solaris ma obsługę ZFS od razu po wyjęciu z pudełka
źródło
Przyjemny wątek na temat budowy domowego serwera ZFS NAS w ArsTechnica.
źródło
Nie mam doświadczenia z ZFS, ale właśnie zobaczyłem to w moim kanale RSS:
http://www.freebsdnews.net/2009/06/10/zfs-version-13-freebsd-current/
Co sugeruje, że dojrzewa, ale nie jest gotowy do produkcji (na FreeBSD).
źródło