Переместить /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 обновлен, чтобы это сохранялось при загрузке.

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