Welche Vor- und Nachteile hat das Mounten verschiedener Verzeichnisse auf separaten Partitionen?

41

Bei der Installation von Ubuntu mit der Option "etwas anderes" habe ich festgestellt, dass es viele Ordner gibt, die auf separaten Partitionen bereitgestellt werden können, wie Sie im folgenden Bild sehen können.

Viele Ordner können auf separaten Partitionen bereitgestellt werden

Welche Vor- und Nachteile hat das Mounten dieser Ordner (oder Verzeichnisse) auf separaten Partitionen?

Speziell die Verzeichnisse sind

  1. /boot
  2. /home
  3. /tmp
  4. /usr
  5. /var
  6. /srv
  7. /opt
  8. /usr/local
registrierter Nutzer
quelle
mögliches Duplikat von Wie verstehe ich das Ubuntu-Dateisystem-Layout?
Charles Green
6
@CharlesGreen Diese Frage beschreibt die Verwendung dieser Verzeichnisse. Ich bin daran interessiert, die Vor- und Nachteile des Einbindens in separate Partitionen zu kennen. Diese Fragen sind also nicht gleich.
Registrierter Benutzer

Antworten:

54

Vor einer langen langen Zeit...

... Früher wurde Linux von Menschen installiert und von Hand für ihre speziellen Anforderungen konfiguriert. Einiges davon gilt auch heute noch für Server. Die Auswahlmöglichkeiten, die Sie in sehen, gpartedsind einige der beliebtesten für diejenigen, die im Vergleich zu den durchschnittlichen Desktop-Benutzern, der Zielgruppe für Ubuntu-Desktops, sehr unterschiedliche Bedürfnisse hatten.

Nehmen wir diese nacheinander. Ich werde diejenigen überspringen, von denen ich nicht viel weiß.

  1. /bootEs gab eine Zeit, in der das Linux-Dateisystem zerbrechlich und die Festplatten klein waren. Die Leute hatten Angst, dass die Festplatte voll wird oder beschädigt wird und Ubuntu nicht bootet. Das Speichern der Kernel in einer separaten Partition half dem System beim Booten, wenn andere Probleme auftraten. In jenen Tagen haben Linux-Benutzer ihren eigenen Kernel kompiliert und alte bereinigt. Erst mit Ubuntu 16.04 LTS hat die Software Updater- App das neueste Kernel-Update installiert, die alten Kernel jedoch nicht entfernt. Infolgedessen /bootfüllte sich eine kleine Partition mit alten Kerneln, und das System wurde nicht mehr gestartet, es sei denn, man reinigte sie regelmäßig. Sehen Sie, was passiert ist, wenn Sie eine separate /bootPartition hatten und vergessen haben, diese regelmäßig zu bereinigen: Wie kann ich mehr Speicherplatz in / boot freigeben? Mit Ubuntu 18.04 LTS hält die Software Updater- App nicht nur das System auf dem neuesten Stand, sondern entfernt auch die alten Kernel.
  2. Wenn Sie andererseits die /Partition verschlüsseln möchten (um die geheime Software zu schützen, an der Sie arbeiten), benötigen Sie eine separate (und unverschlüsselte) /bootPartition. Andernfalls bootet das System nicht. Wenn Sie über ein RAID-Laufwerk verfügen, /bootkann es ebenfalls hilfreich sein , eine Partition ohne RAID beizubehalten. Viele Leute halten eine separate /bootPartition aus diesen und anderen Gründen für eine sehr gute Idee.
  3. /homeEs macht immer noch Sinn, zu Hause in einer separaten Partition zu bleiben. Dieser Ordner / diese Partition enthält Ihre persönlichen Dateien. Wenn Sie ihn in einer separaten Partition haben, können Sie /Ubuntu formatieren und neu installieren, ohne Ihre Dateien zu verändern. Aktuelle Versionen der Ubuntu-Installationssoftware enthalten eine Auswahl an Updates von DVD / USB. Diese Option bleibt /homeerhalten, auch wenn sie sich nicht auf einer separaten Partition befindet. Wenn auf Ihrem primären Laufwerk mit /Partition nicht mehr genügend Speicherplatz vorhanden ist . Möglicherweise möchten Sie ein neues Laufwerk hinzufügen und eine einzelne /homePartition auf dem neuen Laufwerk erstellen .
  4. /tmpHier werden temporäre Dateien abgelegt. Wenn Sie einen Server ausführen, der große temporäre Dateien erstellt, füllen diese möglicherweise den gesamten Festplattenspeicher aus und halten den Server an. Das Speichern in einer separaten Partition füllt nur diese Partition und beendet möglicherweise den Prozess, der die großen temporären Dateien erstellt hat, stoppt jedoch nicht den Rest des Systems. Mir wurde gesagt, dass es einfacher ist, mit einer vollen /tmpPartition umzugehen, als mit einem temporären Ordner unter der /Partition.
  5. /usr/,, /opt/und /usr/localsind Orte, an denen Programme und Apps unter unterschiedlichen Bedingungen aufbewahrt werden. Wenn Sie Software für Linux entwickeln, kann es sinnvoll sein, diese in separaten Partitionen zu speichern, damit Sie bei einer Neuinstallation von Ubuntu die Programme, die Sie geschrieben haben oder an denen Sie gearbeitet haben, nicht löschen.
  6. Das Speichern /opt/und /usr/localin einer separaten Partition ist auch dann sinnvoll, wenn Sie Programme von der Quelle (von Ihrer eigenen oder von einer anderen Stelle) installieren und sie in einer anderen Distribution (z. B. Red Hat) verwenden möchten, die auf demselben Computer in einer eigenen Partition installiert ist. Dann können beide Distributionen, Ubuntu und Red Hat, die Partitionen /optund gemeinsam nutzen /usr/local. (Danke Rmano!)
  7. /srvund /varsind besonders nützlich als separate Partitionen, wenn Sie Server ausführen oder Webseiten entwickeln. Für den durchschnittlichen Desktop-Benutzer nehmen diese Ordner nicht viel Platz ein und enthalten nichts, was für den Benutzer von Wert ist. Für einen Webentwickler kann das Verlieren /var/wwwbedeuten, dass er seinen Job verliert.

