Как я могу безопасно изменить размер (сжать) раздел BTRFS?

20

У меня есть / home в разделе BTRFS, и мне нужно уменьшить его, к сожалению, у Gparted нет опции изменения размера для этой FS. Могу ли я изменить его каким-либо другим способом, не теряя свои данные?

Borsook
источник
Будьте осторожны при использовании GParted в рейдовом массиве BTRFS. Потеря данных возможна, если файловая система больше раздела: не используйте GParted для изменения размера файловой системы BTRFS на нескольких устройствах!
basic6

Ответы:

11

Согласно странице возможностей GParted, поддерживается btrfs shrink. Если опция недоступна, установка пакета btrfs-tools может исправить это. Если это не сработает, это может быть из-за того, что Ubuntu включает более старую версию GParted, и в этом случае вы можете использовать GParted Live CD:

http://gparted.sourceforge.net/livecd.php

(это также то, как Ubuntu рекомендует использовать его в любом случае)

bmaupin
источник
15

Согласно этой странице в вики btrfs :

Чтобы уменьшить файловую систему на 4 ГиБ: btrfs filesystem resize -4g /mntили btrfsctl -r -4g /mntустановите размер FS. Чтобы установить файловую систему определенного размера, опустите начальный + или - из размера.

btrfsИ btrfsctlкоманды в Ubuntu обеспечивается пакет под названием btrfs-utils, которое можно установить в центре программного обеспечения. Вы запускаете эти команды в Терминале (Ctrl + Alt + T). Замените 4gтем, сколько вы действительно хотите сжать раздел, и /mntточкой монтирования раздела. Например, чтобы уменьшить раздел btrfs, смонтированный в / media / Alpha, на 500 МБ, вы должны выполнить:

btrfs filesystem resize -500m /media/Alpha

Или:

btrfsctl -r -500m /media/Alpha

Предполагая, что рекомендации по изменению размера файловых систем btrfs такие же, как и для других файловых систем, вам следует избегать изменения размера раздела, который находится на том же физическом диске, что и работающая система. Поэтому при необходимости загрузитесь с работающей системы, чтобы изменить размер раздела на диске, на котором установлена ​​система Ubuntu. (Это относится и к изменению размера в GParted.)

Если некоторые утилиты или приложения не видят результатов операции изменения размера при ее выполнении, перезагрузка - хорошая идея.

См. Страницы руководстваbtrfs и для получения более подробной информации об использовании этих команд. И, надеюсь, вики btrfs скоро вернется.btrfsctl

Лично я не очень хорошо знаком с файловыми системами btrfs, но мне кажется странным, что эти команды изменения размера принимают точку монтирования файловой системы, а не имя устройства. Если кто-то может это объяснить, пожалуйста, прокомментируйте или не стесняйтесь редактировать этот ответ, чтобы улучшить его.

Элия ​​Каган
источник
Это кажется странным, поэтому мне нужно смонтировать объем, чтобы изменить его размер? Я всегда думал, что гораздо безопаснее делать это с неустановленными томами ... В любом случае, спасибо за ваш ответ!
Borsook
8
Перечисленные команды изменяют размер только файловой системы, а не раздела. Вот почему они работают на смонтированной системе. Как только вы измените размер FS, вы сможете использовать свой любимый инструмент управления разделами, чтобы изменить размер реального раздела. Но последний gparted просто сделает все за вас, так что нет особых причин для беспокойства.
Перкинс