Я новичок в серверной части Ubuntu. Я устанавливаю сервер с установленной ОС Ubuntu 14.04 LTS. У меня есть два диска sata емкостью 1 ТБ и два диска sata емкостью 2 ТБ (для обоих настроен RAID 1). Я использую 1 ТБ для ОС и других вещей, но для своей базы данных я хочу использовать 2 ТБ диски.
Я установил postgresql на моем сервере, но я хочу, чтобы все данные базы данных хранились на 2 ТБ.
Так что мне нужна помощь в том, как это сделать. Я имею в виду, как установить home или data_directory моей базы данных postgresql, чтобы данные сохранялись непосредственно на 2 ТБ.
Буду признателен, если помощь будет предоставлена начиная с точки монтирования.
Спасибо заранее
На самом деле это довольно просто. Все, что необходимо сделать, указывают путь при создании кластера баз данных. Это прибывает из postgresql документация . Команда для создания нового pg кластера является initdb и похожа на это:
initdb [option...] [--pgdata | -D] directory
Согласно документации, initdb
создаст указанный каталог, если это не имеет никаких полномочий записать в целевое местоположение. Для сейфа, можно создать его как корень и затем изменить владение на пользователя системы пост-ГРЭС. В моей системе (используемый для разработки) я создал каталог под /home
(на массиве raid1), который принадлежит postgres
и работал initdb
против того каталога.
cd /home
sudo mkdir postgres
sudo chown postgres:postgres postgres
initdb [your db creation options here] --pgdata /home/postgres
Теперь можно запустить postgresql сервер, указывающий pgdata каталог. Например,
pg_ctl start -D /home/postgres
запустит экземпляр сервера, который делает использование Вашего указанного каталога. Если экземпляр сервера уже работает, можно хотеть заменить start
restart
. Это снизит рабочий сервер и запустит его с новых опций.
На ноте стороны, как Вы, возможно, уже предположили, возможно иметь несколько экземпляров сервера, работающего одновременно (на различных портах, конечно), каждый управляющий отдельным кластером (т.е. физический путь).
Я не уверен, где пост-ГРЭС хранит его данные, я думал бы /var/lib/postgresql/
. Если Вы хотите использовать 2 ТБ исключительно для данных пост-ГРЭС, Вы могли бы сделать следующее: (У меня нет пост-ГРЭС рабочим банкоматом, проверьте пути и имена. Это работает на любой сервисный тип хотя, так также на пост-ГРЭС.)
sudo service postgres stop
sudo mv /var/lib/postgresql /var/lib/postgresql.bak
sudo mkdir /var/lib/postgresql
/var/lib/postgresql
chown
и chmod
, можно проверить старые настройки от ls -la /var/lib/postgresql.bak
) cp -ra /var/lib/postgresql.bak/. /var/lib/postgresql
service postgres start
initrd.img.old
вместо более вероятно (non-" old") initrd.img
. В то время как имена файлов могут использоваться, чтобы более легко восстановить Вашу систему при помощи намного короче, легче, чтобы помнить имена файлов для исполняемого файла ядра (/vmlinuz
) и начальный образ диска поршня (/initrd.img
), they' ре также там так, чтобы программы могли легко получить доступ к в настоящее время выбираемому ядру по умолчанию и таранить образ диска.
– Chai T. Rex
22 November 2016 в 08:51