Particions i discos a Linux
Introducció
A l’hora de treballar amb sistemes, és important conèixer la relació entre discos, particions, sistemes d’arxius (filesystems) i volums. En aquest post és del que parlarem, explicant què és cada cosa i com dissenyar un esquema de partició de disc en un sistema Linux.
Discs, particions, filesystems i volums
Un disc és el contenidor físic de les dades. Aquest disc ha de ser particionat abans d’utilitzar-se, que és una manera de dividir el disc de manera lògica per separar la informació com les dades del sistema i les d’usuari (per exemple separar la partició /home a Linux).
Cada disc necessita almenys una partició, i la informació de cada partició s’emmagatzema en una taula de particions. En aquesta taula hi ha, entre altres, informació sobre el primer i últim sector de la partició.
Cada partició alhora conté un sistema d’arxius que li diu com s’emmagatzema la informació al disc (com estan organitzats els directoris, relació entre ells, on són les dades de cada arxiu,…).
Una partició no pot ocupar més d’un disc, però al utilitzar LVM es poden combinar particions i discos per formar un volum lògic. Treballar amb volums lògics dona molta flexibilitat a l’hora d’agregar espai sense haver de migrar les dades.
Punts de muntatge
Per accedir a un sistema d’arxius, aquest ha d’estar muntat. Això vol dir adjuntar el sistema d’arxius a l’arbre de directoris en un punt de muntatge. Per exemple, si tenim una partició amb un directori bit4cora i la muntem a /mnt, tindrem el contingut a /mnt/bit4cora.
Aquest punt de muntatge ha d’existir abans de muntar el sistema d’arxius. Si el punt de muntatge té arxius, no estaran disponibles fins que es desmonti el sistema d’arxius (si /mnt té el directori /mnt/arxius però li muntem /mnt/bit4cora, només tindrem /mnt/bit4cora i no /mnt/bit4cora i /mnt/arxius fins que es demunti bit4cora).
Quan es munta un dispositiu extern, el seu punt de muntatge és /media/USER/LABEL, on USER és l’usuari i LABEL la etiqueta del dispositiu.
Hi ha directoris que pot ser convenient tenir separats en altres particions. Alguns d’aquests són:
-
Partició d’arrencada (/boot)
Conté arxius per carregar el sistema. Els arxius del gestor d’arrencada s’emmagatzemen a /boot/grub. Pot ser convenient tenir aquest directori separat en una partició per seguretat o per si es vol utilitzar un sistema d’arxius que el gestor d’arrencada no enten en la partició arrel.
-
Partició del sistema EFI (ESP)
La partició ESP (Efi System Partition) s’utilitza en equips UEFI per emmagatzemar el carergador d’arrencada i imatges del nucli del SO instal·lat. Aquesta partició es troba formatada en FAT.
-
Partició /home
Cada usuari té un directori personal dins /home (tret de root que es troba a /root), i tenir-lo separat de la partició del sistema pot ser útil per poder reinstal·lar el sistema sense perdre dades.
-
Informació variable (/var)
Conté arxius i directoris on el sistema ha de poder escriure, com registres del sistema (/var/log), arxius temporals (/var/tmp) o dades d’aplicacions en caché (/var/cache).
En aquest directori /var també hi podem tenir més coses, com arxius del servidor web Apache, arxius MySql, arxius de libvirt,…
Degut a que molts processos escriuen a /var, si un té un comportament anormal pot escriure-hi dades fins a omplir el sistema, i si això passa estant a la mateixa parició del sistema (és a dir, muntat per defecte dins /), pot desencadenar un estat d’emergència del kernel (Kernel Panic) i corrompre el sistema d’arxiu.
-
Partició d’intercanvi (swap)
Intercanvia pàgines de memòria RAM a disc. Aquesta partició ha de ser d’un tipus específic i s’ha de configurar amb mkswap. Tot i que no és usual, Linux també admet l’ús d’arxius d’intercanvi.
LVM (Logical Volume Manager)
Un desavantatge de particionar els discos és que l’espai disponible s’ha de distribuit des del principi. Això pot no ser ideal si algun dia es vol ampliar l’espai.
Per solucionar això, existeix LVM, que és una manera de virtualitzar l’emmagatzematge. Està basat en PV (Physical Volumes), que és un dispositiu de bloc com una partició o un RAID. Aquestes PV s’agrupen en VG (Volume Group), que en realitzen una abstracció i només deixen veure un sol dispositiu lògic, que té com a capacitat d’emmagatzematge la suma dels components del PV.
Cada VG es divideix en parts de tamany fixe, extents. Cada extensió lògica s’assigna a una física, però pot canviar.
Els grups de volums es poden dividir en LV (Logical Volumes), que serien semblants a les particions.
El tamany d’un LV és el producte del tamany de les extensions físiques (4MB per defecte) pel número d’extensions al volum. Per ampliar un volum lògic, agregarem extensions del grup disponible al VG.
Al crear un LV, el sistema el veu com un dispositiu de bloc normal a /dev/VGNAME/LVNAME.
Es poden formatar i muntar com si fos un disc físic qualsevol.
Fins aquí el post sobre particions i discos a Linux. Si t’ha estat útil pots compartir-lo i deixar un comentari. Ens veiem al següent!