Partitionen sind auf Linux-Servern sehr wichtig, da sie Ihnen viel Flexibilität bieten, beispielsweise beim Upgrade auf eine größere Festplatte.
Aber wie viele Partitionen sollte ich erstellen, wenn ich eine Linux-Box baue? Welche Größe sollte ich für jede Partition festlegen?
Zu guter Letzt: Welche Partitionen sollte ich auf einer separaten Festplatte haben (ich denke an / home, / var auf einem schnelleren Laufwerk usw.) und welche Partitionen darf ich auf demselben Laufwerk freigeben?
Antworten:
Die Planung einer guten Partitionierungsstruktur hängt in hohem Maße davon ab, ob Sie tatsächlich wissen, wie Sie den "Server" verwenden werden. Jede zufällige Empfehlung, die nicht die tatsächlich erbrachten Leistungen in Anspruch nimmt, ist nicht besonders nützlich.
Wenn es sich beispielsweise um eine debian-basierte Box handelt, die für mysql verwendet wird, möchten Sie möglicherweise separate Partitionen für /, / var und / var / lib / mysql.
Wird es ein Dateiserver mit viel gemeinsam genutztem Speicher sein? Möglicherweise möchten Sie eine /, / home- und / srv-Partition.
Für eine Box, auf der nur Squid ausgeführt wird, möchten Sie möglicherweise eine Partition für / und eine Partition auf einer schnellen Festplatte für die Squid-Spool.
Während Sie Ihre Partitionen planen, ist es sehr hilfreich, sich mit dem Dateisystem-Hierarchie-Standard vertraut zu machen und zu wissen, ob bzw. wie Ihre gewählte Distribution vom Standard abweicht.
Durch die Verwendung von LVM können Sie Ihre Meinung in Zukunft ändern und Ihre Partitionen anpassen, ohne neu starten zu müssen. Durch die Möglichkeit, Snapshots zu erstellen, können sehr einfach gute Backups erstellt werden.
quelle
Ich erstelle immer diese Partitionen und seit dem letzten Jahr immer auf LVM:
Eine der wichtigsten ist
/var
: Wenn es sich um eine separate Partition handelt, stürzt die Root-Partition beim Auffüllen nicht ab. Obwohl ich das noch nie gemacht habe, machen einige eine separate,/usr
so dass sie es nur lesbar mounten können.und ich erstelle manchmal diese Partitionen:
Der Grund dafür ist, dass es nicht immer möglich ist, von einer RAID- oder LVM-Partition zu booten. Somit
/boot
kann eine einfache ext3-Partition sein, die es erlaubt/
, weiter fortgeschritten zu sein.Wenn ich eine große Anzahl großer Dateien habe, erstelle ich manchmal eine bestimmte Partition für diese großen Dateien, damit das Dateisystem so optimiert werden kann, dass es große Dateien effizient speichert. Einige Benutzer erstellen, wenn sie NFS von einem Server aus bedienen, eine separate Partition für ihre NFS-Freigaben oder sogar eine separate Partition für jede NFS-Freigabe. Dies hängt von Ihren Bedürfnissen ab.
Warum LVM? Wie ich in den Antworten an anderer Stelle erwähnt, aber vergessen habe, hier zu erwähnen, ist es VIEL einfacher, später Ihre Meinung zu ändern und eine Partition zu erweitern. Das hat meinen Hintern schon gerettet.
Dies sind allgemeine Richtlinien. Ich gehe natürlich davon aus, dass Sie, wenn Ihr Server spezielle Anforderungen hat, dies berücksichtigen und eine Partition erstellen, die diese Anforderungen widerspiegelt.
quelle
Angenommen, Sie erstellen eine Maschine, die eine Weile dauern wird, deren Neuerstellung unpraktisch ist und die sehr flexibel sein muss, dann könnte Ihnen ein ähnliches Schema wie das folgende gefallen:
Installieren Sie mindestens zwei physische Laufwerke gleicher Größe. Für die Zwecke dieses Beispiels gehe ich von 500-GB-SATA-Laufwerken aus, die Prinzipien funktionieren jedoch problemlos mit anderen Laufwerksgrößen.
Partitionieren Sie jedes Laufwerk wie folgt:
Das Ziel ist es, eine 500-MB-Partition im Vordergrund, eine große Partition in der Mitte für das Betriebssystem und die Anwendungen und den Großteil des Laufwerks im Hintergrund für zusätzliche Daten bereitzustellen.
Erstellen Sie ein SW-RAID-1-Set
/dev/md0
aus ,,/dev/sda1
und/dev/sdb1
; Erstellen Sie zusätzliche SW-RAID-1-Sets/dev/md1
und/dev/md2
aus den entsprechenden Partitionen.Format
/dev/md0
als ext3; das wird sein/boot
.Format
/dev/md1
und/dev/md2
als physische LVM-Volumes.Erstellen Sie eine LVM-Datenträgergruppe
vg_system
, die Folgendes enthält/dev/md1
.Erstellen Sie geeignete LVM-Volumes
vg_system
für Ihre verschiedenen Betriebssystempartitionen. zumindest, möchten Sieswap
,/var
ein paar GB und/
10 GB oder so. HINWEIS : nicht alle zuweisenvg_system
! Wenn Sie später entscheiden, dass Sie die Größe von erhöhen möchten\var
, oder Sie möchten ein/opt
oder was auch immer hinzufügen, dann möchten Sie diesen zusätzlichen Speicherplatz.Erstellen Sie eine LVM-Datenträgergruppe
vg_data
, die Folgendes enthält/dev/md2
.Erstellen Sie
vg_data
die gewünschten LVM-Volumes . Zumindest möchten Sie eine beträchtliche Größe/home
, und Sie möchten möglicherweise zusätzliche Volumes für beispielsweise Mail-Spools oder Datenbanken oder Webstämme oder andere Daten, die nicht Teil des Betriebssystems sind. Weisen Sievg_data
aus ähnlichen Gründen wie oben nicht alle zu .Die Vorteile dieser Strategie umfassen Folgendes:
Es ist tolerant gegenüber Hardwarefehlern. Jedes Laufwerk kann ausfallen, ohne dass es zu einem Systemausfall kommt. Wenn Sie in einen Hot-Swap-Controller investieren, können Sie ohne Ausfallzeiten eine Wiederherstellung durchführen.
Es ist zukunftssicher und erweiterbar. Wenn Sie nach ein paar Jahren 2-TB-Laufwerke kaufen, können Sie diese in den Computer einhängen, in ein anderes SW-RAID-Set umwandeln, als physisches LVM-Volume formatieren und zu einer beliebigen Volume-Gruppe hinzufügen, die (wahrscheinlich
lv_data
) mehr Speicherplatz benötigt Verwenden Siepvmove
diese Option, um Ihre Daten von den alten Laufwerken auf die neuen zu migrieren. Darüber hinaus können wichtige Betriebssystemupdates erheblich schmerzfreier gestaltet werden. Wenn Sie das Betriebssystem für ein größeres Upgrade neu installieren müssen (ahem Red Hat :(), können Sie dies unter Beibehaltung der Home-Verzeichnisse (und der Mail-Spools und allem, was Sie sonst noch eingeben) tunvg_data
.Die Nachteile dieser Strategie sind gering; Ich nehme an, es ist ein bisschen komplex, und wegen RAID 1 ist die Leistung der Schreibvorgänge beeinträchtigt. Nach diesen Grundsätzen baue ich jedoch seit einigen Jahren Workstations und Standalone-Server baue keine Maschine in dieser Richtung, es würde nicht lange dauern, bis ich es wünschte.
-steve
PS: Wenn Sie über die Infrastruktur verfügen, um schnell und problemlos eine neue Maschine bereitzustellen, ist ein System wie dieses ein Overkill. Anstatt an RAID-Sets und LVM zu basteln, bauen Sie den Computer einfach neu auf, wenn Sie Änderungen benötigen.
quelle
Seit Jahren ist jeder Computer, den ich verwendet habe, ein Dual-Boot-System, und auf der Linux-Seite habe ich mich ziemlich an dieses Schema gehalten (ich spreche hier von Personal Workstations, keine Serverkram, daher kann Ihr Kilometerstand variieren).
Bei meinem letzten Upgrade habe ich eine Neuinstallation durchgeführt und dabei meine
/
Partition gelöscht. Das ließ mich denken, dass eine separate Partition/opt
oder eine/usr/local
Partition nett gewesen wäre, und ersparte mir den Aufwand, all das Zeug, das ich dort abgelegt habe, neu zu installieren (Java, Eclipse ... ich kümmere mich normalerweise nicht um die in der Distribution verpackten).quelle
Zusätzlich zu den von Eddie erwähnten Partitionen erstelle ich normalerweise zwei weitere separate Partitionen
/ tmp - Aus den gleichen Gründen haben Sie eine separate / var-Partition erstellt (ich hatte den temporären Speicherplatz schon einmal voll). Ich gehe normalerweise mit 1-2 GB
/ usr / local - Auf diese Weise können Sie / usr nach Bedarf aktualisieren und bereinigen, ohne Ihre separat installierte Software zu beschädigen. Die Größe hängt davon ab, wie viel externe Software Sie installieren. Normalerweise arbeite ich mit 10 GB, aber ich finde, dass das heutzutage ein bisschen klein ist.
Ich mache / home immer als letztes und fülle den Rest der Platte damit auf.
Auf der / boot-Partition habe ich es nie größer als 100 MB gemacht und stieß nie auf Speicherplatzprobleme (irgendwann entferne ich alte Kernel). Es kann wirklich sehr klein sein.
Vergessen Sie auch nicht eine Swap-Partition.
quelle
Für die meisten Maschinen tue ich
In einigen Fällen muss dies umgestellt werden, aber ich bin ziemlich davon überzeugt, dass Benutzer nicht mehr als 1 GB Speicherplatz auf einem Server erhalten. Wenn sie mehr brauchen, können sie / tmp verwenden, mit der Maßgabe, dass es jede Nacht über cron gelöscht wird.
quelle
Angenommen, Sie verwenden dort kein Hardware-RAID - unter Linux würde ich immer LVM anstelle von RAID verwenden. Auch für eine Single-Disk-Konfiguration. Grund dafür ist, dass Sie die Option haben, mehr Speicherplatz hinzuzufügen (durch Erweitern der LVM-Gruppe) oder die Redundanzoptionen zu ändern (z. B. eine "seltsame" RAID1-Konfiguration für eine einzelne Festplatte in eine gespiegelte Konfiguration umzuwandeln oder sogar RAID10 mit einigem Aufwand).
Um Ihre Frage zu beantworten, habe ich normalerweise etwas Ähnliches für einen generischen Server. Beginnend mit 2 Festplatten (sagen wir eine 1HE Dell), beide partitioniert als:
Dann erstellen wir alle Volumes als LVM-Volumes: * / * / var * / tmp * / home * / opt
Ich würde es vermeiden, zu viele Dateisysteme zu erstellen, da die Verwaltung schwierig ist. Wenn Sie nur noch wenig Festplattenspeicher haben, steht Ihnen auf vielen Dateisystemen zwar Speicherplatz zur Verfügung, jedoch nicht genug, um daran zu arbeiten.
/ home und / tmp auf einem separaten Dateisystem ist immer eine gute Idee; Im Allgemeinen trenne ich nicht / opt, es sei denn, ich plane, eine Menge Dinge hinein zu stecken. (NFS ist möglicherweise eine bessere Option für / opt, wenn Sie viele Server haben, für die derselbe Software-Stack erforderlich ist.)
Kurz gesagt, verwenden Sie LVM für alles, es sei denn, Sie haben einen Grund, dies nicht zu tun. Auf diese Weise haben Sie die Möglichkeit, Änderungen vorzunehmen.
Verwenden Sie auch einen Protokollserver, damit die Protokolle Ihr / var nicht ausfüllen!
quelle
Volumengruppe - rootvg
Volumengruppe - Datavg
Sie können ein separates / usr für Ihre Software erstellen, aber in meinem Fall wird die Box neu installiert, sodass keine eigene Partition erforderlich ist.
quelle