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

Как создать зеркало общего ресурса NFS?

Для резервное копирование и восстановление чтобы убрать старый сервер, мне нужно будет создать идеальный зеркальное отображение общего ресурса NFS. Это зеркало не является простым перенаправлением, а скорее является точной копией содержимого общего ресурса NFS (включая права доступа к файлам).

Я пробовал простые задачи, такие как копирование файлов как root командой:

cp -pR /path-to-nfs-share/ /local-directory-to-mirror-nfs-share-contents/

К сожалению, приведенная выше команда не копирует все файлы, так как возвращает permission denied ошибки для некоторых файлов и каталогов, с которыми он сталкивается. Таким образом, чтобы избежать потенциальных проблем с разрешениями, я хотел создать идеальное зеркало (то есть с сохранением всех разрешений) файлов.

К сожалению, мне не удалось найти много документации по выполнению этой задачи. Это выполнимо?

Спасибо.

Вы вводили команду с помощью sudo, чтобы у вас были повышенные привилегии?

Rsync также может работать лучше для чего-то в этом роде.

Я бы не стал рассматривать это как резервную копию, поскольку это всего лишь копия. Резервные копии защищают от проблем с повреждением или удаленных файлов. Создание копий больше похоже на защиту доступности ресурсов.

Ошибки прав доступа могут быть связаны с тем, что компьютер, на котором вы были, смонтировал файловую систему NFS в качестве вашего идентификатора пользователя, а не root, что означает, что вы не видели всю файловую систему. Или, возможно, монтирования NFS специально меняют UID для разных групп.

rsync -aplxo --delete /nfsmount/ /newmountlocation/

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