niedziela, 27 stycznia 2013

DNS-320L - przeniesienie systemu na dysk USB

Jednym z powodów zakupu NAS'a była chęć wyciszenia stacjonarnego komputera który posiadam. Jakiś czas temu trochę go zmodernizowałem i po tej operacji okazało się że najgłośniejszym jego elementem są własnie dyski talerzowe. Po wyjęciu dysków które umieściłem w NAS-ie komputer chodzi praktycznie bezgłośnie.

DNS-320L posiada opcje hibernacji dysków po ustalonym czasie. Dzięki temu jeśli dysk jest nieużywany przechodzi w stan uśpienia - czyli się wyłącza. Tak to wygląda w teorii. Niestety zauważyłem że wewnętrzny system urządzenia co jakiś czas wykonuje zapisy i/lub odczyty na dysku Volume_1. Co powoduje konieczność dostępu do dysku - do tej pory nie wiem. Podejrzewam że jest to spowodowane zapisywanie jakiś logów. Być może kiedyś nabędę tą wiedzę. Jedno jest pewne - zbyt częste uruchamianie dysku negatywnie wpływa na jego żywotność. Pozostaje więc albo wyłączyć hibernacje dla dysku Volume 1 albo przenieść Debiana na dysk USB...

Nad taki rozwiązaniem zastanawiałem się od jakiegoś czasu. Dyski USB pobierają mniej energii i są znacznie cichsze. Oczywiście można by się pokusić o instalacje Debiana na urządzeniu typu pendrive ale obecnie nie dysponuje takim, który byłby wystarczająco duży aby zaspokoić moje potrzeby. Dysponuje natomiast dyskiem 100 GB w kieszeni USB 2.0 który "wala mi się po szufladzie".

Ciekawe, że w sieci nie ma za dużo informacji na temat bootowania Debiana z USB na urządzeniu D-Linka (albo ja nie umiem szukać). Bardzo konkretną instrukcję odnalazłem na francuskim forum, w którym użytkownik le_candide opisał w jaki sposób można to zrobić (dobrze że jest Google Translate bo bez tego pewnie ominąłbym tę stronę szerokim łukiem) 

Na początku trzeba doprowadzić do uruchomienia systemu w trybie FFP. Zakładam że działamy aktualnie na Debianie instalowanym z tego posta.

Jeśli tak należy skopiować zbackupowany wcześniej plik fun_plug:

cp /mnt/HD/HD_a2/fun_plug.back /mnt/HD/HD_a2/fun_plug

Restartujemy NAS'a i łączymy się do urządzenia telnetem tak jak przy instalacji Debiana.

Następnie podłączamy dysk do urządzenia, odczekujemy kilkanaście sekund i wykonujemy polecenie:

fdisk /dev/sdc


po wprowadzeniu polecenia powinien pojawić się monit:

Command (m for help):

wprowdzamy p i naciskamy enter:

U mnie to wygląda tak:



Jeżeli na dysku istniały jakieś partycje należy je wcześniej usunąć (opcja d) 
PAMIĘTAJĄC ŻE STRACIMY WSZYSTKIE DANE KTÓRE SIĘ  NA TYCH PARTYCJACH ZNAJDOWAŁY.

Jeśli jednak dysk jest "pusty" (jak u mnie)  - należy założyć partycję - w moim przypadku była to partycja primary  na całej powierzchni dysku. Na zakończenie wybrałem opcje w aby zatwierdzić wszystkie wprowadzone zmiany.


Po tym należy sformatować przed chwila utworzoną partycję:

mke2fs -j /dev/sdc1


Restartujemy urządzenie i po restarcie wykonujemy polecenie mount. Powinniśmy ujrzeć coś takiego:


Najważniejszy jest ten fragment:

/dev/sdc1 on /mnt/USB/USB1_c1 type ext3 (rw)

Oznacza że dysk został prawidłowo zamontowany przez urządzenie. Dysk powinien też być widoczny z poziomu przeglądarki w aplikacji D-Linka:


Następnym krokiem jest instalacja patch'a. Wykonujemy po kolei:

cd /ffp/sbin
wget http://funplug-dns320-dns325.googlecode.com/files/patch_chmod.sh 
chmod 777 patch_chmod.sh 

Musimy wyedytować ściągnięty plik:

vi  patch_chmod.sh 

i zmienić odwołanie do naszego dysku:

# 1- INIT VARIABLES
HD=USB1_c1

Na koniec uruchamiamy skrypt:

patch_chmod.sh

Ponownie restartujemy urządzenie i wykonujemy:

cat /usr/local/config/chmod.log

Powinniśmy otrzymać na ekranie poniższy tekst:

[2013-01-27 12:08:57] Desactivation du chmod sur /mnt/USB/USB1_c1

Jeśli tekst się nie pojawi znaczy że coś poszło nie tak i trzeba się zastanowić co, być może powtórzyć całą procedurę.

Jeśli efekty polecenia był pozytywny należy należy skopiować instancję Debiana z dysku Volume na dysk usb:

cp -a /mnt/HD/HD_a2/squeeze /mnt/USB/USB1_c1/

Teraz trzeba ściągnąć zmodyfikowaną wersje pliku fun_plug:

cd /mnt/HD/HD_a2/
wget http://funplug-dns320-dns325.googlecode.com/files/fun_plug.squeeze 
chmod 777 fun_plug*

wyedytować ściągnięty plik:

vi fun_plug.squeeze 

odnaleźć taki fragment kodu:

CHROOT_USB=/mnt/USB/HD_c1/squeeze/

zmieniając go na USB1_c1

CHROOT_USB=/mnt/USB/USB1_c1/squeeze

Po restarcie urządzenia można sprawdzić w pliku ffp.log czy operacja się udała. Na końcu pliku powinny znaleźć się taki fragment:

[27/01/2013 14:41] ------ Debut Demarrage DEBIAN DNS-320/325 ------
Demarrage sur : /mnt/USB/USB1_c1/squeeze
/boot/linuxrc: 15: /etc/init.d/sysklogd: not found
/boot/linuxrc: 16: /etc/init.d/klogd: not found
/boot/linuxrc: 27: MAKEDEV: not found
/boot/linuxrc: 38: /etc/init.d/atd: not found
Starting periodic command scheduler: cron.
/boot/linuxrc: 52: /etc/init.d/mysql: not found
/boot/linuxrc: 53: apache2ctl: not found
[27/01/2013 14:41] ------ Fin Demarrage DEBIAN DNS-320/325 ------ 

Dlaczego w logu są te "błedy"? Jeszcze tego nie wiem - ale może wkrótce uda mi się to "rozkminić". 

Będę chciał też zmienić komunikaty bo teraz są po francusku.

Ważne - że system startuje teraz z USB. Za jakiś czas poinformuje czy to rozwiązanie zmniejszyło ilość odczytów na dysku Volume_1.



1 komentarz:

  1. witam, tak sie złożyło że mam dokładnie te same komponenty sieciowe(tv, tplinka) i tez biorę pod uwagę dns-320l - jakie ogólne wrażenia o urzadzeniu? transfery? zadowolenie? jakiej wielkosci pendrive jest potrzebny aby przeniesc na niego debiana ?

    OdpowiedzUsuń