Quali sono i vantaggi e gli svantaggi di montare varie directory su partizioni separate?


41

Durante l'installazione di Ubuntu con l'opzione "qualcos'altro", ho scoperto che ci sono molte cartelle che possono essere montate su partizioni separate, come puoi vedere nell'immagine qui sotto.

molte cartelle possono essere montate su partizioni separate

Quindi quali sono i vantaggi e gli svantaggi del montaggio di queste cartelle (o directory) su partizioni separate?

In particolare le directory sono

  1. /boot
  2. /home
  3. /tmp
  4. /usr
  5. /var
  6. /srv
  7. /opt
  8. /usr/local


6
@CharlesGreen Questa domanda descrive l'uso di queste directory. Sono interessato a conoscere i vantaggi e gli svantaggi del montaggio su partizioni separate. Quindi queste domande non sono le stesse.
Utente registrato il

Risposte:


54

Tanto tanto tempo fa...

... C'è stato un tempo in cui le persone installavano Linux e lo configuravano manualmente per le loro esigenze specifiche. Parte di questo è vero anche oggi per i server. Le scelte che vedi gpartedsono alcune di quelle popolari per coloro che avevano esigenze molto diverse rispetto agli utenti desktop medi, il pubblico previsto per il desktop Ubuntu.

Prendiamoli uno alla volta. Salterò quelli di cui non so molto.

  1. /bootc'è stato un tempo in cui il file system Linux era fragile e i dischi rigidi erano piccoli. La gente aveva paura che il disco rigido si riempisse o si corrompesse e Ubuntu non si avviasse. Mantenere i kernel in una partizione separata ha aiutato il sistema ad avviarsi quando altre cose sono andate male. A quei tempi gli utenti Linux erano soliti compilare il proprio kernel e ripulire quelli vecchi. Recentemente come con Ubuntu 16.04 LTS , l' app Software Updater ha installato l'ultimo aggiornamento del kernel ma non ha rimosso i vecchi kernel. Di conseguenza, una piccola /bootpartizione si riempiva di vecchi kernel e il sistema ha smesso di avviarsi a meno che uno non lo pulisse periodicamente. Vedi cosa è successo se avevi una /bootpartizione separata e hai dimenticato di pulirla regolarmente: Come posso liberare più spazio in / boot? Con Ubuntu 18.04 LTS l' app Software Updater non solo mantiene aggiornato il sistema, ma rimuove anche i vecchi kernel.
  2. D'altra parte, se si desidera crittografare la /partizione (per salvaguardare il software segreto su cui si sta lavorando), sarà necessaria una /bootpartizione separata (e non crittografata) . Altrimenti il ​​sistema non si avvierà. Allo stesso modo, se si dispone di un'unità RAID, /bootpuò essere utile mantenere una partizione non RAID. Molte persone pensano che avere una /bootpartizione separata sia un'ottima idea per questi e altri motivi.
  3. /homeMantenere la casa in una partizione separata ha ancora un senso. Questa cartella / partizione ha i tuoi file personali e averla in una partizione separata ti consente di formattare /e reinstallare Ubuntu mantenendo intatti i tuoi file. Le versioni recenti del software di installazione di Ubuntu includono una scelta di aggiornamento da DVD / USB. Questa opzione rimane /homeintatta anche se non si trova su una partizione separata. Se si esaurisce lo spazio nell'unità primaria con /partizione. È possibile che si desideri aggiungere una nuova unità e creare una singola /homepartizione nella nuova unità.
  4. /tmpè dove vanno i file temporanei. Se stai eseguendo un server che crea file temporanei di grandi dimensioni, potrebbero riempire tutto lo spazio su disco e arrestare il tuo server. Mantenerlo in una partizione separata riempirà solo quella partizione e potrebbe interrompere il processo che stava creando i file temporanei di grandi dimensioni, ma non fermerà il resto del sistema. Mi è stato detto che è più facile gestire una /tmppartizione riempita che una cartella temporanea sotto /partizione.
  5. /usr/, /opt/e /usr/localsono tutti luoghi in cui programmi e app sono tenuti in condizioni diverse. Se sviluppi software per Linux, può essere logico tenerli in partizioni separate, in modo che se reinstalli Ubuntu, non cancellerai i programmi che hai scritto o su cui hai lavorato.
  6. Mantenere /opt/e /usr/localin una partizione separata ha senso anche se si installano programmi dal sorgente (il proprio o da qualche altra parte) e si desidera utilizzarli in un'altra distribuzione (ad esempio Red Hat) installata nello stesso computer nella propria partizione. Quindi entrambe le distribuzioni, Ubuntu e Red Hat possono condividere le partizioni /opte /usr/local. (Grazie Rmano!)
  7. /srve /varsono particolarmente utili come partizioni separate se si eseguono server o si sviluppano pagine Web. Per l'utente desktop medio, queste cartelle non occupano molto spazio e non contengono nulla di utile per l'utente. Per uno sviluppatore web perdere /var/wwwpuò significare perdere il lavoro.

