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