{"id":9907,"date":"2026-08-04T17:17:56","date_gmt":"2026-08-04T16:17:56","guid":{"rendered":"https:\/\/www.kevinmaschke.com\/?p=9907"},"modified":"2026-08-04T17:17:56","modified_gmt":"2026-08-04T16:17:56","slug":"vergrossern-linux-vm-festplatte-dateisystems-ohne-neustart","status":"publish","type":"post","link":"https:\/\/www.kevinmaschke.com\/de\/vergrossern-linux-vm-festplatte-dateisystems-ohne-neustart\/","title":{"rendered":"How-to: Vergr\u00f6\u00dfern einer Linux-VM-Festplatte und Dateisystems ohne Neustart"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Warst du schon mal in der Situation, dass auf einem Linux-Server der Speicherplatz ausgegangen ist und du diesen erweitern musstest, den Server aber nicht neu starten konntest? In diesem Artikel zeige ich dir, <strong>wie du die Gr\u00f6\u00dfe der Root-Partition erh\u00f6hen kannst, ohne den Server neu starten zu m\u00fcssen<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Die virtuelle Festplatte zu vergr\u00f6\u00dfern ist in der Regel schnell erledigt<\/strong>. Damit das Betriebssystem den zus\u00e4tzlichen Speicherplatz aber auch wirklich nutzen kann, musst du innerhalb der virtuellen Maschine noch ein paar \u00c4nderungen vornehmen. Die gute Nachricht ist, dass <strong>die meisten modernen <a href=\"https:\/\/www.kevinmaschke.com\/de\/tag\/linux-de\/\" data-type=\"post_tag\" data-id=\"1696\">Linux<\/a>-Distributionen die Online-Erweiterung von Dateisystemen unterst\u00fctzen<\/strong>. Dadurch kannst du den verf\u00fcgbaren Speicherplatz erweitern, ohne den Server neu starten oder laufende Anwendungen unterbrechen zu m\u00fcssen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Diese Anleitung erkl\u00e4rt den grunds\u00e4tzlichen Ablauf und behandelt die g\u00e4ngigsten Speicherlayouts von Linux-VMs auf Plattformen wie:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>KVM \/ QEMU<\/li>\n\n\n\n<li><a href=\"https:\/\/www.kevinmaschke.com\/de\/tag\/vmware-de\/\" data-type=\"post_tag\" data-id=\"569\">VMware<\/a> ESXi<\/li>\n\n\n\n<li>Microsoft Hyper-V<\/li>\n\n\n\n<li>Xen<\/li>\n\n\n\n<li><a href=\"https:\/\/www.kevinmaschke.com\/de\/tag\/virtualbox-de\/\" data-type=\"post_tag\" data-id=\"567\">VirtualBox<\/a><\/li>\n\n\n\n<li>Cloud-Anbieter mit VirtIO-, SCSI- oder NVMe-Datentr\u00e4gern<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Welche Befehle du am Ende ben\u00f6tigst, h\u00e4ngt von deinem Festplattenlayout, dem verwendeten Dateisystem und der zugrunde liegenden Speichertechnologie ab.<\/p>\n\n\n\n<h2 id=\"understanding-the-storage-stack\" class=\"wp-block-heading\">Den Speicheraufbau einer Linux-VM verstehen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bevor du loslegst, solltest du verstehen, an welcher Stelle der zus\u00e4tzliche Speicherplatz \u00fcberhaupt verf\u00fcgbar wird. Der Speicher einer virtuellen Maschine besteht aus mehreren Ebenen:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Hypervisor\n    |\n    \u2193\nVirtuelle Festplatte (VMDK\/QCOW2\/VHDX\/VHD)\n    |\n    \u2193\nLinux-Blockger\u00e4t (\/dev\/sda, \/dev\/vda, \/dev\/nvme0n1)\n    |\n    \u2193\nPartition \/ LVM \/ RAID\n    |\n    \u2193\nDateisystem (ext4, XFS, Btrfs)\n    |\n    \u2193\nEingeh\u00e4ngtes Verzeichnis (\/)<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn du die virtuelle Festplatte vergr\u00f6\u00dferst, \u00e4ndert sich zun\u00e4chst nur die erste Ebene. Zum Beispiel:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Vorher<\/strong>:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Virtuelle Festplatte: 50GB\n\n\/dev\/vda\n\u2514\u2500\u2500 \/dev\/vda1\n        \u2514\u2500\u2500 ext4-Dateisystem (50GB)<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Nach dem Vergr\u00f6\u00dfern<\/strong> der Festplatte:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Virtuelle Festplatte: 100GB\n\n\/dev\/vda\n\u2514\u2500\u2500 \/dev\/vda1\n        \u2514\u2500\u2500 ext4-Dateisystem (50GB)\n\nNicht zugewiesener Speicherplatz: 50GB<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Der zus\u00e4tzliche Speicherplatz steht dem Betriebssystem noch nicht automatisch zur Verf\u00fcgung. Erst nachdem du die Partition und anschlie\u00dfend das Dateisystem erweitert hast, kann Linux die zus\u00e4tzliche Kapazit\u00e4t auch nutzen.<\/p>\n\n\n\n<h2 id=\"pre-requisites\" class=\"wp-block-heading\">Voraussetzungen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bevor du \u00c4nderungen vornimmst, solltest du Folgendes bereithalten:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Administrativen Zugriff auf den Hypervisor der virtuellen Maschine.<\/li>\n\n\n\n<li>Die Berechtigung, die Gr\u00f6\u00dfe der virtuellen Festplatte auf dem Hypervisor zu \u00e4ndern.<\/li>\n\n\n\n<li>SSH-Zugriff auf die virtuelle Maschine.<\/li>\n\n\n\n<li>Einen aktuellen Snapshot oder ein aktuelles Backup.<\/li>\n\n\n\n<li>Einen \u00dcberblick \u00fcber das aktuelle Speicherlayout.<\/li>\n<\/ul>\n\n\n\n<h2 id=\"1-check-the-current-disk-layout\" class=\"wp-block-heading\">1. Das aktuelle Festplattenlayout pr\u00fcfen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Als Erstes solltest du dir ansehen, wie das System aktuell aufgebaut ist.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Beginne mit <code>lsblk<\/code>:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">root@server01:~# lsblk\n\nNAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS\nvda    252:0    0   50G  0 disk\n\u251c\u2500vda1 252:1    0    1G  0 part \/boot\n\u2514\u2500vda2 252:2    0   49G  0 part \/<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Dies zeigt:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Die Festplatte (<code>vda<\/code>) ist 50 GB gro\u00df.<\/li>\n\n\n\n<li>Die Root-Partition (<code>vda2<\/code>) ist nur 49 GB gro\u00df.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Pr\u00fcfe anschlie\u00dfend die Belegung des Dateisystems:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">root@server01:~# df -h\n\nFilesystem      Size  Used Avail Use% Mounted on\n\/dev\/vda2        49G   43G  4.0G  92% \/\n\/dev\/vda1       974M  120M  854M  13% \/boot<\/pre>\n\n\n\n<h2 id=\"2-expand-the-virtual-disk\" class=\"wp-block-heading\">2. Die virtuelle Festplatte vergr\u00f6\u00dfern<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Der erste Schritt erfolgt auf der Hypervisor-Seite<\/strong>. Vergr\u00f6\u00dfere die virtuelle Festplatte auf die gew\u00fcnschte Endgr\u00f6\u00dfe. Hat die Festplatte beispielsweise aktuell 50 GB und du ben\u00f6tigst weitere 50 GB, solltest du sie auf insgesamt 100 GB erweitern.<\/p>\n\n\n\n<div data-wp-context=\"{ &quot;autoclose&quot;: true, &quot;accordionItems&quot;: [] }\" data-wp-interactive=\"core\/accordion\" role=\"group\" class=\"wp-block-accordion is-layout-flow wp-block-accordion-is-layout-flow\">\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-1&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h3 class=\"wp-block-accordion-heading has-background\" style=\"background-color:#3e3e8324\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-1-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" data-wp-on--keydown=\"actions.handleKeyDown\" id=\"accordion-item-1\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><span class=\"wp-block-accordion-heading__toggle-title\">VMware<\/span><\/button><\/h3>\n\n\n\n<div inert aria-labelledby=\"accordion-item-1\" data-wp-bind--inert=\"!state.isOpen\" id=\"accordion-item-1-panel\" role=\"region\" class=\"wp-block-accordion-panel has-background is-layout-flow wp-block-accordion-panel-is-layout-flow\" style=\"background-color:#f7f7f7\">\n<p class=\"wp-block-paragraph\">VMware<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vergr\u00f6\u00dfere die Festplatte \u00fcber:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Virtual Machine \u2192 Edit Settings \u2192 Hard Disk \u2192 Increase Capacity<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-2&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h3 class=\"wp-block-accordion-heading has-background\" style=\"background-color:#3e3e8324\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-2-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" data-wp-on--keydown=\"actions.handleKeyDown\" id=\"accordion-item-2\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><span class=\"wp-block-accordion-heading__toggle-title\">Microsoft Hyper-V<\/span><\/button><\/h3>\n\n\n\n<div inert aria-labelledby=\"accordion-item-2\" data-wp-bind--inert=\"!state.isOpen\" id=\"accordion-item-2-panel\" role=\"region\" class=\"wp-block-accordion-panel has-background is-layout-flow wp-block-accordion-panel-is-layout-flow\" style=\"background-color:#f7f7f7\">\n<p class=\"wp-block-paragraph\">Powershell:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Resize-VHD <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">\n  -Path &quot;LinuxServer01.vhdx&quot; <\/code>\n  -SizeBytes 100GB<\/pre>\n<\/div>\n<\/div>\n\n\n\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-3&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h3 class=\"wp-block-accordion-heading has-background\" style=\"background-color:#3e3e8324\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-3-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" data-wp-on--keydown=\"actions.handleKeyDown\" id=\"accordion-item-3\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><span class=\"wp-block-accordion-heading__toggle-title\">VirtualBox (neue Gesamtgr\u00f6\u00dfe wird in MB)<\/span><\/button><\/h3>\n\n\n\n<div inert aria-labelledby=\"accordion-item-3\" data-wp-bind--inert=\"!state.isOpen\" id=\"accordion-item-3-panel\" role=\"region\" class=\"wp-block-accordion-panel has-background is-layout-flow wp-block-accordion-panel-is-layout-flow\" style=\"background-color:#f7f7f7\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">VBoxManage modifymedium disk LinuxServer01.vdi --resize 102400<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Weil:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">100GB \u00d7 1024MB = 102400MB<\/pre>\n<\/div>\n<\/div>\n\n\n\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-4&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h3 class=\"wp-block-accordion-heading has-background\" style=\"background-color:#3e3e8324\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-4-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" data-wp-on--keydown=\"actions.handleKeyDown\" id=\"accordion-item-4\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><span class=\"wp-block-accordion-heading__toggle-title\">KVM\/QEMU<\/span><\/button><\/h3>\n\n\n\n<div inert aria-labelledby=\"accordion-item-4\" data-wp-bind--inert=\"!state.isOpen\" id=\"accordion-item-4-panel\" role=\"region\" class=\"wp-block-accordion-panel has-background is-layout-flow wp-block-accordion-panel-is-layout-flow\" style=\"background-color:#f7f7f7\">\n<p class=\"wp-block-paragraph\"><code>qemu-img resize<\/code> verh\u00e4lt sich etwas anders. Ohne ein <code>+<\/code> gibst du die endg\u00fcltige Gr\u00f6\u00dfe an:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">qemu-img resize linux-server.qcow2 100G<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Mit einem <code>+<\/code> wird die angegebene Gr\u00f6\u00dfe zus\u00e4tzlich hinzugef\u00fcgt:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">qemu-img resize linux-server.qcow2 +50G<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Beide Befehle f\u00fchren zum gleichen Ergebnis:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">50GB + 50GB = 100GB<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">L\u00e4uft die VM bereits, kannst du stattdessen Folgendes verwenden:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">virsh blockresize linux-server \/var\/lib\/libvirt\/images\/linux-server.qcow2 100G\n<\/pre>\n<\/div>\n<\/div>\n\n\n\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-5&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h3 class=\"wp-block-accordion-heading has-background\" style=\"background-color:#3e3e8324\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-5-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" data-wp-on--keydown=\"actions.handleKeyDown\" id=\"accordion-item-5\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><span class=\"wp-block-accordion-heading__toggle-title\">Xen<\/span><\/button><\/h3>\n\n\n\n<div inert aria-labelledby=\"accordion-item-5\" data-wp-bind--inert=\"!state.isOpen\" id=\"accordion-item-5-panel\" role=\"region\" class=\"wp-block-accordion-panel has-background is-layout-flow wp-block-accordion-panel-is-layout-flow\" style=\"background-color:#f7f7f7\">\n<p class=\"wp-block-paragraph\">Der genaue Befehl h\u00e4ngt vom verwendeten Storage-Backend ab. Nutzt die virtuelle Festplatte beispielsweise LVM, kannst du sie so vergr\u00f6\u00dfern:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">lvextend -L +50G \/dev\/vg\/vm-disk<\/pre>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">An diesem Punkt ist <strong>die virtuelle Festplatte auf dem Hypervisor zwar gr\u00f6\u00dfer, Linux hat diese \u00c4nderung aber m\u00f6glicherweise noch nicht erkannt<\/strong>.<\/p>\n\n\n\n<h2 id=\"3-rescan-the-disk-from-linux\" class=\"wp-block-heading\">3. Die Festplatte unter Linux neu einlesen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nachdem du die virtuelle Festplatte vergr\u00f6\u00dfert hast, erkennt Linux den zus\u00e4tzlichen Speicherplatz m\u00f6glicherweise nicht sofort.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">root@server01:~# lsblk\n\nNAME   SIZE TYPE MOUNTPOINTS\nvda     50G disk\n\u251c\u2500vda1   1G part \/boot\n\u2514\u2500vda2  49G part \/<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Wie du siehst, wird noch die alte Gr\u00f6\u00dfe angezeigt. Deshalb m\u00fcssen wir das Blockger\u00e4t zun\u00e4chst neu einlesen.<\/p>\n\n\n\n<h3 id=\"rescan-depending-on-the-device-type\" class=\"wp-block-heading\">Je nach Festplattentyp unterscheidet sich der Befehl:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr <strong>SCSI<\/strong>-Festplatten:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">echo1 > \/sys\/class\/block\/sda\/device\/rescan\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr <strong>VirtIO<\/strong>-Festplatten:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">echo1 > \/sys\/class\/block\/vda\/device\/rescan\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr <strong>NVMe<\/strong>:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">nvme rescan\n<\/pre>\n\n\n\n<h3 id=\"verify\" class=\"wp-block-heading\">\u00dcberpr\u00fcfen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Pr\u00fcfe anschlie\u00dfend mit <code>lsblk<\/code>, ob Linux die neue Gr\u00f6\u00dfe erkannt hat:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">root@server01:~# lsblk\n\nNAME   SIZE TYPE MOUNTPOINTS\nvda    100G disk\n\u251c\u2500vda1   1G part \/boot\n\u2514\u2500vda2  49G part \/<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Linux erkennt jetzt den zus\u00e4tzlichen Speicherplatz. Die Partition selbst wurde allerdings noch nicht vergr\u00f6\u00dfert.<\/p>\n\n\n\n<h2 id=\"4-determine-your-storage-type\" class=\"wp-block-heading\">4. Das Speicherlayout bestimmen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wie du den Speicherplatz erweiterst, h\u00e4ngt davon ab, wie die Festplatte aufgebaut ist.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zu den g\u00e4ngigsten Speicherlayouts geh\u00f6ren:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Standardpartitionen<\/li>\n\n\n\n<li>LVM<\/li>\n\n\n\n<li>Software-RAID<\/li>\n\n\n\n<li>ZFS<\/li>\n\n\n\n<li>Verschl\u00fcsselte Datentr\u00e4ger<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Am h\u00e4ufigsten kommen unter Linux Standardpartitionen und LVM zum Einsatz.<\/p>\n\n\n\n<h3 id=\"traditional-partitions\" class=\"wp-block-heading\">Standardpartitionen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Beispiel:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/dev\/vda1 \u2192 \/\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Typische Werkzeuge::<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>fdisk<\/li>\n\n\n\n<li>parted<\/li>\n\n\n\n<li>resize2fs<\/li>\n\n\n\n<li>xfs_growfs<\/li>\n<\/ul>\n\n\n\n<h3 id=\"lvm\" class=\"wp-block-heading\">LVM<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Beispiel:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/dev\/vda\n \u2514\u2500\u2500 partition\n      \u2514\u2500\u2500 volume group\n            \u2514\u2500\u2500 logical volume \/\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Typische Werkzeuge:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>pvresize<\/li>\n\n\n\n<li>lvextend<\/li>\n\n\n\n<li>resize2fs<\/li>\n\n\n\n<li>xfs_growfs<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">LVM ist in der Regel das am einfachsten zu erweiternde Speicherlayout.<\/p>\n\n\n\n<h3 id=\"other-storage-technologies\" class=\"wp-block-heading\">Weitere Speichertechnologien<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In manchen Umgebungen kommen au\u00dferdem folgende Technologien zum Einsatz:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>RAID<\/li>\n\n\n\n<li>ZFS<\/li>\n\n\n\n<li>Btrfs<\/li>\n\n\n\n<li>Verschl\u00fcsselte Datentr\u00e4ger<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr diese gelten jeweils eigene Vorgehensweisen zur Speichererweiterung.<\/p>\n\n\n\n<h2 id=\"5-expanding-an-lvm-root-filesystem\" class=\"wp-block-heading\">5. Das Root-Dateisystem mit LVM erweitern<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">LVM wird h\u00e4ufig in Enterprise-Linux-Distributionen und vielen Cloud-Images verwendet.<\/p>\n\n\n\n<h3 id=\"check-lvm-disk\" class=\"wp-block-heading\">LVM-Konfiguration pr\u00fcfen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Pr\u00fcfe zun\u00e4chst, ob dein System LVM verwendet:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">root@server01:~# lsblk\n\nNAME                 SIZE TYPE MOUNTPOINTS\nvda                   50G disk\n\u2514\u2500vda2                50G part\n  \u2514\u2500ubuntu--vg-root   50G lvm  \/<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Nachdem du die virtuelle Festplatte auf 100 GB vergr\u00f6\u00dfert und das Blockger\u00e4t neu eingelesen hast, sieht die Ausgabe so aus:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">root@server01:~# lsblk\n\nNAME                 SIZE TYPE MOUNTPOINTS\nvda                  100G disk\n\u2514\u2500vda2               100G part\n  \u2514\u2500ubuntu--vg-root   50G lvm  \/<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Die Festplatte und die Partition wurden bereits vergr\u00f6\u00dfert, das logische Volume verwendet aber noch immer die urspr\u00fcnglichen 50 GB.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pr\u00fcfe die Volume Groups:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">root@server01:~# vgdisplay\n\n  VG Name               ubuntu-vg\n  VG Size               98.00 GiB\n  Alloc PE \/ Size       49.00 GiB\n  Free PE \/ Size        49.00 GiB<\/pre>\n\n\n\n<h3 id=\"resize-the-physical-volume\" class=\"wp-block-heading\">Physical Volume vergr\u00f6\u00dfern<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">root@server01:~# pvresize \/dev\/vda2\n\nPhysical volume \"\/dev\/vda2\" changed\n1 physical volume(s) resized or updated<\/pre>\n\n\n\n<h3 id=\"extend-the-logical-volume\" class=\"wp-block-heading\">Logical Volume erweitern<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">root@server01:~# lvextend -l +100%FREE \/dev\/ubuntu-vg\/root\n\nSize of logical volume ubuntu-vg\/root changed from 49.00 GiB to 98.00 GiB.\nLogical volume ubuntu-vg\/root successfully resized.<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Alternativ kannst du auch eine feste Gr\u00f6\u00dfe angeben:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">lvextend -L +50G \/dev\/mapper\/root<\/pre>\n\n\n\n<h3 id=\"grow-the-filesystem\" class=\"wp-block-heading\">Dateisystem vergr\u00f6\u00dfern<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr <strong>ext4<\/strong>:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">root@server01:~# resize2fs \/dev\/ubuntu-vg\/root\n\nresize2fs 1.46.5 (30-Dec-2021)\nFilesystem at \/dev\/ubuntu-vg\/root is mounted on \/; on-line resizing required\nThe filesystem on \/dev\/ubuntu-vg\/root is now 25690112 (4k) blocks long.<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr <strong>XFS<\/strong>:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">root@server01:~# xfs_growfs \/\n\ndata blocks changed from 12845056 to 25690112<\/pre>\n\n\n\n<h3 id=\"verify-1\" class=\"wp-block-heading\">\u00dcberpr\u00fcfen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Kontrolliere abschlie\u00dfend mit <code>df<\/code>, ob der zus\u00e4tzliche Speicherplatz verf\u00fcgbar ist:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">root@server01:~# df -h \/\n\nFilesystem                   Size Used Avail Use%\n\/dev\/mapper\/ubuntu--vg-root   98G  43G   51G  46% \/<\/pre>\n\n\n\n<h2 id=\"6-expanding-a-traditional-partition\" class=\"wp-block-heading\">6. Eine Standardpartition erweitern<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Manche Linux-Installationen verwenden ein klassisches Partitionslayout ohne LVM.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Beispiel:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">root@server01:~# fdisk -l \/dev\/vda\n\nDevice      Start     End        Sectors    Size\n\/dev\/vda1   2048      96471039   96468991   46G\n\/dev\/vda2   96471040  104857599  8386559    4G<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Der wichtigste Wert ist der <strong>Start-Sektor<\/strong>.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Beim Neuerstellen der Partition <strong>muss<\/strong> dieser Start-Sektor exakt gleich bleiben. Ist das nicht der Fall, kann das Dateisystem besch\u00e4digt werden und die Daten sind m\u00f6glicherweise nicht mehr erreichbar.<\/p>\n\n\n\n<h3 id=\"disable-swap-if-required\" class=\"wp-block-heading\">Swap deaktivieren (falls erforderlich)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Falls deine Swap-Partition als eigene Partition eingerichtet ist, solltest du sie zun\u00e4chst deaktivieren. (\u26a0\ufe0f <strong>Hinweis:<\/strong> Stelle sicher, dass dein System eine Zeit lang auch ohne Swap stabil weiterlaufen kann.):<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">swapoff -a<\/pre>\n\n\n\n<h3 id=\"delete-partitions\" class=\"wp-block-heading\">Partitionen l\u00f6schen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Jetzt erstellen wir die Partitionstabelle neu. Dazu l\u00f6schen wir zun\u00e4chst die beiden vorhandenen Partitionen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Starte <code>fdisk \/dev\/vda<\/code>, l\u00f6sche anschlie\u00dfend mit <code>d<\/code> zuerst <strong>Partition 2<\/strong> und danach <strong>Partition 1<\/strong>:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">root@prod-deb-01:~# fdisk \/dev\/vda\n\nCommand (m for help): d\nPartition number (1,2, default 2):\n\nPartition 2 has been deleted.\n\nCommand (m for help): d\nSelected partition 1\nPartition 1 has been deleted.\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u26a0\ufe0f <strong>Wichtig:<\/strong> Bei diesem Schritt wird die Partitionstabelle ge\u00e4ndert. Die vorhandenen Partitionen werden gel\u00f6scht und anschlie\u00dfend mit neuen Grenzen neu erstellt. Die Daten bleiben <strong>nur deshalb erhalten<\/strong>, weil die Partitionen mit <strong>genau denselben Start-Sektoren<\/strong> neu angelegt werden. Pr\u00fcfe die Start-Sektoren deshalb sorgf\u00e4ltig, bevor du die \u00c4nderungen speicherst, und stelle sicher, dass du \u00fcber ein aktuelles Backup oder einen Snapshot verf\u00fcgst.<\/p>\n\n\n\n<h3 id=\"recreate-partitions\" class=\"wp-block-heading\">Partitionen neu erstellen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Anschlie\u00dfend legen wir die Partitionen wieder an. Da unsere Swap-Partition bisher 4 GB gro\u00df war, behalten wir diese Gr\u00f6\u00dfe bei. Du kannst sie bei Bedarf nat\u00fcrlich auch vergr\u00f6\u00dfern.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zuerst <code>\/dev\/vda1<\/code> erstellen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dr\u00fccke <code>n<\/code>, um eine neue Partition anzulegen.<\/li>\n\n\n\n<li>W\u00e4hle <code>p<\/code> f\u00fcr eine prim\u00e4re Partition.<\/li>\n\n\n\n<li>\u00dcbernimm den vorgeschlagenen <strong>First sector<\/strong> (<code>2048<\/code>), indem du einfach <strong>Enter<\/strong> dr\u00fcckst.<\/li>\n\n\n\n<li>Gib anschlie\u00dfend die gew\u00fcnschte Partitionsgr\u00f6\u00dfe an. Wenn du die Festplatte beispielsweise auf <strong>100 GB<\/strong> erweitert hast und <strong>4 GB<\/strong> f\u00fcr Swap reservieren m\u00f6chtest, gibst du <code><strong>+96G<\/strong><\/code> ein.<\/li>\n<\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Command (m for help): n\nPartition type\n   p   primary (0 primary, 0 extended, 4 free)\n   e   extended (container for logical partitions)\nSelect (default p): p\nPartition number (1-4, default 1): 1\nFirst sector (2048-209715199, default 2048):\nLast sector, +sectors or +size{K,M,G,T,P} (2048-209715199, default 209715199): +96G\n\nCreated a new partition 1 of type 'Linux' and of size 96 GiB.\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Anschlie\u00dfend die Swap-Partition erstellen<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dr\u00fccke erneut <code>n<\/code> und anschlie\u00dfend <code>p<\/code>.<\/li>\n\n\n\n<li>\u00dcbernimm den vorgeschlagenen Wert f\u00fcr <strong>First sector<\/strong> mit <strong>Enter<\/strong>.<\/li>\n\n\n\n<li>\u00dcbernimm auch den Standardwert f\u00fcr <strong>Last sector<\/strong>, indem du erneut <strong>Enter<\/strong> dr\u00fcckst.<\/li>\n<\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Command (m for help): n\nPartition type\n   p   primary (1 primary, 0 extended, 3 free)\n   e   extended (container for logical partitions)\nSelect (default p): p\nPartition number (2-4, default 2): 2\nFirst sector (201328640-209715199, default 201328640):\nLast sector, +sectors or +size{K,M,G,T,P} (201328640-209715199, default 209715199):\n\nCreated a new partition 2 of type 'Linux' and of size 4 GiB.\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Da <strong>diese Partition als Swap verwendet werden soll<\/strong>, musst du jetzt noch ihren Typ in <code>fdisk<\/code> \u00e4ndern.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dr\u00fccke <code>t<\/code>.<\/li>\n\n\n\n<li>W\u00e4hle anschlie\u00dfend <strong>Partition 2<\/strong>.<\/li>\n\n\n\n<li>Mit <code>L<\/code> kannst du dir alle verf\u00fcgbaren Partitionstypen anzeigen lassen. Gib anschlie\u00dfend <code>82<\/code> ein, um <strong>Linux swap \/ Solaris<\/strong> auszuw\u00e4hlen.<\/li>\n<\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Command (m for help): t\nPartition number (1,2, default 2): 2\nPartition type (type L to list all types): L\n\n 0  Empty           24  NEC DOS         81  Minix \/ old Lin bf  Solaris\n 1  FAT12           27  Hidden NTFS Win 82  Linux swap \/ So c1  DRDOS\/sec (FAT-\n 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS\/sec (FAT-\n 3  XENIX usr       3c  PartitionMagic  84  OS\/2 hidden or  c6  DRDOS\/sec (FAT-\n 4  FAT16 &lt;32M      40  Venix 80286     85  Linux extended  c7  Syrinx\n 5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data\n 6  FAT16           42  SFS             87  NTFS volume set db  CP\/M \/ CTOS \/ .\n 7  HPFS\/NTFS\/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility\n 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt\n 9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access\n a  OS\/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R\/O\n b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD\/OS          e4  SpeedStor\n c  W95 FAT32 (LBA) 52  CP\/M            a0  IBM Thinkpad hi ea  Rufus alignment\n e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         eb  BeOS fs\n f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ee  GPT\n10  OPUS            55  EZ-Drive        a7  NeXTSTEP        ef  EFI (FAT-12\/16\/\n11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f0  Linux\/PA-RISC b\n12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f1  SpeedStor\n14  Hidden FAT16 &lt;3 61  SpeedStor       ab  Darwin boot     f4  SpeedStor\n16  Hidden FAT16    63  GNU HURD or Sys af  HFS \/ HFS+      f2  DOS secondary\n17  Hidden HPFS\/NTF 64  Novell Netware  b7  BSDI fs         fb  VMware VMFS\n18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fc  VMware VMKCORE\n1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fd  Linux raid auto\n1c  Hidden W95 FAT3 75  PC\/IX           bc  Acronis FAT32 L fe  LANstep\n1e  Hidden W95 FAT1 80  Old Minix       be  Solaris boot    ff  BBT\nPartition type (type L to list all types): 82\n\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>fdisk<\/code> best\u00e4tigt anschlie\u00dfend die \u00c4nderung:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Changed type of partition 'Linux' to 'Linux swap \/ Solaris'.\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Speichere die \u00c4nderungen anschlie\u00dfend mit <code>w<\/code>:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Command (m for help): w\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Vor dem Beenden kann folgende Meldung erscheinen:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">The partition table has been altered.\nCalling ioctl() to re-read partition table.\nRe-reading the partition table failed.: Device or resource busy\n\nThe kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).\n<\/pre>\n\n\n\n<h3 id=\"refresh-the-kernel-partition-table-without-rebooting\" class=\"wp-block-heading\">Partitionstabelle ohne Neustart neu einlesen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Damit der Kernel die neue Partitionstabelle \u00fcbernimmt, kannst du <code>partprobe<\/code> ausf\u00fchren:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">root@prod-deb-01:~# partprobe\n<\/pre>\n\n\n\n<h3 id=\"resize-the-filesystem\" class=\"wp-block-heading\">Dateisystem vergr\u00f6\u00dfern<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Nachdem die Partition erweitert wurde, musst du noch das Dateisystem vergr\u00f6\u00dfern.<\/p>\n\n\n\n<h4 id=\"ext-4\" class=\"wp-block-heading\">ext4<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">resize2fs \/dev\/vda2\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Beispiel:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">resize2fs 1.47.0\nFilesystem at \/dev\/vda2 is mounted on \/; on-line resizing required\nThe filesystem on \/dev\/vda2 is now 39062500 blocks long.\n<\/pre>\n\n\n\n<h4 id=\"xfs\" class=\"wp-block-heading\">XFS<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">xfs_growfs \/\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Beispiel:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">meta-data=\/dev\/vda2\ndata blocks changed from 12800000 to 39062500\n<\/pre>\n\n\n\n<h4 id=\"btrfs\" class=\"wp-block-heading\">BTRFS<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">btrfs filesystem resize max \/<\/pre>\n\n\n\n<h3 id=\"initialise-new-swap-location-of-dev-vda-2\" class=\"wp-block-heading\">Neue Swap-Partition initialisieren<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Da wir die Swap-Partition neu erstellt haben, muss sie jetzt neu initialisiert werden:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">root@prod-deb-01:~# mkswap \/dev\/vda2\nSetting up swapspace version 1, size = 4193276 KiB\nno label, UUID=c55c25a2-a386-4653-8455-4d9030586dd2\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Anschlie\u00dfend musst du die Datei <code>\/etc\/fstab<\/code> bearbeiten und die alte UUID durch die neue ersetzen, die von <code>mkswap<\/code> ausgegeben wurde. Die betreffende Zeile hat keinen Einh\u00e4ngepunkt (<em>mount point<\/em>) und verwendet den Typ <code>swap<\/code>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># \/etc\/fstab: static file system information.\n#\n# Use 'blkid' to print the universally unique identifier for a\n# device; this may be used with UUID= as a more robust way to name devices\n# that works even if disks are added and removed. See fstab(5).\n#\n# &lt;file system> &lt;mount point>   &lt;type>  &lt;options>       &lt;dump>  &lt;pass>\nUUID=332f8fb5-ff1f-4297-b512-f2c93a277296 \/               ext4    errors=remount-ro 0       1\n\/dev\/fd0        \/media\/floppy0  auto    rw,user,noauto,exec,utf8 0       0\nUUID=c55c25a2-a386-4653-8455-4d9030586dd2       none    swap    sw      0       0\n<\/pre>\n\n\n\n<h4 id=\"re-enable-swap\" class=\"wp-block-heading\">Swap wieder aktivieren<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Nachdem du <code>\/etc\/fstab<\/code> angepasst hast, kannst du die Swap-Partition wieder aktivieren:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">root@prod-deb-01:~# swapon -a\n<\/pre>\n\n\n\n<h2 id=\"7-expanding-zfs-storage\" class=\"wp-block-heading\">7. ZFS-Speicher erweitern<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">ZFS funktioniert etwas anders als herk\u00f6mmliche Partitionen oder LVM. Nachdem du die virtuelle Festplatte vergr\u00f6\u00dfert hast, musst du den zus\u00e4tzlichen Speicherplatz dem ZFS-Pool zur Verf\u00fcgung stellen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pr\u00fcfe zun\u00e4chst den Status des Pools:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">zpool status<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Erweitere anschlie\u00dfend das entsprechende Ger\u00e4t:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">zpool online -e pool_name device_name<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u00dcberpr\u00fcfe zum Schluss, ob die neue Gr\u00f6\u00dfe \u00fcbernommen wurde:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">zpool list<\/pre>\n\n\n\n<h2 id=\"8-verify-the-expansion\" class=\"wp-block-heading\">8. \u00dcberpr\u00fcfen, ob die Erweiterung erfolgreich war<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pr\u00fcfe zuerst die Gr\u00f6\u00dfe des Dateisystems:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">df-h \/\n\nFilesystem      Size Used Avail Use%\n\/dev\/vda2       96G   43G   49G47% \/\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Kontrolliere anschlie\u00dfend das Partitionslayout:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">lsblk\n\nNAME   SIZE TYPE MOUNTPOINTS\nvda    100G disk\n\u251c\u2500vda1   1G part \/boot\n\u2514\u2500vda2  96G part \/\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Zum Schluss kannst du noch die Uptime \u00fcberpr\u00fcfen, um sicherzugehen, dass der Server w\u00e4hrend der gesamten Erweiterung nicht neu gestartet wurde:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">uptime14:32:51 up147 days,4:21,2 users, load average:0.05,0.02,0.00\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Damit ist die Festplatte erfolgreich erweitert worden \u2013 ganz ohne Neustart.<\/p>\n\n\n\n<h2 id=\"when-a-reboot-may-still-be-required\" class=\"wp-block-heading\">Wann trotzdem ein Neustart erforderlich sein kann<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die Online-Erweiterung funktioniert auf den meisten modernen Linux-Systemen problemlos. In einigen F\u00e4llen l\u00e4sst sich ein Neustart jedoch nicht vermeiden:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Der Kernel kann die neue Partitionstabelle nicht neu einlesen.<\/li>\n\n\n\n<li>Das Layout der Root-Partition \u00e4ndert sich unerwartet.<\/li>\n\n\n\n<li>Es werden \u00e4ltere Dateisysteme verwendet.<\/li>\n\n\n\n<li>Verschl\u00fcsselte Datentr\u00e4ger erfordern zus\u00e4tzliche Schritte.<\/li>\n\n\n\n<li>RAID-Metadaten m\u00fcssen neu aufgebaut werden.<\/li>\n\n\n\n<li>Der Hypervisor unterst\u00fctzt keine Online-Vergr\u00f6\u00dferung von Festplatten.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">References<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. KVM \/ QEMU \/ libvirt<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>qemu-img<\/code> Dokumentation:<\/strong><a href=\"https:\/\/qemu-project.gitlab.io\/qemu\/tools\/qemu-img.html\" target=\"_blank\" rel=\"noreferrer noopener\">QEMU Utilities Documentation \u2013 <code>qemu-img<\/code><\/a>\n<ul class=\"wp-block-list\">\n<li>Beschreibt das Erstellen und Vergr\u00f6\u00dfern virtueller Festplatten im Offline-Betrieb, einschlie\u00dflich der Syntax von <code>qemu-img resize<\/code>.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>virsh<\/code> Referenzhandbuch:<\/strong><a href=\"https:\/\/www.libvirt.org\/manpages\/virsh.html\" target=\"_blank\" rel=\"noreferrer noopener\">libvirt Management Utilities \u2013 <code>virsh blockresize<\/code><\/a>\n<ul class=\"wp-block-list\">\n<li>Erkl\u00e4rt, wie sich die Blockger\u00e4te einer laufenden virtuellen Maschine mit <code>virsh blockresize<\/code> vergr\u00f6\u00dfern lassen.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2. VMware ESXi &amp; vSphere<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>VMware ESXi Dokumentation zur Festplattenverwaltung:<\/strong><a href=\"https:\/\/docs.vmware.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">VMware Docs \u2013 Increasing the Virtual Disk Size<\/a>\n<ul class=\"wp-block-list\">\n<li>Zeigt, wie sich die Gr\u00f6\u00dfe einer virtuellen Festplatte \u00fcber <strong>Edit Settings<\/strong> in vSphere bzw. ESXi erweitern l\u00e4sst.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3. Microsoft Hyper-V<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Microsoft Learn PowerShell-Modul:<\/strong><a href=\"https:\/\/learn.microsoft.com\/en-us\/powershell\/module\/hyper-v\/resize-vhd?view=windowsserver2025-ps\" target=\"_blank\" rel=\"noreferrer noopener\">Microsoft Learn \u2013 <code>Resize-VHD<\/code><\/a>\n<ul class=\"wp-block-list\">\n<li>Beschreibt die Syntax und Parameter des <code>Resize-VHD<\/code>-Cmdlets zum Vergr\u00f6\u00dfern von <code>.vhdx<\/code>-Dateien \u2013 sowohl online als auch offline.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4. VirtualBox<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Oracle VirtualBox Handbuch:<\/strong><a href=\"https:\/\/www.google.com\/search?q=https:\/\/www.virtualbox.org\/manual\/ch08.html%23vboxmanage-modifymedium\" target=\"_blank\" rel=\"noreferrer noopener\">Oracle VM VirtualBox \u2013 <code>VBoxManage modifymedium<\/code><\/a>\n<ul class=\"wp-block-list\">\n<li>Offizielle Referenz f\u00fcr die Kommandozeile, einschlie\u00dflich des Parameters <code>--resize<\/code> zum Vergr\u00f6\u00dfern virtueller Festplatten.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">5. Xen \/ XenServer \/ XCP-ng<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Offizielle XenServer-Dokumentation:<\/strong><a href=\"https:\/\/docs.xenserver.com\/en-us\/xenserver\/8\/storage\/manage.html\" target=\"_blank\" rel=\"noreferrer noopener\">XenServer Storage Management Guide<\/a>\n<ul class=\"wp-block-list\">\n<li>Erkl\u00e4rt die Eigenschaften von Virtual Disk Images (VDIs) sowie das Erweitern von Storage Repositories.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Xen Orchestra Dokumentation:<\/strong><a href=\"https:\/\/docs.xen-orchestra.com\/xo5\/manage_infrastructure\" target=\"_blank\" rel=\"noreferrer noopener\">Xen Orchestra Infrastructure &amp; Storage Management<\/a>\n<ul class=\"wp-block-list\">\n<li>Dokumentation zum Verwalten und Vergr\u00f6\u00dfern virtueller Festplatten in modernen Xen-basierten Umgebungen.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Warst du schon mal in der Situation, dass auf einem Linux-Server der Speicherplatz ausgegangen ist und du diesen erweitern musstest, den Server aber nicht neu starten konntest? In diesem Artikel zeige ich dir, wie du &#8230;<\/p>\n","protected":false},"author":1,"featured_media":9896,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[411,208,413],"tags":[2945,2946,1696,2947,565,567,2821,569,2948],"class_list":["post-9907","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-anleitungen","category-linux-de","category-virtualisierung","tag-hyper-v","tag-kvm","tag-linux-de","tag-storage","tag-ubuntu-de","tag-virtualbox-de","tag-virtualization","tag-vmware-de","tag-xen"],"acf":{"book_cover":null,"special_featured_image":null},"_links":{"self":[{"href":"https:\/\/www.kevinmaschke.com\/de\/wp-json\/wp\/v2\/posts\/9907","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kevinmaschke.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kevinmaschke.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kevinmaschke.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kevinmaschke.com\/de\/wp-json\/wp\/v2\/comments?post=9907"}],"version-history":[{"count":4,"href":"https:\/\/www.kevinmaschke.com\/de\/wp-json\/wp\/v2\/posts\/9907\/revisions"}],"predecessor-version":[{"id":9919,"href":"https:\/\/www.kevinmaschke.com\/de\/wp-json\/wp\/v2\/posts\/9907\/revisions\/9919"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kevinmaschke.com\/de\/wp-json\/wp\/v2\/media\/9896"}],"wp:attachment":[{"href":"https:\/\/www.kevinmaschke.com\/de\/wp-json\/wp\/v2\/media?parent=9907"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kevinmaschke.com\/de\/wp-json\/wp\/v2\/categories?post=9907"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kevinmaschke.com\/de\/wp-json\/wp\/v2\/tags?post=9907"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}