Ist es bei der Virtualisierung immer noch sinnvoll, mehrere Einhängepunkte zu verwenden?

15

Ist es in 2013 sinnvoll, auf einem neuen Linux-Image immer noch mehrere Mount-Punkte zu haben, oder ist es sinnvoller, den gesamten Speicherplatz für / zu reservieren?

Ich würde es vorziehen, den Neustart zu vermeiden, der erforderlich ist, um die Größe eines Bereitstellungspunkts zu erhöhen. Ich würde es auch vorziehen, den Raum eines einzelnen Reittiers zu überwachen. Ich möchte lieber wissen, dass der gesamte Server mehr als 70% des Festplattenspeichers beansprucht als einzelne Mountpunkte.

Jeremy Mullin
quelle
Warum muss ein Neustart durchgeführt werden, um die Größe eines Einhängepunkts zu erhöhen? Ich denke, dass alle gängigen Dateisysteme, die online unterstützt werden, an dieser Stelle erweitert werden.
Derobert

Antworten:

17

Sicher ist es immer noch nützlich. Sie möchten nicht, dass ein außer Kontrolle geratener Prozess ein Protokoll füllt und eine vollständige Festplatte verursacht. Wenn Sie so etwas wie LVM verwenden, können Sie die Volumes auch online erweitern.

Bei vielen VMs möchten Sie die E / A ohnehin trennen. Wahrscheinlich möchten Sie Ihre Datenbanken auf separaten Spindeln, und die einzige Möglichkeit, dies zu erreichen, besteht darin, einen separaten Einhängepunkt für den Speicherort Ihrer Datenbank zu haben. Abgesehen von den Datenbanken bietet es eine größere Flexibilität, wenn Sie über Ihr ursprüngliches Design hinauswachsen.

Kurz gesagt, es gibt immer noch gute Gründe, dies 2013 zu tun.

MDMarra
quelle
Wird die Maschine nicht trotzdem abstürzen, auch wenn / var (oder / tmp) trotzdem voll ist?
Zwiebeljake
2
@onionjake Nein, nicht unbedingt. Aber sie werden abstürzen, wenn sie /voll sind.
Ewwhite
Vielen Dank für den Hinweis, dass die Protokolle außer Kontrolle geraten. Diese bestimmten VMs verwenden ein SAN, sodass ich glaube, dass IO bereits verteilt ist und in dieser bestimmten Situation kein Problem für mich darstellt.
Jeremy Mullin
Wenn Sie möchten, dass sich eine einzelne VM über mehrere VMFS-Pools in ESXi erstreckt, müssen Sie darüber hinaus mehrere virtuelle Laufwerke verwenden (die der VM als physische Laufwerke angezeigt werden). Sie können diese weiterhin zu einem Einhängepunkt mit LVM kombinieren, wenn Sie dies wirklich möchten, aber meiner Meinung nach ist dies eine schlechte Praxis.
Paul Gear
5

Heutzutage würde ich nicht zu viele separate Halterungen verwenden, aber wahrscheinlich wären einige wichtige für die Systemadministration hilfreich.

Nur 2 oder 3, esp. mit einer, die in der Größe variiert. Dies hängt davon ab, was Sie verwenden. Ich würde nur / (relativ stabil) und / var (wechselnd) sagen. Abhängig vom Betriebssystem und der Festplattengeometrie ist möglicherweise auch / boot erforderlich. / tmp ist wahrscheinlich ein vom Installationsprogramm eingerichtetes tmpfs-Mount.

Die sich ändernden Volumes (hauptsächlich / var, aber möglicherweise nur / var / log und / var / lib / mysql usw.) sind normalerweise das, worüber Sie sich Sorgen machen und die Erweiterung planen müssen. Verwenden Sie daher nach Möglichkeit lvm usw., um die Größenänderung zu vereinfachen.

johnshen64
quelle
1
Ich persönlich benutze LVM und boot muss sich auf einer eigenen Partition befinden, nicht Teil einer Volume-Gruppe, von der ich glaube (wenn Sie Grub-Legacy verwenden).
4

Ja, ich verwende immer noch mehrere Partitionen auf virtuellen Maschinen und Mountpunkten, um Überwachungs-, Sicherheits- und Wartungsanforderungen zu erfüllen.

Ich bin kein Fan von virtuellen Einzel- oder eingeschränkten Mountpoint-Maschinen (es sei denn, sie sind Wegwerfmaschinen). Ich behandle VMs genauso wie physische Server. Das Ausrichten von Partitionen an einigen Stellen des Linux-Dateisystem-Hierarchiestandards ist im Hinblick auf die logische Trennung von ausführbaren Dateien, Datenpartitionen, temporären und Protokollspeichern weiterhin sinnvoll. Dies erleichtert auch die Systemreparatur. Dies gilt insbesondere für virtuelle Maschinen und Server, die von einer Vorlage abgeleitet sind.

