При надграждане на VPS екземпляр на Vultr, файловата система на Linux автоматично се преоразмерява. Когато стартирате FreeBSD с усъвършенстваната файлова система ZFS, е необходима известна ръчна работа. Това ръководство предполага, че акаунтът ни току-що е надстроен, за да включва повече място за съхранение и преминава през стъпките за преоразмеряване на ZFS том. В този пример предполагаме инсталиране на FreeBSD или TrueOS със ZFS като основна файлова система. Този урок трябва да работи за подобни операционни системи, като FreeNAS.
Първо, ще добием представа за размера и оформлението на твърдия диск. От тук нататък ще приемем, че нашият твърд диск е устройство "vtbd0", първият твърд диск във FreeBSD инсталация. За да открием размера и оформлението на vtbd0, използваме gpartкомандата.
gpart show
Ще видим един ред, показващ размера на устройството и неговото състояние. Състоянието, което ще видим в края на първия ред след преоразмеряването на устройството, е "повредено". След този ред на състоянието ще има три реда, които ни казват кои дялове са на устройството, кои файлови системи се използват и размера на всеки дял. Първият дял вероятно ще бъде дял "BIOS-boot", вторият е нашият ZFS том, а третият често е пространство за размяна. Това е оформлението, което ще приемем за целите на този пример. На всеки дял се присвоява индексен номер. В този случай индексните номера са "1" за дяла за зареждане на BIOS, "2" за обема на ZFS и "3" за swap. Вашето оформление и номера на индекса може да се различават.
Следващото нещо, което трябва да направим, е да възстановим оформлението на устройството, така че вече да не се показва като "повредено". Изпълнете следната команда:
gpart recover vtbd0
Веднага трябва да видим съобщение, което казва "vtbd0 recovered". Проверете отново състоянието на устройството, като стартирате gpart showотново. Следващата стъпка е да се справим със суап дяла. Ако нашият swap дял идва след нашия ZFS пул на устройството, това може да попречи на нарастващия обем на ZFS. Ще изведем swap офлайн и ще премахнем swap дяла, като изпълним:
swapoff -a
gpart delete -i 3 vtbd0
Тези команди изключват суап пространството и изтриват дял "3" (суап дяла). Не забравяйте да стартирате, gpart showпреди да стартирате, gpart deleteза да сте сигурни, че премахвате правилния дял.
Следващата ни стъпка е да преоразмерим ZFS дяла. Тук можем да използваме един от двата подхода. Ако решим, че изобщо не се нуждаем от суап пространство, тогава можем да поемем цялото свободно пространство на устройството и да го присвоим на нашия ZFS дял, като изпълним:
gpart resize -i 2 vtbd0
Като алтернатива, ако искаме да продължим да използваме пространство за размяна, тогава можем да променим малко командата за преоразмеряване. Да приемем, че дялът на ZFS в момента е 10GB и искаме да го преоразмерим до 20GB. Ще изпълним:
gpart resize -i 2 -s 20g vtbd0
Параметърът "-s 20g" казва на gpart да промени размера на втория дял до 20GB. Можем да потвърдим, че това действие е завършено успешно, като изпълним gpart show. В gpart showкомандата също ще ни покаже колко място е на разположение в края на устройството за нов дял от диска.
В този момент проверката на размера на нашия ZFS пул за съхранение все още ще показва предишния размер.
zpool list
За да кажете на файловата система да се разшири и да поеме целия втори дял на нашето устройство, изпълнете следното:
zpool online -e tank vtbd0p2
Горната команда преоразмерява ZFS пула за съхранение с име "танк" и поема целия втори дял на твърдия диск. "p2" в края на реда показва, че работим с втория дял и, ако оформлението на вашето устройство е различно, числото след "p" ще трябва да съвпада с индекса на ZFS дял. Не забравяйте, че можете да покажете индекса на дяла с gpart show.
В този момент сме почти готови. Ако нямате нужда от място за размяна, настройката ви е завършена. Изпълнете, за zpool listда потвърдите, че пулът за съхранение е правилният, по-голям размер.
В противен случай сте оставили място в края на устройството за суап дял. Можем да добавим отново суап пространство, като изпълним няколко команди. Първо, създаваме ново пространство за размяна:
gpart add -t freebsd-swap -s 1g -i 3 vtbd0
Тази команда създава суап дял с размер 1GB. Новият дял се добавя към нашия твърд диск и му се дава индексен номер "3". Следващият ни ход е да разрешим суап пространството, така че операционната ни система да може да използва новия дял.
swapon /dev/vtbd0p3
Още веднъж "p3" в края на реда показва, че нашият суап дял е присвоен на индекс "3". Ако сме използвали различен индекс, тогава числото трябва да се промени, за да отразява номера на индекса на суап в изхода, генериран от gpart show. Можем да потвърдим, че суап пространството е активирано и работи, като изпълним командата:
swapctl -l -h
Това ще покаже, че се използва 1GB суап пространство.
И накрая, една дума за предупреждение. Премахването/повторното добавяне на суап пространство променя етикета на суап дяла. Това означава, че записът за размяна във /etc/fstabфайла вече няма да се счита за валиден. Следователно пространството за размяна няма да бъде активирано след рестартиране на операционната система. За да избегнете този проблем, отворете /etc/fstabфайла и намерете реда, който монтира суап пространство. Уверете се, че началото на реда изброява дяла, който току-що създадохме, /dev/vtbd0p3, като устройство за размяна.