sobota, 30 kwietnia 2011

Testy oprogramowania NAS - FreeNAS (część 3)

Uff... po prawie dwóch tygodniach udało nam się zmobilizować do przeprowadzenia dalszych testów zainstalowanego na wirtualnej maszynie systemu FreeNAS w wersji 8.0RC. Jakie są nasze pierwsze wrażenia?
Niestety jesteśmy trochę rozczarowani małą liczbą udostępnianych funkcjonalności. Na pewno wielu z Was zauważyło, że wersja 8 jest wersją rozwojową. W związku z tym nie ma jeszcze oprogramowanych/udostępnionych tych aplikacji, na których najbardziej mi zależało. Prawdopodobnie wraz z rozwojem tej wersji będą dodawane kolejne interesujące opcje. Sprawdźmy zatem jakie opcje oferuje obecna wersja rozwojowa.

Po pierwsze to na czym nam najbardziej zależy to utworzenie z dwóch dysków systemu RAID 1 (mirroring), który zapewni względne bezpieczeństwo danych. Jak się okazuje taką operację można wykonać z poziomu konsoli webowej. Zanim się ją wykonamy należy zwrócić uważnie uwagę na wybrane dyski, które będą brały w tej operacji udział - FreeNAS usuwa z nich wszystkie dane. W celu jej przeprowadzenia wybieramy opcję Storage->Volumes->Create Volume
Tworzenie wolumena przechowującego dane
Zostaniemy poproszeni o podanie nazwy dla wolumena danych, wybranie dysków składających się na te wolumen, systemu plików i typ grupowania dysków jeżeli wybierzemy więcej niż dwa. Maszynę wirtualną przygotowałem specjalnie pod kątem spięcia dwóch dysków w jedną przestrzeń. Dlatego zaznaczyłem oba dyski i jednocześnie wybrałem, aby grupowanie polegało na lustrzanym odbiciu zawartości jednego dysku na drugim (mirror). Pozostało jeszcze do zaznaczenia typ systemu plików. Jak widać na załączonym obrazku dostępne są dwie opcje: UFS oraz ZFS. ZFS został zaprojektowany pod kątem obsługiwania ogromnych dysków z danymi, posiada zaimplementowane dodatkowe opcje, które nie są nam potrzebne w żaden sposób, dlatego ograniczymy się do starszego, ale równie pewnego rozwiązania - UFS. Po potwierdzeniu chęci przeprowadzenia całej operacji (Add Volume) powinniśmy ujrzeć komunikat o sukcesie, a w menu po lewej stronie powinna się pojawić dodatkowa opcja jak na poniższym zrzucie.
Zamontowany nowoutworzony wolumen
Jak widać wolumen został zamontowany w katalogu /mnt pod nazwą jaką podano podczas jego tworzenia.

Utwórzmy teraz użytkownika, któremu nadamy odpowiednie uprawnienia dla wolumenu i następnie udostępnijmy te zasoby innym komputerom w sieci.

Użytkownika można utworzyć wybierając opcję: Account->Users->Add User. Wypełniamy nazwę użytkownika, katalog domowy, sposób dostępu do konsoli (możemy pozostawić domyślną opcję w naszym przypadku wybieramy bash ze względu na znajomość tej implementacji), należy podać również imię użytkownika, wprowadzić jego hasło i je potwierdzić.
Tworzenie użytkownika
Po naciśnięciu OK dostajemy komunikat proszący o zmianę katalogu domowego użytkownika w taki sposób, aby znajdował się on w /mnt/. Wprowadzamy odpowiednią wartość, ponownie naciskamy OK i po chwili użytkownik. Efekt można oglądać na poniższym zrzucie.
Utworzony użytkownik
Dodatkowo utwórzmy grupę, której nadamy odpowiednie uprawnienia do modyfikowania katalogów w podłączonym dysku. W tym celu wybieramy opcję: Accounts->Groups->Add group. Podajemy następnie nazwę nowej grupie i potwierdzamy wpisane dane.
Tworzenie dodatkowej grupy
Po utworzeniu takiej grupy dodajemy do niej wcześniej utworzonego użytkownika. Całą operację wykonujemy z poziomu listy użytkowników: Account->Users->View All Users. Na liście odnajdujemy użytkownika i przyciskiem Auxiliary Groups rozpoczynamy przypisywanie użytkownika do grup.
Przypisywanie użytkownika do grup
Na liście po lewej stronie odszukujemy grupę, którą wcześniej utworzyliśmy i przypisujemy ją odpowiednim przyciskiem na prawą listę. Operację potwierdzamy przyciskiem OK.

