====== 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}}