(Übrigens mag ich LVM auf virtuellen Maschinen auch nicht ... Planen Sie besser !! )

In meinen Systemen versuche ich Folgendes:

  • / ist in der Regel klein und wächst nicht viel.
  • /boot Die Größe ist vorhersehbar und das Wachstum wird durch die Häufigkeit der Kernel-Updates gesteuert.
  • /tmpist anwendungs- und umgebungsabhängig, kann aber entsprechend dimensioniert werden. Die getrennte Überwachung hilft beim Messen von abnormalem Verhalten und schützt den Rest des Systems.
  • /usr Sollte vorhersehbar sein und ausführbare Dateien usw. enthalten.
  • /varwächst, aber die Menge der Datenabwanderung kann kleiner sein. Schön, es separat dosieren zu können.
  • Und eine Wachstumspartition. In diesem Fall ist es /data, aber wenn dies ein Datenbanksystem wäre, könnte es sein /var/lib/mysqloder /var/lib/pgsql... Beachten Sie, dass es sich um ein anderes Blockgerät handelt /dev/sdb. Dies ist einfach ein weiteres VMDK auf dieser virtuellen Maschine, sodass die Größe unabhängig von dem VMDK geändert werden kann, das die realen Betriebssystempartitionen enthält.

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              12G  2.5G  8.8G  23% /
tmpfs                 7.8G     0  7.8G   0% /dev/shm
/dev/sda1             291M  131M  145M  48% /boot
/dev/sda7             2.0G   68M  1.9G   4% /tmp
/dev/sda3             9.9G  3.5G  5.9G  38% /usr
/dev/sda6             6.0G  892M  4.8G  16% /var
/dev/sdb1             360G  271G   90G  76% /data

Die Trennung einiger dieser Partitionen erleichtert das Erkennen von Trends und das Erkennen von Anomalien. zB 4GB Core Dumps in /var, ein Prozess, der erschöpft /tmp,

Normal Bildbeschreibung hier eingeben

Anormal. Der plötzliche Anstieg /varwäre nicht leicht zu erkennen gewesen, wenn eine große /Partition verwendet worden wäre. Bildbeschreibung hier eingeben


Vor kurzem musste ich einen Cocktail von Dateisystem-Mount-Parametern und -Attributen (nodev, nosuid, noexec, noatime, nobarrier) für eine sicherheitsrelevante VM-Vorlage anwenden. Die Partitionierung war hierfür unabdingbar, da für einige Partitionen bestimmte Einstellungen erforderlich waren, die nicht global angewendet werden konnten. Ein weiterer Datenpunkt.

ewwhite
quelle
2

Sicher, die mehreren Mountpunkte haben immer noch ihre Vorteile, ein virtualisierter Server oder nicht.

Aber mit der Virtualisierung verwenden Sie wahrscheinlich auch Vorlagen für virtuelle Maschinen, oder? Und Ihr Überwachungssystem wie Nagios (mit NConf?) Unterstützt auch Vorlagen? Wenn ja, dann müssen Sie diesen mentalen Kampf nur einmal durchlaufen.

Zurück zum Thema.

Früher habe ich meine Systeme auf diese Weise aufgeteilt: /, /home, /usr, /var, /tmp(und möglicherweise anderer Stelle für die Datenmontage), aber das war übertrieben und ein Streit. Heutzutage ist ein einfaches OS-Image nur mit /, vielleicht mit einem separaten, /varein guter Weg für mich; Wenn ein virtueller Server mehr Speicherplatz für Daten benötigt, gebe ich ihm ein weiteres Image und mounte es, wo immer es benötigt wird.

Janne Pikkarainen
quelle
Wie erkennt man Probleme in /optoder /tmpunter einer einzelnen Partition?
Ewwhite
Wenn ein Server anfängt, seinen Speicherplatz schnell zu verbrauchen, ist so etwas du -m --max-depth=4 / | sort -nr | head -n 30 | lessüberraschend effektiv. Und in einer kontrollierten. Überwachte Umgebung, wie viele potenzielle Orte haben Sie überhaupt für solche Dinge? /var/log, /tmp, /opt/*/log, Vielleicht etwas anderes? Nicht zu schwer.
Janne Pikkarainen
1

Bei Dateiservern habe ich auch die Tendenz, das /homeVolume auf einer eigenen Partition / Festplatte bereitzustellen und noexecbeim Aktivieren die Option zu verwenden. Paranoia, verhindert jedoch, dass die Benutzer Dateien in ihren Basisordnern ausführen.

Auch ich neige dazu, das /bootVolume auf einem RAID 1-Spiegel über alle Laufwerke zu legen , aber ich folge der alten Praxis, dass ich noch keinen Nachteil sehe

Der Kanadier Luke REINSTATE MONICA
quelle
1
Die Frage betraf virtuelle Server, sodass das Bit zu / boot auf RAID 1 nicht zutrifft. Aber es ist definitiv eine gute Idee auf physischen Servern.
Paul Gear