Usando NVME SSD como unidade do sistema en ordenadores con BIOS e SO Linux máis antigos

Usando NVME SSD como unidade do sistema en ordenadores con BIOS e SO Linux máis antigos

Se está configurado correctamente, pode arrincar desde un SSD NVME mesmo en sistemas máis antigos. Suponse que o sistema operativo (SO) é capaz de funcionar con NVME SSD. Estou considerando iniciar o sistema operativo, porque cos controladores dispoñibles no sistema operativo, o SSD NVME é visible no sistema operativo despois de iniciar e pódese usar. Non é necesario software (software) adicional para Linux. Para OS da familia BSD e outros Unix, o método é moi probable que tamén sexa adecuado.

Para arrincar desde calquera unidade, o cargador de arranque (BOP), BIOS ou EFI (UEFI) debe conter controladores para este dispositivo. As unidades SSD NVME son dispositivos bastante novos en comparación coa BIOS, e non hai tales controladores no firmware das placas base máis antigas. En EFI sen compatibilidade con NVME SSD, pode engadir o código axeitado e, a continuación, faise posible traballar completamente con este dispositivo: pode instalar o sistema operativo e arrincalo. Para sistemas antigos co chamado. É improbable que a "BIOS heredada" arrinque o sistema operativo. Non obstante, isto pódese evitar.

Como facelo

Usei openSUSE Leap 15.1. Para outros Linux, os pasos serán aproximadamente os mesmos.

1. Imos preparar o ordenador para instalar o sistema operativo.
Necesitas un PC ou servidor cunha ranura PCI-E 4x ou máis longa, sen importar a versión, PCI-E 1.0 é suficiente. Por suposto, canto máis nova sexa a versión PCI-E, máis rápida será a velocidade. Ben, en realidade, NVME SSD con adaptador M.2 - PCI-E 4x.
Tamén necesitas algún tipo de unidade cunha capacidade de 300 MB ou máis, que sexa visible desde a BIOS e desde a que poidas cargar o SO. Pode ser un disco duro con conexión IDE, SATA, SCSI. S.A.S. Ou unidade flash USB ou tarxeta de memoria. Non caberá nun disquete. Un CD-ROM non funcionará e terá que ser reescrito. DVD-RAM - nin idea. Condicionalmente chamaremos a esta cousa unha "unidade de BIOS heredada".

2. Cargamos Linux para a instalación (desde un disco óptico ou unha unidade flash de arranque, etc.).

3. Ao particionar un disco, distribúa o SO entre as unidades dispoñibles:
3.1. Imos crear unha partición para o cargador de arranque GRUB ao comezo da "BIOS da unidade herdada" cun tamaño de 8 MB. Observo que aquí se usa a función openSUSE - GRUB nunha partición separada. Para openSUSE, o sistema de ficheiros predeterminado (FS) é BTRFS. Se colocas GRUB nunha partición cun sistema de ficheiros BTRFS, o sistema non arrancará. Polo tanto, úsase unha sección separada. Podes colocar GRUB noutro lugar, sempre que arranque.
3.2. Despois da partición con GRUB, crearemos unha partición con parte do cartafol do sistema ("root"), é dicir, con "/boot/", de 300 MB de tamaño.
3.3. O resto da bondade: o resto do cartafol do sistema, a partición de intercambio, a partición de usuario "/home/" (se decides crear unha) pódense colocar no SSD NVME.

Despois da instalación, o sistema carga GRUB, que carga ficheiros desde /boot/, despois de que o NVME SSD está dispoñible e, a continuación, o sistema arranca desde o NVME SSD.
Na práctica, conseguín unha aceleración significativa.

Requisitos de capacidade para unha "BIOS de unidade heredada": 8 MB para unha partición GRUB é o predeterminado e 200 MB para /boot/. 300 MB tomei cunha marxe. Ao actualizar o núcleo (e ao instalar outros novos), Linux repoñerá a partición /boot/ con novos ficheiros.

Estimación de velocidade e custo

