Hodně pracuji s virtuálními nachines. Ve skutečnosti je většina mých serverů virtuálními stroji (naposledy jsem to počítal, kde bylo kolem 100vms), které běží na čtyřech fyzických serverech a několika SAN/NAS. Někdy vy – nebo ten, kdo o stroj požádal – podceníte potřebné hardwarové zdroje. Nebo jednoduše po chvíli skončíte s pěkným „Systém souborů plný “chyba.
V tomto článku ukážu, jak změnit velikost oddílu a rozšířit souborový systém, abyste získali více volného místa.
Předpoklad
Budu předpokládat, že na disku již máte volné místo, může to být jeden z:
- Vaše FreeBSD je na fyzickém disku, ale při instalaci jste nepřiřadili celý disk (možná pro dualboot s jiným OS).
- Rozhodli jste se, že swap již nepotřebujete (tj. přidali jste více paměti RAM) a chcete tyto Gb přiřadit svému souborovému systému.
- Virtuální pevný disk svého virtuálního počítače FreeBSD můžete rozšířit. To je můj případ, právě teď pracuji s VirtualBoxem, ale vím, že alespoň VMware, Xen a gnome-boxy (myslím kvm) umožňují měnit velikost diskových obrazů. Před změnou velikosti se ujistěte, že virtuální disk není používán.
- Jakýmkoli jiným způsobem můžete mít volné místo na disku k distribuci
Pojďme na to
Ujistěte se, že váš disk není používán. Odpojte všechny oddíly, pokud můžete, a zakažte swap, pokud je umístěn na disku, který chcete upravit.
Nemohu se odpojit, protože jsem vytvořil pouze jeden velký oddíl pro celý systém, takže použiji obraz instalačního CD FreeBSD k nabootování VM a práci v režimu live-cd:
Opravit tabulku oddílů
Nejprve vypište všechny oddíly na disku, abyste viděli aktuální konfiguraci:
# gpart show ada0
=> 40 33554352 ada0 GPT (17G) [CORRUPT]
34 1024 1 freebsd-boot (512K)
1064 25164800 2 freebsd-ufs (12G)
25165864 8388528 3 freebsd-swap (4.0G)
Všimněte si [Corrupt], které jsem zvýraznil červeně. Obraz disku je v pořádku, ale při použití schématu GPT již není záložní tabulka oddílů na konci disku. Opravte tabulku oddílů pomocí gpart recovery:
# gpart recover
ada0 recovered
# gpart show ada0
=> 40 356541504 ada0 GPT (17G) [CORRUPT]
34 1024 1 freebsd-boot (512K)
1064 25164800 2 freebsd-ufs (12G)
25165864 8388528 3 freebsd-swap (4.0G)
33554392 2097152 - freebsd - (1.0G)
Smažte odkládací oddíl a změňte velikost oddílu
Počkej, proč? Odkládací oddíl obsahuje pouze dočasná data. Velikost diskových oddílů lze také změnit pouze na souvislé volné místo a po oddílu již není volné místo. Nezapomeňte ponechat místo, abyste mohli později znovu vytvořit odkládací oddíl.
# gpart delete -i 3 ada0
ada0p3 deleted
# gpart resize -i 2 -s 14G -a 4k ada0
ada0p2 resized
Parametry znamenají:-i index nebo číslo oddílu; -s velikost; a -a 4k řídí zarovnání.
Poznámka:Pravděpodobně uvidíte nějaké podivné chyby, vrátíme se později
Nyní můžeme znovu vytvořit swapovací oddíl ve zbývajícím prostoru, který dělám trochu menší.
# gpart add -t freebsd-swap -a 4k ada0
ada0p3 added
Vypište všechny oddíly, abyste viděli naši novou konfiguraci s gpart show:
Rozšiřte a zkontrolujte souborový systém
Poslední zbývající úkoly jsou růst souborového systému UFS:
# growfs /dev/da0p2
A nakonec zkontrolujte souborový systém pomocí fsck. Toto není povinné, ale vysoce doporučeno, zvláště pokud máte chyby, jako jsou ty na mém snímku obrazovky:
# fsck -y /dev/da0p2
Nyní víte, jak změnit velikost oddílu a rozšířit souborový systém.
Pokud pracujete s živým CD, restartujte počítač nebo znovu připojte postižený oddíl a pokračujte s více volným místem.
Poslední slova
Velikost připojeného souborového systému můžete změnit, pokud jej dočasně zakážete... ale nedělejte to, prostě to nedělejte. Vždy je lepší ztratit pár minut – dokonce i hodiny – přeskupováním dat, než přijít o data za pár minut.
Pokud používáte oddíly MBR, syntaxe se mírně liší kvůli oddílu a schématu „slices“.
Na velkých souborových systémech může fsck vydržet opravdu dlouho. Zvažte migraci na zfs a přidání jednotlivých disků do raid z.
FreeBSD má vynikající příručku, více o správě úložiště se můžete dozvědět zde:https://docs.freebsd.org/en/books/handbook/disks/. Souborový systém ZFS má vlastní kapitolu zde https://docs.freebsd.org/en/books/handbook/zfs/