Przechodzimy na Malinie z karty SD na dysk HDD/SSD...
Nadeszła pora...
Pora na zmianę głównego miejsca systemu Raspberry Pi. Wiele dobrego mogę powiedzieć o Raspberry Pi, ale na pewno nie to, że używanie kart pamięci (szczególnie przy wielu zapisach do loga, bazy danych, itp.) pozwala na bezstresową pracę. Ostatnio odzyskiwałem backup karty praktycznie co tydzień.
Jakoś tak się stało, że leżał mi mały dysk talerzowy 80GB ze starej PS3. Gdzieś, kiedyś w promocji kupiłem również aktywny hub USB. Niestety, napięcie na portach USB z Raspberry (nie chciałem modyfikować zmiennej max_usb_current) niby zasilało dysk, ale bardzo niestabilnie. Podłączyłem dysk do huba, hub do USB, podpiąłem zasilanie, ruszyło. Pierwszy sukces.
Na początku warto sprawdzić jak nasz dysk przestawia się w systemie, żeby przez przypadek nie sformatować czego, czego zdecydowanie nie chcemy ;)
sudo fdisk -l
Ok, jak widać mój dysk 80GB znalazł się pod /dev/sdb/. Pod /sda/ jest pendrive na którego zapisywane są backupy i leży część danych, na przykład z bajkami dla dzieci. Tak w sumie to warto będzie to niedługo przenieść na dysk, a backupy wypchnąć albo na FTP, albo w chmurę. Może kiedyś...
Skoro wiemy jaki dysk mamy sformatować, bierzemy się do pracy.
sudo fdisk /dev/sdb
I teraz po kolei komendy (po każdej literze Enter):
d - wyczyść dysk
n - new
p - utwórz domyślną partycję
1 - podaj numer partycji
w - zapisz zmiany
Po kolei (dinozaury może jeszcze pamiętają to wszystko ze starych komputerów, kiedy jeszcze nie było Windows i dyski trzeba było formatować z linii poleceń :D ):
1. Wymazaliśmy partycje z dysku, jeżeli jakieś były
2. Utworzyliśmy partycję domyślną
3. Podaliśmy dane domyślne - dla uproszczenia, oczywiście partycji można zrobić więcej, zmienić ich rozmiar...
4. Zapisaliśmy zmiany
Pora sformatować dysk.
sudo mkfs.ext4 /dev/sdb
Póżniej musimy dysk sparować z Raspberry Pi:
sudo mount /dev/sdb /mnt
I teraz sedno, synchronizacja naszej karty SD z dyskiem. rsync zachowuje wszystkie uprawnienia, restrykcje, itp.
sudo rsync -axv / /mnt
Kilka minut i mamy kopię karty na dysku.
Wypadałoby również powiadomić Raspberry Pi, że karta SD jest potrzebna tylko i wyłącznie do 'bootowania', cały system jest już na dysku twardym.
To ważna różnica! Raspberry Pi 3 ma opcję jednorazowego przeprogramowania bitu OTP, aby bootowanie odbywało się bez użycia karty SD, ale osobiście się na to jeszcze nie zdecydowałem - po kilku tygodniach testów możliwe, że tak zrobię. Obciążenie karty SD jest jednak teraz minimalne i znacznie zwiększa bezawaryjność systemu.
Najpierw kopia
sudo cp /boot/cmdline.txt /boot/cmdline.txt.bak
I zmieniamy plik cmdline.txt
sudo nano /boot/cmdline.txt
Zmieniamy wartość przy root i dodajemy na końcu rootdelay
root=/dev/sdb i na końcu rootdelay=5
Efekt:
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/sdb rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait rootdelay=5
sudo nano /mnt/etc/fstab
Zamieniamy wpis przy karcie SD na nasz HDD, stary komentujemy:
/dev/sdb / ext4 defaults,noatime 0 1
Pora na zmianę głównego miejsca systemu Raspberry Pi. Wiele dobrego mogę powiedzieć o Raspberry Pi, ale na pewno nie to, że używanie kart pamięci (szczególnie przy wielu zapisach do loga, bazy danych, itp.) pozwala na bezstresową pracę. Ostatnio odzyskiwałem backup karty praktycznie co tydzień.
Jakoś tak się stało, że leżał mi mały dysk talerzowy 80GB ze starej PS3. Gdzieś, kiedyś w promocji kupiłem również aktywny hub USB. Niestety, napięcie na portach USB z Raspberry (nie chciałem modyfikować zmiennej max_usb_current) niby zasilało dysk, ale bardzo niestabilnie. Podłączyłem dysk do huba, hub do USB, podpiąłem zasilanie, ruszyło. Pierwszy sukces.
Na początku warto sprawdzić jak nasz dysk przestawia się w systemie, żeby przez przypadek nie sformatować czego, czego zdecydowanie nie chcemy ;)
sudo fdisk -l
Ok, jak widać mój dysk 80GB znalazł się pod /dev/sdb/. Pod /sda/ jest pendrive na którego zapisywane są backupy i leży część danych, na przykład z bajkami dla dzieci. Tak w sumie to warto będzie to niedługo przenieść na dysk, a backupy wypchnąć albo na FTP, albo w chmurę. Może kiedyś...
Skoro wiemy jaki dysk mamy sformatować, bierzemy się do pracy.
sudo fdisk /dev/sdb
I teraz po kolei komendy (po każdej literze Enter):
d - wyczyść dysk
n - new
p - utwórz domyślną partycję
1 - podaj numer partycji
w - zapisz zmiany
Po kolei (dinozaury może jeszcze pamiętają to wszystko ze starych komputerów, kiedy jeszcze nie było Windows i dyski trzeba było formatować z linii poleceń :D ):
1. Wymazaliśmy partycje z dysku, jeżeli jakieś były
2. Utworzyliśmy partycję domyślną
3. Podaliśmy dane domyślne - dla uproszczenia, oczywiście partycji można zrobić więcej, zmienić ich rozmiar...
4. Zapisaliśmy zmiany
Pora sformatować dysk.
sudo mkfs.ext4 /dev/sdb
Póżniej musimy dysk sparować z Raspberry Pi:
sudo mount /dev/sdb /mnt
I teraz sedno, synchronizacja naszej karty SD z dyskiem. rsync zachowuje wszystkie uprawnienia, restrykcje, itp.
sudo rsync -axv / /mnt
Kilka minut i mamy kopię karty na dysku.
Wypadałoby również powiadomić Raspberry Pi, że karta SD jest potrzebna tylko i wyłącznie do 'bootowania', cały system jest już na dysku twardym.
To ważna różnica! Raspberry Pi 3 ma opcję jednorazowego przeprogramowania bitu OTP, aby bootowanie odbywało się bez użycia karty SD, ale osobiście się na to jeszcze nie zdecydowałem - po kilku tygodniach testów możliwe, że tak zrobię. Obciążenie karty SD jest jednak teraz minimalne i znacznie zwiększa bezawaryjność systemu.
Najpierw kopia
sudo cp /boot/cmdline.txt /boot/cmdline.txt.bak
I zmieniamy plik cmdline.txt
sudo nano /boot/cmdline.txt
Zmieniamy wartość przy root i dodajemy na końcu rootdelay
root=/dev/sdb i na końcu rootdelay=5
Efekt:
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/sdb rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait rootdelay=5
Brawo! Teraz pora wyedytować fstab, aby nasz dysk zawsze się mapował i system wiedział, że 'rootfs' jest na HDD. Czyli używamy karty tylko na moment startu Raspberry Pi, później już wszystko odbywa się na HDD.
sudo nano /mnt/etc/fstab
Zamieniamy wpis przy karcie SD na nasz HDD, stary komentujemy:
/dev/sdb / ext4 defaults,noatime 0 1
U mnie wygląda to tak:
proc /proc proc defaults 0 0
/dev/sdb / ext4 defaults,noatime 0 1
PARTUUID=376f54aa-01 /boot vfat defaults 0 2
#PARTUUID=376f54aa-02 / ext4 defaults,noatime 0 1
Cudnie! Teraz
sudo reboot
Chwila stresu i powinniśmy wystartować z dysku. Jak to informatycy piszą: 'U mnie działa'.
Mam nadzieję, że teraz żadnych rozjazdów w systemie nie będę już miał.
W przyszłości przejdę na dysk SSD, gdy uda mi się kupić coś fajnego, małego w dobrej cenie.
Może nie na temat. Znalazłem ciekawą ofertę.
OdpowiedzUsuńhttps://www.mobilcom-debitel.de/shop/digitale-welt/smarthome/heizungssteuerung/smarthome-heizungssteuerung-starterbox/p/P-2134075
Bardzo się przydał opis .Zrobiłem to samo u siebie na rpi zero w.Pytanie mam tego typu : Mam 2 partycje na dysku i chciałbym aby kopia bazy raz zapisywała sie na 2 partycji .Posiada pan gdzieś skrypt lub opis jak to wykonać?Mam nadzieje że teraz nie będzie się wysypywać raspbian z domoticzem.
OdpowiedzUsuńBardzo się przydał opis .Zrobiłem to samo u siebie na rpi zero w.Pytanie mam tego typu : Mam 2 partycje na dysku i chciałbym aby kopia bazy raz zapisywała sie na 2 partycji .Posiada pan gdzieś skrypt lub opis jak to wykonać?Mam nadzieje że teraz nie będzie się wysypywać raspbian z domoticzem.
OdpowiedzUsuńPowiem tak... Robienie backupu na ten sam dysk (mimo, że inna partycja) mija się moim zdaniem z celem. Jak padnie, to wszystko...
OdpowiedzUsuńA skrypt opisywałem tutaj: https://cezarowy.blogspot.com/2017/11/kopia-bezpieczenstwa-bazy-folderu.html
pytanie mam takie .poprzednio przezuciłem na dysk hdd a w jaki sposób zrobic to z hdd na ssd (swiezo kupiony)?Dodam ze domoticz chodzi teraz z dysku hdd 500gb i szkoda go teraz do tego celu.
OdpowiedzUsuńPokrętne pytanie - chodzi Ci wyłącznie o Domoticz? Bo jeżeli tak, to wystarczy przekopiować folder. Jeżeli nie - rsync z HDD na SSD powinien sobie z tym poradzić, jeżeli zamontujesz oba naraz. Będę miał ten sam problem w przyszłości, bo teraz też mam HDD. Szukam jakiegoś małego SSD (max 40GB) a teraz wszystko minimum 120GB.
Usuńzrobiłem na nowo na starszym backupie .W kradł Ci się chochlik w"sudo fdisk /dev/sdb/" Nie powinno być ostatniego slasha :sudo fdisk /dev/sdb . Pozdrawiam
OdpowiedzUsuńJa kupiłem na ali:KingDian SATA SATA2 S100 8gb bo wiekszy i tak nie potrzebny i smiga.
OdpowiedzUsuńHa, bardzo dziękuję za obie odpowiedzi, już poprawiam. Za sugestię dysku również dziękuję.
UsuńCześć
OdpowiedzUsuńPrzy skopiowaniu na dysk coś mi się zapętliło:
Po wpisaniu sudo rsync -axv / /mnt
kups/daily/backup-day-16-Domoticz.db
mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/home/pi/domoticz/bac kups/daily/backup-day-16.db
mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/home/pi/domoticz/bac kups/daily/backup-day-17-Domoticz.db
mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/home/pi/domoticz/bac kups/daily/backup-day-17.db
Znalazłem coś takiego:
OdpowiedzUsuńWith --exclude option users’ can specify folders that has not to be copied to destination; usually this string contains /dev, /sys, /run, /tmp, /proc. Could be necessary to add also /mnt or /media if they’ll not be used as backup destination folder, otherwise could start an infinite loop.
Solved: przeszedłem całą procedurę jeszcze raz i sie udało
OdpowiedzUsuńWysypałem się na tym samym...
UsuńBardzo przepraszam za brak odpowiedzi, w pewnym momencie przestałem dostawać powiadomienia o nowych komentarzach.
UsuńOdświeżę stary temat bo i u mnie przyszedł chyba czas na przesiadkę z karty na dysk. I takie pytanie: ma znaczenie co to będzie za dysk, czy HDD czy SSD? On i tak jest podłączony pod USB 2.0 więc raczej SSD nie ma sensu? Ale z drugiej strony, jak mam niepotrzebny dysk SSD to nie ma przeciwwskazań aby go użyć?
OdpowiedzUsuńNo i jak podłączyć dysk do RPi? Wystarczy zwykła kieszeń na dysk czy lepiej kupić jakieś "inne" przejściówki?
Jak po przejściu z systemem na dysk, wygląda dalej użytkowanie? Jestem "amatorem" jeśli chodzi o linuxa, i wszystko co robię z Domoticzem opiera się na tutorialach z netu (m.in. dużo z Twojej strony:)). Rozumiem, że wtedy wszędzie będzie trzeba uwzględniać inne położenie katalogu z Domoticzem, tak?
Już odpowiadam: nie ma żadnych przeszkód co do SSD, jest nawet szansa, że nie będziesz przy nim potrzebował aktywnego huba USB. Ja przy HDD musiałem podać dodatkowe zasilanie. Kieszeń nie gra żadnej roli praktycznie - tak jak piszesz - jest i tak wyłącznie USB 2.0.
UsuńCo do zmiany - nie zauważysz żadnej różnicy, rsync robi kopię 1:1, wyłącznie robi się boot z karty i później dysk wyglada identycznie jak na karcie SD.
Ja ciągle mam problem ze robieniem backupu na zewnętrzny USB. Po porostu nie wykrywa mi go w mailinie, albo nie potrafię tego zrobić. Całość barfba ładnie się spisuje, prawie rok bez wiewiększ problemów, kilkafziekilk urządzeń, kilka scen. Dzięki za bliga
OdpowiedzUsuńZ tego co pisałeś powyżej, wydawało się, że zakończyłeś sukcesem. Jeżeli df -h nie pokazuje dysku, może to znaczyć, że potrzebujesz aktywnego huba USB
UsuńNo tak, przesiadłem się na SSD, dzięki za pomoc. Ale jeszcze chciałbym backup na pendrive. Dziś kolejny dzień walki.
OdpowiedzUsuńwitam.
OdpowiedzUsuńwszystko za pierwszym razem ruszyło ale jak teraz rozszerzyć partycje dysku? jak na sd.
czy tego nie trzeba robić ?
Nie musisz, ale dobrze by było jednak skorzystać z tego, że masz 120GB zamiast 16 na ten przykład ;) Raspi-config załatwi wszystko za Ciebie.
Usuńw Raspi-config jest tylko karta SD niema dysku usb
UsuńA przepraszam, za szybko poszedłem myślami. Jeżeli sformatowałeś dysk przed zrobieniem rsync to już nie musisz robić. Rsync nie robi przecież kopii karty 1:1, tylko przenosi wszystkie pliki zachowując uch atrybuty. Zresztą - sprawdź co pokazuje df -h
UsuńOstatnio musiałem wgrać cały obraz systemu na SSD pytanie mam jak zmienić wielkość partycji? Zgłasza mi domoticz że ma za malo pamięci. Więc nie wykorzystuje wszystkiego. Df -h wyświetla że mam 3gb i zajęte 100 %
UsuńTen komentarz został usunięty przez autora.
OdpowiedzUsuńTen komentarz został usunięty przez autora.
OdpowiedzUsuńJeszcze jedno pytanie (teraz na właściwym wątku :) przed przystąpieniem do przejścia na HDD. Aktualnie system mam SD 32 GB i trochę będzie mi jej szkoda, aby służyła tylko do odpalenia systemu - czy można umieścić np. czystego raspbiana na 16 albo 8 GB? (takie tez mam na stanie).
OdpowiedzUsuńOczywiście, bez problemu. Bo to jest tak: w sumie potrzebna nam jest wyłącznie partycja boot, tam deklarujemy skąd uruchamiamy. To jest jednak trochę naokoło, bo docelowo lepiej przeprogramować bit OTP, aby uruchamiać system wyłącznie z poziomu nośnika na USB (co jednak NIE wyklucza użycia karty SD w razie problemów, po prostu dodaje kolejną możliwość do 'kolejki'. Coś jak w BIOS - najpierw sprawdza kartę SD, później porty USB w poszukiwaniu bootowalnej partycji FAT). W Raspberry 3B+ ten bit jest już domyślnie zapisany. W sumie, to jak tylko znajdę chwilę to przeprogramuję go u siebie.
Usuńponoć tak ale to nie zadziałało. muszę korzystać z karty . inaczej system nie chce wstać na samym dysku usb. czyli po wgraniu obrazu na dysk tak jak poprzednio na kartę
UsuńStworz plik na karcie o nazwie timeout i byc moze pojdzie
UsuńJa w sumie dziurę logiczną zrobiłem. Bo tym moim sposobem to nie zadziała, bo nie ma partycji boot na HDD. Rsync'iem nie, ale zgranie obrazu na kartę i konfiguracja powinny pomóc. Tylko że diabelnie nie chce mi się stawiać wszystkiego od nowa (albo chociaż instalować nowe komponenty w stosunku do karty sprzed roku).
UsuńOki, super :-) To ja u siebie zajmę się przeniesieniem systemu na HDD i cierpliwie poczekam na Twoją zmianę (i tak pewno zajmie mi to dużo czasu :-)
OdpowiedzUsuńZrobiłem wszystko jak w opisie. Działa ale tylko po wpisaniu sudo ./domoticz i otwartym połączeniu ssh
OdpowiedzUsuńPo reboot domoticz sam się nie ładuje i nie można się do niego dostac na porcie 8080 (na karcie śmigał bez problemu).
sudo cp domoticz.sh /etc/init.d
sudo chmod +x /etc/init.d/domoticz.sh
sudo update-rc.d domoticz.sh defaults
Nie pomaga. Mam wrazenie jakby brakowało jakiejś ścieżki dostępu (albo była inna inie wskazywała na sda).
Jakieś pomysły ? sugestie ? powoli zaczynam sie poddawać
Dzisiaj robiłem migracje na ssd i po restarcie z domoticza malina kilka razy się resetuje, ale w końcu wstaje. Nie wiem o co biega. Dysk mam wpięty prosto pod malinę.
UsuńMnie to wygląda na problemy z zasilaniem. Masz dodatkowe zasilanie USB?
UsuńTen komentarz został usunięty przez autora.
UsuńJeśli chodzi o mnie, to czasami mam tylko jeden restart, a czasami dwa czy trzy po restarcie z domoticz. Niekiedy po restarcie bramka mysensors pod usb nie inicjuje się i bramka zigbee2mqtt (też usb) jest offline. Dioda zasilania od rpi nie sygnalizuje zmniejszonego napięcia. Faktycznie może zasilanie nie wyrabia.
UsuńTen komentarz został usunięty przez autora.
OdpowiedzUsuńwszystko zrobione wedle poradnika.
OdpowiedzUsuńsystem wstaje, ale przy probie zrobienia czegokolwiek, nawet zwykle uruchomienie mc, pokazuje ze brak dostepu do tmp.
przy probie skopowania jakiegokolwiek pliku nawet do katalogu /home/pi tez gada ze brak uprawnien:(
Ja dziekuje dziala:)
OdpowiedzUsuńUwaga :
sudo nano /mnt/etc/fstab
nie potrzebne /mnt raczej...
Wpis zawiera bardzo ciekawe informacje
OdpowiedzUsuńBardzo wartościowy wpis!
OdpowiedzUsuń