Dies sind allerdings nicht die einzigen Verzeichnisse, die als Partitionen bereitgestellt werden können. Unter Linux kann eine Partition als beliebiger Ordner an einem beliebigen Ort angehängt werden. Partitionen werden häufig als Unterverzeichnisse von /mnt/und gemountet /media.

Hoffe das hilft

user68186
quelle
+1, nette Antwort. Sie können auch meine Einstellung in askubuntu.com/a/379212/16395 und askubuntu.com/a/379019/16395
Rmano
1
Danke @Rmano Ich hatte Ihre ausführliche Antwort schon einmal gesehen. Ich werde von Ihrer zweiten Antwort leihen und meine bearbeiten.
User68186
2
Es ist in Ordnung (obwohl ich das tue, damit sie eine vollständige Neuinstallation überleben - neuere Installer können zwar speichern, /homeaber nicht /usr/local. Übrigens, "manuell installieren und anpassen" ist das Arch Linux-Lemma ... also gibt es immer noch (eine Menge) ) von Leuten, die das tun.
Rmano
2
Der historische Grund für / boot als separate Partition ist, dass die Festplatte größer war als das BIOS. Befand sich der Kernel im unzugänglichen Teil der Festplatte, konnte er nicht geladen werden. Indem Sie die / boot-Partition zuerst auf die Festplatte setzen, wurde sichergestellt, dass das BIOS immer auf den Kernel zugreifen konnte, damit Linux booten konnte.
Thorbjørn Ravn Andersen
1
Beachten Sie auch, dass Festplatten hinzugefügt werden können, um mehr Speicherplatz zu erhalten. Unter Unix müssen Sie sie jedoch an einer beliebigen Stelle bereitstellen, anstatt nur einen Laufwerksbuchstaben zuzuweisen. Wenn beispielsweise die Festplatte voll ist, wurde eine neue Festplatte für hold / home gekauft und der aktuelle Inhalt dorthin verschoben.
Thorbjørn Ravn Andersen
15

Allgemeine Vorteile mehrerer Partitionen:

  1. Sie können verschiedene Festplatten / LUNs verwenden und haben eine bessere Leistung. Dies kann die Leistung der Datenbanken erhöhen, da Sie das Transaktionsprotokoll auf einem Speicher und die Datendateien auf einem anderen haben können. Ähnliches gilt für festplattenintensive E / A-Webanwendungen.
  2. Sie können verschiedene Mount-Optionen verwenden (die die Sicherheit erhöhen oder die Leistung oder Stabilität genauer beeinflussen).
  3. Sie können verschiedene Dateisysteme haben
  4. Sie verwalten den Raum separat. So können Sie eine böse Anwendung haben, die den Raum füllt, der andere Anwendungen nicht beeinflusst.
  5. Die Fragmentierung einer Partition ist unabhängig von der anderen.
  6. Sie können Snapshots erstellen, einhängen, umhängen, formatieren, defragmentieren und die Leistung dieser Dateisysteme unabhängig voneinander überwachen.
  7. Sie können die Verschlüsselung auf bestimmten Datenträgern durchführen.
  8. Sie können Volumes bei Bedarf bereitstellen.

