Как сделать дамп, уменьшить и восстановить эту конкретную XFS внутри LVM?

Вопрос или проблема

  • Мне нужно сбросить раздел XFS в файл
  • воссоздать этот раздел, но меньшего размера (-50 ГБ)
  • импортировать файл в новый раздел XFS
  • уменьшить все остальное, чтобы диск выглядел как можно меньше?
  • чтобы, надеюсь, я смог скопировать / клонировать этот полный SSD (или все разделы) на меньший SSD.

Я нашел много тем по этому поводу, но пути путают меня, и я не уверен, какие из них правильные. Я всегда сбиваюсь с толку, если команды должны выполняться на разделе, группе, идентификаторе и так далее.

Перестройка системы невозможна, так как установлено слишком много вещей 🙁

Может кто-нибудь подсказать команды для вышеуказанного, учитывая эту конфигурацию?

Диск, которым я управляю, – это установка “Rocky Linux”, возможно, поэтому название группы VG “rl“, но сейчас я делаю это на Ubuntu live ISO.

Из других тем/учебников выглядело так, что они сбрасывают в файл всю группу (root + swap в моем случае), но я думаю, что только root – это XFS, а swap, возможно, другого типа (?) Я даже не знаю, как узнать тип раздела на этом этапе, если только я снова не загружусь только с этого диска Rocky OS и не запущу df -hT

fdisk

