
Při správném nastavení lze bootovat z NVMe SSD i na starých systémech. Předpokládá se, že operační systém (OS) umí pracovat s NVMe SSD. Zde se zaměřujeme především na zavádění OS, protože s existujícími ovladači je NVMe SSD v OS po spuštění viditelný a může být použit. Pro Linux není potřeba žádný další software (SW). Pro operační systémy rodiny BSD a další unixen by tento způsob pravděpodobně také měl fungovat.
Pro bootování z jakéhokoli disku potřebujete, aby v programu prvotního zavádění (PČZ), v BIOSu nebo EFI (UEFI), byly obsaženy ovladače pro toto zařízení. Disky NVMe SSD jsou poměrně nové zařízení ve srovnání s BIOSem a v PČZ starých základních desek tyto ovladače chybí. Do EFI bez podpory NVMe SSD lze přidat odpovídající kód, a poté je možné plnohodnotně pracovat s tímto zařízením — můžete nainstalovat operační systém a spustit ho. U starých systémů s takzvaným „legacy BIOS“ asi nebude možné takto OS zavést. Toto se však dá obejít.
Jak na to
Použil jsem openSUSE Leap 15.1. Pro ostatní distribuce Linuxu budou kroky přibližně stejné.
1. Připravíme počítač pro instalaci operačního systému.
Potřebujete PC nebo server se volným slotem PCI-E 4x nebo delším, nezáleží na verzi, postačí i PCI-E 1.0. Samozřejmě platí, že čím novější verze PCI-E, tím vyšší rychlost. A pak, samozřejmě, NVMe SSD s adaptérem M.2 — PCI-E 4x.
Také potřebujete nějaké úložiště s kapacitou 300 MB a více, které je viditelné z BIOSu a ze kterého lze bootovat OS. Může to být HDD připojený přes IDE, SATA, SCSI, SAS. Nebo USB flash disk, nebo paměťová karta. Na disketu — nevejde se. Disk CD-ROM nevyhovuje, potřebuje přepis. DVD-RAM — netuším. Budeme to podmíněně nazývat „legacy BIOS úložištěm“.
2. Načteme Linux pro instalaci (z optického disku nebo bootovatelné flashky nebo jiného média).
3. Při partiionování disku rozdělíme OS mezi existující úložiště:
3.1. Vytvoříme oddíl pro bootloader GRUB na začátku "legacy BIOS disku" o velikosti 8 MB. Upozorňuji, že zde se využívá specifika openSUSE — GRUB na oddílu. Pro openSUSE je ve výchozím nastavení použita souborový systém (FS) BTRFS. Pokud umístíte GRUB na oddíl s FS BTRFS, systém se nenačte. Proto se používá samostatný oddíl. Můžete umístit GRUB i na jiné místo, pokud se načte.
3.2. Po oddílu s GRUB vytvoříme oddíl pro část systémové složky ("root"), konkrétně pro "\/boot\/", o velikosti 300 MB.
3.3. Zbytek — zbytek systémové složky, oddíl pro swap, oddíl uživatele "\/home\/" (pokud se rozhodnete ho vytvořit), lze umístit na NVME SSD.
Po instalaci systém načte GRUB, který načte soubory z \/boot\/, poté se NVME SSD stává dostupným a následně probíhá načítání systému z NVME SSD.
V praxi jsem zaznamenal výrazné zrychlení.
Požadavky na kapacitu "legacy BIOS disku": 8 MB pro oddíl GRUB — to je v nastavení, a někde od 200 MB pro \/boot\/ . 300 MB jsem vzal s rezervou. Při aktualizaci jádra (a při instalaci nových) linux přidává nové soubory do oddílu \/boot\.
Hodnocení rychlosti a ceny
Cena NVME SSD 128 GB — přibližně od 2000 Kč.
Cena adaptéru M.2 — PCI-E 4x — přibližně od 500 Kč.
Také jsou v prodeji adaptéry M.2 — PCI-E 16x pro čtyři NVME SSD, cena někde od 3000 Kč — pokud je to potřeba.
Maximální rychlosti:
PCI-E 3.0 4x kolem 3900 MB/s
PCI-E 2.0 4x 2000 MB/s
PCI-E 1.0 4x 1000 MB/s
Disky s PCI-E 3.0 4x prakticky dosahují rychlosti kolem 3500 MB/s.
Lze předpokládat, že dosažitelná rychlost bude následující:
PCI-E 3.0 4x kolem 3500 MB/s
PCI-E 2.0 4x kolem 1800 MB/s
PCI-E 1.0 4x kolem 900 MB/s
Což je rychlejší než SATA 600 MB/s. Dosažitelná rychlost pro SATA 600 MB/s — kolem 550 MB/s.
Na starých základních deskách může být rychlost SATA integrovaného ovladače nižší než 600 MB/s, a to 300 MB/s nebo 150 MB/s. Zde integrovaný ovladač = SATA ovladač, zabudovaný v jižním můstku čipové sady.
Upozorňuji, že pro NVME SSD bude fungovat NCQ, zatímco u starých integrovaných ovladačů to může být chybějící.
Prováděl jsem výpočty pro PCI-E 4x, nicméně některé disky mají PCI-E sběrnici 2x. To stačí pro PCI-E 3.0, ale pro starší standardy PCI-E — 2.0 a 1.0 — byste takové NVME SSD neměli brát. Také disk s paměťovým čipem jako buffer bude rychlejší než bez něj.
Pro ty, kteří se chtějí zcela vzdát on-board SATA řadiče, doporučuji použít řadič Asmedia ASM 106x (1061 a další), který poskytuje dva porty SATA 600 (interní nebo externí). Funguje velmi dobře (po aktualizaci firmwaru), v režimu AHCI podporuje NCQ. Připojuje se přes sběrnici PCI-E 2.0 1x.
Jeho maximální rychlost:
PCI-E 2.0 1x 500 MB/s
PCI-E 1.0 1x 250 MB/s
Dosažitelná rychlost bude následující:
PCI-E 2.0 1x 460 MB/s
PCI-E 1.0 1x 280 MB/s
To stačí na jeden SATA SSD nebo dva HDD.
Zaznamenané nedostatky
1. Nepřečtou se u NVME SSD, jsou k dispozici pouze obecné údaje o výrobci, sériovém čísle atd. Možná je to způsobeno příliš starou základní deskou (mb). Pro své nelidské pokusy jsem použil nejstarší mb, kterou jsem mohl najít, s čipsetem nForce4.
2. TRIM by měl fungovat, ale je třeba to ověřit.
Závěr
Existují také jiné možnosti: koupit SAS řadič s PCI-E 4x nebo 8x (existují 16x nebo 32x?). Avšak pokud jsou levné, podporují SAS 600, ale SATA 300, a drahé budou dražší a pomalejší než výše navrhovaná metoda.
Pro použití s M$ Windows lze nainstalovat další software — bootloader se vstavenými ovladači pro NVME SSD.
Viz zde:
Navrhuji čtenáři, aby sám posoudil, zda potřebuje takové využití NVME SSD, nebo zda bude lepší zakoupit novou základní desku (+ procesor + paměť) s dostupným M.2 PCI-E slotem a podporou zavádění z NVME SSD v EFI.
Zdroj: habr.com