Allgemeine Nachteile mehrerer Partitionen:

  1. Es erhöht den Administrationsaufwand.
  2. Sie haben größere Chancen, mehr Speicherplatz zu verschwenden.
  3. Sie werden mehr Vorfälle haben, bei denen die Festplatte voll ist.
  4. Es ist schwieriger, eine konsistente Momentaufnahme einer Anwendung zu erstellen, die auf verschiedenen Volumes ausgeführt wird.
  5. Es werden etwas mehr Ressourcen verbraucht.
  6. Je nach Datenträgertyp (MS-DOS-Bezeichnung, LVM, btrfs ...) können Sie möglicherweise nicht einfach Speicherplatz von einem Datenträger zuweisen, indem Sie einen anderen verkleinern. Besonders online.

Eine andere Möglichkeit, Ihr System zu partitionieren, besteht darin, LVM, btrfs oder zfs für / zu verwenden. Weisen Sie nur den minimalen Speicherplatz für / zu und erstellen Sie bei Bedarf logische Volumes oder erweitern Sie /. Dies lässt Ihnen die Wahl, die Volumina zu einem späteren Zeitpunkt aufzuteilen, und senkt die Wartungskosten.

Nun bestimmte Sachen:

  • / boot ist gut, um eine separate Partition zu sein. Das Dateisystem muss von Ihrem Bootloader unterstützt werden (normalerweise GRUB).
  • Wenn Sie EFI / UEFI verwenden, ist eine EFI-Systempartition erforderlich.
  • / home ist gut, um die Benutzerdaten vom Betriebssystem und den Anwendungen zu trennen.
  • / tmp kann mit noexec, nodev, nosuid gemountet werden. Es kann ein Speicher sein, der wie tmpfs zugeordnet ist.
  • / usr kann schreibgeschützt gemountet und nur für Aktualisierungen erneut gemountet werden. Es kann wie eine NFS-Freigabe remote sein.
  • / srv / opt speichert die Anwendung und die Anwendungsdaten. Wenn Sie eine E / A-intensive Anwendung haben, können Sie ein besseres Festplattensubsystem (z. B. SSD) verwenden.
  • / usr / local ist der Standard, der von lokal auf dem aktuellen Computer installierten Anwendungen verwendet wird. Zum Beispiel haben Sie alles andere auf NFS und eine lokale Festplatte ...

Es gibt keine perfekte Lösung. Wenn Sie keinen klaren Grund haben, eine neue Partition zu erstellen, tun Sie dies nicht. Die einzige Partition, die Sie neben / erstellen müssen, ist / boot.

Für Desktops / Laptops ist es schön, / home zu haben, damit Sie das Betriebssystem unabhängig von Ihren Daten neu installieren können.

Mircea Vutcovici
quelle
Bitte schön. Ich bin nicht der Meinung, dass es eine gute Idee ist, eine separate /bootPartition für durchschnittliche Desktop-Benutzer zu haben. Die alten Kernel werden nicht automatisch gelöscht und neue hinzugefügt. Dann passiert das!
User68186
1
Wenn es voll ist, kann der Benutzer keine neueren Kernel installieren und Updates schlagen fehl. Das System wird aber funktionsfähig sein.
Mircea Vutcovici
1
Wenn Sie hingegen ein Dateisystem verwenden, das von GRUB nicht unterstützt wird, oder die / -Partition verschlüsseln, müssen Sie eine / boot-Partition verwenden.
Mircea Vutcovici
In beiden Punkten einig.
User68186
1
Ich habe meine Antwort bearbeitet, um die obligatorische Anforderung von / boot-Partition zu entfernen.
Mircea Vutcovici
2

Für den Desktop?

Kein Unterschied.

Für Server?

Speicherverwaltung und Backup.

Wenn Ihr System viele Benutzer hat, können Sie eine zusätzliche Partition für / home / erstellen. Die Benutzer überschreiten dann nicht diesen Speicherplatz, und root (/) ist nicht betroffen.