A dire il vero, queste non sono le uniche directory che è possibile montare come partizioni. In Linux, è possibile montare una partizione come qualsiasi cartella ovunque. Le partizioni sono spesso montate come sottodirectory di /mnt/e /media.

Spero che sia di aiuto


+1, bella risposta. Puoi anche vedere la mia opinione su askubuntu.com/a/379212/16395 e askubuntu.com/a/379019/16395
Rmano,

1
Grazie @Rmano avevo già visto la tua risposta dettagliata. Prenderò in prestito dalla tua seconda risposta e modificherò la mia.
user68186,

2
Va bene (anche se lo faccio per sopravvivere a una reinstallazione completa --- i più recenti installatori sono in grado di salvare /homema non /usr/local. BTW, "installare a mano e adattare" è il lemma di Arch Linux ... quindi ci sono ancora (molto ) di persone che lo fanno.
Rmano,

2
Il motivo storico di avere / boot come partizione separata è dai giorni in cui il disco rigido era più grande di quanto il BIOS potesse gestire, quindi se il kernel si trovava nella parte inaccessibile del disco non poteva essere caricato. Mettendo il partiton / boot al primo posto sul disco è stato assicurato che il BIOS potesse sempre accedere al kernel in modo che Linux potesse avviarsi.
Thorbjørn Ravn Andersen,

1
Si noti inoltre che è possibile aggiungere dischi per ottenere più spazio, ma in Unix è necessario un posto per montarli invece di assegnare semplicemente una lettera di unità. Ad esempio, se il disco si è riempito, è stato acquistato un nuovo disco per contenere / home e il contenuto corrente viene spostato lì.
Thorbjørn Ravn Andersen,

15

Vantaggi generici di avere più partizioni:

  1. È possibile utilizzare diversi dischi / LUN e prestazioni migliori. Ciò può aumentare le prestazioni dei database in quanto è possibile avere il registro delle transazioni su un archivio e i file di dati su un altro. Simile per le applicazioni Web ad uso intensivo di I / O su disco.
  2. È possibile utilizzare diverse opzioni di montaggio (che aumentano la sicurezza o che influiscono sulle prestazioni o sulla stabilità in modo più granulare)
  3. Puoi avere diversi filesystem
  4. Gestisci lo spazio separatamente. Quindi puoi avere una brutta applicazione che riempie lo spazio che non influisce su altre applicazioni.
  5. La frammentazione di una partizione è indipendente dall'altra.
  6. È possibile eseguire l'istantanea, montare, smontare, formattare, deframmentare, monitorare le prestazioni di tali file system in modo indipendente.
  7. Puoi avere la crittografia su volumi specifici.
  8. È possibile montare volumi su richiesta.

Svantaggi generici di avere più partizioni:

  1. Aumenta le spese generali di amministrazione.
  2. Avrai maggiori possibilità di sprecare più spazio su disco.
  3. Avrai più incidenti che coinvolgono il disco pieno.
  4. È più difficile creare un'istantanea coerente di un'applicazione in esecuzione su volumi diversi.
  5. Utilizza leggermente più risorse.
  6. A seconda del tipo di volume (etichetta MS-DOS, LVM, btrfs ...) potresti non essere in grado di allocare facilmente lo spazio da un volume riducendo un altro. Soprattutto online.

Un altro modo per partizionare il sistema è usare LVM, btrfs o zfs per /. Allocare solo lo spazio minimo per / e quando necessario creare volumi logici o estendere /. Questo ti lascia la scelta di dividere i volumi in un secondo momento e ha costi di manutenzione più bassi.

Ora cose specifiche:

  • / boot è buono per essere una partizione separata. Il file system deve essere supportato dal boot loader (di solito GRUB).
  • Se si utilizza EFI / UEFI, è necessario disporre di una partizione di sistema EFI.
  • / home è utile per separare i contenuti dell'utente dal sistema operativo e dalle applicazioni.
  • / tmp può essere montato con noexec, nodev, nosuid. Può essere un fs mappato in memoria come tmpfs.
  • / usr può essere montato in sola lettura e solo rw rimontato per gli aggiornamenti, può essere remoto come una condivisione NFS.
  • / srv / opt memorizzerà i dati dell'applicazione e dell'applicazione. Se si dispone di un'applicazione I / O intensiva, è possibile utilizzare un sottosistema di dischi migliore (ad es. SSD)
  • / usr / local è l'impostazione predefinita utilizzata dalle applicazioni installate localmente sul computer corrente. Ad esempio hai tutto il resto su NFS e hai un disco locale ...

Non esiste una soluzione perfetta. Se non hai un motivo chiaro per creare una nuova partizione, allora non farlo. L'unica partizione che potresti dover creare oltre a / è / boot.

Per desktop / laptop è bello avere / home in modo da poter reinstallare il sistema operativo indipendentemente dai dati.


Prego. Non sono d'accordo sul fatto che sia una buona idea avere una /bootpartizione separata per l'utente desktop medio. I vecchi kernel non vengono ripuliti automaticamente e ne vengono aggiunti di nuovi. Quindi questo succede!
user68186,

1
Se diventa pieno, l'utente non sarà in grado di installare kernel più recenti e gli aggiornamenti falliranno. Ma il sistema sarà funzionale.
Mircea Vutcovici,

1
D'altra parte, se si utilizza un file system non supportato da GRUB o si crittografa la partizione /, è necessario utilizzare una partizione / boot.
Mircea Vutcovici,

Concordato su entrambi i punti.
user68186,

1
Ho modificato la mia risposta per rimuovere il requisito obbligatorio della partizione / boot.
Mircea Vutcovici,

2

Per desktop?

Nessuna differenza.

Per server?

Gestione dello spazio e backup.

Se il tuo sistema ha molti utenti, puoi creare una partizione aggiuntiva per / home /, quindi gli utenti non eccederanno che lo spazio e root (/) non saranno interessati.

È inoltre possibile montare NFS, SMB o partizione su altri dischi fisici su tali cartelle. Per esempio :

/ dev / sda1 / boot (1GB)

/ dev / sda2 / (60GB)

nfs: // IP / cartella / home (X TB)

/ dev / sdb1 / var (1 TB per / var / www o / var / ftp)

Per laptop

/ su m-sata (veloce)

/ var / home / opt / tmp su hdd (lento)


1
Puoi approfondire il tuo ultimo punto? Un altro post ha sconsigliato di avere quelle partizioni su un disco separato, a causa della creazione di un ulteriore punto di errore: ora, se una delle unità si guasta, si rimane senza un sistema funzionante. Per non parlare del fatto che rallenterebbe il tempo di avvio, poiché ora / sta aspettando il montaggio delle partizioni HDD.
Khashir,

2

La risposta di przemo, imo, colpisce più da vicino i punti pratici. Ecco alcune considerazioni pratiche aggiuntive:

Gli ambienti aziendali in genere utilizzano partizioni separate per lease /, / home, / opt, / var, / boot e file system aggiuntivi (1 per applicazione o team di applicazioni) in / opt. Questo principalmente per evitare di far funzionare il sistema senza spazio a causa della directory home di qualcuno che diventa enorme (/ home), dei log che vanno fuori controllo (/ var) o delle app che consumano tonnellate di spazio (/ opt, / opt //, ecc.) e / boot in modo che le altre partizioni possano essere compilate in LVM e anche per assicurarsi di poter ottenere qualcosa di una shell di ripristino nel caso in cui la partizione di sistema primaria venga danneggiata per qualche motivo.

Per i miei usi personali non server, mantengo solo le partizioni separate /, / boot e / home in modo da poter eseguire il dual boot di più sistemi operativi Linux / UNIX e utilizzare la stessa partizione / home per loro.

Nel caso di costruire una VM in Oracle Virtualbox, VMWare Player / Workstation / Fusion, ecc. Per uso personale, non c'è davvero alcun motivo pratico per avere più partizioni con punti di montaggio diversi a causa delle belle funzionalità di condivisione delle cartelle fornite da almeno VirtualBox e VMWare Player / Workstation / Fusion. L'unica eccezione potrebbe essere / boot per il motivo della shell di ripristino indicato nel paragrafo "Ambiente aziendale".


2

Se qualcosa va davvero storto durante l'aggiornamento o l'aggiornamento della versione principale, avere / home su una partizione diversa ti consente di eseguire l'avvio da CD e quindi cancellare completamente e reinstallare il sistema operativo senza perdere i tuoi dati. Inoltre, questo rende possibile l'avvio multiplo con varie distribuzioni Linux, ad alcune persone piace valutare queste fianco a fianco.


Separate / home è una delle mie scatole di sapone, ma mi sono comunque bruciato di recente quando ho installato impertinente in un'altra partizione solo per i test su un notebook onirico e ha incasinato un mucchio di file di configurazione nel mio condiviso / home che ha reso oneiric molto infelice quando Mi sono riavviato.
Joe,

0

Oltre alle risposte esistenti, potresti avere casi di compatibilità e standard non standard / comuni che beneficiano di partizioni diverse.

È possibile che si desideri condividere i dati con un altro sistema operativo come Windows e che sia necessario utilizzare un filesystem supportato sia da Linux.

Potresti avere casi d'uso specialistici che ti consentono di avere diverse accordature (dello stesso tipo di file system, come una partizione EXT4 per molti file di piccole dimensioni e una partizione EXT4 per pochi file di grandi dimensioni (come le macchine virtuali), è possibile ottimizzare l'archiviazione e le prestazioni per entrambi i casi d'uso.

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.