Budowa urządzenia Internetu Rzeczy lub nagrywanie ciągłego wideo wymaga systemu przechowywania o niskim poborze mocy i dużej pojemności, najlepiej wykorzystującego niedrogie komponenty. W konkretnych przypadkach twoje urządzenie może być zdalne lub może być narażone na wysokie intensywności wibracji, na przykład będąc zamontowane na kawałku sprzętu przemysłowego, na robocie lub w pojeździe. Takie okoliczności czynią pamięć typu solid-state niezbędną.
Zacząłem od rozważenia budowy serwera sieciowego do przechowywania danych wykorzystującego Raspberry Pi; w końcu są to świetne małe komputery na jednej płytce. Jednakże, jest kilka rzeczy, które czynią je mniej niż idealnymi do tego typu zastosowań. Po pierwsze, port sieciowy ma tylko 300Mbit/s w najnowszym modelu 3B+, i 100Mbit/s w starszych generacjach. Po drugie, porty USB są tylko USB 2.0 (480Mbit/s), więc są znacznie wolniejsze niż USB 3.0 (5Gbit/s). Złącza USB nie zawsze są najlepsze w środowiskach o wysokich wibracjach i mogą mieć przerywane błędy połączenia z tego powodu, lub zawodzić z powodu zmęczenia materiału, jeśli kabel nie jest dobrze zabezpieczony. Kable USB, szczególnie te 2.0, również nie radzą sobie zbyt dobrze w środowiskach o wysokim EMI, takich jak w pobliżu silników napędzanych przez przemienniki częstotliwości.
Po porównaniu wielu atrakcyjnych opcji dostępnych na rynku, zdecydowałem się na zakup ODroid HC1 (Home Cloud 1) od ich brytyjskiego dystrybutora (https://odroid.co.uk). To bardzo kompaktowy i rozsądnie wyceniony jednopłytkowy komputer. Reklamowane wyniki testów są dość zdumiewające dla HC1, w porównaniu z innymi jednopłytkowymi komputerami w podobnym przedziale cenowym.
Przy zakupie bezpośrednio od Hard Kernel, jednostka kosztowałaby 49 USD, nie uwzględniając wysyłki, zasilacza ani dysku twardego. Hard Kernel oferuje również kilka bardzo imponujących płyt w formacie RasPi, z ogromną mocą obliczeniową dla tych, którzy są gotowi za to zapłacić. HC1 przyciągnął mnie ze względu na dedykację do kontrolowania sieciowego magazynu danych, całkowicie pozbawionego wszelkich zbędnych funkcji. Jest również dość kompaktowy, pomimo że jest zamontowany na ogromnym radiatorze, który pełni również funkcję otwartej obudowy, z opcją dołączenia górnej pokrywy dla tych, którzy by tego chcieli.
Chciałbym, aby miał wbudowaną funkcjonalność WiFi, jak również możliwość obsługi wielu dysków dla RAID i bezpieczeństwa danych w przypadku awarii dysku. Chociaż Odroid HC1 nie posiada takich funkcji, zachowuje pojedynczy port USB, który opcjonalnie może być użyty do podłączenia dongla WiFi USB. Interesowało mnie WiFi ze względu na wygodę, aby móc sprawdzać zawartość dysku z urządzenia mobilnego, a nie do zapisywania lub odczytywania dużych ilości danych. RAID z kolei jest trochę trudniejszy do realizacji na jednopłytkowych komputerach, chyba że zacznie się rozważać maszyny oparte na x86, dodawanie procesorów graficznych lub rozważanie dodatkowych, energochłonnych funkcji. Trudno było znaleźć kompaktową, energooszczędną opcję, więc musiałem zrezygnować z RAID.
Zdecydowałem się na dysk SSD Samsung 860 Evo SATA o pojemności jednego terabajta jako urządzenie do przechowywania danych oraz kartę microSDHC Sandisk o pojemności 16 gigabajtów jako urządzenie do uruchamiania systemu. Próbowałem obejść się starą kartą microSD o pojemności dwóch gigabajtów, ale była zbyt wolna dla systemu operacyjnego. Karta Sandisk microSDHC o pojemności 16GB była najtańszą kartą renomowanej marki dostępną na rynku. Jeśli szukasz wyjątkowo wytrzymałej konfiguracji, dyski Samsung 860 Evo PRO są dwa razy droższe, ale oferują prawie czterokrotnie większą trwałość pamięci flash niż Evo, co może być bardzo opłacalne dla zdalnej instalacji zbierającej krytyczne dane. Wersja PRO zużywa również znacznie mniej energii. Nieco bardziej budżetową opcją od Samsunga jest linia Qvo, która ma około połowę trwałości pamięci flash Evo. Zdecydowałem się na Samsungi zamiast innej marki, ponieważ moje urządzenie nie oferuje opcji RAID. Nie miałem z nimi żadnych problemów w przeszłości i mam 9 z nich w ciągłej eksploatacji, więc postanowiłem trzymać się tego, co wcześniej dobrze mi służyło.
Dyski mechaniczne nie są dobrym pomysłem dla urządzeń o niskim poborze mocy, intensywnie wibrujących lub pracujących w trudnych warunkach. Są bardzo tanie biorąc pod uwagę oferowaną pojemność w porównaniu do wysokiej jakości dysków SSD, ale wibracje bardzo szybko je niszczą, podobnie jak kurz i wilgoć. Dysk SSD zużywa znacznie mniej energii niż dysk mechaniczny i nie ma problemu z czasem rozruchu po wyjściu ze stanu uśpienia, gdy chcesz zacząć zapisywać dane.
Samsung 860 EVO SSD i ODroid HC1 po zakupie.
Istnieje kilka systemów operacyjnych do sieciowych urządzeń pamięci masowej dostępnych dla komputerów jednopłytkowych. Zdecydowałem się użyć OpenMediaVault, ponieważ działa na wielu komputerach jednopłytkowych opartych na ARM, co pozwala na kontynuowanie pracy nawet jeśli zdecydujesz się na inną opcję (taką jak Raspberry Pi). Posiada również bardzo łatwy w obsłudze interfejs webowy do konfiguracji i zarządzania udziałami/użytkownikami, eliminując potrzebę korzystania z linii poleceń lub SSH!
Konfiguracja i uruchomienie ODroid HC1 to po prostu kwestia podłączenia dysku twardego, zapisania i podłączenia karty SD, a na końcu podłączenia ethernetu i zasilania. Przejdźmy przez te kroki krok po kroku.
Po pierwsze, zainstalujmy obraz firmware na karcie SD.
Pobierz obraz „OMV_4_Odroid_XU4_HC1_HC2.img.xz” ze Sourceforge.
Pobierz dowolne narzędzie do zapisywania obrazów na nośniku. W tym artykule będziemy pracować z Etcher (https://etcher.io/), ponieważ jest łatwy w użyciu.
Podłącz kartę microSD do komputera.
Otwórz Etcher i wybierz pobrany obraz, a następnie swój dysk.
Kliknij Flash!
Podczas gdy Etcher zapisuje i weryfikuje obraz na twojej karcie SD, możesz zmontować ODroid HC1 i dysk twardy, po prostu podłączając dysk twardy do złącza SATA HC1.
ODroid HC1 podłączony do dysku Samsunga tworzy bardzo kompaktowe sieciowe urządzenie do przechowywania danych.
Następnie obróć i użyj dołączonych śrub, aby zabezpieczyć dysk.
Możesz wtedy podłączyć kabel ethernetowy.
Po podłączeniu kabla ethernetowego, skończysz łączenie całego sprzętu.
Gdy Etcher zakończy zapisywanie karty SD, możesz ją podłączyć do HC1, a następnie podłączyć zasilanie. OpenMediaVault kluczowo wymaga stabilnego połączenia z internetem przy pierwszym uruchomieniu. Próbowałem uruchomić mój HC1 po raz pierwszy, będąc podłączonym do sieci, która zawierała połączenie bezprzewodowe, które nie było szczególnie wysokiej jakości, i miałem znaczne trudności z uruchomieniem urządzenia. Jednak od razu udało mi się, podłączając HC1 bezpośrednio do przewodowej części sieci.
Uruchomienie systemu po raz pierwszy może zająć trochę czasu, więc zrób sobie herbatę lub kawę, albo sprawdź inne artykuły na tym blogu. Pozostaw HC1 do uruchomienia i instalacji przynajmniej na 15 minut; nie ma wizualnego sygnału, że proces się zakończył, więc lepiej zostawić urządzenie nieco dłużej, niż zbyt wcześnie cokolwiek z nim robić.
Będziesz chciał sprawdzić, co przydziela adresy DHCP w Twojej sieci (zazwyczaj jest to router internetowy w domu lub małym biurze), aby spojrzeć na podłączone urządzenia i znaleźć adres IP ODroida. Alternatywnie, możesz użyć narzędzia do skanowania IP, aby go znaleźć – popularnym wyborem jest Angry IP Scanner (preferuję wersję legacy, ponieważ nie wymaga Java). Jeśli to jedyny ODroid w sieci, możesz prawdopodobnie pominąć znajdowanie adresu IP i przejść do http://odroidxu4/ w przeglądarce internetowej. W przeciwnym razie przejdź do adresu IP za pomocą przeglądarki.
Konfiguracja OpenMediaVault zaczyna się od zalogowania się.
Domyślną nazwą użytkownika i hasłem są admin / openmediavault.
Pierwszą rzeczą, którą będziesz chciał zrobić, to przejść do System⇒Ustawienia Ogólne, a następnie Hasło Administratora Web, aby zmienić swoje hasło.
Następnie możesz przejść do System⇒Zarządzanie Aktualizacjami, aby upewnić się, że masz wszystkie najnowsze pakiety. Kliknij przycisk Sprawdź, następnie zaznacz pole obok Informacje o Pakiecie, aby wybrać wszystkie i naciśnij przycisk Aktualizuj
Proszę poczekać chwilę, podczas gdy OpenMediaVault instaluje swoje aktualizacje.
Po zakończeniu aktualizacji będziesz chciał ponownie uruchomić komputer. Możesz kliknąć ikonę menu ⋮ w prawym górnym rogu pulpitu i wybrać opcję ponownego uruchomienia.
Jeśli używasz istniejącego dysku twardego lub Twój dysk twardy jest dostarczony już sformatowany, będziesz musiał usunąć partycje przed kontynuowaniem. Możesz przejść do menu Magazyn⇒Systemy plików, wybrać dowolne wpisy /dev/sda* i usunąć je. Jednak upewnij się, że nie dotykasz pozycji /dev/mmc
, ponieważ to jest karta SD, z której się uruchamiasz!
Ustawienie dysku twardego wymaga, abyś utworzył system plików.
Po uzyskaniu pustego dysku, możesz kliknąć przycisk Utwórz. Nadaj swojemu dyskowi etykietę woluminu, upewnij się, że wybrano system plików EXT4 i kliknij OK.
To prawdopodobnie zajmie kilka minut.
Po zakończeniu kliknij Zamknij, a następnie wybierz /dev/SDA1 i kliknij przycisk Montuj. Następnie będziesz musiał kliknąć Zastosuj, aby dysk został zamontowany.
Przycisk zastosuj można znaleźć w prawym górnym rogu tabeli urządzeń.
Następnie potrzebujesz użytkownika, aby uzyskać dostęp do udziału plików. Przejdź do Zarządzanie prawami dostępu⇒Użytkownik w menu, a następnie kliknij Dodaj.
Teraz, kiedy skończyliśmy z przechowywaniem, musimy skonfigurować zarządzanie prawami dostępu.
Ustaw nazwę użytkownika i hasło, a następnie kliknij Dodaj. Następnie musisz Zastosować zmiany, tak jak zrobiłeś to podczas montowania nowego systemu plików. Teraz masz użytkownika, który może uzyskać dostęp do udziału plików.
Będziemy musieli skonfigurować podstawowe opcje podczas tworzenia nowego użytkownika.
Przejdź do Zarządzanie prawami dostępu⇒Udostępnione foldery i kliknij Dodaj.
Po prostu nadaj udziałowi nazwę, na przykład „logdata” i kliknij Dodaj. Idealnie, powinieneś również ustawić uprawnienia, aby odmówić dostępu „innym”, tak aby tylko użytkownicy mogli uzyskać dostęp do folderu.
Tworzenie udostępnionego folderu pozwala użytkownikowi, którego właśnie utworzyliśmy, na transfer danych do i z pamięci sieciowej.
Po utworzeniu udziału możesz go wybrać, a następnie kliknąć przycisk Uprawnienia, aby dodać swojego użytkownika.
Chcesz zaznaczyć pole wyboru Odczyt/Zapis, a następnie kliknąć Zapisz. Znowu musisz zastosować te zmiany.
Następnie kliknij przycisk ACL, obok przycisku Uprawnienia, który wcześniej kliknąłeś, i zrób to samo, a następnie Zastosuj i Zamknij.
Przejdź do opcji menu Usługi - SMB/CIFS. Jest to serwer plików na urządzeniu.
Kliknij Włącz, a następnie Zapisz i Zastosuj.
Nie zapomnij kliknąć przycisku zastosuj, aby zapisać dokonane zmiany.
Po włączeniu serwera SMB kliknij zakładkę Udostępnione foldery, a następnie kliknij przycisk Dodaj. Możesz wybrać wcześniej utworzony udział, a następnie kliknąć przycisk Zapisz, a potem Zastosuj zmiany.
W systemie Windows możesz przejść do \\odroidxu4\ (lub \\ipaddress\) w Eksploratorze Windows, aby sprawdzić, czy udział jest poprawnie ustawiony. Wprowadź wcześniej utworzone dane uwierzytelniające, gdy zostaniesz o to poproszony.
Możemy użyć naszych danych uwierzytelniających, aby zobaczyć i uzyskać dostęp do udostępnionego folderu na OCDroid z dowolnego innego komputera w sieci.
Kopiując do lub z dysku, powinieneś zobaczyć prędkości transferu około 95-115Mbytes/sekundę przez sieć przewodową, co jest mniej więcej tak szybkie, jak może transferować sieć gigabitowa. Przepustowość na HC1 jest dość imponująca.
OpenMediaVault wspiera również inne sposoby przesyłania plików. Jeśli urządzenie generujące wszystkie potrzebne Ci dane nie obsługuje systemów plików SMB (udziały Windows), wówczas warto również włączyć FTP. FTP nie jest tak szybki jak SMB, ogólnie rzecz biorąc, jednakże, jeśli używasz mikrokontrolera, jest łatwiejszy do implementacji niż udziały SMB.
Serwer FTP może być również dość przydatny do przeglądania serwera z oddalonej lokalizacji. Jeśli chcesz uzyskać dostęp do serwera FTP z podstawowego mikrokontrolera, prawdopodobnie nie chcesz, aby SSL był wymagany, tylko opcjonalny. Jeśli musisz uruchomić serwer FTP bez SSL, powinieneś uzyskiwać dostęp do serwera przez internet tylko za pośrednictwem tunelu VPN do sieci, do której podłączony jest NAS.
Przejdź do Usługi⇒FTP, zaznacz pole Włącz i kliknij Zapisz.
Teraz możesz przejść do zakładki Udostępnione i dodać udział tak, jak zrobiłeś to dla udziału SMB powyżej. Nie zapomnij kliknąć Zapisz, a następnie Zastosuj zmiany konfiguracji.
Jeśli szukasz sposobu na zbudowanie zdalnego serwera do przechowywania danych, który zużywa bardzo mało energii i zajmuje niewiele miejsca, Odroid HC1 jest doskonałą opcją. Jeśli znajdujesz się w bardzo wilgotnym lub mokrym środowisku, warto zastosować powłokę konformalną i pokryć nią obficie obie strony płyty, a potencjalnie także wnętrze dysku twardego (tylko jeśli używasz dysku stanu stałego). Powłoka konformalna zapewni, że płyty nie będą podlegać korozji.
Duży radiator na Odroidzie dodaje dużo sztywności do konstrukcji, więc nie ma większych obaw, że złącze SATA będzie narażone na zmęczenie spowodowane wibracjami czy uderzeniami. W połączeniu z dyskiem stanu stałego, daje to solidne urządzenie do przechowywania danych w sieci.
Jak wspomniano wcześniej, dla ostatecznej niezawodności idealnym rozwiązaniem byłoby automatyczne lustrzane odbicie danych na dwóch dyskach. Jeszcze lepiej byłoby mieć wiele dysków w RAID 6, ale wtedy znacznie przekroczymy zakres pojęć „kompaktowy”, „niski pobór mocy” i „kosztowo efektywny”. Obudowy z radiatorem Odroid HC1 są stosowalne, więc można by po prostu użyć dwóch NAS razem i użyć synchronizacji oprogramowania, takiego jak RSync, który OpenMediaVault może skonfigurować dla Ciebie, w drugim systemie do kopiowania plików z pierwszego. Synchronizując dwa systemy, posiadałbyś pewne możliwości awaryjne i zachowania danych na wypadek awarii dysku.
Chcesz dowiedzieć się więcej o tym, jak Altium Designer® może pomóc Ci w następnym projekcie PCB? Porozmawiaj z ekspertem w Altium.