Переместить /var на новый набор дисков
В настоящее время у меня есть только удаленный доступ к этой коробке CentOS, мне нужно переместить / var с основного RAID на новый набор дисков, на котором было установлено больше места. Мои нынешние мысли о том, как этого добиться, - это временно смонтировать новый RAID в / TMP / вар. rsync все от / var до / temp / var, затем измените fstab, чтобы указать / var на новые диски.
Вот мой вопрос Как удалить существующий каталог / var на первичных дисках, когда новые диски смонтированы в этом месте (если это возможно даже удаленно)?
2 ответа
Это нетривиальная задача в работающей системе. /var
В дереве много открытых файлов, которые постоянно записываются через открытый fd. Эти файлы останутся открытыми на исходном устройстве, пока вы не попросите демона закрыть и снова открыть его файл журнала. Если вы используете mysql и используете его datadir по умолчанию, то вам нужно будет также предусмотреть это.
lsof | grep /var
даст вам некоторое представление о масштабе вашей задачи. Каждый из этих файлов потребует некоторых действий с вашей стороны, чтобы перейти на новое устройство. Некоторые (большинство?) Из демонов просто потребуют kill -HUP
или service servicename restart
чтобы заставить их закрывать и открывать свои файлы, другим потребуется больше усилий, например, mysql в конфигурации по умолчанию.
Возможно, вам придется подождать, пока вы сможете перезагрузить систему, чтобы иметь возможность восстановить старые /var
полностью.
Это может быть немного сложно на живой системе, я бы сделал подход переключения:
mv /var /var0
mkdir /var
mount --bind /path/to/raid/var /var
Естественно, вы захотите убедиться, что ваш fstab обновлен, чтобы это сохранялось при загрузке.