ubuntu@ubuntu:~$ sudo fdisk -l /dev/nvme1n1
Диск /dev/nvme1n1: 931.51 GiB, 1000204886016 байт, 1953525168 секторов
Модель диска: WD Red SN700 1000GB                     
Единицы: сектора по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода/вывода (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: gpt
Идентификатор диска: [...]-[...]-[...]

Устройство           Начало        Конец    Секторы   Размер Тип
/dev/nvme1n1p1    2048    1230847    1228800   600M EFI система
/dev/nvme1n1p2 1230848    3327999    2097152     1G Файловая система Linux
/dev/nvme1n1p3 3328000 1953523711 1950195712 929.9G Linux LVM


# эта часть должна быть с того же диска, но я не на 100% уверен
# в системе много дисков, и я пытался распечатать только релевантные данные

Диск /dev/mapper/rl-swap: 31.11 GiB, 33399242752 байта, 65232896 секторов
Единицы: сектора по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода/вывода (минимальный/оптимальный): 512 байт / 512 байт


Диск /dev/mapper/rl-root: 898.82 GiB, 965096767488 байт, 1884954624 секторов
Единицы: сектора по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода/вывода (минимальный/оптимальный): 512 байт / 512 байт

lvdisplay


ubuntu@ubuntu:~$ sudo lvdisplay
  --- Логический том ---
  Путь LV                /dev/rl/swap
  Имя LV                swap
  Имя VG                rl
  UUID LV                [...]-[...]-[...]
  Доступ на запись LV        чтение/запись
  Хост создания LV, время localhost.localdomain, 2022-10-28 01:04:36 +0000
  Статус LV              доступен
  # открыто                 0
  Размер LV                <31.11 GiB
  Текущий LE             7963
  Сегменты               1
  Распределение             наследовать
  Секторы чтения вперед     авто
  - в настоящее время установлено     256
  Блочное устройство           253:0
   
  --- Логический том ---
  Путь LV                /dev/rl/root
  Имя LV                root
  Имя VG                rl
  UUID LV                [...]-[...]-[...]
  Доступ на запись LV        чтение/запись
  Хост создания LV, время localhost.localdomain, 2022-10-28 01:04:47 +0000
  Статус LV              доступен
  # открыто                 0
  Размер LV                <898.82 GiB
  Текущий LE             230097
  Сегменты               3
  Распределение             наследовать
  Секторы чтения вперед     авто
  - в настоящее время установлено     256
  Блочное устройство           253:1
   
ubuntu@ubuntu:~$ 

vgdisplay


buntu@ubuntu:~$ sudo vgdisplay
  --- Группа томов ---
  Имя VG               rl
  Идентификатор системы             
  Формат                lvm2
  Метаданные области        1
  Номер последовательности метаданных  8
  Доступ VG             чтение/запись
  Статус VG             изменяемый
  MAX LV                0
  Текущий LV                2
  Открытый LV               0
  Max PV                0
  Текущий PV                1
  Активный PV                1
  Размер VG               929.92 GiB
  Размер PE               4.00 MiB
  Всего PE              238060
  Распределено PE / Размер       238060 / 929.92 GiB
  Свободные PE / Размер       0 / 0   
  UUID VG               [...]-[...]-[...]
   

Ответ или решение

Для выполнения задачи по дампу, сжатию и восстановлению файловой системы XFS внутри LVM на SSD, следуйте этому пошаговому руководству. Убедитесь, что у вас есть резервные копии всех важных данных, прежде чем продолжать.

1. Подготовка к работе с LVM и XFS

Прежде всего, необходимо загрузиться с Live-ISO (например, Ubuntu), чтобы работать с LVM и файловыми системами без их монтирования. Запустите терминал и выполните следующие команды для установки нужных инструментов:

sudo apt update
sudo apt install xfsprogs lvm2

2. Дамп файловой системы XFS

Дампировать логический том (LV), который содержит файловую систему XFS, можно с помощью xfsdump. Для этого выполните следующую команду:

sudo xfsdump -f /path/to/dumpfile.xfsdump /dev/rl/root

Замените /path/to/dumpfile.xfsdump на путь к файлу, куда вы хотите сохранить дамп. Убедитесь, что у вас достаточно дискового пространства для хранения дампа.

3. Уменьшение логического тома

Перед тем как уменьшить размер логического тома, сначала необходимо уменьшить размер файловой системы. Для этого выполните следующие шаги:

  1. Проверьте файловую систему:
sudo xfs_db -r /dev/rl/root
  1. Уменьшите файловую систему XFS (на 50 ГБ, как указано):
sudo xfs_growfs -d /dev/rl/root

Обратите внимание, что XFS не поддерживает прямое уменьшение, поэтому необходимо сначала создать новый логический том и переместить данные.

4. Создание нового логического тома

Теперь создадим новый, меньший логический том в той же группе томов (VG). Для этого:

sudo lvcreate -L 848G -n root_new rl

5. Форматирование нового LV и восстановление данных

Форматируйте новый LV в файловую систему XFS:

sudo mkfs.xfs /dev/rl/root_new

Теперь смонтируйте новый логический том и восстановите дамп:

sudo mkdir /mnt/new_root
sudo mount /dev/rl/root_new /mnt/new_root
sudo xfsdump -r /mnt/new_root /path/to/dumpfile.xfsdump

6. Обновление конфигурации и перемещение данных

После завершения дампа необходимо обновить конфигурацию загрузчика, чтобы он ссылался на новый логический том. Для этого обновите файл /etc/fstab в вашей файловой системе.

7. Уменьшение другого логического тома (если требуется)

Если вам необходимо уменьшить размер тома под swap, вы можете это сделать следующим образом:

  1. Отключите раздел под swap:
sudo swapoff /dev/rl/swap
  1. Уменьшите размер:
sudo lvreduce -L 20G /dev/rl/swap
  1. Включите swap снова:
sudo mkswap /dev/rl/swap
sudo swapon /dev/rl/swap

8. Проверка и завершение

Проверьте, что ваши данные на новом логическом томе рабочие:

sudo df -h

Заключение

Теперь вы готовы к клонированию вашего SSD на меньший диск. Подходящие инструменты для клонирования могут включать dd, Clonezilla или инструменты на основе LVM, которые позволяют создавать образы дисков. Убедитесь, что новый SSD имеет достаточную емкость для хранения всех данных.

Следуя перечисленным шагам, вы сможете успешно создать дамп, уменьшить размер тома и восстановить данные на новом логическом томе под управлением XFS в LVM.

Оцените материал
Добавить комментарий

Капча загружается...