Mając utworzonych użytkownika, grupę i powiązanie pomiędzy nimi, możemy przejść do kroku nadania odpowiednich uprawnień użytkownikowi. Otwieramy menu: Storage->Volumes->->Change Permissions i na liście Owner(group) wybieramy naszą grupę oraz zaznaczamy checkbox Write w kolumnie Group. Na końcu potwierdzamy zmiany.
Nadanie uprawnień do zapisu grupie
Uprawnienia nadane - kolejnym krokiem jest udostępnienie zasobów w sieci. Z racji tego, że maszyna wirtualna host'owana jest przez komputer z Windows'em, zasoby z FreeNAS zostaną udostępnione użytkownikom tego systemu. Nic nie stoi jednak na przeszkodzie, aby jednocześnie udostępniano przestrzeń komputerom z systemami Unix'owymi oraz Apple'a. Jak uruchomić udostępnianie? Należy skonfigurować poprawnie usługę CIFS. 
Konfiguracja usługi CIFS
Ilość opcji na tym ekranie jest przytłaczająca. Jedyną jaką zmieniono było nazwa grupy roboczej. Wprowadzono nazwę grupy w której wpięte jest kilka komputerów w lokalnej sieci, w której także maszyna wirtualna jest widoczna. Zatwierdzamy wprowadzone zmiany i przechodzimy do ekranu uruchamiania usług: Services->Enable/Disable Services.
Uruchamianie usługi CIFS
Na ekranie odnajdujemy usługę CIFS i uruchamiamy ją zmieniając przełącznik OFF na ON. Od tej chwili wszystkie komputery w lokalnej sieci powinny mieć dostęp do udostępnionej przez FreeNAS przestrzeni dyskowej. Sprawdźmy efekt w Otoczeniu Sieciowym powinny się już pojawić odpowiednie zasoby. Tak jak na poniższym ekranie.
Zasoby FreeNAS widoczne z hosta z Windowsem
Podczas nawiązywania pierwszego połączenia zostaniemy poproszeni o podanie loginu i hasła - należy wtedy podać dane użytkownika, którego utworzyliśmy w konsoli FreeNAS.
Sprawdźmy jeszcze czy użytkownik może dokonywać modyfikacji na udostępnionym zasobie.
Zapisywanie danych na udostępnianym wolumenie
Jak widać udało się zapisać plik. Jeżeli macie możliwość sprawdźcie jeszcze działanie z innego komputera. My sprawdziliśmy działanie z laptopa z zainstalowanym systemem Windows 7. Udało się oczywiście zapisać kolejny plik na wolumenie udostępnianym przez FreeNAS.

Oprócz udostępniania danych FreeNAS w wersji 8 RC5 udostępnia jeszcze usługę SSH, FTP i kilka innych. Spróbujemy jeszcze uruchomić obie i przetestować.

Zacznijmy od SSH. Teoretycznie wystarczy włączyć na zakładce Services i próbować nawiązać połączenie z maszyną za pomocą jakiegoś darmowego narzędzia (np. putty).
Test usługi SSH
Jak można się przekonać z powyższego zrzutu ekranu test zakończył się pozytywnie.

