Pripojenie USB disku na Raspberry Pi
Upozornenie: Aplikovaním nasledovného postupu prídete o všetky dáta na pevnom disku. Ak sa vám to nepáči, dáta si najprv zálohujte! Opakujem, pokračovaním prídete o všetky dáta na pevnom disku!!!
Začnime pekne zostra – predpokladám, že Raspberry máte nainštalované a máte aj aplikované všetky aktualizácie. USB disk teda jednoducho pripojte do Raspberry, on si s ním už nejako poradí 😉
(!) Nepripájajte viac ako jeden USB disk súčasne. Jednak môžete mať problém s napájaním, ale tiež aj s následnou identifikáciou, ktorý disk je vlastne ktorý (za čo ja teda nechcem niesť zodpovednosť :-)). Na nájdenie disku a overenie, či disk skutočne žije, použijeme príkaz lsblk:
pi@NASKO:~ $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 1.8T 0 disk └─sda1 8:1 0 1.8T 0 part mmcblk0 179:0 0 28.9G 0 disk ├─mmcblk0p1 179:1 0 42.9M 0 part /boot └─mmcblk0p2 179:2 0 28.9G 0 part /
Ako si môžete všimnúť, môj USB disk má označenie sda. Ak by ste pripojili ďalšie disky, dostali by mená sdb, sdc, atď.
(!) Nechytajte sa disku s označením mmcblk0 – to je SD karta, na ktorej je inštalovaný samotný Raspbian!
Vytvorenie partície
Ako prvý použijeme nástroj fdisk na vymazanie existujúcich partícií a vytvorenie novej. Tento krok nie je povinný, ak teda máte na disku vytvorenú partíciu správne. Každopádne aj nové disky majú občas na sebe kadejaké hlúposti porobené, takže nezaškodí si nastaviť disk z bodu nula:
pi@NASKO:~ $ sudo fdisk /dev/sda Welcome to fdisk (util-linux 2.29.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help):
Ako prvý príkaz po spustení nástroja fdisk použijeme písmeno o – create a new empty DOS partition table:
Command (m for help): o Created a new DOS disklabel with disk identifier 0x74884cec.
Následne vytvoríme novú partíciu príkazom n – add a new partition. Na všetky záludné otázky odpovedáme default možnosťou (stlačením ENTER).
Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): Partition number (1-4, default 1): First sector (2048-3906963455, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-3906963455, default 3906963455): Created a new partition 1 of type 'Linux' and of size 1.8 TiB. Partition #1 contains a ntfs signature. Do you want to remove the signature? [Y]es/[N]o: Y The signature will be removed by a write command.
Dobrá správa je, že doteraz sa s diskom ešte nič nestalo a môžeme si to celé rozmyslieť, príkaz q – quit without saving changes ukončí nástroj fdisk bez uloženia. Aby sa zmeny skutočne zapísali na disk, musíme na záver použiť príkaz w – write table to disk and exit:
Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.
Hotovo, partíciu na USB disku máme nastavenú. Skontrolovať si to môžeme opäť príkazom fdisk:
pi@NASKO:~ $ sudo fdisk -l /dev/sda Disk /dev/sda: 1.8 TiB, 2000365289472 bytes, 3906963456 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x74884cec Device Boot Start End Sectors Size Id Type /dev/sda1 2048 3906963455 3906961408 1.8T 83 Linux
Ako vidíte, ja som k Raspberry pripojil 2TB disk WD Elements (partícia má v skutočnosti iba 1,8TB – ach ten marketing).
Formátovanie disku
Pred použitím je nutné disk naformátovať. Aký súborový systém použiť? Chcem sa vyhnúť dlhým diskusiám na túto tému, takže len stručne: Odporúčam použiť EXT4. Prečo? Je to štandardný Linux súborový systém, s plnou podporou priamo v jadre. Ostatné súborové systémy ako napríklad NTFS, FAT32, exFAT sa síce dajú na Raspbiane rozbehať, ale fungujú ako FUSE = Filesystem in Userspace. Niežeby to bola nejaká mentálna vada, veď na to to vymysleli, avšak ja som za plnú podporu, chcem sa vyhnúť problémom s kompatibilitou a pod, takže volím radšej EXT4. Má to však aj nevýhodu – takto formátovaný disk vo Windowse neprečítate…
Na formátovanie disku použijeme nástroj mkfs.ext4, pričom v jeho parametri si zvolíme názov disku – ja som použil DATA1:
pi@NASKO:~ $ sudo mkfs.ext4 -L DATA1 /dev/sda1 mke2fs 1.43.4 (31-Jan-2017) Creating filesystem with 488370176 4k blocks and 122093568 inodes Filesystem UUID: 3cf59fec-310f-4f5c-9b2c-c092abb3f8e2 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848 Allocating group tables: done Writing inode tables: done Creating journal (262144 blocks): done Writing superblocks and filesystem accounting information: done
Pripojenie disku do súborového systému
Aby ste mohli disk v Linuxe použiť, je potrebné ho pripojiť do adresárovej štruktúry – namountovať. To sa dá urobiť aj adhoc za jazdy, ja však teraz popíšem možnosť permanentného mountingu, ktorý prežije aj reštart / shutdown.
Najprv si vyrobím adresár, do ktorého budeme náš disk pripájať. Je dobrý zvykom, že disky sa pripájajú do /mnt, tomu môjmu som dal názov data1:
sudo mkdir /mnt/data1
To, ktorý disk sa má ako a kam pripojiť po štarte systému je zaznamenané v konfiguračnom súbore /etc/fstab, do ktorého teda aj my doplníme informácie o našom novom disku:
sudo nano /etc/fstab
Na koniec súboru pridajte nasledovný text a nezabudnite súbor po ukončení editovania uložiť.
# =========== NASko by Gendzo Macher ==================== LABEL=DATA1 /mnt/data1 ext4 defaults,noatime 0 1
Ak všetko zafungovalo tak ako má, zmena sa prejaví po najbližšom reštarte. Následne vykonáme skúšku správnosti – opäť použijeme príkaz zo začiatku tohto článku lsblk. Ako vidíte, disk máme hneď po reštarte pripojený pod adresár /mnt/data1:
pi@NASKO:~ $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 1.8T 0 disk └─sda1 8:1 0 1.8T 0 part /mnt/data1 mmcblk0 179:0 0 28.9G 0 disk ├─mmcblk0p1 179:1 0 42.9M 0 part /boot └─mmcblk0p2 179:2 0 28.9G 0 part /
Dobrá rada na záver
Doplnené 12/2019: Niekedy sa môže stať, že budete chcieť zapnúť vaše RPi aj bez fyzicky pripojeného USB disku, ktorý sme zapísali do /etc/fstab. (Napríklad sa disk pokazí, alebo ho dočasne použijete na niečo iné.) Pri konfigurácii, ktorú sme vyrobili viď hore, operačný systém neprítomnosť USB disku prehlási za vážnu chybu a nabootuje iba do safe módu – bez aktivácie SSH, t.j. bude RPi bude dostupné iba cez klávesnicu! Aby sme tomu predišli, pridajte do parametrov v súbore fstab ešte zápis „nofail“.
# =========== NASko by Gendzo Macher ==================== LABEL=DATA1 /mnt/data1 ext4 defaults,noatime,nofail 0 1
Tento návod bol úspešne testovaný na Raspberry Pi3 model B+ 64-bit 1GB RAM a tiež aj na Raspberry Pi4 model B 64-bit 4GB RAM. Naposledy testované na verzii Raspbian GNU/Linux 10 (buster), kernel: Linux 4.19.75-v7l+
Použitá fotografia: external-hard-drive-usb-storage / Autor: janeb13 / Licencia: Pixabay License
Testovane aj na starsom Banana pi M1 ktory ma Sata port a ide to bezproblemov 🙂
Len by som dodal, že ak už bol disk predtym pripojeny k raspberry, a tým pádom má správne formátovanie, tak nie je potrebné ho formátovať ani vytvarať particiu. Stačí začať krokom „Pripojenie disku do súborového systému“. Neprádete tak dáta na disku.
Samozrejme, k RPi viete pripojiť disk dokonca aj s iným formátovaním ako ext4. Návod je však myslený pre úplných začiatočníkov, preto som nechcel komplikovať postup rôznymi alternatívnymi možnosťami.