.png)
Wie partitioniere ich zwei SSDs in ein LVM für eine Linux-Installation? Ich habe eine 1 TB Samsung SSD und eine 480 GB NVMe SSD im Grafikkartensteckplatz. Ich möchte bestimmte Programme auswählen können, die auf der 480 GB NVMe installiert werden sollen, damit sie mit maximaler Geschwindigkeit laufen, da die Lese- und Schreibgeschwindigkeiten höher sind. Wenn ich beispielsweise VirtualBox installiere, möchte ich es für maximale Leistung auf der NVMe installieren.
Sollte ich meine Home-Partition so konfigurieren, dass sie auf dem NVMe ruht und Dinge in meinem Home-Speicher installiert, die die beste Leistung bringen sollen? Sollte ich eine /opt
Partition auf dem NVMe erstellen? Wie gehe ich dabei vor?
Antwort1
Bei einer Workstation ist es eine Frage der persönlichen Vorliebe. Ich würde wahrscheinlich ein /srv-Verzeichnis erstellen und dann das NVMe-Dateisystem dort mounten. /opt ist normalerweise nicht für R/W-Speicher geeignet. Die Leistung von Virtualbox hängt nicht davon ab, wo die Anwendungsbinärdatei installiert ist, sondern davon, wo das Disk-Image gespeichert ist. Ein guter Ort ist beispielsweise Ihr NVMe-Laufwerk.
LVM ist für eine einzelne Dateisystemfestplatte nicht wirklich sinnvoll. Es ist überhaupt nicht dateisystembewusst. Wenn Sie sie also zu einer einzigen Volume-Gruppe (VG) zusammenführen, müssen Sie separate logische Volumes (LV) erstellen, die auf bestimmten physischen Volumes (PV) platziert werden. In einem einfachen Anwendungsfall wie dem Speichern von VM-Images würde ich davon abraten, da es Ihnen keine wesentlichen Vorteile bringt, es sei denn, Sie führen eine Disk-Passthrough-Verbindung zu VMs durch. Dies ist viel umständlicher zu verwalten, da Sie nun LVs für jede VM manuell zuweisen und dann manuell Disk-Passthrough-VMDKs erstellen müssen. Wenn Sie andere Dateisystemdaten auf dem NVMe speichern möchten, müssen Sie dafür auch ein LV erstellen.
Diese Antwort setzt voraus, dass Sie bereits auf der SSD installiert sind und die NVMe-Festplatte ausschließlich für Hochgeschwindigkeitsspeicher verwenden. Andernfalls können Sie mit den meisten Installationsprogrammen beliebige Partitionen und Einhängepunkte nach Bedarf erstellen.
Kein LVM (zB VDI-Dateien im Dateisystem)
1. Erstellen Sie eine Partition und formatieren Sie sie
Sie können gparted
dies grafisch tun. Wählen Sie das Gerät aus, das Sie ändern möchten, führen Sie dann aus Device -> Create Partition Table
, dann Partition -> New
und schließlich Partition -> Format
. Die Standardeinstellungen sind wahrscheinlich für jede dieser Aktionen ausreichend. Merken Sie sich den Dateisystemtyp, den Sie im letzten Schritt ausgewählt haben.
2. Aktualisieren Sie fstab mit dem Mount-Speicherort
Verwenden Sie blkid
oder , lsblk --fs
um die UUID-Nummer für Ihr neues Dateisystem zu erhalten. Öffnen Sie als Root /etc/fstab in einem Editor wie nano und fügen Sie eine Zeile wie die folgende hinzu
UUID=abcdef00-0000-0000-0000-000000000000 /srv ext4 defaults 0 2
Ersetzen Sie die UUID durch die Ihres Dateisystems. Verwenden Sie hier keine Anführungszeichen. Der Dateisystemtyp sollte von ext4 in den Typ geändert werden, den Sie in gparted ausgewählt haben.
Testen Sie das Mounten des Dateisystems.
sudo mount /srv
df -h
Geben Sie keine zusätzlichen Optionen an, mount
da diese anhand Ihrer fstab-Änderungen erkannt werden sollten. Wenn Sie Optionen angeben müssen, ist fstab falsch und muss bearbeitet werden. Wenn dies erfolgreich ist, df
sollte Ihr NVMe-Gerät unter /srv gemountet angezeigt werden. /srv wird jetzt beim Booten automatisch gemountet.
Digitalocean hat eine detaillierteAnleitung zum Erstellen und Formatieren einer Partition mit den Befehlszeilentools.
Wenn Sie nun virtuelle Laufwerke in vbox erstellen, platzieren Sie diese in einem Unterverzeichnis von /srv. Möglicherweise müssen Sie die Berechtigungen für Verzeichnisse ändern, damit dies funktioniert (z. B. sudo chown $(whoami) /srv
indem Sie den Eigentümer auf sich selbst ändern).
LVM (z. B. VMDK-Disk-Passthrough)
1. Partitionieren wie oben, aber nicht formatieren
Widerstehen Sie der Versuchung, eine unpartitionierte Festplatte zu verwenden. Wenn keine Partitionsinformationen vorhanden sind, können später leichter Fehler passieren.
Es ist nicht unbedingt erforderlich, aber Sie können den Volume-Typ auf Linux LVM einstellen.
2. Volume-Gruppe erstellen
Führen Sie mit dem oben genannten Gerät vgcreate aus, um eine neue Datenträgergruppe zu initialisieren.
sudo vgcreate nvme /dev/sdb1
Ersetzen Sie /dev/sdb1 durch die entsprechende oben erstellte Partition.
3. Erstellen Sie ein LV für Disk Passthrough
Wenn Sie ein 30GiB-Volume für eine neue VM mit dem Namen vm1 erstellen möchten, führen Sie lvcreate aus
sudo lvcreate -L30G -Cy -n vm1 nvme
Verwenden Sie nun vboxmanage, um eine VMDK-Datei zur Verwendung als Festplatte zu erstellen
sudo VBoxManage internalcommands createrawvmdk -filename $HOME/vm1.vmdx -rawdisk /dev/mapper/nvme-vm1
Gerätemappernamen für LVM liegen im Format [vg-Name]-[lv-Name] vor. Wenn Sie also einen der oben genannten Namen geändert haben, ändern Sie ihn hier entsprechend.
An diesem Punkt möchten Sie vielleichtÄndern Sie die Geräteberechtigungen für dieses LV mit udev.
Es gibt ein system-config-lvm
Tool zur grafischen Verwaltung von LVM, aber meines Wissens gibt es kein grafisches Tool zum Erstellen der VMDK-Disk-Passthrough-Dateien, und die VBoxManage-GUI kann Schritt 3 nicht für Sie ausführen.