Teraz sprawdźmy jak działa usługa FTP. Najpierw należy wykonać odpowiednie czynności konfiguracyjne. Na zakładce Services po prawej stronie od FTP wybieramy kluczyk, który uruchomi kreator konfiguracji jak na poniższym zrzucie ekranu.
Konfiguracja usług FTP
Ponownie prezentowane są duże możliwości konfiguracyjne. W szczegóły nie będziemy jednak wchodzić skupmy się na konkretach. To co wybraliśmy na tym ekranie to ścieżka do udostępnianego zasobu (parametr Path) oraz dodatkowo zaznaczyliśmy w parametrze File Permission - Read i Write dla Group. Dzięki temu użytkownik powinien mieć możliwość modyfikowania zawartości zasobu. Po zapisaniu ustawień uruchamiamy usługę.
Niestety pomimo kilku prób nie udało się uruchomić tej usługi, ani sprawdzić jej działanie. W logach podczas uruchamiania jej zauważyliśmy następujący wpis, który sugeruje, że to się raczej nie uda.
Niepowodzenie podczas uruchamiania usługi FTP
Kolejnym razem postaramy się opisać kilka innych usług dostępnych w obecnej wersji rozwojowej FreeNAS. Zamierzamy również uruchomić poprzednią wersję FreeNAS i sprawdzić jakie funkcjonalności ona dostarcza. Gorąco zachęcamy wszystkich do zaglądania na Bloga.

czwartek, 14 kwietnia 2011

Testy oprogramowania NAS - FreeNAS (część 2)

Kontynuując temat testowania oprogramowania NAS chciałem opisać utworzenie odpowiedniego środowisko testowego - oczywiście chodzi o przygotowanie maszyny wirtualnej oraz opisać jak zainstalować FreeNAS.

Tak jak wspomniałem poprzednim razem maszyna będzie składać się z dwóch dysków, które mają działać w trybie RAID oraz jednego na którym będzie umieszczony system operacyjny - FreeNAS. Sama konfiguracja wygląda mniej więcej tak jak na poniższym ekranie:
Konfiguracja maszyny wirtualnej do testów FreeNAS
Po utworzeniu maszyny trzeba ściągnąć obraz z instalacją z tej strony i zamontować go, aby był dostępny podczas jej uruchamiania.

W czasie uruchamiania maszyny automatycznie zostanie włączony instalator. Krokiem pierwszym całej operacji jest zlecenie samej instalacji. Wybieramy zatem pierwszą pozycję i potwierdzamy Enterem.
Krok 1 - zlecenie instalacji
W następnym kroku instalator prosi nas o wybranie dysku na którym zainstalowany zostanie system. Na dostępnej liście musimy odszukać napęd, który nas interesuje (w moim wypadku będzie to odpowiednik karty Flash o rozmiarach 2 GB, czyli pierwsza pozycja).
Krok 2 - wybór napędu na którym zostanie zainstalowany system operacyjny
W następnym kroku potwierdzamy chęć instalacji na wybranym napędzie (podczas instalacji na rzeczywistym systemie należy się upewnić, że wybraliśmy ten dysk o który nam chodziło). Potwierdzamy usunięcie wszystkich danych z tego napędu i instalację na nim systemu. Po chwili system powinien zostać już zainstalowany. 
Krok 3 - potwierdzenie sukcesu instalacji FreeNAS
Przed restartem maszyny należy odłączyć od niej obraz instalacyjny FreeNAS. Operację można wykonać klikając w górnym menu: Urządzenie->Płyty CD/DVD->(wybrać odpowiedni kontroler)->Remove disk from virtual drive.

Po restarcie zostaniemy poproszeni o bardziej szczegółową konfigurację m.in. o parametry karty sieciowej. Jeżeli w sieci nie posiadacie serwera DHCP to będziecie musieli wykonać to ręcznie podążając zgodnie z instrukcją po wybraniu opcji 1. W moim wypadku taki serwer jest dostępny i automatycznie przydzielił maszynie adres IP. 
Pierwsze uruchomienie maszyny z zainstalowanym FreeNAS
Jeżeli skonfigurujecie poprawnie kartę sieciową to możecie spróbować zalogować się z systemu hosta do webowej konsoli administracyjnej. W moim wypadku, adres pod którym dostępna jest ta konsola wyświetlił się na ekranie powyżej - przedostatnia linia. Aby się zalogować należy podać domyślny identyfikator użytkownika oraz hasło - admin/freenas.
Logowanie do konsoli Webowej.
Pierwszą czynnością, którą powinno się wykonać zaraz po zalogowaniu w taki sposób jest zmiana hasła - jeżeli nie zostanie to wykonane to narażamy serwer na szybkie i łatwe przejęcie dostępu przez osoby trzecie, a tego zapewne każdy chciałby uniknąć. Jak zmienić to hasło? Należy w prawym górnym rogu wybrać opcję Account i następnie wprowadzić stare hasło i dwa razy wprowadzić nowe.

