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