GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So ändern / erweitern Sie ein Btrfs-Volume / Dateisystem

Es ist eine häufige Aufgabe, das btrfs-Dateisystem in der Größe zu ändern/zu erweitern, da btrfs in CentOS/RHEL 7 und auch als Backend-Speichertreiber von Docker weit verbreitet ist. Dieser Beitrag veranschaulicht zwei gängige Verfahren zum Erweitern eines Btrfs-Root-Volumes:

  1. Erweitern, um den verfügbaren Speicherplatz auf der Originalfestplatte zu nutzen
  2. Fügen Sie eine neue Festplatte in dasselbe Btrfs-Volume hinzu
Hinweis :Diese Verfahren sind riskant aufgrund möglicher Fehler beim Ändern vorhandener Partitionen oder unerwarteter Stromausfälle während des Btrfs-Ausgleichsvorgangs. Bitte stellen Sie sicher, dass Ihre Daten/Ihr System über ein aktuelles brauchbares BACKUP verfügen.

1. Ändern der Partitionsgröße, um den verfügbaren Speicherplatz auf der Originalfestplatte zu nutzen

1. Überprüfen Sie Ihren Speicherplatz und die Größe der aktuellen Partition mit fdisk oder parted, wenn Ihre Festplatte größer als 2 Terabyte ist:

# fdisk -l /dev/xvda

Disk /dev/xvda: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00087895

Device Boot Start End Blocks Id System
/dev/xvda1 * 2048 1030143 514048 83 Linux
/dev/xvda2 1030144 9418751 4194304 82 Linux swap / Solaris
/dev/xvda3 9418752 31457279 11019264 83 Linux
[root@host0 ~]# lsblk -f /dev/xvda
NAME FSTYPE LABEL UUID MOUNTPOINT
xvda
├─xvda1 xfs /boot 049e257e-25b1-4f46-80aa-ffaa27a21022 /boot
├─xvda2 swap SWAP-VM 0406d7df-68b6-47cb-8ea9-195ac7ef7497 [SWAP]
└─xvda3 btrfs btr_pool 1e72a30b-d59d-458f-b04f-59bf8bdec35d /

2. fdisk unterstützt die Größenänderung der Partition nicht, daher müssen Sie die alte Partition, die Sie ändern möchten, löschen und eine neue erstellen.

# fdisk /dev/xvda
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): p

Disk /dev/xvda: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00087895

Device Boot Start End Blocks Id System
/dev/xvda1 * 2048 1030143 514048 83 Linux
/dev/xvda2 1030144 9418751 4194304 82 Linux swap / Solaris
/dev/xvda3 9418752 31457279 11019264 83 Linux

Command (m for help): d
Partition number (1-3, default 3): 3
Partition 3 is deleted

3. Lassen Sie uns nun eine neue Partition erstellen.

Command (m for help): n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p
Partition number (3,4, default 3): 3
First sector (9418752-104857599, default 9418752):
Using default value 9418752
Last sector, +sectors or +size{K,M,G} (9418752-104857599, default 104857599):
Using default value 104857599
Partition 3 of type Linux and of size 45.5 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The 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)
Syncing disks.

4. Überprüfen Sie die neu erstellte Partition mit „fdisk -l“.

# fdisk -l /dev/xvda

Disk /dev/xvda: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00087895

Device Boot Start End Blocks Id System
/dev/xvda1 * 2048 1030143 514048 83 Linux
/dev/xvda2 1030144 9418751 4194304 82 Linux swap / Solaris
/dev/xvda3 9418752 104857599 47719424 83 Linux

5. Sie müssen dem Linux-Kernel die Änderung mitteilen, die Sie an /dev/xvda vorgenommen haben, indem Sie den Befehl „partprobe“ verwenden:

# partprobe
Error: Partition(s) 3 on /dev/xvda have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You should reboot now before making further changes.

6. Da das Root-Dateisystem verwendet wird, müssen Sie das Betriebssystem neu starten, damit der Kernel die Änderung sieht. Wenn es sich nicht um ein Root-Dateisystem handelt, können Sie diesen Schritt überspringen.

# shutdown -r now

Btfrs-Dateisystem erweitern

1. Jetzt können Sie das Btrfs-Root-Dateisystem erweitern.

