====== Resize partition ======
Potřeboval jsem rozšířit disk na serveru. Server mám virtuální u [[https://nethost.cz|Nethost]]. Jakmile mi přidali volného místa na disku, potřeboval jsem v operačním systému zvětšit partitionu. Samozřejmě jsem to potřeboval za běhu a bez ztráty dat.
V mém případě mám disk /dev/sda a partitionu /dev/sda1.
Po konzultaci s Nethostem jsem použil následující řešení:
root@server:~# parted /dev/sda
(parted) unit s
(parted) print free
Model: QEMU nhhdd1419000 (scsi)
Disk /dev/sda: 117194752s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
2s 2047s 2046s Free Space
1 2048s 97654783s 97652736s primary ext4 boot
97654784s 117194751s 19539968s Free Space
(parted) resizepart 1 117194751
Warning: Partition /dev/sda1 is being used. Are you sure you want to continue?
Yes/No? Yes
(parted) quit
Information: You may need to update /etc/fstab.
root@server:~# resize2fs /dev/sda1
resize2fs 1.46.2 (28-Feb-2021)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old_desc_blocks = 6, new_desc_blocks = 7
The filesystem on /dev/sda1 is now 14649088 (4k) blocks long.
Rozšíření disku se tedy skládal ze 2 částí. První část je použití programu parted a druhá část příkaz resize2fs. Postup použití parted vypadá takto.
parted /dev/sda
unit s
print free // toto Vám vypíše počáteční a koncový sektor vaší partition, a poté počáteční a koncový sektor volného místa na disku
resizepart 1 KONCOVY_SEKTOR // koncový sektor který u volného místa vidíte jako konec / end (můžete zadat s jednotkou s, nebo bez, nehraje roli)
pokud dostanete hlášku, že partition je použivaná, pokračujte s YES
quit
===== Zmenšení šifrovaného oddílu (LUKS) =====
Situace je taková, že jsem špatně odhadl situaci a špatně rozdělil SD kartu na Raspberry Pi. Oddíl sda2 jsem nastavil na 16 GB a šifrovaný oddíl (LUKS) sda3 zbytek. Na disku sda2 mi začalo docházet místo a potřeboval jsem přesunout 8 GB z sda3 na sda2.
Nakonec jsem se rozhodl řešit to přes grafický program GParted. Jako první jsem připojil SD kartu k druhému počítači, odmountoval disky, zkontroloval pomocí fsck a přešel do programu GParted.
Označil jsem zašifrovaný oddíl a musel jsem ho dešifrovat. Poté bylo možné provést resize šifrovaného oddílu. Spustil jsem proces resize.
{{:it:server:pasted:20230607-231842.png}}
Při resize se na konci vytvoří nové místo, které potřebuji alokovat k disku sda2.
{{:it:server:pasted:20230607-232647.png}}
Tady je ovšem problém. Místo je na konci a potřebuji ho přesunou na začátek disku sda3. Tedy mezi sda2 a sda3.
Dalším krokem tedy bylo zavřít šifrování a pak mi GParted dovolil při resize sda3 dát volné místo před tento oddíl, místo za.
{{:it:server:pasted:20230607-232941.png}}
Následující varovnou hlášku jsem potvrdil, protože z disku sda3 se operační systém nezavádí, tak mě to netrápí.
{{:it:server:pasted:20230607-233028.png}}
Tady je vidět, jak by mělo volné místo vypadat po provedení operace.
{{:it:server:pasted:20230607-233132.png}}
Tato část kopírování bude opravdu časově náročná. Bude trvat několik hodin, protože se musí překopírovat velké množství dat z místa na místo.
Jako poslední krok jsem dal resize sda2 a zvětšil jsem ji o uvolněné místo z předchozího kroku.
{{:it:server:pasted:20230608-220512.png}}