Quante e quali partizioni dovrei creare per un server Linux?


15

Le partizioni sono molto importanti sul server Linux perché offrono molta flessibilità, ad esempio durante l'aggiornamento a un disco rigido più grande.

Ma quante partizioni dovrei creare quando costruisco un box Linux? Quale dimensione devo impostare per ogni partizione?

Alla fine, ma non meno importante, quali partizioni dovrei avere su un disco separato (sto pensando a / home, / var su forse un disco più veloce, ecc.) E quali partizioni posso condividere sulla stessa unità?


1
Quante unità hai? prevedi che quel numero cambi nel tempo? Si tratta di una scatola monouso o generica? Utente singolo o multi? Tutte queste cose contano.
pjz,

La domanda è più per scopi generali ma ancora per i server.
paulgreg,

Risposte:


17

La pianificazione di una buona struttura di partizionamento dipende in gran parte dalla conoscenza effettiva di come si utilizzerà il "server". Qualsiasi consiglio casuale che non accetta i servizi reali che verranno forniti non sarà particolarmente utile.

Ad esempio, se si tratta di una casella basata su debian che verrà utilizzata per mysql, si potrebbe desiderare una partizione separata per /, / var e / var / lib / mysql.

Sarà un file server con molta memoria condivisa? Potresti volere una /, / home e / srv partizioni.

Per una casella che esegue solo calamari, è possibile che si desideri una partizione per / e una partizione su un disco veloce per la bobina di calamari.

Mentre stai pianificando le tue partizioni, è molto utile avere una buona conoscenza dello standard di gerarchia dei filesystem e se / come la tua distribuzione scelta devia dallo standard.

L'uso di LVM può rendere molto più semplice cambiare idea in futuro e regolare le partizioni senza dover riavviare. E la sua capacità di creare snapshot può essere molto semplice per creare buoni backup.


1
La migliore risposta finora.
In pausa fino a ulteriore avviso.

Ottima risposta .. sia la raccomandazione che la struttura dipende dall'uso previsto che LVM è una buona strada da percorrere.
RickMeasham,

Vedi maggiori informazioni sul valore del partizionamento qui. serverfault.com/questions/61284/sell-partitioning-to-me
Zoredache

Non ero nemmeno a conoscenza che ci fosse un Filesystem Hierarchy Standard. Grazie per averlo menzionato.
Joe Internet,

8

Creo sempre queste partizioni e, a partire dall'ultimo anno, sempre su LVM:

/       - a few Gig
/usr    - 24 Gig and mostly empty
/var    - 4 Gig works for me, YMMV
/home   - depends on how many users you will have

Uno dei più importanti è /var: se si tratta di una partizione separata, quando si riempie, non si arresta il crash della partizione di root. Anche se non l'ho mai fatto, alcuni ne fanno uno separato/usr modo che possano montarlo in sola lettura.

e a volte creo queste partizioni:

/boot   - even 1 Gig is way more than enough

Il ragionamento è che non è sempre possibile eseguire l'avvio da una partizione RAID o LVM. Pertanto, /bootpuò essere una semplice partizione ext3, che consente /di essere più avanzati.

Se avrò un gran numero di file di grandi dimensioni, a volte creerò una partizione specifica per questi file di grandi dimensioni in modo che il filesystem possa essere ottimizzato per archiviare file di grandi dimensioni. Alcune persone, se serviranno NFS da un server, creeranno una partizione separata per le loro condivisioni NFS o anche una partizione separata per ogni condivisione NFS. Questo dipende dalle tue esigenze.

Perché LVM? Come ho già detto nelle risposte altrove, ma ho dimenticato di menzionarlo qui, rende MOLTO più facile cambiare idea in seguito ed espandere una partizione. Questo mi ha già salvato il culo.

Queste sono linee guida generali. Ovviamente, mi aspetto che se il tuo server ha esigenze particolari, tieni conto di ciò e creerai una partizione che rispecchi queste esigenze.


7