Sie können NFS, SMB oder Partition auch auf anderen physischen Datenträgern in diesen Ordnern bereitstellen. Beispielsweise :

/ dev / sda1 / boot (1 GB)

/ dev / sda2 / (60 GB)

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

/ dev / sdb1 / var (1 TB für / var / www oder / var / ftp)

Für Laptop

/ auf m-sata (schnell)

/ var / home / opt / tmp auf Festplatte (langsam)

przemo
quelle
1
Können Sie auf Ihren letzten Punkt näher eingehen? Ein anderer Beitrag riet davon ab, diese Partitionen auf einer separaten Festplatte zu haben, da dadurch eine zusätzliche Fehlerquelle geschaffen wird: Wenn nun eines der Laufwerke ausfällt, haben Sie kein funktionierendes System. Ganz zu schweigen davon, dass dies die Startzeit verlangsamen würde, da jetzt darauf gewartet wird, dass die Festplattenpartitionen bereitgestellt werden.
Khashir
2

przemos antwort, imo, trifft am ehesten die praktischen punkte. Hier sind einige zusätzliche praktische Überlegungen:

In Unternehmensumgebungen werden normalerweise separate Partitionen für /, / home, / opt, / var, / boot und zusätzliche Dateisysteme (1 pro Anwendung oder Anwendungsteam) unter / opt verwendet. Dies dient in erster Linie dazu, zu vermeiden, dass dem System der Speicherplatz ausgeht, weil ein privates Verzeichnis massiv wird (/ home), Protokolle außer Kontrolle geraten (/ var) oder Apps viel Speicherplatz verbrauchen (/ opt, / opt //, etc). , und / boot, damit die anderen Partitionen in LVM erstellt werden können und um sicherzustellen, dass Sie eine Art Wiederherstellungsshell erhalten, falls die primäre Systempartition aus irgendeinem Grund beschädigt wird.

Für meine persönlichen Nicht-Server-Anwendungen behalte ich nur separate Partitionen /, / boot und / home, damit ich mehrere Linux / UNIX-Betriebssysteme dual booten und dieselbe / home-Partition für sie verwenden kann.

Wenn Sie eine VM in Oracle Virtualbox, VMWare Player / Workstation / Fusion usw. für den persönlichen Gebrauch erstellen, gibt es keinen praktischen Grund, mehrere Partitionen mit unterschiedlichen Einhängepunkten zu verwenden, da mindestens VirtualBox über gute Möglichkeiten zur Freigabe von Ordnern verfügt und VMWare Player / Workstation / Fusion. Die einzige Ausnahme könnte / boot aus dem Grund der Wiederherstellungsshell sein, der in meinem Absatz "Unternehmensumgebung" angegeben ist.

MGodby
quelle
2

Wenn während eines Updates oder eines Upgrades der Hauptversion ein Problem auftritt, können Sie / home auf einer anderen Partition von CD booten und anschließend vollständig löschen und das Betriebssystem neu installieren, ohne Ihre Daten zu verlieren. Dies ermöglicht auch das mehrfache Booten mit verschiedenen Linux-Distributionen. Manche Leute bewerten diese gerne Seite an Seite.

h22
quelle
Separate / home ist eine meiner Seifenschachteln, aber ich habe mich vor kurzem noch verbrannt, als ich saucy in einer anderen Partition installiert habe, nur zum Testen auf einem Oneiric-Notebook, und es hat eine Reihe von Konfigurationsdateien in meinem Shared / home durcheinander gebracht, die Oneiric sehr unglücklich machten, wenn Ich habe es neu gestartet.
Joe
0

Zusätzlich zu den vorhandenen Antworten verfügen Sie möglicherweise über nicht standardmäßige / allgemeine Kompatibilitäts- und Leistungsanwendungsfälle, die von verschiedenen Partitionen profitieren.

Möglicherweise möchten Sie Daten mit einem anderen Betriebssystem wie Windows teilen und müssen ein Dateisystem verwenden, das sowohl Linux als auch unterstützt.

Möglicherweise gibt es spezielle Anwendungsfälle, bei denen Sie unterschiedliche Einstellungen vornehmen können (desselben Dateisystemtyps, z. B. eine EXT4-Partition für viele kleine Dateien und eine EXT4-Partition für wenige große Dateien (z. B. virtuelle Maschinen)) Optimieren Sie die Speicherung und Leistung für beide Anwendungsfälle.

NGRhodes
quelle