IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Linux Professional Institute Certificate. LPIC-1

Lpic1 large.gif
Certificat LPIC-1
Examen: 101 (torneu a la resta de temes)
Fitxers: LPI102.1_DissenyarDistribucioDiscDur.pdf (LPI102.1_DissenyarDistribucioDiscDur.odp)
Objectius: http://www.lpi.org/eng/certification/the_lpic_program/lpic_1/exam_101_detailed_objectives
Dipòsit SVN: https://svn.projectes.lafarga.cat/svn/lpi/Materials/Examen_101/102.1
Usuari: anonymous
Paraula de pas: qualsevol paraula de pas

Objectius del tema

102.1. Dissenyar la distribució del disc dur
Objective.jpg
  • Objectiu: Els candidats han de ser capaços de dissenyar un esquema de particions per a sistemes Linux.
  • Pes: 2
060317 Icon - Theory of Knowledge v01 pdc.jpg

Àrees Clau de Coneixement:

Icon list.jpg

La següent és una llista parcial de fitxers, termes i utilitats utilitzades: La següent és una llista parcial de fitxers, termes i utilitats utilitzades:

Text-editor.svg

Apunts: LPI 102.1. Dissenyar la distribució del disc dur

Plantilla

LPI102.1PlantillaApunts

Dissenyar l'esquema del disc dur

Amb independència del tipus de disc dur (PATA, SATA, SCSI...) per tal de disposar d'un sistema operatiu Linux instal·lat en el mateix, s'haurà de dissenyar un esquema per al disc dur. En ordinadors amb el sistema operatiu ja instal·lat no cal preocupar-se per aquest tema, però més tard o més d'hora, en algun moment, durant la instal·lació d'un sistema operatiu Linux es trobarem amb la necessitat de dissenyar com volem distribuir el sistema operatiu dins del disc

En les següents apartats veurem com:

  • Dividir el disc en part anomenades particions
  • Definir els punts de muntatge
  • Conèixer les característiques pròpies del procés de particionar amb Linux

NOTA: L'esquema del disc dur també és conegut pel terme anglès layout

Discs durs

Consulteu l'article discs durs.

Particions

En informàtica, una partició de disc és el nom genèric que rep cada divisió (o part) existent en un dispositiu d'emmagatzemament de dades. Normalment e concepte s'aplica a dispositius de memòria secundària com discs durs, llapis USB, etc.

Cada partició té el seu propi sistema de fitxers independent, de forma que un sol dispositiu físic, pot esdevenir múltiples dispositius independents a nivell lògic.

Alguns dels avantatges de les particions són:

  • Suport de múltiples sistemes operatius: normalment, cada sistema operatiu ocupa una partició. Per tant, particionar un disc és imprescindible quan volem tenir més d'un sistema operatiu instal·lat al nostre sistema. Nota: En l'actualitat gràcies a eines com les màquines virtuals o ordres com dd podem tenir però múltiples sistemes operatius en una mateixa partició.
  • Poder utilitzar múltiples sistemes de fitxers': Cada sistema de fitxers té el seus pros i contres. Amb un sistema amb múltiples particions podem explotar els avantatges de cada sistema. Per exemple alguns sistemes de fitxers són més ràpids i en canvi altres ofereixen característiques de còpia de seguretat interessants.
  • Gestió de l'espai de disc: Permet organitzar com es guarden les dades de disc. Per exemple, una de les tècniques més utilitzades és disposar d'una partició de disc de dades independent de la instal·lació del sistema operatiu. D'aquesta manera es pot modificar el sistema operatiu sense afectar a les dades dels usuaris.
  • Protecció enfront errors de disc: de tant en tant els discs fallen. Si apareixen errors a una partició de disc no afecten a la resta de particions.
  • Seguretat: Cada partició pot tenir definides polítiques de seguretat diferents. Per exemple una partició de sistema pot estar "congelada" (no pot ser modificada per usuaris normals) i altres poden no.
  • Còpia de seguretat: algunes particions es poden utilitzar per dur a terme còpies de seguretat.

Recursos:

Tipus de particions

No és el mateix crear particions que formatar-les amb un sistema de fitxers concret.

