GNU/Linux >> Znalost Linux >  >> Cent OS

Jak změnit velikost/rozbalit svazek/systém souborů Btrfs

Je běžným úkolem změnit velikost/rozšířit souborový systém btrfs, protože btrfs je široce používán v CentOS/RHEL 7 a také jako ovladač backendového úložiště Docker. Tento příspěvek ilustruje 2 běžné postupy pro rozšíření kořenového svazku btrfs:

  1. Rozbalením využijete dostupné místo na původním disku
  2. Přidejte nový disk do stejného svazku btrfs
Poznámka :Tyto postupy jsou riskantní kvůli možným chybám při změně existujících oddílů nebo neočekávaným výpadkům napájení během operace btrfs balance, ujistěte se prosím, že vaše data/systém má nejnovější použitelnou ZÁLOHU.

1. Změna velikosti oddílu za účelem využití dostupného místa na původním disku

1. Ověřte místo na disku a aktuální velikost oddílu pomocí fdisk nebo parted, pokud je váš disk větší než 2 terabye:

# 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 nepodporuje změnu velikosti oddílu, takže musíte odstranit starý oddíl, který chcete změnit, a vytvořit nový.

# 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. Nyní vytvořte nový oddíl.

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. Ověřte nově vytvořený oddíl pomocí „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. Linuxovému jádru musíte dát vědět o změně, kterou jste provedli v /dev/xvda pomocí příkazu „partprobe“:

# 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. Protože se používá kořenový souborový systém, musíte restartovat OS, aby jádro vidělo změnu. Pokud se nejedná o kořenový souborový systém, můžete tento krok přeskočit.

# shutdown -r now

Rozšíření souborového systému btfrs

1. Nyní můžete rozšířit kořenový souborový systém btrfs.

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

2. Ověřte velikost nového souborového systému ve výstupu příkazu „df -h“.

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

Pokud chcete, můžete také využít veškerý prostor na disku. Použijte volbu „max“ s příkazem „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. Přidejte nový disk do svazku btrfs

1. Můžete přidat nový disk do systému buď předložením nového LUN nebo připojením nového virtuálního disku, pokud provozujete virtuální stroj. Možná budete muset spustit níže uvedený skript a naskenovat novou LUN/disk.

# rescan-scsi-bus.sh -a

nebo restartujte systém, aby byl nový disk viditelný pro OS,

2. Ověřte, zda operační systém vidí nový disk pomocí příkazů „sblk -f“ nebo „fdisk -l“. Například /dev/xvdb je nový disk pro příklad v tomto příspěvku.

# 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. Přidejte nový disk /dev/xvdb do kořenového svazku

# btrfs device add /dev/xvdb /

4. Distribuujte metadata z prvního disku /dev/xvda na druhý disk /dev/xvdb.

# 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. Ověřte novou velikost souborového systému pomocí „df -h“.

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

Můžete vidět, že kořenový souborový systém se zvýšil o dalších 10G, což je velikost /dev/xvdb.

Jak vytvořit a připojit souborový systém Btrfs (vysvětleno na příkladech)


Cent OS
  1. Jak změnit velikost oddílů a souborových systémů na nich?

  2. Jak používat příkaz „btrfs device“ k přidání/smazání zařízení do/z souborového systému btrfs

  3. Vlastnosti souborového systému „Btrfs“.

  1. Jak vyladit souborový systém Btrfs pro lepší výkon

  2. Rozšíření velikosti /boot oddílu v systému souborů XFS (CentOS/RHEL 7)

  3. CentOS / RHEL :Jak změnit velikost (rozšířit) existující fyzický objem (PV)

  1. Jak vytvořit souborový systém na linuxovém oddílu nebo logickém svazku

  2. Jak zkontrolovat využití souborového systému Btrfs a provést vyvážení

  3. jak provést testování souborového systému?