Puncte:1

Cum se creează LVM RAID 1 cu 4 discuri de 2 dimensiuni diferite?

drapel it

Am un sistem cu

2 x 1TB (SSD-uri NVMe)
2 x 2TB (SSD-uri SATA)

discuri și aș dori să creez un sistem RAID 1 folosind toate discurile disponibile (deci am un sistem RAID1 de 3TB la sfârșit). Din păcate, majoritatea exemplelor despre cum să configurați acest lucru sunt pentru doar două discuri.

Care este abordarea recomandată aici?

  • Creați RAID1 pentru fiecare dimensiune de disc, adică oglindiți discurile de același tip și apoi creați un volum logic mare pe deasupra?
  • Sau există o altă abordare, mai inteligentă?

Dacă cineva are o rețetă pas cu pas (sau un link bun către una), asta ar fi foarte apreciat.

De asemenea, am nevoie de un sistem separat sau o partiție de boot?

Mulțumesc.

Puncte:2
drapel np

Acest lucru depinde în mare măsură de ceea ce vizați, deoarece vitezele și latența SSD NVMe vs SATA au o diferență uriașă.

Personal, aș fi creat două seturi diferite de grupuri de volum LVM (VG). Unul pentru NVMe și altul pentru SSD și atribuirea manuală a acestora pentru alte sarcini. i.e. NVMe pentru sarcini grele de IO, cum ar fi DB-uri și SSD pentru stocare mai generală. Desigur, le puteți combina într-un singur VG, dar în acest fel practic „încetiniți” NVMe la viteza SATA. Ei bine... nu chiar, dar aproape.

În ceea ce privește pornirea - dacă aveți un sistem în modul EFI și un bootloader modern (adică GRUB2), veți avea nevoie de o partiție separată de dimensiuni mici (256-512Mb ar fi bine) pentru fișierul EFI de tip FAT32. Dar cel puțin sistemul EFI poate porni direct de pe NVMe și GRUB2 poate porni direct de pe Linux RAID + LVM.

  1. Creați prima partiție (adică cu fdisk) pe ambele unități NVMe de aproximativ 256-512 Mb. Setați-i tipul la EFI boot.
  2. Creați a doua partiție pentru spațiul rămas pentru o alocare de 100%. Setați tipul la Linux RAID.
  3. Formatați fiecare dintre prima partiție EFI în FAT32 (de ex. mkfs.vfat -F32 /dev/nvme0n1p1).
  4. Puteți urma același lucru pentru unitățile SSD dacă doriți să le faceți bootabile în cazul în care ambele NVMe eșuează sau doar o singură partiție Linux RAID pentru date.
  5. Creați o primă matrice RAID pentru NVMe: mdadm --create /dev/md1 -l 1 -n 2 -b intern /dev/nvme0n1p2 /dev/nvme1n1p2.
  6. Creați o a doua matrice RAID pentru membrii SSD: mdadm --create /dev/md2 -l 1 -n 2 /dev/sda2 /dev/sdb2 (dacă ați creat partiții EFI acolo sau doar sda1/sdb1 dacă nu).
  7. Creați PV-uri LVM din matrice nou create: pvcreate /dev/md1 && pvcreate /dev/md2.
  8. Creați VG și LV-uri deasupra PV. Dacă tot doriți să le combinați, creați 2 PV-uri și ulterior le adăugați pe ambele la același VG.
  9. Asigurați-vă că montați partiții EFI și instalați un bootloader adecvat pe fiecare dintre unități. Cam așa pentru prima unitate NVMe: mount /dev/nvme0n1p1 /boot/efi && grub-install /dev/nvme0n1.

Rețineți că nu puteți avea o matrice RAID pentru partițiile EFI. Ei bine... nu chiar, există câteva trucuri, dar nu cred că merită pentru că nu există nimic de stocare irecuperabil pe acelea. Este doar binarul mic, astfel încât „bios”-ul EFI să vă poată porni bootloader-ul. Chiar și în cazul în care eșuează, puteți încă porni sistemul cu un fel de imagine live (cum ar fi SuperGRUBdisk) și îl puteți reinstala cu grub-install din nou.

drapel it
Vă mulțumesc pentru răspunsul cuprinzător. Vă recomandăm să utilizați `mdadm` pentru RAID-uri. Este cumva mai bine decât folosirea LVM pentru RAID? Adică, există un motiv pentru această alegere?
drapel np
LVM sunt instrumente de volum logic, nu RAID. În timp ce LVM poate crea oglindă LV, încă nu este considerată o matrice RAID completă. Este mai puțin flexibil și matur decât un `mdadm` în ceea ce privește crearea de tablouri în oglindă.
drapel np
În plus, de la această întrebare https://serverfault.com/questions/741103/lvm-raid-1-ssd-caching?rq=1: „_Sidenote: o căutare rapidă dezvăluie că oglindirea LVM este în general considerată a fi mult mai lentă decât Linux software RAID. Dar cred că puteți recupera o parte din acea performanță pierdută cu unele reglaje._"
Mike Andrews avatar
drapel ng
Acesta este răspunsul corect. Recomand cu căldură opinia lui @NStorm despre nu combinarea SSD-urilor SATA și NVMe în același pool. Este foarte probabil ca dispozitivele dvs. NVMe să aibă lățime de bandă și capacități IOPS care sunt de multe ori mai mari decât sunt capabile SSD-urile dvs. SATA. Dacă faci un singur volum din ele, performanța ta va fi cea a celui mai mic numitor comun. Ar fi asemănător cu a pune SSD-uri și spinner-uri în aceeași piscină.
Nikita Kipriyanov avatar
drapel za
Dimpotrivă, este adesea *de dorit* să le combinați într-o singură piscină.De exemplu, atunci când configurați memoria cache, atât cache-ul, cât și volumele backend trebuie să fie în același VG, evident, unul dintre ele este un fel de SSD rapid, iar celălalt este mai lent. Sau, faceți un pool subțire și doriți să puneți metadate într-un dispozitiv mai rapid, lăsând în același timp datele pe un dispozitiv mai lent. În orice caz, chiar și atunci când PV-urile sunt combinate în VG, puteți avea totuși control deplin asupra plasării efective a LV, așa că, dacă le gestionați cu atenție după aceea, nu veți avea nicio penalizare de performanță, dar veți avea flexibilitate.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.