O custo de NVME SSD 128 GB - duns 2000 rublos.
O custo dun adaptador M.2 - PCI-E 4x - duns 500 rublos.
Tamén están á venda adaptadores M.2 a PCI-E 16x para catro unidades SSD NVME, cun prezo de 3000 r. - se alguén o precisa.

Velocidades límite:
PCI-E 3.0 4x uns 3900 MB/s
PCI-E 2.0 4x 2000 MB/s
PCI-E 1.0 4x 1000 MB/s
As unidades con PCI-E 3.0 4x alcanzan na práctica velocidades duns 3500 MB/s.
Pódese supoñer que a velocidade alcanzable será a seguinte:
PCI-E 3.0 4x uns 3500 MB/s
PCI-E 2.0 4x uns 1800 MB/s
PCI-E 1.0 4x uns 900 MB/s

Que é máis rápido que SATA 600 MB/s. A velocidade alcanzable para SATA 600 MB/s é duns 550 MB/s.
Ao mesmo tempo, nas placas base máis antigas, a velocidade SATA do controlador integrado pode non ser de 600 MB / s, senón de 300 MB / s ou 150 MB / s. Aquí controlador integrado = controlador SATA integrado na ponte sur do chipset.

Observo que NCQ funcionará para SSD NVME, mentres que os controladores integrados máis antigos poden non ter isto.

Fixen os cálculos para PCI-E 4x, non obstante, algunhas unidades teñen un bus PCI-E 2x. Isto é suficiente para PCI-E 3.0, pero para estándares PCI-E máis antigos - 2.0 e 1.0 - é mellor non levar estes SSD NVME. Ademais, unha unidade cun búfer en forma de chip de memoria será máis rápida que sen ela.

Para aqueles que queiran abandonar completamente o controlador SATA integrado, recoméndolle que use o controlador Asmedia ASM 106x (1061, etc.), que proporciona dous portos SATA 600 (internos ou externos). Funciona bastante ben (despois dunha actualización de firmware), en modo AHCI admite NCQ. Conectado mediante bus PCI-E 2.0 1x.

A súa velocidade máxima:
PCI-E 2.0 1x 500 MB/s
PCI-E 1.0 1x 250 MB/s
A velocidade alcanzable será:
PCI-E 2.0 1x 460 MB/s
PCI-E 1.0 1x 280 MB/s

Isto é suficiente para un SSD SATA ou dous discos duros.

Deficiencias detectadas

1. Non ler Parámetros SMART con NVME SSD, só hai información xeral sobre o fabricante, o número de serie, etc. Quizais debido a unha placa base demasiado antiga (mp). Para os meus experimentos inhumanos, usei o mp máis antigo que puiden atopar, cun chipset nForce4.

2. TRIM debería funcionar, pero hai que verificalo.

Conclusión

Hai outras opcións: mercar un controlador SAS cunha ranura PCI-E 4x ou 8x (hai 16x ou 32x?). Non obstante, se son baratos, admiten SAS 600, pero SATA 300, e os caros serán máis caros e máis lentos que o método proposto anteriormente.

Para usar con M $ Windows, pode instalar software adicional: un cargador de arranque con controladores integrados para NVME SSD.

Vexa aquí:
www.win-raid.com/t871f50-Guide-How-to-get-full-NVMe-support-for-all-Systems-with-an-AMI-UEFI-BIOS.html
www.win-raid.com/t3286f50-Guide-NVMe-boot-for-systems-with-legacy-BIOS-and-older-UEFI-DUET-REFIND.html
forum.overclockers.ua/viewtopic.php?t=185732
pcportal.org/forum/51-9843-1
mrlithium.blogspot.com/2015/12/how-to-boot-nvme-ssd-from-legacy-bios.html

Invito ao lector a que avalúe por si mesmo se necesita unha aplicación deste tipo de NVME SSD, ou sería mellor mercar unha nova placa base (+ procesador + memoria) cun conector M.2 PCI-E existente e soporte para o arranque desde NVME SSD en EFI.

Fonte: www.habr.com

Engadir un comentario