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

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

В настоящее время у меня есть только удаленный доступ к этому ящику CentOS, мне нужно переместить / var из основного RAID на новый набор дисков, который был установлен с большим пространством. Мои текущие мысли о том, как это сделать, - это временно смонтировать новый RAID на / tmp / var. rsync все от / var до / temp / var, а затем измените fstab, чтобы указать / var на новые диски.

Вот мой вопрос. как мне удалить существующий / var на основных дисках после того, как я подключу новые диски к этому месту (при условии, что это возможно даже удаленно)?

Это нетривиальная задача для работающей системы. В /var tree имеет много открытых файлов, в которые постоянно выполняется запись через открытый 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 обновлен, чтобы он сохранялся при загрузке.