Объединить второй раздел с корнем

Объединить второй раздел с корнем

Я хочу, /dev/sda1чтобы мои данные из раздела автоматически "переливались" в /dev/vdaраздел. Поэтому я думаю, что мой вопрос: как мне объединить 2 раздела, чтобы они /стали размером 138 ГБ?

root@vps:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.8G     0  3.8G   0% /dev
tmpfs           780M   34M  747M   5% /run
/dev/sda1        39G  7.7G   32G  20% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
tmpfs           780M     0  780M   0% /run/user/1000
/dev/vda         99G   60M   94G   1% /mnt/vda

А вот и доступные диски:

root@vps:/# fdisk -l
Disk /dev/vda: 100 GiB, 107374182400 bytes, 209715200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sda: 40 GiB, 42949672960 bytes, 83886080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xffcebafc

Device     Boot Start      End  Sectors Size Id Type
/dev/sda1  *     2048 83886046 83883999  40G 83 Linux

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

решение1

Учитывая, что вы имеете дело с двумя физическими устройствами, вы не сможете объединить разделы на физическом уровне. Но вы можете использовать LVM (логический менеджер томов) для создания того, что равнозначно виртуальному блочному устройству, которое состоит из несколькихнастоящийБлочные устройства. Это сымитирует раздел размером ~138 ГБ. Также возможно сделать что-то подобное на уровне файловой системы с помощью BTRFS, но вот что можно сделать с LVM:

ПРИМЕЧАНИЕ: Помимо поддержки LVM, вашей системе потребуется возможность загрузки с LVM, что зависит от вашего загрузчика и его настройки.

Преобразование в LVM

Разумеется, сначала обязательно сделайте резервную копию системы, так как этот процесс сотрет /dev/sda1и /dev/vda. Затем загрузите Linux с Live CD/USB-накопителя и...

  1. Запустите wipefs /dev/vda, чтобы быстро очистить раздел.
  2. Создайте физический том LVM, запустивpvcreate /dev/vda
  3. Создайте группу томов:vgcreate vg0 /dev/vda
  4. Создайте логический том для вашей корневой файловой системы: lvcreate -L80G -n rootfs vg0Не беспокойтесь о размере 80 ГБ, он будет увеличен позже.
  5. Поместите файловую систему на логический том, скажем... ext4:mkfs.ext4 -L ROOTFS /dev/vg0/rootfs
  6. Смонтируйте новую файловую систему, например... /mnt/newroot:mount -L ROOTFS /mnt/newroot
  7. Поскольку вы будете делать это с Live CD, вам нужно будет смонтировать его /где-нибудь, например... /mnt/oldroot:mount /dev/sda1 -o ro /mnt/oldroot
  8. Скопироватьстарый кореньк тому, что станетновый корень:cp -aR /mnt/oldroot/* /mnt/newroot/

Теперь, пока, кроме потери всего, что было в /dev/vda, ничего необратимого не произошло. Так что это прекрасная возможность настроить загрузчик (например, GRUB2) для загрузки /dev/vg0/rootfsи убедиться, что вы можете загрузиться. Все должно быть таким же, за исключением того, что ваш вывод df должен выглядеть примерно так:

root@vps:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.8G     0  3.8G   0% /dev
tmpfs           780M   34M  747M   5% /run
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
tmpfs           780M     0  780M   0% /run/user/1000
/dev/vg0/rootfs  99G  7.7G   92G   ?% /

Если вы дошли до этого, то можете приступить к следующему, чтобы воспользоваться магическими силами LVM. С некоторыми файловыми системами, такими как EXT4, следующее можно сделать в живой системе; не требуется live CD.

  1. Удалить старый корень:wipefs /dev/sda1
  2. Создайте новый физический том:pvcreate /dev/sda1
  3. Добавьте новый физический том в LVM:vgextend vg0 /dev/sda1

На этом этапе два раздела доступны для использования LVM, но пока не задействованы. Чтобы использовать оба раздела (на самом деле, теперь они являются физическими томами LVM) для вашего /, расширьте корневой логический том, чтобы использовать все доступное пространство:

  1. Увеличить логический том:lvextend -l 100%FREE /dev/vg0/rootfs
  2. Увеличить файловую систему:resize2fs /dev/vg0/rootfs

Это должно дать вам корневую файловую систему размером ~138 ГБ :)

Связанный контент