Tan Unix com Linux utilitzant el mateix sistema per particionar un disc (particions x86). La única diferencia és el sistema de fitxers i la marca de la partició:

  • Windows: marca las particions com FAT,FAT32 o NTFS
  • Linux marca com Linux

No té perquè coincidir la marca amb el format en que s'ha formatat finalment.

Hi han dos tipus de particions:

  • Primàries: Es poden tenir un màxim de 4 particions primàries.
  • Ampliades ( de l'anglès extended): No és possible tenir més d'una partició estesa. De fet si hi ha una partició estesa com a màxim podem tindre tres particions primàries (la estesa utilitza una partició primària o 3+1 particions primàries). Les particions ampliades, a diferència de les primàries, es pot dividir en particions lògiques. En teoria no hi ha límit en el nombre de particions lògiques però en realitat el tipus de disc dur (IDE,SATA,SCSI) i el sistema operatiu poden aplicar restriccions sobre el nombre màxim de particions ampliades.

La següent imatge ens mostra com podem crear més de 4 particions utilitzant particions ampliades:

GpartedImages.jpg

Sistema de particions x86

L'arquitectura x86 data de principis dels 80 quan un disc dur gran tenia aproximadament uns 10MB. En aquest tipus d'entorns amb tant poc d'espai no tenia gaire sentit tenir massa particions i és per aquesta raó que els sistema de particions original només suportava 4 particions.

Aquestes particions són les que actualment coneixem com a particions primàries. Alguns sistemes operatius com DOS o Windows necessiten carregar el sistema des de una partició primària. A Linux aquesta restricció no existeix.

Quan els discs durs van créixer de mida, el sistema de 4 particions va quedar obsolet. Per solucionar aquest problema i mantenir una compatibilitat cap endarrere, es va estendre amb el concepte de particions ampliades. Cada sistema pot tenir com a màxim una partició ampliada (que és resta de les primàries, és a dir, màxim 1 ampliada i 3 primàries). Les particions ampliades poden contenir un nombre arbitrari de particions addicionals de disc. Les particions que es troben dins d'una partició ampliada s'anomenen particions lògiques.


Particions primàries

  • Es poden formatar lògicament (formatar el sistema de fitxers)
  • Es poden marcar com actives
  • Entre les primàries i las ampliades es poden crear un màxim de 4
  • Numerades del 1 al 4

Particions ampliades

  • No es poden formatar
  • No es poden marcar com actives
  • Són contenidors d'altres particions, però en si mateixes no poden contenir informació.
  • Màxim 1 partició
  • Numerades del 1 al 4
  • Entre les primàries i les ampliades es poden crear un màxim de 4

Particions Lògiques

  • Es poden formatar
  • No es poden marcar com actives (o d'arrancada - boot-)
  • Comencen sempre a partir de 5
  • Màxim 12 particions
  • Màxim de 15 particions per disk

Particions a Linux

Linux assigna els números de 1 a 4 a les particions primàries i/o extenses.

Les particions lògiques agafen números de 5 cap amunt.

El nombre màxim de particions és (imposició del nucli del sistema):

  • 15 màxim en total en un disc SCSI
  • 63 en un disc IDE.
  • SATA ? (TODO)

El sistema operatiu, tracta de la mateixa forma tant les particions primàries com les lògiques. Per exemple tots dos tipus poden ser utilitzats com a sistemes d'arrancada (a diferència de Windows que només permet marcar com arrancada particions primàries). L'única possible limitació són els fitxers de boot en sistemes antics.

El noms dels dispositius Linux assignats a les particions depèn del nom tipus de disc dur i del sistema Linux utilitzat.

Hi ha dos opcions a l'hora d'anomenar els dispositius de disc Linux:

  • Sistemes amb la llibreria libata: Tots els dispositius segueixen la forma /dev/sd*. Tots les distribucions modernes (--acacha 20:09, 8 nov 2009 (UTC)) treballen am aquesta llibreria
  • Sistemes sense la llibreria libata: es diferencia entre dispositius SCSI (/dev/sd*) i dispositius IDE/PATA (/dev/hd*). Els dispositius SATA es tracten com a dispositius SCSI en aquest tipus de sistemes. Utilitzat en sistemes antics.

Dispositius IDE en sistemes antics sense la llibreria libata:

Màxim de 4 discs durs:

  • hda: dispositiu master del primer bus IDE
  • hdb: dispositiu esclau del primer bus IDE
  • hdc: dispositiu master del primer bus IDE
  • hdd: dispositiu esclau del primer bus IDE

Amb dispositius IDE, les particions venen indicades pel següents fitxers de dispositiu (suposem que estem utilitzant el disc master del canal IDE 1):

  • /dev/hda1: 1era partició primària/estesa.
  • /dev/hda2: 2ona partició primària/estesa.
  • /dev/hda3: 3era partició primària/estesa.
  • /dev/hda4: 4rta partició primària/estesa.
  • /dev/hda5: 1era partició lògica.
  • /dev/hda6: 2ona partició lògica.
  • /dev/hda7: 3era partició lògica.
  • .........

NOTA: de les primeres 4 particions només una pot ser extensa

Nomes una de les primàries pot ser estesa (qualsevol d'elles). No és obligatori tenir una partició primària (tot i que alguns sistemes operatius nomes es poden instal·lar en particions primàries). cal fer notar que independentment de si tenim una, dos o tres particions primàries, les particions lògiques sempre comencen a partir del 5 (/dev/hda5). Les següents imatges ens mostren possibles combinacions en un disc de 20G:

GpartedImages1.jpg

GpartedImages2.jpg

GpartedImages3.jpg

Recursos:

Codis de tipus de particions x86

A més de la distinció entre particions primàries, lògiques i extenses també existeix el codi de tipus de partició x86 que consisteix en 2 dígits hexadecimals que s'assignen a tipus o funcions específiques de particions.

  • 0x06: partició FAT File Allocation Table (FAT)
  • 0x82: partició swap (intercanvi) de Linux
  • 0x83: Indica una partició Linux

Alguns sistemes operatius com DOS i Windows, necessiten aquest tipus de codis per tal de determinar quin tipus de partició hi ha al disc i a quines intentaran o no accedir. DOS i Windows ignoren les particions Linux pel codi de partició.

Linux, en general, no es basa en el codis de partició i podem accedir (muntar) a qualsevol tipus de partició. Cal tenir en compte però 2 excepcions:

  • Durant la instal·lació: la majoria de distribucions es basen en els codis de partició per ajudar-se a identificar els sistemes que hi ha al disc. Els instal·ladors i les eines de particionat de Linux normalment posen els codis de partició x86 apropiats per a cada partició.
  • Particions extenses: Linux es basa en els codis de partició extensa ((0x05 i 0x0f) per tal d'identificar aquest tipus de particions.

La taula de particions x86 suporta tant els sistemes d'adreçament CHS com LBA.

Taula de particions

Consulteu Taula de particions a l'article discs durs.

Sistemes de particions no x86

La majoria de de plataformes diferents a la x86 tenen el seu propi sistema de particionament. La majoria d'aquest sistemes són més simples que x86 ja que no fan distincions entre particions primàries, ampliades i lògiques.

Es pot accedir a aquest tipus de particions des de Linux de forma similar a com ho fem amb particions x86 però per a gestionar aquest tipus de particions calen eines especifiques. Alguns cops aquestes eines tenen noms similars a les dels sistemes x86 però són operacionalment diferents.

Una eina que és comuna a totes les plataformes és [gparted|GNU Parted]], que suporta x86, Macintosh, i a múltiples de tipus extres de taules de particions.

Linux pot suportar dozenes de sistemes de particionament, tot i que aquest suport sovint no ve instal·lat per defecte en la majoria de distribucions Linux.

La majoria de sistemes de 64 bits (x86-64 CPU) utilitzant el mateix esquema de particionament que x86 use the x86. Hi ha però alguns sistemes com els nous Intel-based Macintoshes que utilitzen el sistema de taula de particions Globally Unique Identifier (GUID). Linux suporta aquest sistema amb gparted però no amb fdisk.

Recursos:

Esquemes típics de particionament de disc

En la majoria de sistemes Linux es requereixen com a mínim 2 punts de muntatge i dos particions:

  • Sistema de fitxers arrel (/root): Conté el sistema arrel i si no hi ha cap altre punt de muntatge, tot el sistema.
  • Sistema de fitxers d'intercanvi: Partició necessària com a sistema per a paginar la memòria RAM al disc dur, quan la RAM disponible s'acaba. També es pot crear una swap que sigui un fitxer però no és una solució tant eficient.

Cal tenir en compte que les mides proposades poden variar molt segons l'ús que és vulgui fer del sistema. Hi han tantes possibilitat que és impossible proposar solucions que siguin universalment acceptables.

Partició (punt de muntatge) Mida típica Descripció
swap (no es munta) 1.5 a 2 vegades la RAM És una memòria secundària a la RAM. Més lenta però necessari per quan la RAM s'acaba. Es pot treballar sense swap, però quan el sistema es quedi sense RAM no paginarà correctament (error que és difícil de detectar ja que sembla que l'ordinador simplement és penja)
/home Mínim 200MB En distribucions modernes un mínim de 200MB per guardar els fitxers de configuració d'usuari de les aplicacions és necessari. A partir d'aquí el valor màxim depèn de l'ús que faci de l'ordinador cada usuari
boot 20-200MB Guarda els fitxers d'arrancada del sistema (el nucli del sistema i els seus fitxers de suport). Compte!: Les distribucions modernes van guardant els diferents nuclis que s'instal·len, fet que fa que l'espai de boot augmenti amb el temps
/usr 500MB-20G (?) Conté la majoria de fitxers d'aplicacions Linux
/opt 100MB-? Carpeta "calaix de sastre" on es col·loquen totes aquelles aplicacions de tercers (no inclosos a la distribució). S'acostumen a posar aquí els paquets comercials
/var 100MB-? Conté les dades variables del sistema (bases de dades, cues, fitxers d'aplicacions, etc.). Depèn molt de tipus de sistema, però en entorn de servidor pot ser la partició més gran (i la que té la informació més rellevant)
/tmp 100MB-? Conté els fitxers temporals dels usuaris ordinaris. En sistemes amb molts usuaris pot ser una carpeta força gran.
/mnt --- No té una partició separada. S'utilitza com a lloc on crear els punts de muntatge de dispositius removibles com CD/DVD-ROM, memòries FLASH, etc.
/media --- Equivalent a /mnt

Algunes carpetes mai es posen en carpetes diferents:

  • /etc
  • /bin i /sbin
  • /lib
  • /dev. De fet, d/dev, a partir de la versió 2.4 del kernel es gestiona amb udev mitjançant un sistema de fitxers especial

Vegeu també:

Etiquetes

DOS disklabel with disk identifier 0xf0ec759f

UUID (Universally Unique Identifier)

Consulteu UUID

Punts de muntatge

Sistema de fitxers arrel (/)

Tots els fitxers de tots els dispositius es troben en una sola jerarquia anomenada Sistema Virtual de fitxers. L'arrel d'aquesta jerarquia única s'anomena root (arrel) i és representa amb el caràcter /

A Linux/Unix tot són fitxers (fitxers, carpetes, dispositius de maquinari, enllaços, sockets, recursos remots...). Una de les particularitats de Linux és presentar els dispositius connectats al sistema en forma d’arxius. Per exemple, la carpeta /dev conté els fitxers que representen els dispositius de maquinari del sistema (/dev/fd0 és el disquet i /dev/cdrom és el CD-ROM).

Els fitxers no tenen que ser d'un disc dur concret i ni tan sols tenen que ser de la màquina local (es pot tenir l'arrel en una màquina remota) Per accedir a un dispositiu primer s'ha d'informar al Sistema Operatiu del camí dins de la jerarquia principal des d'on es podrà accedir als fitxers del dispositiu. Aquest procés procés s'anomena muntatge de dispositius.

El directori des de el qual es pot accedir al dispositiu s'anomena Punt de Muntatge. Generalment només el super usuari (root) pot muntar dispositius o indicar quins dispositius poden ser muntats pels usuaris.

Sistema de fitxers var (/var)

A aquesta carpeta es guarden les dades considerades variables i no compartibles amb altres ordinadors (sempre segons l'estàndard FHS, vegeu també l'ojectiu LPI_104.7),

  • /var: Es troben tot els arxius de dades “variables” en el temps: cues d’espera de la impressora, bústies dels usuaris, registres (logs) del sistema, bases de dades. Part del disc amb accés de lectura i escriptura continu. Sovint és munta en una partició a part.
  • /var/games: Dades variables dels jocs
  • /var/lib/{nom_aplicació}: Bases de dades de les aplicacions
  • /var/log: Registres del sistema.
  • /var/mail: Missatgeria local Unix.
  • /var/tmp: Un altre espai temporal.
  • /var/run: indicadors de les aplicacions que s'estan executant.
  • /var/lock: indicadors de bloqueig de les aplicacions.
  • /var/spool: Cues del sistema (correu electrònic, impressores, etc)

Sistema de fitxer home (/home)

La paraula home, vol dir casa en anglès. A la carpeta home trobem les carpetes personals de cada usuari.

P. ex. els usuaris juan, maria i pep tindran les següents homes:

  • /home/juan
  • /home/maria
  • /home/pep

Sovint es guarda en una partició diferent a la de sistema. Això permet restaurar el sistema operatiu sense perdre les dades dels usuaris.

Les carpetes i fitxers ocults contenen configuracions personals de l'usuari. La mida depèn de la quantitat d'usuaris i del tipus d'usuaris.

Es pot controlar l'ús de disc mitjançant quotes.

Sistema de fitxer /boot

Conté el nucli de Linux i altres arxius de suport a l'arrancada del sistema. Es pot trobar en una partició diferent.

Limitacions de les BIOS. Accés només als primers 1024 cilindres

En alguns casos les BIOS (BIOS antigues o obsoletes o Legacy BIOS) només poden accedir als primers 1024 cilindres d'un disc, a l'hora d'arrancar el sistema. Per aquesta raó en alguns sistemes es creava un partició a part on emmagatzemar els fitxers de la carpeta /boot. Aquesta partició es col·locava al principi del disc per tal que la BIOS pugues arrancar el sistema sense problemes.

NOTA: També cal tenir en compte que algunes BIOS no poden accedir a certs tipus de sistemes de fitxers com per exemple LVM. Per aquesta raó en aquest tipus de sistemes de fitxers, es crea una partició a part amb la carpeta /boot i amb un sistema de fitxers accessible des de la BIOS (p. ex. ext3)

NOTA: Els 1024 cilindres estan relacionats amb les limitacions d'accés a discos de més de 8G i el sistema d'adreçament CHS

L'ordre fdisk ens mostra un fitxer d'avís quan intentem

Espai d'intercanvi (swap)

Zona de disc (en fitxer o partició) que s'utilitza per a guardar imatges de processos que ja no es volen mantindrà a la memòria principal (RAM) La operació de passar un procés de RAM a disc dur és anomenat intercanvi o paginació.

Mecanisme de memòria virtual. Permet fer creurà als processos que disposen de més memòria principal de la que realment existeix.

32 bits: màxim de 4 Gb RAM + memòria virtual

Consulteu:

Quanta Swap cal?

Històricament és deia que el doble de la Ram disponible. Actualment sovint no cal tanta, però també es veritat que en moment puntuals es pot trobar a faltar però val a dir que l'espai de disc dur és barat i per aquesta raó es continua posant el doble de la RAM disponible.

La formula hauria de ser, tanta swap com:

Memòria desitjada – Memòria RAM disponible

Consulteu també:

Swap Stripping

El nucli del sistema operatiu pot treballar amb múltiples swap i repartiur la carrega de les operacions de lectura/escriptura si s'assigna la mateixa prioritat al fitxer /etc/fstab:

/dev/sda2       swap           swap    defaults,pri=1   0 0
/dev/sdb2       swap           swap    defaults,pri=1   0 0
/dev/sdc2       swap           swap    defaults,pri=1   0 0
/dev/sdd2       swap           swap    defaults,pri=1   0 0
/dev/sde2       swap           swap    defaults,pri=1   0 0
/dev/sdf2       swap           swap    defaults,pri=1   0 0
/dev/sdg2       swap           swap    defaults,pri=1   0 0

NOTA: Observeu doncs que normalment la swap no utiliza RAID

Punts de muntatge

Són les carpetes d'un sistema que donen accés a dispositius o particions de dispositius de blocs.

Consulteu també:

UUID

Consulteu UUID.

Vegeu també