Dnes si ukážeme jak si takový disk vybrat, namontovat a nakonec jak na něj přesunout celý operační systém v případě Armbianu + Ubuntu.
Výběr disku
Patrně nejsložitější část z celého článku. Poradit obecně jak se rozhodnout není úplně jednoduché, jelikož se jednotlivé výběry mohou významně lišit na základě desky – přesto se o to pokusím, resp. popíšu jak jsem uvažoval já při výběru pro NanoPi T4.
Co zvážit?
- velikost disku – nikde jsem nenašel fyzické limity, které nás však zřejmě nebudou trápit, díky finančnímu limitu, jelikož cena roste s velikostí velmi rychle. Já jsem si zvolil z mého pohledu aktuálně nejvýhodnější kompromis – 500GB – který poskytuje dostatek prostoru jak dnes, tak i na poměrně dlouhou dobu do budoucna. Ve srovnání se standardní interní eMMC pamětí 16GB v případě NanoPi T4 je to opravdu masivní skok.
- životnost – další důležitý parametr disku je vyjádřen zkratkou TBW – terabytes written – a udává kolik terabajtů dat je teoreticky možné na disk zapsat. Logicky tak čím je toto číslo větší, tím déle disk pravděpodobně vydrží. Pro aktuální SSD NVMe disky jsou čísla v rozmezí mezi 150-600TBW (výjmečně pak až 1200TBW). Doporučuji si tedy porovnat disky, která se vám líbí, jelikož často za stejnou cenu můžeme mít i dvojnásobnou TBW.
- rychlost zápisu/čtení – vzhledem k omezením ARMových minipočítačů můžete víceméně tento údaj ignorovat – maxima disků na nich rozhodně nedostáhnete.
- fyzická velikost disku – dejte si pozor, že pro ARMové počítače budete potřebovat disk s délkou 80mm. K dispozici jsou však i disky menší či větší.
- rozhraní disku – aby toho nebylo málo na první pohled stejně vypadají M.2 SATA a M.2 NVMe disky – zásadní rozdíl je jen v konektoru – SATA mají dvě mezery, NVMe disky pouze jednu.
Já jsem si nakonec vybral disk od firmy WD v kapacitě 500GB a 300TBW – k zakoupení např. na Alza.cz
Co naopak nedoporučuji je disk značky ADATA XPG SX6000 Lite, který v NanoPi T4 nešel vůbec vidět – nakonec jsem ho vrátil a musím se přiznat, že až poté jsem si nastudoval pořádněji všechny možnosti 🙂
Instalace disku
Jak výběr disku není úplně jednoduchý, tak instalace jako taková pak jednoduchá je. Stačí disk opatrně zasunou do PCI-E M.2 slotu – nelze dát obráceně – a disk na druhé straně uchytit šroubkem.
To je vše! – žádné kabely, či napájení jako v případě SATA disků – paráda.
Inicializace disku
Prvním krokem při inicializaci nového disku bude tzv. partition table nebo-li tabulka rozdělení.
Ještě než začneme je potřeba znát cestu k zařízení. Pro naše účely ARM minipočítačů a operačního systému Ubuntu by to měla být cesta /dev/nvme0n1
.
?Veškeré operace je potřeba provádět jako administrátor, tj. pod uživatelem root
a nebo s příkazem sudo
.
Spustíme aplikaci parted příkazem:
parted /dev/nvme0n1
a aplikace by měla naskočit ve vlastní konzoli:
GNU Parted 3.2
Using /dev/nvme0n1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
Zadáme příkaz mklabel
a aplikace se nám zeptat na typ – vyplníme msdos
. Pozor maximální velikost disku je 2TB, což ale stále v případě SSD zřejmě nebude problém 🙂
(parted) mklabel
New disk label type? msdos
?Obecně je možno použít dva typy – gpt
, tzv. GUID, který je vhodný na disku větší než 2TB a počítače s UEFI a nebo dos
, tzv. Master boot record.
Tím máme připravenou tabulku rozdělení disku a ještě je potřeba do ní přidat nějaký záznam o rozdělení (partition). Pro naše účely si vystačíme s jedním svazkem.
Jelikož budeme chtít svazek typu ext4 musíme opustit apliakci parted a použijeme aplikací jinou – fdisk:
fdisk /dev/nvme0n1
Welcome to fdisk (util-linux 2.31.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help):
Opět v aplikací běží vlastní konzole, která očekává příkazy. My stiskneme následující tlačítka:
- n – pro vytvoření nového svazku
- p – pro nastavení svazku jako primárního (primary)
- 1 – pro nastavení pořadového čísla svazku
- 2x Enter pro potvrzení výchozí nastavení začátku a konce – použijeme celý disk
- w – pro zapsání změn na disk
Nyní ještě disk zformátujeme na formát ext4:
mke2fs -t ext4 -L rootfs /dev/nvme0n1p1
Další postup záleží na tom, jak chceme SSD použít, tj:
- buď jako další disk, na který budeme odkládat data – systém bude stále startovat z aktuální disku, povětšinou SD karty a nebo eMMC.
- a nebo chceme SSD disk použít rovnou i jako systémový – a právě tento postup si ukážeme detailněji.
Jen dodám, že v případě první varianty bude potřeba disk namapovat pomocí příkazu mount do nějaké složky a pak ideálně i upravit soubor fstab tak, aby se disk po restartu automaticky připojoval.
Přesun systému na nový disk
V případě použití operačního systému Armbian, který mohu vřele už po několika letech zkušeností doporučit, je situace poměrně jednoduchá. Systém obsahuje aplikaci přímo pro tento účel s názvem nand-sata-install.
Tu můžeme spustit buďto přímo zadáním příkazu nand-sata-install
a nebo si ji najdeme v armbian-config
aplikaci v sekci System -> Install.
Po odkliknutí bychom měli vidět pouze jednu možnost, kterou vybereme, povtrdíme i následující dialog a zanedlouho bychom měli vidět už postup kopírování na cílový nvme disk.
Průvodce nás nakonci vyzve k restartu a tím je hotovo!
Bonus: Informace o disku
Poslední odstavec bude tak trochu bonusový 🙂 Občas se nám může hodit zjistit si o disku důležité informace. Pro NVMe disky v Ubuntu existuje takováto utilitka nvme-cli, která nám dokáže poměrně dost informací zobrazit.
Nainstalujeme ji pomocí:
apt install nvme-cli
A pro zobrazení informací o disku použijeme následující:
root@nanopct4:~ # nvme smart-log /dev/nvme0
Smart Log for NVME device:nvme0 namespace-id:ffffffff
critical_warning : 0
temperature : 58 C
available_spare : 100%
available_spare_threshold : 10%
percentage_used : 0%
data_units_read : 6894
data_units_written : 77238
host_read_commands : 166617
host_write_commands : 1899232
controller_busy_time : 0
power_cycles : 9
power_on_hours : 1
unsafe_shutdowns : 5
media_errors : 0
num_err_log_entries : 0
Warning Temperature Time : 0
Critical Composite Temperature Time : 0
Thermal Management T1 Trans Count : 0
Thermal Management T2 Trans Count : 0
Thermal Management T1 Total Time : 0
Thermal Management T2 Total Time : 0
Z výše uvedeného jsou pro mě nejzajímavější dvě hodnoty:
- temperature – aktuální teplota disku
- percentage_used – což nemá nic společného s množstvím volného prostoru, ale udává životnost disku, tj. kolik už jste z ní spotřebovali.
Funguje nějaká jednoduchá metoda i pro PI3 B+ a HDD ?
Nejsem úplně odborník na Raspberry, ale pamatuji si ještě z dřívejška, že byl u Raspberry problém v sdílené sběrnici s USB 2.0, díky čemuž jsou rychlosti pomalé – díky tomu snad 1Gbit karta neběží naplno. Čili je možné se dostat na maximum USB 2 což je okolo 60 MB/s, což je z pohledu SSD žalostně málo a proto to si myslím není zrovna populární používat s Raspberry. Pro tyto účely je tak asi lépe použít klasický plotnový disk a to by pak mohlo jít jak přes USB, tak i přes přídavné desk, kam je možné připojit i SATA. Prakticky ale s tímto zkušenosti nemám.
Ano tak jsem to samozřejmě myslel klasické HDD ,akorád jsem to nenapsal
Aha, pak zkuste hledat HDD hat a nebo Raspberry HDD USB… popř. možná se někdo najde zde s konkrétním doporučením 😉
Ahoj, díky za pěkný návod. Zrovna řeším přesun na SSD u Banana Pi M1+ kde mě běží Armbian. Docela zajímavá deska ta NanoPC-T4, jak jseš s ní spokojen?
Ahoj, mám doma dvě verze NanoPi – M4 a T4. Při té ceně se mi už více líbí M4 kde je M2 SSD slot. Při dnešních cenách je pak jednoduché si místo na systém pořádně rozšířit a také zrychlit. Oproti Orange Pi jsou obě desky super stabilní. Jediná nevýhoda je teplota CPU – topí to fakt s pasivních hodně. Jestli máš nějaké dotazy dej vědět.
Dík za info. Časem si NanoPC-T4 asi pořídím. U toho mýho Banana Pi sice přenesu systém na SSD, ale pro boot stejně vyžaduje SD kartu.
Předpokládám, že mluvíš o NanoPC-T4, který má M2 slot (NanoPi M4 ho nemá). 😉
Ups, máš pravdu. Je to T4. Jestli použiješ link z článku budu rád 🙂
Dobrý den,
předem bych chtěl poděkovat za váš blog, opravdu super práce.
Přemýšlím o zakoupení Rock PI 4 a přidání NVMe disku jako máte Vy. Ale ještě předtím jsem se chtěl zeptat jestli umí rock pi boobovat čistě z NVMe bez přítomnosti SD karty nebo emmc modulu.
Děkuji a přeji vše nejlepší do nového roku.
PR
Přímo tuhle desku bohužel neznám. Když se koukám na Internet v nějakých starších diskuzích se píše, že to bez SD/eMMC nejde, nicméně podle tohoto návodu wiki.radxa.com/Rockpi4/Linux_system_runs_on_M.2_NVME_SSD to vypadá, že by to mohlo jít. V mém případě NanoPC T4 vlastně přesně nevím jestli se bootloader přesunul, jelikož jsem použil utilitu Armbianu
nand-sata-install
, ale počítám, že to nyní bootuje přímo z SSD.Snad vám to pomůže. Vše nejlepší také.
Dobrý den,
Až zpětně jsem si všiml, že vy nemáte RockPi 4 ale NanoPC T4 😉
Těch desek je už tolik, aby se v tom čert vyznal. O to více děkuji za vaši odpověď a nasměrování.
Já hledám desku která by právě uměla boot přímo z přidaného NVME SSD.
Kamarád vlastní ROCKPro64 (tahle deska by měla být výkonnostně je v kategorii vašeho NanoPC T4) a tam se nám právě boot z připojeného NVME SSD nedaří. RockPi 4 bude možná bude „slabší“ než ROCKPro64 a NanoPC T4.
Těžké vybrat.
PR
Ano, sám jsem strávil několik hodin s výběrem a stejně jsem si nebyl jistý. Začal jsem kdysi s OrangePi, které se bohužel občas sekly. Pak jsem zkusil NanoPi M4, který mě velmi překvapil stabilitou, ale zklamal umístěním čipu – dávat větrák zespoda desky mi přijde fakt nešikovné. Naproti tomu NanoPC T4 má dle mě vše vyřešeno úžasně a funguje bez jediného zaseknutí. Jediné nevýhoda související ale s čipem, že to opravdu dost topí, pokud to začnete pořádně využívat. Nicméně výkon z mého pohledu famozní 🙂
Ahoj, zajímá mně, jaké problémy se stabilitou Oranžády jsi měl. Nebylo to teplotou chipů? Měl jsi tam chladiče nebo dokonce ventilátor a chladiče ? Ze zkušenosti s většími hračkami je to většinou teplotní závislost (přehřátí chipu a nebo špatné kondenzátory).
Nemám nic proti NanoPi (původně jsem si ty klony vybral) – snad jen to, že je 4x dražší než ostatní klony a 2x dražší než naprosto suprový originál který je zcela stabilní a s obrovskou podporou). Tak jsem skončil u Oranžády, a tak mě zajímá kde ten problém se stabilitou vzniká.
Kokr
Tak už jsem zjistil proč se oranžáda seká, oni ji totiž už z fabriky přetaktovávají z 1.2 na 1.6, no a když se trochu zatíží, tak začne hořet a ochrana to zpomaluje až se to sekne celé. Píše o tom Petr Stehlík v sérii článků o Orange Pi https://www.root.cz/clanky/linux-na-orange-pi-plus-sata-je-chytak/ . Jsou ti číňánci pěkní vyčůránci 🙂
zdraví Kokr