Я хочу переместить свой постгрес data
папку на диск NFS, но я не уверен, как лучше это сделать. У меня есть три варианта:
В соответствии с Документация Postgres, одним из способов было бы использовать initdb
команда с -D
вариант.
initdb
попытается создать указанный вами каталог, если он еще не существует.
Другой метод, указанный на LinuxQuestions.org заключается в обновлении postgressql
сценарий инициализации, указывающий на новый каталог, которым в данном случае будет диск NFS.
Наконец, я подумал, что просто скопирую pgsql/data
папку на диск NFS и просто создайте символическую ссылку на папку.
т.е. pgsql/data -> nfs/data
Создание символьных ссылок или обновление сценария инициализации кажутся мне самым простым подходом, но я не уверен, что это лучший или самый безопасный способ. Здесь я надеюсь, что кто-нибудь может мне помочь. Любые предложения, проблемы и плюсы / минусы будут оценены.
Информация об окружающей среде
Предположим, что диск NFS смонтирован с -maproot=root
вариант и что диск NFS будет доступен для root
пользователь.
Вы можете просто выключить Postgres, переместить папку и изменить сценарии инициализации, чтобы они указывали на правильное расположение каталога данных. Дважды проверьте файлы конфигурации в data/
для ссылок на старый путь перед перезапуском сервера.
Вы, вероятно, не захотите этого делать. В самом деле. Это ПЛОХОЙ идея.
Другое название NFS - Network Failure System. Он не известен своей надежностью, и отключение базовой файловой системы в неподходящее время (например, при добавлении в WAL) может действительно испортите себе день, не говоря уже о вашей базе данных. Помните, что Postgres делает ничего особенного для NFS, и будет волноваться, если произойдет что-то неожиданное (см. 17.2.1 в руководстве Postgres).
Возможно, если вы опишете основную проблему, которую пытаетесь решить (зададите новый вопрос), мы сможем помочь вам сделать это менее рискованным способом?