CentOS & перемещение /var на новый диск / раздел

Немного старше системы, примерно 2 года. Запуск CentOS

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

Есть ли простой / безопасный способ передвижения /var на вновь смонтированный диск без поджаривания ОС? Я знаю, как добавлять диски и правильно их форматировать, просто никогда не пытался переместить /var до нового места назначения раньше.

Я читал статьи о сбое сервера и других сайтах, но они расплывчаты в ответ, как именно это сделать. Как правило, они предлагают остановить процессы и т. Д. Но не вдавайтесь в подробности о том, как сделать это безопасно, или как убедиться, что вы остановили все правильно, прежде чем перемещать данные и монтировать все.

Проверено это уже:

Переместить / var на новый набор дисков

Не хотел делать что-то, что могло бы сильно испортить MySQL. Спасибо!

ОБНОВИТЬ:

Информация о файловой системе:

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_centos6-centos6_root
                       47G   41G  4.0G  92% /
tmpfs                 3.9G  500K  3.9G   1% /dev/shm
/dev/vda1             276M  199M   64M  76% /boot
/dev/vdb1             197G  119G   68G  64% /home
/dev/vdd1             197G   95G   93G  51% /home2
/dev/vde1              99G  8.1G   86G   9% /home3
/usr/tmpDSK           2.0G   40M  1.8G   3% /tmp

Подробные крепления:

# cat /etc/fstab
/dev/vg_centos6/centos6_root /                  ext4    usrjquota=quota.user,jqfmt=vfsv0        1 1
/dev/vda1                  /boot                ext3    defaults        1 2
/dev/vdb1   /home   ext4    usrjquota=quota.user,jqfmt=vfsv0    0   0
/dev/vdd1       /home2   ext4    usrjquota=quota.user,jqfmt=vfsv0        0       0
/dev/vde1       /home3   ext4    usrjquota=quota.user,jqfmt=vfsv0        0       0
tmpfs                      /dev/shm             tmpfs   defaults        0 0
devpts                     /dev/pts             devpts  gid=5,mode=620  0 0
sysfs                      /sys                 sysfs   defaults        0 0
proc                       /proc                proc    defaults        0 0
/dev/mapper/vg_centos6-lv_swap swap swap defaults 0 0
/usr/tmpDSK             /tmp                    ext3    defaults,noauto        0 0

Из того, что я вижу, /var определенно находится в корневом разделе. Я надеюсь изменить это.

3 ответа

Хорошо, что ваша система, вероятно, является виртуальной машиной, что может быть известно по именам файловых узлов устройства (например, /dev/vdb), что упростит нашу процедуру, исключив необходимость использования какого-либо специализированного инструмента (например, iscsi-initiator-utils) если он пришел, скажем, хранилище iSCSI.

CentOS предлагает минимальный установочный носитель, который включает в себя наиболее важный инструмент для нашей цели, rsync, Если вы используете CentOS 6 и используете 64-битную систему, вы можете загрузить минимальный ISO-образ компакт-диска, выбрав, например, зеркало по вашему выбору. Затем вы можете скачать минимальный ISO отсюда размером менее 400 МБ. Рекомендации по дополнительным шагам следующие:

  • Подготовьте запасной диск. Присоедините новый диск к ВМ и отформатируйте его как обычно. Вы уже написали, что знаете, как это сделать.

  • Загрузитесь в режиме восстановления. Изящно завершите работу виртуальной машины и загрузите минимальный ISO. Один из предложенных вариантов установки - Rescue установленная система. Выбор этого параметра позволит нам загрузиться с компакт-диска без каких-либо процессов записи на ваш /var каталог. Это обеспечит нам безопасную среду для переноса данных со старого диска на новый. Есть несколько меню, по которым вам нужно будет перемещаться, прежде чем вы попадете в приглашение оболочки. Пункты в скобках - это те, которые наиболее важны для меня. Пожалуйста, выберите те, которые вы считаете подходящими.

    • Выберите язык. [Английский]
    • Тип клавиатуры [нас]
    • Вы хотите запустить сетевые интерфейсы в этой системе? [Нет]. Мы можем сделать это, потому что вы находитесь на виртуальной машине, и новый диск будет доступен без подключения к сети.
    • Спасательная среда... [Пропустить]. Это долгий диалог. Просто выберите пропустить.
    • Начать оболочку
  • Передача данных. Допустим, узел устройства на вашем новом диске, в котором будут храниться новые /var данные /dev/vdc1 и ваш старый корневой раздел, держа /var каталог /dev/vda2, Создайте временные точки монтирования и скопируйте данные:

    mkdir /mnt/var /mnt/var_old
    mount /dev/vda2 /mnt/var_old
    mount /dev/vdc1 /mnt/var
    rsync -a /mnt/var_old/ /mnt/var/
    
  • Переместить старое / вар. Переместить старое /var удалите каталог и создайте новую пустую точку монтирования:

    mv /mnt/var_old/var /mnt/var_old/var.old
    mkdir /mnt/var_old/var
    
  • Отредактируйте fstab. Настроить /etc/fstab так что файловая система на новом диске монтируется на /var, Учитывая вышеупомянутые узлы устройства, добавьте запись, такую ​​как следующее к /mnt/var_old/etc/fstab:

    /dev/vdc1 /var    ext4    defaults        1 2
    
  • Перезагрузка Тип exit в командной строке и выберите перезагрузить виртуальную машину. Затем загрузитесь в вашу обычную установку ОС, а не на минимальный CD.

Если все прошло хорошо, то ваш старый /var данные будут присутствовать в /var.old а также /var будет содержать все эти данные и будет готов к использованию. Вы можете, если хотите, удалить /var.old после нескольких дней нормальной работы.

Мне очень нравится ответ pdp, но с LVM на Centos 7 я хотел бы добавить эти шаги для тех из нас, кто не знает:

Загрузите спасательный носитель. Побег в раковину.

Сканирование для групп томов:lvm vgscan -v

Активируйте все группы томов:lvm vgchange -a y

Список логических томов:lvm lvs –all

С этой информацией и активированными томами вы сможете смонтировать тома:mount /dev/volumegroup/logicalvolume /mountpoint

Это копия инструкции на http://jim-zimmerman.com/?p=587

И будьте осторожны с тем, как rsync создает свои целевые каталоги. Копирование / old / var в / new / var создало / new / var / var, что доставило мне небольшую головную боль, так как мне пришлось реструктурировать мой новый var, чтобы CentOS был счастлив:)

Смонтировать новый раздел под /mnt и после этого rsync --progress /var /mnt и когда это уже сделано, umount /mnt и отредактируйте свой /etc/fstab где новый раздел var и reboot

Ответ ДА!

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

Для этого я просто подготавливаю среду, создавая структуру диска на любых других дисках - будь то жесткие диски или другие твердотельные накопители - и перемещая данные, а затем загружаюсь в, ммм, режим восстановления / режим восстановления - независимо от того, что ваша версия требует от вас - тогда используйте rsync чтобы уравнять дисковое пространство, выполните mv /var /var.old (на всякий случай), а затем выполните ln -sв новое место и загрузитесь. Готово!

Если что-то пойдет не так, легко исправить это еще раз...

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