Ezért előkerestem egy leírást a neten, mely azzal foglalkozik, hogy hogyan futtassuk a rendszert boot után külső USB meghajtóról:
Onnan kezdem, hogy már van egy belakott rendszerem a Raspberry Pi-n, a nulláról telepítésre nem térek ki.
Egy üres Samsung S1 Mini ütésálló tokba szerelt külső 120GB HDD-t dugtam az USB porton lévő USB HUB-ra. Az USB HUB külső tápos, így nem terheli a RPi-t a HDD. Ez fontos!
Megkerestem, melyik drive a HDD:
- sudo su
- fdisk -l
Nálam a "/dev/sda" lett az. Módosítottam a partíciós táblát:
A partíciótörléshez az "n" kell. Ha több van, az összeset törölni kell. A "p" listázza a partíciókat. Hármat hoztam létre: 16GB root partíció, 2GB swap partíció, és a többi egyéb adatoknak.
A root partíció létrehozása "n" gombbal indul, majd "p", majd "1", majd az első szektorhoz "Enter", majd "+16GB" és "Enter".
A swap partíció létrehozása "n" gombbal indul, majd "p", majd "2", majd az első szektorhoz "Enter", majd "+2GB" és "Enter", majd "t" és "2" és "82" választja ki a partíció típusát.
Az adat partíció létrehozása "n" gombbal indul, majd "p", majd "3", majd az első szektorhoz "Enter", majd "Enter" a maradék hely kihasználásához.
A végén a "p" listázza az új partíciókat. A "w" kiírja a változtatásokat végleg a HDD-re.
Az adat partíciót ext4-re formáztam, ez eltart egy ideig, várni kellett. Az első partíciót nem kell formázni, mert másolni kell rá. Szóval előbb az adat, majd a swap formázása:
Ezt követően az SD második "mmcblk0p2" jelű partícióját átmásoltam a HDD első partíciójára. Ez elég sokáig tart. De előtte leállítottam minden lényeges szervizt, mely az SD-t túrhatja. Arra is figyelni kell, hogy kintről ne akarjon semmi hozzáférni.
Utána hibaellenőrzés jött, és volt egy átméretezési hiba, amit az "y" után javított:
A fájlrendszer átméretezése jött:
Készítettem egy másolatot az alábbi boot konfigurációs fájlról:
Utána szerkesztésre megnyitottam ("vi" vagy "nano"):
Módosítottam a "/dev/mmcblk0p2" részt "/dev/sda1" részre, majd mentés és kilépés a szerkesztésből.
A mount konfigurációt is módosítani kellett:
Átírtam a "/dev/mmcblk0p2" részt "/dev/sda1" részre. Utána hozzáadtam a "/dev/sda2" részt, mint swap, tehát új sorba:
... majd mentés és kilépés a szerkesztésből.
Nekem nem volt az SD terhelés elkerülése végett már swap, de ha lett volna, akkor le kellett volna állítani:
Utána újraindítás óvatosan:
Ha valamiért nem bootol a HDD, akkor visszaállítható a régi rendszer, ha az SD-t egy másik gépbe dugva a "/boot/cmdline.orig" fájlt visszanevezzük "/boot/cmdline.txt" névre.
Egyes gépeken lassan veszi észre a rendszer az USB-t. Ott be kell állítani egy kis késleltetést a "/boot/cmdline.txt" fájlban a "bootdelay" és "rootdelay" opciókkal.
Az alábbi RPi-Monitor CPU terhelés grafikon mutatja az egérmutatóig a 3 óránként indított Tiny Tiny RSS szerver 110 darab feed szinkronizálásának kínlódását. Ez a folyamat rövidebb kellene legyen, nem 1,5 órás. Az egérmutató előtt közvetlen állítottam le a szervizeket, és ment a másolás, majd az átállás (lyuk), és utána elindult a HDD-ről az RPi. Eleve sokkal kisebb lett a CPU Load, úgy hogy a Cron nem 3 óránként, hanem 15 percenként indult. Persze, nekem elég lesz óránként is az RSS szinkron...
- fdisk /dev/sda
A partíciótörléshez az "n" kell. Ha több van, az összeset törölni kell. A "p" listázza a partíciókat. Hármat hoztam létre: 16GB root partíció, 2GB swap partíció, és a többi egyéb adatoknak.
A root partíció létrehozása "n" gombbal indul, majd "p", majd "1", majd az első szektorhoz "Enter", majd "+16GB" és "Enter".
A swap partíció létrehozása "n" gombbal indul, majd "p", majd "2", majd az első szektorhoz "Enter", majd "+2GB" és "Enter", majd "t" és "2" és "82" választja ki a partíció típusát.
Az adat partíció létrehozása "n" gombbal indul, majd "p", majd "3", majd az első szektorhoz "Enter", majd "Enter" a maradék hely kihasználásához.
A végén a "p" listázza az új partíciókat. A "w" kiírja a változtatásokat végleg a HDD-re.
Az adat partíciót ext4-re formáztam, ez eltart egy ideig, várni kellett. Az első partíciót nem kell formázni, mert másolni kell rá. Szóval előbb az adat, majd a swap formázása:
- mkfs.ext4 /dev/sda3
- mkswap /dev/sda2
Ezt követően az SD második "mmcblk0p2" jelű partícióját átmásoltam a HDD első partíciójára. Ez elég sokáig tart. De előtte leállítottam minden lényeges szervizt, mely az SD-t túrhatja. Arra is figyelni kell, hogy kintről ne akarjon semmi hozzáférni.
- service cron stop
- service mysql stop
- ...
Aztán az időigényes másolás:
- dd if=/dev/mmcblk0p2 of=/dev/sda1 bs=32M conv=noerror,sync
Utána hibaellenőrzés jött, és volt egy átméretezési hiba, amit az "y" után javított:
- e2fsck -f /dev/sda1
A fájlrendszer átméretezése jött:
- resize2fs /dev/sda1
Készítettem egy másolatot az alábbi boot konfigurációs fájlról:
- cp /boot/cmdline.txt /boot/cmdline.orig
Utána szerkesztésre megnyitottam ("vi" vagy "nano"):
- nano /boot/cmdline.txt
Módosítottam a "/dev/mmcblk0p2" részt "/dev/sda1" részre, majd mentés és kilépés a szerkesztésből.
A mount konfigurációt is módosítani kellett:
- mount /dev/sda1 /mnt
- nano /mnt/etc/fstab
Átírtam a "/dev/mmcblk0p2" részt "/dev/sda1" részre. Utána hozzáadtam a "/dev/sda2" részt, mint swap, tehát új sorba:
- /dev/sda2 none swap sw 0 0
... majd mentés és kilépés a szerkesztésből.
Nekem nem volt az SD terhelés elkerülése végett már swap, de ha lett volna, akkor le kellett volna állítani:
- rm /etc/rc2.d/ S02dphys-swapfile
Utána újraindítás óvatosan:
- sync
- reboot
Ha valamiért nem bootol a HDD, akkor visszaállítható a régi rendszer, ha az SD-t egy másik gépbe dugva a "/boot/cmdline.orig" fájlt visszanevezzük "/boot/cmdline.txt" névre.
Egyes gépeken lassan veszi észre a rendszer az USB-t. Ott be kell állítani egy kis késleltetést a "/boot/cmdline.txt" fájlban a "bootdelay" és "rootdelay" opciókkal.
Az alábbi RPi-Monitor CPU terhelés grafikon mutatja az egérmutatóig a 3 óránként indított Tiny Tiny RSS szerver 110 darab feed szinkronizálásának kínlódását. Ez a folyamat rövidebb kellene legyen, nem 1,5 órás. Az egérmutató előtt közvetlen állítottam le a szervizeket, és ment a másolás, majd az átállás (lyuk), és utána elindult a HDD-ről az RPi. Eleve sokkal kisebb lett a CPU Load, úgy hogy a Cron nem 3 óránként, hanem 15 percenként indult. Persze, nekem elég lesz óránként is az RSS szinkron...
Nincsenek megjegyzések :
Megjegyzés küldése