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

Как перенести сервер NFS, не затрагивая службу (Linux)

Нам нужно перенести сервер Linux NFS. Мы хотим использовать те же производственные IP-адреса. Есть папка bin / shared и очень много серверов в производстве, использующих ее ...

Все данные уже реплицированы. Все файлы / etc / exports уже настроены.

При необходимости можно скопировать / var / lib / nfs.

Мне просто нужно остановить службу nfs, стереть IP-адрес со старого сервера, поместить тот же IP-адрес на новый сервер, запустить службу nfs.

Есть ли способ сделать это так, чтобы клиенты этого не заметили?

В дополнение к приведенному ниже ответу вы, вероятно, захотите убедиться, что fsid идентичен на новом сервере, чтобы ваши клиенты думали, что они подключаются к тому же общему ресурсу, а не к новому, что вызовет некоторую головную боль.

Это довольно сложная вещь, которую лучше всего проверить заранее с другими системами.

Я знаю по опыту, что timeo Параметр монтирования NFS, возможно, потребуется установить ниже и hard должен быть установлен.

timeo=50 - повторить запросы NFS через 5 секунд (указано с точностью до десятых секунды)

hard - заставлять процессы, обращающиеся к общему ресурсу NFS, блокироваться навсегда, когда он становится недоступным, если не убит с помощью SIGKILL

Таким образом клиенты заблокируются и будут ждать, пока новая система не запустится. Они будут часто повторять попытки из-за времени.

Этот план, вероятно, сработает. Убедитесь, что у вас есть путь к обеим машинам, который не имеет интерфейса, такого как em0: 1 (поэтому нет интерфейсов с псевдонимами). IPMI или драка еще лучше. Как только появится новый IP-адрес, запустите arping на новой машине, чтобы обновить маршрутизатор и коммутаторы.

Если вы хотите полностью убедиться, что все идет гладко, у вас должен быть план перемонтирования монтирования NFS на всех клиентах. Автоматизировать подобные вещи, как правило, очень просто. Попробуйте использовать sshpass и ssh-agent. Я не говорю, что вам обязательно придется это сделать, но это вполне реальная возможность. Я бы также не использовал жесткие ошибки при монтировании NFS, они приводят к зависанию программного обеспечения.

Есть альтернативный способ делать что-то. Если вы выяснили, как запустить команду mount -o remount на всех клиентах, то вы также можете подумать об изменении ip на всех клиентах. Стоит разобраться, будет ли так плавнее. Шаги заключаются в том, чтобы остановить любое программное обеспечение, использующее каталог с монтированием NFS, изменить ip в / etc / fstab, запустить mount -o remount / path / from / fstab, и, если оно правильно монтируется, перезапустить программное обеспечение. Это займет намного больше времени, но ваши шансы не заметить, что одна система плохо обрабатывает изменение, намного ниже.