Назад | Перейти на главную страницу

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 определенно находится в корневом разделе. Я надеюсь это изменить.

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

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

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

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

    • Выберите язык. [Английский]
    • Тип клавиатуры [us]
    • Вы хотите запустить сетевые интерфейсы в этой системе? [Нет]. Мы можем это сделать, потому что вы находитесь на виртуальной машине, и новый диск будет доступен без подключения к сети.
    • Спасательная среда ... [Пропустить]. Это долгий диалог. Просто выберите пропустить.
    • Запуск оболочки
  • Передача данных. Допустим, узел устройства на вашем новом диске, который будет хранить новый /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. Переместите старый /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 в приглашении оболочки и выберите перезагрузку виртуальной машины. Затем загрузитесь в обычную установку ОС, а не с минимального компакт-диска.

Если все прошло хорошо, тогда твой старый /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 created / new / var / var вызвало у меня небольшую головную боль, так как мне пришлось реструктурировать свой новый var, чтобы CentOS был счастлив :)

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

Ответ ДА!

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

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

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