# btrfs filesystem resize +10g /
Resize '/' of '+10g'

2. Überprüfen Sie die neue Dateisystemgröße in der Ausgabe des Befehls „df -h“.

# df -h /
Filesystem    Size    Used     Avail    Use%     Mounted on
/dev/xvda3    21G     2.5G     17G      14%      /

Sie können auch den gesamten Speicherplatz auf der Festplatte verwenden, wenn Sie möchten. Verwenden Sie die Option „max“ mit dem Befehl „btrfs filesystem resize“.

# btrfs filesystem resize max /
Resize '/' of 'max'
# df -h /
Filesystem    Size    Used     Avail    Use%     Mounted on
/dev/xvda3    46G     2.5G     42G      6%      /

2. Neue Festplatte zum btrfs-Volume hinzufügen

1. Sie können dem System eine neue Festplatte hinzufügen, indem Sie entweder eine neue LUN präsentieren oder eine neue virtuelle Festplatte anhängen, wenn Sie eine virtuelle Maschine ausführen. Möglicherweise müssen Sie das folgende Skript ausführen, um die neue LUN/den neuen Datenträger zu scannen.

# rescan-scsi-bus.sh -a

oder starten Sie das System neu, um die neue Festplatte für das Betriebssystem sichtbar zu machen,

2. Überprüfen Sie, ob die neue Festplatte vom Betriebssystem gesehen werden kann, indem Sie die Befehle „sblk -f“ oder „fdisk -l“ verwenden. Zum Beispiel ist /dev/xvdb die neue Festplatte für das Beispiel in diesem Beitrag.

# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
xvda
├─xvda1 xfs /boot 049e257e-25b1-4f46-80aa-ffaa27a21022 /boot
├─xvda2 swap SWAP-VM 0406d7df-68b6-47cb-8ea9-195ac7ef7497 [SWAP]
└─xvda3 btrfs btr_pool 1e72a30b-d59d-458f-b04f-59bf8bdec35d /
xvdb
# fdisk -l /dev/xvdb

Disk /dev/xvdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

3. Neue Festplatte /dev/xvdb zum Root-Volume hinzufügen

# btrfs device add /dev/xvdb /

4. Metadaten von der ersten Platte /dev/xvda auf die zweite Platte /dev/xvdb verteilen.

# btrfs filesystem balance /
WARNING:

Full balance without filters requested. This operation is very
intense and takes potentially very long. It is recommended to
use the balance filters to narrow down the balanced data.
Use 'btrfs balance start --full-balance' option to skip this
warning. The operation will start in 10 seconds.
Use Ctrl-C to stop it.
10 9 8 7 6 5 4 3 2 1
Starting balance without any filters.
Done, had to relocate 9 out of 9 chunks

5. Überprüfen Sie die neue Größe des Dateisystems mit „df -h“.

# df -h /
Filesystem    Size    Used    Avail    Use%    Mounted on
/dev/xvda3    56G     2.5G    52G      5%      /

Sie können sehen, dass das Root-Dateisystem um weitere 10 GB vergrößert wurde, was der Größe von /dev/xvdb entspricht.

Wie man ein Btrfs-Dateisystem erstellt und einhängt (mit Beispielen erklärt)


Cent OS
  1. So ändern Sie die Größe von Bildern über die Befehlszeile in Ubuntu

  2. So verwenden Sie den Befehl „btrfs device“, um ein Gerät zum/aus dem btrfs-Dateisystem hinzuzufügen/zu löschen

  3. Merkmale des „Btrfs“-Dateisystems

  4. So optimieren Sie das Btrfs-Dateisystem für eine bessere Leistung

  5. So konvertieren Sie ein Volume in ein Stripe-Volume (RAID0) in LVM

So erhöhen Sie die Swap-Größe unter RHEL 8 / CentOS 8

So ändern Sie die Größe eines logischen Volumes mit 5 einfachen LVM-Befehlen

So erstellen Sie ein XFS-Dateisystem

So installieren Sie Oracle Linux (UEK-2) mit btrfs als Root-Dateisystem

Erweitern Sie die Größe der /boot-Partition auf dem XFS-Dateisystem (CentOS/RHEL 7)

So ändern Sie die Größe des Hauptdateisystems