"Es hängt davon ab, ob."
Wenn Sie sich in einer Umgebung befinden, die Sie steuern (vmware oder kvm oder was auch immer), und Ihre eigenen Entscheidungen über die QoS der Festplattenleistung treffen können, empfehle ich, LVM nicht in Ihren VMs zu verwenden. Es gibt Ihnen nicht viel Flexibilität, die Sie auf Hypervisor-Ebene nicht erreichen könnten.
Denken Sie daran, dass der Hypervisor diese Aufgaben bereits effektiv ausführt. Wenn Sie in der Lage sein möchten, die Größe von Dateisystemen willkürlich zu ändern (eine gute Idee), erstellen Sie einfach eine separate virtuelle Festplatte für jedes Dateisystem.
Eine Sache, an die du denken könntest, wenn du diesen Weg einschlägst. Auf diese Weise müssen Sie nicht einmal unbedingt Partitionen auf Ihren virtuellen Laufwerken platzieren. Beispielsweise können Sie ein virtuelles Laufwerk für erstellen /home
. es ist /dev/vdc
in deinem vm. Tun Sie beim Erstellen des Dateisystems etwas, mke2fs -j /dev/vdc
anstatt eine Partition anzugeben.
Dies ist eine gute Idee, aber ... die meisten Tools (und andere Administratoren, die hinter Ihnen her sind) erwarten Partitionen auf jeder Festplatte. Ich würde nur empfehlen, eine einzelne Partition auf der Festplatte zu platzieren und damit fertig zu sein. Es bedeutet jedoch noch einen Schritt mehr, wenn Sie die Größe des Dateisystems ändern. Und vergessen Sie nicht, Ihre Partitionen richtig auszurichten - das Starten der ersten Partition bei 1 MB ist eine gute Faustregel.
Alles, was gesagt wurde - Wenn Sie dies alles auf Hypervisor-Ebene tun, müssen Sie wahrscheinlich die VM neu starten, um die Größe der Partitionen zu ändern. Mit LVM können Sie eine virtuelle Festplatte im laufenden Betrieb hinzufügen (vorausgesetzt, Ihre Hypervisor / Betriebssystem-Kombination ermöglicht dies) und das Dateisystem ohne Neustart erweitern. Das ist definitiv ein Plus.
Wenn Sie einen Cloud-Anbieter verwenden, ist dies subtiler.
Ich weiß nicht viel über Azure, GCP oder einen der kleineren Spieler, deshalb kann ich dort nicht helfen.
Mit AWS können Sie meinen obigen Rat befolgen und es wird Ihnen oft gut gehen. Sie können (jetzt) die Größe von EBS-Volumes (virtuellen Laufwerken) im laufenden Betrieb erhöhen und die Größe von Partitionen usw. ändern.
Im Allgemeinen kann es jedoch sinnvoll sein, alles auf ein einziges großes EBS-Volume zu stellen und LVM (oder, wie ich vermute, einfache Partitionen) zu verwenden. Amazon gibt Ihnen ein IOPS-Limit für jedes Volume. Standardmäßig skaliert diese Grenze mit der Größe des Volumes. Beispielsweise erhalten Sie für gp2
Volumes 3 IOPS pro GiB (mindestens 100 IOPS). Siehe https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
Für die meisten Workloads möchten Sie, dass alle verfügbaren IOPS für jedes Dateisystem verfügbar sind, je nach aktuellem Bedarf. Daher ist es sinnvoll, ein einziges großes EBS-Volume zu erstellen, alle Ihre IOPS in einem Bucket zu speichern und es zu partitionieren / LVM-fähig zu machen.
Beispiel:
3 Festplatten mit unabhängigen Dateisystemen / Auslagerungsbereichen, jeweils 100 GB groß. Jeder bekommt 300 IOPS. Die Leistung ist auf 300 IOPS pro Platte begrenzt.
1 Festplatte, 300 GB groß. LVM-Partitionen auf der Festplatte mit jeweils 100 GB. Die Festplatte erhält 900 IOPS. Jede der Partitionen kann alle 900 IOPS verwenden.