Я хочу, /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-накопителя и...
- Запустите
wipefs /dev/vda
, чтобы быстро очистить раздел. - Создайте физический том LVM, запустив
pvcreate /dev/vda
- Создайте группу томов:
vgcreate vg0 /dev/vda
- Создайте логический том для вашей корневой файловой системы:
lvcreate -L80G -n rootfs vg0
Не беспокойтесь о размере 80 ГБ, он будет увеличен позже. - Поместите файловую систему на логический том, скажем... ext4:
mkfs.ext4 -L ROOTFS /dev/vg0/rootfs
- Смонтируйте новую файловую систему, например... /mnt/newroot:
mount -L ROOTFS /mnt/newroot
- Поскольку вы будете делать это с Live CD, вам нужно будет смонтировать его
/
где-нибудь, например... /mnt/oldroot:mount /dev/sda1 -o ro /mnt/oldroot
- Скопироватьстарый кореньк тому, что станетновый корень:
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.
- Удалить старый корень:
wipefs /dev/sda1
- Создайте новый физический том:
pvcreate /dev/sda1
- Добавьте новый физический том в LVM:
vgextend vg0 /dev/sda1
На этом этапе два раздела доступны для использования LVM, но пока не задействованы. Чтобы использовать оба раздела (на самом деле, теперь они являются физическими томами LVM) для вашего /
, расширьте корневой логический том, чтобы использовать все доступное пространство:
- Увеличить логический том:
lvextend -l 100%FREE /dev/vg0/rootfs
- Увеличить файловую систему:
resize2fs /dev/vg0/rootfs
Это должно дать вам корневую файловую систему размером ~138 ГБ :)