Система немного старше, ей примерно 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
каталог. Это обеспечит нам безопасную среду для переноса данных со старого диска на новый. Есть несколько меню, по которым вам придется перемещаться, прежде чем вы попадете в приглашение оболочки. Пункты в скобках имеют для меня наибольший смысл. Пожалуйста, выберите те, которые вам подходят.
Передача данных. Допустим, узел устройства на вашем новом диске, который будет хранить новый /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
в новое место и загрузитесь. Готово!
Если что-то пойдет не так, легко исправить это еще раз ...