Supponendo che stai costruendo una macchina che durerà un po ', sarebbe scomodo da ricostruire e deve essere piuttosto flessibile, potresti preferire uno schema simile al seguente:

  1. Installa un minimo di due unità fisiche, delle stesse dimensioni; ai fini di questo esempio, assumerò unità SATA da 500 GB, ma i principi funzionano perfettamente con unità di altre dimensioni.

  2. Partizionare ogni unità come segue:

    /dev/sda1   500MB
    /dev/sda2   100GB
    /dev/sda3   the rest
    

    L'obiettivo è quello di avere una partizione da 500 MB, una partizione considerevole al centro per il sistema operativo e le applicazioni e la maggior parte dell'unità sul retro per ulteriori dati.

  3. Crea un set SW RAID 1 /dev/md0, da /dev/sda1e /dev/sdb1; creare set SW RAID 1 aggiuntivi /dev/md1e /dev/md2dalle corrispondenti partizioni.

  4. Formatta /dev/md0come ext3; questo sarà /boot.

  5. Formato /dev/md1e /dev/md2come volumi fisici LVM.

  6. Creare un gruppo di volumi LVM vg_system, che contiene /dev/md1.

  7. Creare volumi LVM appropriati all'interno vg_systemper le diverse partizioni del sistema operativo; per lo meno, ti consigliamo swap, /vardi un paio di GB e /di circa 10 GB. NOTA : non allocare tutto vg_system! Quando in seguito deciderai di voler aumentare la dimensione di \var, o vuoi aggiungere un /opto quant'altro, allora vorrai quello spazio aggiuntivo.

  8. Creare un gruppo di volumi LVM vg_data, che contiene /dev/md2.

  9. Creare volumi LVM all'interno vg_datacome desiderato; perlomeno ne vorrai una considerevole /home, e potresti volere volumi aggiuntivi per, diciamo, spool di posta, o database, web root o qualsiasi altro dato che non faccia parte del sistema operativo. Ancora una volta, non allocare tutto vg_data, per motivi simili a quelli sopra elencati.

I vantaggi di questa strategia includono:

  • È tollerante ai guasti hardware; l'una o l'altra unità può guastarsi senza causare un errore di sistema e, se si investe in un controller hot-swap, è possibile ripristinare senza tempi di inattività.

  • È a prova di futuro ed espandibile; quando acquisti unità da 2 TB per alcuni anni lungo la strada, puoi schiaffeggiarle nella macchina, trasformarle in un altro set SW RAID, formattarlo come volume fisico LVM, aggiungerlo a qualsiasi gruppo di volumi ha bisogno di più spazio (probabilmente lv_data), quindi utilizzare pvmoveper migrare i dati dalle vecchie unità e nel nuovo. Inoltre, i principali aggiornamenti del sistema operativo possono essere resi significativamente meno dolorosi; se è necessario reinstallare il sistema operativo per un aggiornamento importante (ahem Red Hat :(), è possibile farlo preservando le directory home (e gli spool di posta e tutto ciò che si inserisce vg_data).

Gli svantaggi di questa strategia sono pochi; Suppongo che sia un po 'complesso e che tu abbia un impatto sulle prestazioni in scrittura a causa del RAID 1. Tuttavia, ho costruito workstation e server autonomi secondo questi principi da alcuni anni ormai, e nella mia esperienza ogni volta che faccio costruirò una macchina seguendo queste linee, tra non molto avrei voluto.

-Steve

PS Dovrei aggiungere che se si dispone dell'infrastruttura per eseguire il provisioning rapido e indolore di una nuova macchina, un sistema come questo è eccessivo; piuttosto che armeggiare con set RAID e LVM, basta ricostruire la macchina se è necessario cambiare qualcosa.


2

Per anni ogni computer che ho usato è stato un sistema a doppio avvio e sul lato Linux mi sono praticamente bloccato con questo schema (sto parlando di stazioni di lavoro personali qui, niente roba del server, quindi il tuo chilometraggio potrebbe variare)

/     - main thing
/boot - not that relevant, since cylinder being < 1024 and 
        exotic filesystems are no longer an issue
/home - handy if you upgrade your laptop with each new distro :-)