Podsumowując przebieg instalacji i wstępnej konfiguracji - nie nastręcza on większych problemów. Sama instalacja przebiega bardzo szybko i w zasadzie ogranicza się do wskazania napędu na którym będzie zainstalowany system. Konfiguracja może okazać się cięższa jeżeli nie mamy w sieci uruchomionego serwera DHCP. Pozostałą część konfiguracji można wykonać z poziomu interfejsu webowego. Więcej o tym w kolejnym wpisie.

poniedziałek, 11 kwietnia 2011

Testy oprogramowania NAS - FreeNAS (część 1)

Od dłuższego czasu przymierzam się do stworzenia domowego serwera na którym przechowywałbym prywatne zdjęcia, filmy, muzykę. Serwera, który udostępniałby usługę repozytorium kodów (w końcu z zawodu jestem programistom), umożliwiłby drukowanie dokumentów w lokalnej sieci, przechowywał kopię zapasową czy serwował multimedia w systemie DLNA do odpowiednich odbiorników.

Chciałbym, aby taki NAS składał się z co najmniej dwóch dysków twardych  pracujących w trybie RAID 1 dzięki czemu uzyskam względne bezpieczeństwo danych. Dodatkowo system operacyjny musiałby znaleźć się na oddzielnym dysku - nie związanym z danymi. Jeżeli chodzi o procesor, to musiałby on być wydajny na tyle, aby podźwignąć wszystkie aplikacje oraz zapewnić odpowiednią pracę jako software'owy kontroler RAID. Wszystko to przy jak najmniejszym poborze energii - w końcu nie chciałbym specjalnie przepłacać za prąd.

Na rynku istnieją gotowe rozwiązania - wystarczy spojrzeć np. na ranking Chip'a, czy na odpowiednią stronę z produktami dostępnymi w Komputroniku. Jednak z mojego punktu widzenia nie są one wystarczająco dobre, aby spełnić moje wszystkie wymagania. Dla przykładu pokażę jaką konfigurację ja przygotowałem i jak kształtuje się obecnie cena tego sprzętu.
Konfiguracja przykładowego sprzętu pod prywatny NAS
Jak widać, jeżeli weźmie się za składania takiego komputera we własnym zakresie to można mieć o wiele bardziej wydajną i pojemną maszynę niż oferują w pakiecie producenci.

W tej całej zabawie jest tylko jeden, nieznany czynnik - oprogramowanie. O ile firmy takie jak QNAP czy Netgear dostarczają swoje zabawki wraz z zainstalowanym systemem, o tyle w przypadku prywatnego składaka trzeba poświęcić trochę czasu, aby wszystko grało tak jak byśmy tego chcieli. Na szczęście w tym aspekcie z pomocą przychodzi nam FreeNAS - dystrybucja Linux'a specjalnie przygotowana pod kątem wymagań domowego centrum danych.

Zanim zakupię jakikolwiek sprzęt, który miałby mi posłużyć do uruchomienia prywatnego NAS'a spróbuję przetestować wszystkie potrzebne mi funkcjonalności na maszynie wirtualnej. W kilku kolejnych wpisach postaram się przedstawić proces konfiguracji maszyny, instalację oprogramowania oraz możliwości jego wykorzystania. Gorąco zachęcam wszystkich do lektury.


sobota, 9 kwietnia 2011

Windows 7 przesunięci katalogów Users, ProgramData oraz Program Files (część 2)

Ostatnim razem opisałem sposób oddzielenie lokalizacji katalogów Users oraz ProgramData od partycji systemowej. Dzięki temu katalogi z danymi użytkowników i programów znajdują się na oddzielnej partycji (lub zupełnie oddzielnym dysku), a katalogi Windows'a pozostają w tym samym miejscu.

