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