Cred că, de obicei, separarea lucrurilor în sisteme de fișiere diferite nu ajută/îmbunătățește securitatea. Dacă cineva intră în sistem în timp ce acesta rulează, oricum totul este montat și nu există nicio diferență logică de a avea totul într-un singur sistem de fișiere. Ce motive au fost date în materialul pe care l-ați studiat?
Acestea fiind spuse, asta poate sa ajută la performanță (sisteme de fișiere diferite sau hardware diferit sub aceste puncte de montare) și scurtează cât durează o recuperare în caz de dezastru (de ex.dacă doar SSD-ul care ținea /var a ieșit în fum, trebuie doar să restabiliți acel backup și restul rămâne în funcțiune).
Întrebați despre dimensiunile recomandate ale partițiilor:
- Pentru
/
esti bun cu 15-20 GB. Nu am avut niciodată nevoie de mai mult pentru un server (care rulează un server web + server de e-mail).
schimb
De obicei, pun propriul volum / partiție care are aceeași dimensiune ca RAM - pur și simplu pentru ca suspendarea pe disc să poată funcționa. Oamenii obișnuiau să recomande dimensiunea de 2xRAM, dar cu dimensiunile RAM din zilele noastre, când te confrunți cu o situație în care ai nevoie de o cantitate serioasă de schimb, oricum ai probleme. Veți observa acest lucru de la o încetinire masivă și apoi ar trebui să creșteți rapid RAM disponibilă.
/boot
are nevoie doar de 500 MB, ceea ce îi oferă spațiu pentru 8+ versiuni kernel+initrd. Asigurați-vă că alergați autoeliminare apt
frecvent, pentru a-l păstra tăiat după upgrade-urile kernelului.
- aș păstra
/usr
și /opta
ca directoare pe /
, pur și simplu nu văd un beneficiu în a le muta în propriile sisteme de fișiere.
- După cum este descris în acest ghid de întărire, având un volum separat pentru
/tmp
are sens, deoarece vă permite să restrângeți acel director care poate fi scris în întreaga lume - atât în ceea ce privește spațiul pe care îl poate folosi din spațiul total disponibil, cât și ce se poate face cu fișierele care sunt stocate acolo. Ghidul recomandă utilizarea opțiunilor nodev, nosuid și noexec atunci când montați sistemul de fișiere. Ghidul oferă doar comenzile de montare pentru „utilizare o singură dată”. Traducerea într-o linie în /etc/fstab ar însemna că plasați nodev,nosuid,noexec
în a 4-a coloană (opțiuni) a liniei în care montați volumul /tmp dedicat /tmp
.
- Asta ne lasă cu
/Acasă
și /var
- acestea sunt de obicei lucrurile „importante”. Pe serverele mele /Acasă
este aproape goală, dar /var
deține public_html, jurnalele, bazele de date etc. Așa că păstrez /Acasă
ca un director pe /
, dar /var
cu siguranță primește propriul volum și se face backup cel mai frecvent. Dă-i tot spațiul rămas după ce s-a făcut cele de mai sus.
Apoi ai întrebat cum să faci tranziția:
- În sistemul de rulare, unde totul este pornit
/
, atașați noul disc (fișier VDI, ...), pregătiți-l cu pvcreate, lvcreate și apoi sistemele de fișiere la alegere (mkfs.ext4 de exemplu).
- Apoi faceți puncte de montare temporare sub /mnt, de ex. /mnt/newroot, /mnt/newvar, ... și montați sistemele de fișiere acolo.
- Apoi folosiți
rsync -xaP <sursă>/ <destinație>/
pentru fiecare dintre sistemele dvs. de fișiere. Opțiunea „-x” va împiedica rsync să traverseze granițele sistemului de fișiere, adică dacă faceți rsync -xaP / /mnt/newroot/
nu va copia, de asemenea, /var, /home sau chiar toate noile sisteme de fișiere montate sub /mnt. „-a” se va asigura că permisiunile etc. vor fi preluate fără modificare, iar „-P” arată progresul. Pentru detalii, vă rugăm să consultați om rsync
.
După ce ați terminat, editați /mnt/newroot/etc/fstab
și asigurați-vă că enumerați toate sistemele de fișiere în punctele de montare adecvate. Dacă ați ajuns atât de departe, acest lucru nu ar trebui să fie prea greu (deoarece ați ales toate numele /dev/mapper/..., sistemele de fișiere etc.).
De asemenea, va trebui să utilizați grub-install și poate update-grub pentru a face noul disc să poată fi pornit, dar acolo nu sunt atât de sigur de procedura exactă. Cu VM-urile îl puteți încerca cu ușurință și, dacă nu pornește, atașați din nou vechiul disc și remediați-l.
Pentru referință, iată o sesiune shell care vă oferă câteva comenzi specifice despre partiționare + LVM + formatare + referire în subiectele fstab. Vă rugăm să rețineți că cel mai probabil va trebui să le modificați, de exemplu dacă dispozitivul dvs. nu este /dev/sda, dacă doriți sisteme de fișiere diferite etc. - este doar un exemplu.
# După ce ați folosit fdisk pentru a crea o partiție care acoperă întregul dispozitiv,
# arată așa:
root@ubuntu:~# fdisk -l /dev/sda
Disc /dev/sda: 100 GiB, 107374182400 octeți, 209715200 sectoare
Model de disc: VBOX HARDDISK
Unități: sectoare de 1 * 512 = 512 octeți
Dimensiunea sectorului (logic/fizic): 512 octeți / 512 octeți
Dimensiunea I/O (minimă/optimă): 512 octeți / 512 octeți
Tip etichetă de disc: gpt
Identificator disc: 18ACB4C9-3F33-7041-8BEB-D819F138A809
Dispozitiv Start End Sectors Size Type
/dev/sda1 2048 209715166 209713119 100G Linux LVM
# Creați un volum fizic pentru LVM
root@ubuntu:~# pvcreate /dev/sda1
Volumul fizic „/dev/sda1” a fost creat cu succes.
# Creați un grup de volume cu numele „vg1” pentru LVM care va
# păstrați toate volumele noastre logice
root@ubuntu:~# vgcreate vg1 /dev/sda1
Grupul de volume „vg1” a fost creat cu succes
# Creați volumele logice așa cum este descris mai sus
root@ubuntu:~# lvcreate --name root --size 20G vg1
Volumul logic „rădăcină” creat.
root@ubuntu:~# lvcreate --name swap --size 8G vg1
Volum logic „swap” creat.
root@ubuntu:~# lvcreate --name boot --size 500M vg1
Volum logic „boot” creat.
root@ubuntu:~# lvcreate --name tmp --size 5G vg1
Volumul logic „tmp” creat.
# Aruncă o privire la volumele logice
root@ubuntu:~# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
boot vg1 -wi-a----- 500.00m
root vg1 -wi-a----- 20,00g
swap vg1 -wi-a----- 8.00g
tmp vg1 -wi-a----- 5.00g
# Aruncă o privire la grupul de volum și vezi cât spațiu a mai rămas
root@ubuntu:~# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 1 4 0 wz--n- <100,00g <66,51g
# Utilizați spațiul rămas pentru ultimul volum logic, var
root@ubuntu:~# lvcreate --name var --size 66.5G vg1
Volumul logic „var” creat.
# Mai aruncați o privire asupra volumelor
root@ubuntu:~# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
boot vg1 -wi-a----- 500.00m
root vg1 -wi-a----- 20,00g
swap vg1 -wi-a----- 8.00g
tmp vg1 -wi-a----- 5.00g
var vg1 -wi-a----- 66,50g
# Formatați toate volumele cu sistemul de fișiere ext4
pentru i în /dev/mapper/vg1-*; do mkfs.ext4 $i; Terminat
# Transformați vg1-swap în spațiu de swap
mkswap /dev/mapper/vg1-swap
# Creați intrări fstab care arată astfel
/dev/mapper/vg1-root / ext4 valorile implicite 0 1
/dev/mapper/vg1-boot /boot ext4 valorile implicite 0 2
/dev/mapper/vg1-var /var ext4 implicite 0 2
/dev/mapper/vg1-tmp /tmp ext4 nosuid,nodev,noexec 0 0
/dev/mapper/vg1-swap niciunul swap sw 0 0