Dzisiaj przedstawię sposób przeniesienia katalogów z aplikacjami na oddzielną partycję. O ile zmianę lokalizacji katalogów użytkownika można przeprowadzić wyłącznie podczas instalacji systemu operacyjnego, o tyle przeniesienie katalogu (a właściwie katalogów) Program Files można przeprowadzić później. Jednak z mojego punktu widzenia najlepiej będzie całą operację wykonać zaraz po instalacji systemu. Należy tutaj zaznaczyć, że o ile pierwsza operacja (Users i ProgramData) jest wspierana przez Microsoft o tyle druga już nie. Mogą zdarzyć się pewne trudności i niektóre nowe aplikacje i tak będą instalować się na partycji systemowej. Dlatego lepiej po przeprowadzaniu całego procesu nie usuwać domyślnej lokalizacji Program Files. Nie powinna ona przeszkadzać, gdyż jej rozmiar nie będzie rozrastał się bardzo szybko.

Zatem do dzieła. Tym razem wszystkie operacje ograniczają się do dokonania modyfikacji odpowiednich wpisów w rejestrze systemowym oraz przeniesieniu obecnej zawartości katalogu Program Files na inną, docelową partycję. Edytor rejestru można uruchomić wpisując w pole tekstowe pokazujące się po rozwinięciu Start nazwy programu: regedit.
Uruchamianie edytora rejestru
Po uruchomieniu aplikacji wyszukujemy w lewym okienku folderu: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion. W okienku po prawej stronie pojawią się wpisy, które należy zmodyfikować. Konkretnie chodzi o następujące klucze, w których należy wprowadzić wskazanie na nową lokalizację:
  • ProgramFilesDir
  • ProgramFilesPath - uwaga tę pozycję należy również zmienić pomimo tego, że odwołuje się do tej powyżej.
Dodatkowo, jeżeli posiadacie 64-bitową wersję Windows'a zmiany należy wprowadzić w następujących wpisach:
  • ProgramW6432Dir
  • ProgramFilesDir (x86)
Zmienione wpisy w systemie 32-bitowym
Wyłączamy aplikację Edytora rejestru, tworzymy odpowiednie katalogi na nowych partycjach a obecną zawartość kopiujemy do nowej lokalizacji. UWAGA!!! Na wszelki wypadek nie kasujemy plików i katalogów ze starego miejsca. Niektóre aplikacje (o dziwo szczególnie te Microsoft'we, ale nie tylko) mogą się w sposób bezwzględny odwoływać do starej lokalizacji - dlatego lepiej ją zachować w nienaruszonym stanie. Na koniec restartujemy maszynę.
Po jej ponownym uruchomieniu proponuję dokonać instalacji jakiegoś oprogramowania i sprawdzić czy rzeczywiście wszystko działa tak jak powinno - programy zapisują się w odpowiednim miejscu. Ja zainstaluję darmowy pakiet aplikacji promowany przez Google'a.

Jako ciekawostkę chciałbym wskazać na lokalizację katalogu do którego automatycznie Internet Explorer rozpoczyna pobieranie danych.
Automatyczne podpowiadanie katalogu użytkownika podczas pobierania danych IE
Jak widać katalog się zmienił. Część z Was pewnie zauważyła różnicę w partycji katalogu w stosunku do poprzedniego posta. Poprzednim razem dane użytkowników miały być na partycji E, a teraz są na D. Wynika to z tego, że program antywirusowy niespodziewanie dla mnie usunął obraz z główną partycją Windows'a maszyny wirtualnej. Z tego powodu cały proces wykonałem jeszcze raz jednak teraz rozkład partycji uległ zmianie. Nie ma to jednak wpływu na efekt końcowy.
Nowe programy w nowym miejscu
Jak widać na załączonym powyżej zrzucie ekranu zainstalowane aplikacje trafiły na nową partycję, do katalogu wskazanego w Edytorze rejestru.

Jaki jest cel całego procesu oddzielania danych użytkowników oraz aplikacji od samego systemu? Na pewno słyszeliście już o dyskach SSD, które są o wiele szybszy od tradycyjnych HDD. Jako to nowości są one jeszcze drogie, ale stopniowo będą tanieć. Ze względu na swoją wydajność idealnie nadają się na partycję systemową, natomiast dyski HDD (np. działające w trybie RAID) nadają się do przechowywania dużych wolumenów danych, do których szybkość dostępu nie ma takiego znaczenia. Dzięki podziałowi, który zaproponowałem w bieżącym i poprzednim wpisie łatwiej osiągnąć cele, którymi są zwiększenie wydajności i ewentualne bezpieczeństwo danych.