- Вопрос или проблема
- Сценарий
- Проблема
- Ответ или решение
- Как клонировать и переместить полную установку Fedora на больший диск
- Введение
- Предварительная подготовка
- Шаги по клонированию
- 1. Загрузка с Live CD
- 2. Клонирование диска
- 3. Отключение старого диска
- 4. Загрузка с нового диска
- 5. Изменение размеров файловых систем
- Дополнительные действия по созданию swap-раздела
- 1. Создание swap-раздела
- 2. Форматирование и активация swap
- 3. Добавление swap в fstab
- Заключение
- Рекомендации
Вопрос или проблема
Сценарий
В моем компьютере установлен SSD (250GiB), на котором находятся разделы /boot
и /
//home
.
Я хотел бы перенести это на новый диск M.2 NVME, который гораздо больше (1TiB).
Дистрибутив, который я использую – Fedora 37.
Мой /etc/fstab
выглядит так:
#
# /etc/fstab
# Создано anaconda во вт Июнь 28 05:26:41 2022
#
# Доступные файловые системы, по ссылке, поддерживаются под '/dev/disk/'.
# Смотрите страницы man fstab(5), findfs(8), mount(8) и/или blkid(8) для получения дополнительной информации.
#
# После редактирования этого файла выполните 'systemctl daemon-reload' для обновления системных
# единиц, созданных из этого файла.
#
UUID=5ed1bf26-ab2f-4e5a-ab5e-d2d56f5f3803 / btrfs subvol=root,compress=zstd:1 0 0
UUID=a14f6d42-3a64-4f96-856c-51e0f4344481 /boot ext4 defaults 1 2
UUID=5ed1bf26-ab2f-4e5a-ab5e-d2d56f5f3803 /home btrfs subvol=home,compress=zstd:1 0 0
lsblk
выглядит так:
NAME KNAME PATH TYPE MODEL STATE RO RM HOTPLUG FSTYPE FSVER LABEL PTTYPE PARTTYPE PARTTYPENAME PARTLABEL PARTFLAGS SIZE FSSIZE FSAVAIL
sda sda /dev/sda диск Samsung SSD 850 EVO 250GB работающий 0 0 0 dos 232.9G
├─sda1 sda1 /dev/sda1 часть 0 0 0 ext4 1.0 dos 0x83 Linux 0x80 1G 973.4M 608.1M
└─sda2 sda2 /dev/sda2 часть 0 0 0 btrfs fedora_localhost-live dos 0x83 Linux 231.9G 231.9G 108.3G
zram0 zram0 /dev/zram0 диск 0 0 0 7.5G
Примечание: как /
, так и /home/
являются подтомами одного и того же раздела! Они не находятся на отдельных разделах как таковых.
Проблема
Как мне лучше всего это сделать, чтобы минимально прерывать рабочее время? Я думал, что загружу живой дистрибутив с gparted
и затем перемещу разделы, но так как UUID раскиданы по всей моей текущей настройке, я думаю, что могу столкнуться с проблемами, также не уверен, что это предпочтительный метод.
В качестве бонуса, мне бы хотелось иметь раздел подкачки на моем жестком диске, который будет больше, чем мой текущий объем оперативной памяти (8GB). В данный момент я использую только ZRAM, но мне хотелось бы иметь раздел подкачки, который будет больше (возможно, в два раза больше) моего текущего объема оперативной памяти, чтобы я мог безопасно перевести компьютер в спящий режим. Кроме того, больше подкачки было бы весьма полезно для моих виртуальных машин, и сейчас мне сложно запускать более двух виртуальных машин.
Вот, как я думаю, что мне следует поступить:
- Я думал, что склонирую текущую конфигурацию на мой 1TB диск, однако я не уверен, какой инструмент использовать для этого, оставив большую часть диска незанятой.
- Затем я создам раздел подкачки ближе к концу нераспределенного пространства.
- И затем увеличу свой раздел
/dev/sda2
, чтобы я мог использовать весь объем моего диска и т.д.
Пожалуйста, сообщите порядок процедуры (шаг 0 – создать резервную копию, очевидно), а также инструменты, которые я, возможно, должен попробовать и т.д.
Самый простой способ:
- Загрузиться с живого ISO, например, gparted
- Сделать полную копию 250G SATA SSD на NVMe SSD
- Отключить SATA SSD
- Загрузиться с NVMe
- Проверить, что все работает
- Изменить размер раздела на максимум
btrfs filesystem resize max /
Дополнительные, но рекомендуемые шаги:
- Перезагрузиться снова с живого ISO
- Подключить SSD снова
blkdiscard
SATA SSD- Отформатировать SATA SSD чем-то новым
Важные нюансы:
- После клонирования не монтируйте файловую систему, пока оба диска подключены. (Загрузка смонтирует файловую систему!)
- Не имеет значения, как вы клонируете диск. Вы можете даже использовать
cp
. Главное, чтобы это была 1:1 копия. - Используйте
/dev/disk/by-id/
узлы всякий раз, когда вам нужно ввести диск в CLI. Это делает процесс менее подверженным ошибкам.
или
- Добавьте еще один целевой диск, если у вас недостаточно локального пространства для файла клонирования:
sudo mkdir /media/disk sudo mount /dev/sdb1 /media/disk sudo chmod ugo+wx /media/disk
-
Обнулите свободное пространство https://unix.stackexchange.com/a/506097/518235
затем клонируйте только используемое пространство
sudo dd if=/dev/xvda bs=16M conv=sparse,noerror | pv | sudo pigz -c > /media/disk/TargetImg.dd.gz
Альтернативный вариант dd, если нет pv: status=progress
- Перенесите локально, используя cp / rsync, см. 8) или удаленный Target:
sshpass -p "xxxxxxxxx" scp TargetImg.dd.gz [email protected]:/home/fedora | pv -lep -s 42
- Восстановите (локально или удаленно):
sudo pigz -cdk TargetImg.dd.gz | pv | sudo dd of=/dev/sdb bs=16M
- или, по желанию, преобразуйте формат диска, например, в виртуальную машину на выбор:
sudo dnf install qemu sudo qemu-img convert -O vmdk TargetImg.dd TargetImg.vmdk -p
- Дополнительно измените размер HD, например, на хосте ESXi:
vmkfstools -X 100G "TargetImg.vmdk"
- Локальная синхронизация между 1-м и 2-м или старыми и новыми дисками также возможна:
sudo rsync -aHAXS \ --filter="-x security.selinux" \ --no-compress \ --no-inc-recursive \ --stats \ --numeric-ids \ --info=progress2 \ /media/disk/ \ /
источник: stackoverflow и др
Ответ или решение
Как клонировать и переместить полную установку Fedora на больший диск
Введение
Клонирование и перемещение операционной системы может показаться сложной задачей, особенно когда вас беспокоят вопросы, связанные с идентификаторами файловых систем и настройками загрузки. В этом руководстве мы рассмотрим, как безопасно и эффективно выполнить процедуру перемещения вашей установки Fedora 37 с SSD на новый NVMe-диск объемом 1 ТиБ, с минимальными изменениями в системе.
Предварительная подготовка
Перед тем как начать процесс, рекомендуется создать резервную копию всех важных данных на ваших дисках. Хотя процедуры клонирования, которые мы будем применять, являются надежными, всегда существует вероятность непредвиденных обстоятельств.
Шаги по клонированию
1. Загрузка с Live CD
Скачайте и запишите на флешку любой Live CD с поддержкой gparted, например, GParted Live или другой дистрибутив Linux. Загрузитесь с этого носителя, чтобы осуществить клонирование.
2. Клонирование диска
Используйте команду dd
для клонирования содержимого на новый NVMe-диск. Эта команда создаст точную копию вашего диска, включая все UUID.
sudo dd if=/dev/sda of=/dev/nvme0n1 bs=64K conv=noerror,sync
if
— исходный диск (SSD).of
— целевой диск (NVMe).- Обратите внимание: используйте команду
lsblk
, чтобы точно определить файлы устройств, чтобы не перепутать их.
3. Отключение старого диска
После успешного клонирования физически отключите старый диск (SATA SSD), чтобы избежать возможных конфликтов при загрузке.
4. Загрузка с нового диска
Перезагрузите систему и убедитесь, что ваш компьютер загружается с нового NVMe-диска. Проверяйте, что все работает как ожидалось.
5. Изменение размеров файловых систем
После успешной загрузки вы можете расширить файловые системы, чтобы использовать доступное пространство на новом диске. Для этого выполните следующие команды:
sudo btrfs filesystem resize max /
sudo btrfs filesystem resize max /home
Эти команды позволят вашему Btrfs автоматически использовать весь доступный размер.
Дополнительные действия по созданию swap-раздела
Теперь, когда ваша система успешно работает на новом диске, рассмотрим создание swap-раздела для улучшения производительности и обеспечения возможности гибернации:
1. Создание swap-раздела
Используйте gparted
или команду fdisk
/parted
, чтобы создать новый swap-раздел в нераспределённой области на вашем NVMe-диске. Рекомендуется делать его размером не менее 16 ГБ (двукратный объем вашей оперативной памяти в 8 ГБ).
2. Форматирование и активация swap
После создания раздела, отформатируйте его под swap:
sudo mkswap /dev/nvme0n1p2
И активируйте его:
sudo swapon /dev/nvme0n1p2
3. Добавление swap в fstab
Чтобы активировать swap при загрузке, откройте /etc/fstab
и добавьте следующую строку:
/dev/nvme0n1p2 none swap sw 0 0
Заключение
Следуя этим шагам, вы сможете успешно клонировать и переместить вашу установку Fedora 37 на новый NVMe-диск с минимальными изменениями в системе. Не забудьте проверить, все ли работает правильно, перед тем как уничтожать старый диск. Это не только улучшит производительность вашего компьютера, но и обеспечит более стабильную работу в будущем.
Рекомендации
- Перед каждым крупным изменением системы всегда сохраняйте резервные копии важных данных.
- Регулярно проверяйте работоспособность и размеры файловых систем (используйте
df -h
). - Обновляйте вашу систему и инструменты в соответствии с последними версиями Fedora для повышения безопасности и функциональности.