Per il mio ultimo aggiornamento ho fatto un'installazione da zero, cancellando la mia /partizione. Questo mi ha fatto pensare che un separatore /opto una /usr/localpartizione sarebbero stati carini, risparmiando il fastidio di reinstallare tutte le cose che ho messo lì (java, eclissi ... Di solito non mi importa di quelle distribuite in pacchetti).


2

Oltre alle partizioni menzionate da Eddie, in genere creo altre due partizioni separate

/ tmp - per gli stessi motivi per cui hai creato una partizione / var separata (prima ho riempito lo spazio temporaneo). Di solito vado con 1-2 GB

/ usr / local - Questo ti permette di aggiornare e pulire / usr secondo necessità senza far saltare via tutto il tuo software installato separatamente. Le dimensioni qui dipendono dalla quantità di software esterno installato. Di solito vado con circa 10 GB, ma sto scoprendo che è un po 'piccolo in questi giorni.

Faccio sempre / home last e riempio il resto del disco con esso.

Sulla partizione / boot, non l'ho mai reso più grande di 100 Mb e non ho mai avuto problemi di spazio (alla fine ripulisco i vecchi kernel). Può davvero essere molto piccolo.

Inoltre, non dimenticare una partizione di swap.


1

Per la maggior parte delle macchine, lo faccio

100MB /boot
1GB * NUMBER_OF_USERS /home
10GB /var/log
10GB /var
REST /

In alcuni casi, questo dovrà essere cambiato, ma sono piuttosto irremovibile sul fatto che gli utenti non ottengano più di 1 GB di spazio su un server. Se ne hanno bisogno di più, possono usare / tmp, con la consapevolezza che verrà cancellato via cron ogni notte.


1

Supponendo che non si usi un RAID hardware lì - sotto Linux userei sempre LVM sopra RAID. Anche per una configurazione a disco singolo. Il motivo è che hai la possibilità di aggiungere più spazio di archiviazione (estendendo il gruppo LVM) o modificare le opzioni di ridondanza (ad esempio trasformando una "strana" configurazione raid1 a disco singolo in una mirroring o persino RAID10 con un pesante sollevamento).

Per rispondere alla tua domanda di solito ho qualcosa di simile a questo per un server generico. A partire da 2 dischi (diciamo un Dell da 1U), entrambi partizionati come:

  • ~ 100 MB RAID1 per / boot
  • LVM sopra RAID1 per il resto del disco

Quindi creiamo tutto il volume come volumi LVM: * / * / var * / tmp * / home * / opt

Eviterei di creare troppi filesystem in quanto è un problema da gestire. Se il tuo disco è in esaurimento, finirai per avere spazio libero su molti filesystem ma non abbastanza per lavorare su.

/ home e / tmp su un filesystem separato è sempre una buona idea; in genere non separo / opto a meno che non abbia intenzione di inserirci molte cose. (NFS potrebbe essere un'opzione migliore per / optare se si dispone di molti server che richiedono lo stesso stack software)

In breve, usa LVM per tutto a meno che tu non abbia un motivo per non farlo - in questo modo hai la possibilità di cambiare.

Inoltre, usa un server di log in modo che i log non riempiano il tuo / var!


0
  • / boot: 128 MB

Gruppo di volumi - rootvg

  • / var - 5 GB (dipende se viene utilizzato come server di posta. Puoi anche ridimensionare per catturare i file core)
  • / tmp - 2 GB
  • / opt - 10 GB (utilizzato per software non fornito con la distribuzione)
  • / - 6 GB - minimo

Gruppo di volumi - datavg

  • / home - il resto

Puoi creare un / usr separato per il tuo software, ma nel mio caso la scatola viene reinstallata, quindi non è necessario ottenere la propria partizione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.