
При подходяща настройка можете да стартирате от устройството NVME SSD дори на стари системи. Предполага се, че операционната система (ОС) може да работи с NVME SSD. Обсъждам именно зареждането на ОС, тъй като при налични драйвъри в ОС NVME SSD е видим в ОС след зареждане и може да се използва. Допълнителен софтуер (ПО) за Линукс не е необходим. За ОС от семейството BSD и други Unix, методът вероятно също ще е подходящ.
За стартиране от каквото и да е устройство е необходимо в програмата за първоначално зареждане (ППЗ), в BIOS или EFI (UEFI) да има драйвъри за това устройство. NVME SSD устройствата са сравнително нови в сравнение с BIOS, и в ППЗ на старите дънни платки такива драйвъри не съществуват. В EFI без поддръжка на NVME SSD можете да добавите съответния код, и тогава ще бъде възможно пълноценна работа с това устройство — можете да инсталирате операционна система и да я стартирате. За стари системи с т.н. „legacy BIOS“ обаче, зареждането на ОС вероятно няма да сработи по същия начин. Въпреки това, има възможности за заобикаляне.
Как да направим
Използвах openSUSE Leap 15.1. За други Линукс дистрибуции стъпките ще бъдат подобни.
1. Подготвяме компютъра за инсталиране на операционната система.
Нужен е компютър или сървър с свободен PCI-E 4x или по-дълъг слот, без значение от версията, достатъчна е и PCI-E 1.0. Разбира се, колкото по-нова е версията на PCI-E, толкова по-висока ще е скоростта. А, също така, NVME SSD с адаптер M.2 — PCI-E 4x.
Също така, необходим е някакъв източник с капацитет 300 МБ или повече, който е видим от BIOS и от който може да се зарежда ОС. Това може да бъде HDD с IDE, SATA, SCSI или SAS свързване. Или USB флашка, или карта с памет. На дискета — не става. CD-ROM диска няма да сработи, необходимо е презаписване. DVD-RAM — нямам представа. Условно можем да наречем това „legacy BIOS устройство“.
2. Зареждаме Линукс за инсталация (от оптичен диск или USB флашка и др.).
3. При разпределянето на диска ще организираме ОС по наличните устройства:
3.1. Ще създадем дял за GRUB загрузчика в началото на "legacy BIOS устройството" с размер 8 MB. Ще отбележа, че тук се използва особеност на openSUSE — GRUB на отделен дял. За openSUSE по подразбиране се използва файлова система (ФС) BTRFS. Ако поставите GRUB на дял с ФС BTRFS, системата няма да се зареди. Затова се използва отделен дял. Можете да поставите GRUB на друго място, стига да се зарежда.
3.2. След дяла с GRUB ще създадем дял с част от системната папка ("корена"), а именно с "\/boot\/", с размер 300 MB.
3.3. Останалите ресурси — остатък от системната папка, дял за swap, дял за потребителска папка "\/home\/" (ако решите да създадете такъв) могат да бъдат разположени на NVME SSD.
След инсталацията системата зарежда GRUB, който зарежда файлове от \/boot\/, след което NVME SSD става достъпен, а след това започва зареждането на системата от NVME SSD.
На практика получих значително ускорение.
Изисквания към капацитета на "legacy BIOS устройството": 8 MB за дял GRUB — това е по подразбиране, и около 200 MB за \/boot\/. 300 MB избрах с резерв. При обновяване на ядрото (и при инсталиране на нови) Linux ще допълва дяла \/boot\/ с нови файлове.
Оценка на скоростта и цената
Цената на NVME SSD 128 GB е около 2000 р.
Цената на адаптер M.2 — PCI-E 4x е около 500 р.
Има и на разположение адаптери M.2 — PCI-E 16x за четири NVME SSD устройства, на цена около 3000 р. — ако някому е нужно.
Максимални скорости:
PCI-E 3.0 4x около 3900 MB/s
PCI-E 2.0 4x 2000 MB/s
PCI-E 1.0 4x 1000 MB/s
Устройствата с PCI-E 3.0 4x на практика достигат скорост около 3500 MB/s.
Може да се предположи, че достижимата скорост ще бъде следната:
PCI-E 3.0 4x около 3500 MB/s
PCI-E 2.0 4x около 1800 MB/s
PCI-E 1.0 4x около 900 MB/s
Което е по-бързо от SATA 600 MB/s. Достижимата скорост за SATA 600 MB/s е около 550 MB/s.
При това на стари дънни платки скоростта на вградените SATA контролери може да не е 600 MB/s, а 300 MB/s или 150 MB/s. Тук вграден контролер = SATA контролер, вграден в южния мост на чипсета.
Ще отбележа, че за NVME SSD ще работи NCQ, а при старите вградени контролери това може и да не е налично.
Правих изчисления за PCI-E 4x, но някои устройства имат шина PCI-E 2x. Това е достатъчно за PCI-E 3.0, но за по-старите стандарти PCI-E — 2.0 и 1.0 — такива NVME SSD е по-добре да не се вземат. Също така, устройство с буфер под формата на чип памет ще бъде по-бързо, отколкото без такъв.
За желаещите напълно да се откажат от вграден контролер SATA, препоръчвам да използвате контролер Asmedia ASM 106x (1061 и др.), който предлага два SATA 600 порта (вътрешни или външни). Работи много добре (след актуализация на фърмуера), в режим AHCI поддържа NCQ. Свързва се по шина PCI-E 2.0 1x.
Неговата максимална скорост:
PCI-E 2.0 1x 500 MB/s
PCI-E 1.0 1x 250 MB/s
Постоянната скорост ще бъде такава:
PCI-E 2.0 1x 460 MB/s
PCI-E 1.0 1x 280 MB/s
Това е достатъчно за един SATA SSD или два HDD.
Забелязани недостатъци
1. Не се четат с NVME SSD, налични са само общи данни за производителя, серийния номер и т.н. Вероятно заради твърде старата дънна платка (дп). За моите жестоки експерименти използвах най-старата дп, която можах да намеря, с чипсет nForce4.
2. TRIM трябва да работи, но това трябва да се провери.
Заключение
Има и други възможности: да купите SAS контролер с PCI-E 4x или 8x (има ли 16x или 32x?). Обаче, ако са евтини, поддържат SAS 600, но SATA 300, а скъпите ще са по-скъпи и по-бавни от предложеното по-горе решение.
За използване с M$ Windows можете да инсталирате допълнителен софтуер — зареждащ програма с вградени драйвери за NVME SSD.
Вижте тук:
Предлагам на читателя сам да оцени, нужно ли му такова приложение на NVME SSD, или по-добре е да купи нова дънна платка (+ процесор + памет) с наличен M.2 PCI-E интерфейс и поддръжка за зареждане от NVME SSD в EFI.
Източник: habr.com
