Как объединить два раздела (одна подпапка другого)

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda5        33G   31G  467M  99% /var
/dev/sda6       120G   22G   93G  19% /var/lib/postgresql

Я хотел бы объединить их в один /var раздел (без потери данных)

Я могу отключить его на некоторое время

1
задан 2 July 2019 в 09:31

1 ответ

  1. Убедитесь, что раздел /dev/sda6 расположен сразу после /dev/sda5, например, с помощью GParted.

  2. Резервное копирование! Резервное копирование!! Резервное копирование!! (Сделайте 3 резервных копии)

    Работа с разделами опасна. Убедитесь, что вы сделали резервные копии и копии важных данных на внешнем носителе. Избегайте создания резервных копий на том же диске, с которым вы собираетесь работать.

    Источник: https://askubuntu.com/a/1005841/250300

  3. Удалить (или закомментировать ) запись /dev/sda6 в /etc/fstab, поэтому она не ищется во время следующей загрузки.

  4. Мы могли бы выключить только PostgreSQL (как правило: все, что могло бы изменить данные при копировании их) для следующего шага, но нам нужно будет загрузить живой носитель, чтобы изменить размер разделов, так что загрузите ваш живой носитель Теперь.

  5. Смонтировать разделы, о которых идет речь. Обратите внимание, что буква устройства (a в /dev/sda) может быть изменена во время сеанса связи, поэтому при необходимости измените команды.

    for p in sda5 sda6
    do
        sudo mkdir /media/$p
        sudo mount /dev/$p /media/$p
    done
    
  6. Скопируйте все свои данные из раздела для удаления в другое место. Вы можете использовать cp, rsync или tar (со сжатием или без).

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

    Я выбрал /media/data/ в качестве целевого местоположения, адаптирую его к своему.

    Я использую sudo, так как некоторые данные в /var/lib/postgresql могут быть не читаемыми для вошедшего в систему пользователя, но это также может быть не нужно здесь.

    sudo tar -cJvf /media/data/var-lib-postgresql.txz /media/sda6/
    
  7. Размонтировать разделы.

    sudo umount /media/sda{5,6}
    
  8. Теперь запустите GParted, удалите оригинал /dev/sda6 и разверните /dev/sda5, чтобы использовать освободившееся пространство. Подробные инструкции можно найти на https://askubuntu.com/a/1005841/250300 .

  9. Смонтировать sda5 снова.

    sudo mount /dev/sda5 /media/sda5
    
  10. Убедитесь, что папка /media/sda5/postgresql пуста. Если нет, очистите его, поскольку он, скорее всего, содержит данные, использованные до создания /dev/sda6.

  11. Восстановите ваши данные:

    cd /media/sda5/postgresql && sudo tar -xvf /media/data/var-lib-postgresql.txz
    
  12. Перезагрузите систему.

  13. [+1139]
0
ответ дан 2 July 2019 в 09:31

Другие вопросы по тегам:

Похожие вопросы: