mirror of
https://github.com/fruworg/fruworg.github.io.git
synced 2025-01-18 20:00:51 +03:00
small fix
This commit is contained in:
parent
a598e645c2
commit
6ebf65cdb9
@ -37,7 +37,7 @@ exit
|
|||||||
### Бэкап определённой папки
|
### Бэкап определённой папки
|
||||||
В файл `/etc/bareos/bareos-dir.d/fileset/<name>.conf` необходимо добавить настройку бэкапа определённой папки:
|
В файл `/etc/bareos/bareos-dir.d/fileset/<name>.conf` необходимо добавить настройку бэкапа определённой папки:
|
||||||
|
|
||||||
```shell
|
```sh
|
||||||
FileSet {
|
FileSet {
|
||||||
Name = "<name>"
|
Name = "<name>"
|
||||||
Description = "<description>"
|
Description = "<description>"
|
||||||
|
@ -5,28 +5,28 @@ description: Путём правки конфигурационных файло
|
|||||||
tags: [linux]
|
tags: [linux]
|
||||||
---
|
---
|
||||||
## Настройка DNS и домена
|
## Настройка DNS и домена
|
||||||
|
В файл `/etc/resolv.conf` необходимо добавить следующие строки:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
search <domain>
|
search <domain>
|
||||||
nameserver <dns-server>
|
nameserver <dns-server>
|
||||||
|
|
||||||
# /etc/resolv.conf
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Статика
|
## Статика
|
||||||
|
В файл `/etc/network/interfaces.d/<interface>` необходимо добавить следующие строки:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
auto <interface>
|
auto <interface>
|
||||||
iface <interface> inet static
|
iface <interface> inet static
|
||||||
address <ip-address>
|
address <ip-address>
|
||||||
netmask <netmask>
|
netmask <netmask>
|
||||||
gateway <gateway>
|
gateway <gateway>
|
||||||
|
|
||||||
# /etc/network/interfaces.d/<interface>
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## DHCP
|
## DHCP
|
||||||
|
В файл `/etc/network/interfaces.d/<interface>` необходимо добавить следующие строки:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
auto <interface>
|
auto <interface>
|
||||||
iface <interface> inet dhcp
|
iface <interface> inet dhcp
|
||||||
|
|
||||||
# /etc/network/interfaces.d/<interface>
|
|
||||||
```
|
```
|
||||||
|
@ -18,10 +18,10 @@ chmod 777 /nfs
|
|||||||
```
|
```
|
||||||
|
|
||||||
### Разрешение сетевого доступа
|
### Разрешение сетевого доступа
|
||||||
```shell
|
В файл `/etc/exports` необходимо добавить следующую строку:
|
||||||
/nfs <client-ip>(rw,sync,no_root_squash,no_subtree_check)
|
|
||||||
|
|
||||||
# /etc/exports
|
```sh
|
||||||
|
/nfs <client-ip>(rw,sync,no_root_squash,no_subtree_check)
|
||||||
```
|
```
|
||||||
|
|
||||||
## Настройка NFS-клиента
|
## Настройка NFS-клиента
|
||||||
@ -37,8 +37,8 @@ systemctl enable --now rpcbind
|
|||||||
```
|
```
|
||||||
|
|
||||||
### Автомонитрование
|
### Автомонитрование
|
||||||
|
В файл `/etc/fstab` необходимо добавить следующую строку:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
<server-ip>:/nfs /nfs nfs defaults 0 0
|
<server-ip>:/nfs /nfs nfs defaults 0 0
|
||||||
|
|
||||||
# /etc/fstab
|
|
||||||
```
|
```
|
||||||
|
@ -11,7 +11,7 @@ psql
|
|||||||
```
|
```
|
||||||
|
|
||||||
Убиваем соединения с БД:
|
Убиваем соединения с БД:
|
||||||
```shell
|
```psql
|
||||||
SELECT pg_terminate_backend (pid)
|
SELECT pg_terminate_backend (pid)
|
||||||
FROM pg_stat_activity
|
FROM pg_stat_activity
|
||||||
WHERE pg_stat_activity.datname = '<database_name>';
|
WHERE pg_stat_activity.datname = '<database_name>';
|
||||||
@ -29,6 +29,6 @@ psql
|
|||||||
```
|
```
|
||||||
|
|
||||||
Дропаем БД:
|
Дропаем БД:
|
||||||
``` shell
|
```psql
|
||||||
DROP DATABASE <database_name> WITH (FORCE);
|
DROP DATABASE <database_name> WITH (FORCE);
|
||||||
```
|
```
|
||||||
|
@ -44,19 +44,19 @@ q
|
|||||||
```
|
```
|
||||||
|
|
||||||
### Изменение конфигруационного файла Postgres Pro
|
### Изменение конфигруационного файла Postgres Pro
|
||||||
```shell
|
В файл `/var/lib/pgpro/std-*/data/postgresql.conf` необходимо добавить следующие строки:
|
||||||
|
|
||||||
|
```sh
|
||||||
krb_server_keyfile = 'postgres.keytab'
|
krb_server_keyfile = 'postgres.keytab'
|
||||||
listen_addresses = 'localhost, <pg-ip>'
|
listen_addresses = 'localhost, <pg-ip>'
|
||||||
|
|
||||||
# /var/lib/pgpro/std-13/data/postgresql.conf
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Разрешение подключения
|
### Разрешение подключения
|
||||||
```shell
|
В файл `/var/lib/pgpro/std-*/data/pg_hba.conf` необходимо добавить следующие строки:
|
||||||
|
|
||||||
|
```sh
|
||||||
hostgssenc all postgres localhost/32 gss include_realm=0
|
hostgssenc all postgres localhost/32 gss include_realm=0
|
||||||
hostgssenc <database> <username> <client-ip>/32 gss include_realm=0
|
hostgssenc <database> <username> <client-ip>/32 gss include_realm=0
|
||||||
|
|
||||||
# /var/lib/pgpro/std-13/data/pg_hba.conf
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Получение тикета от Kerberos
|
### Получение тикета от Kerberos
|
||||||
|
@ -20,12 +20,12 @@ apt install ldap-utils -y
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Правка ldap конфига
|
## Правка ldap конфига
|
||||||
```shell
|
В файл `/etc/ldap/ldap.conf` необходимо добавить следующие строки:
|
||||||
|
|
||||||
|
```sh
|
||||||
TLS_CACERT /etc/ldap/<ad>.pem
|
TLS_CACERT /etc/ldap/<ad>.pem
|
||||||
BASE dc=<domain>,dc=<local>
|
BASE dc=<domain>,dc=<local>
|
||||||
URI ldaps://<dc>.<domain>.<local>:636
|
URI ldaps://<dc>.<domain>.<local>:636
|
||||||
|
|
||||||
# /etc/ldap/ldap.conf
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Проверка ldap
|
## Проверка ldap
|
||||||
@ -34,11 +34,9 @@ ldapsearch -x -b "dc=<domain>,dc=<local>" -H ldaps://<dc>.<domain>.<local>:636 -
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Правка pg_hba.conf
|
## Правка pg_hba.conf
|
||||||
С ldapprefix/ldapsuffix, возможно, придётся поколдовать. Стоит попробовать их оставить пустыми (="").
|
С ldapprefix/ldapsuffix в файле `/var/lib/pgpro/std-14/data/pg_hba.conf`, возможно, придётся поколдовать. Стоит попробовать их оставить пустыми (="").
|
||||||
```shell
|
```sh
|
||||||
host <database> <user> <ip>/<mask> ldap ldapserver=<dc>.<domain>.<local> ldapscheme=ldaps ldapprefix="cn=" ldapsuffix=",cn=users,dc=<domain>,dc=<local>"
|
host <database> <user> <ip>/<mask> ldap ldapserver=<dc>.<domain>.<local> ldapscheme=ldaps ldapprefix="cn=" ldapsuffix=",cn=users,dc=<domain>,dc=<local>"
|
||||||
|
|
||||||
# /var/lib/pgpro/std-14/data/pg_hba.conf
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Создание пользователя в Postgres
|
## Создание пользователя в Postgres
|
||||||
|
@ -10,6 +10,7 @@ apt -y install gnupg
|
|||||||
wget -O - http://repo.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO | apt-key add -
|
wget -O - http://repo.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO | apt-key add -
|
||||||
echo "deb http://repo.postgrespro.ru/pgpro-14/astra-smolensk/1.7 1.7_x86-64 main" > /etc/apt/sources.list.d/pgpro.list
|
echo "deb http://repo.postgrespro.ru/pgpro-14/astra-smolensk/1.7 1.7_x86-64 main" > /etc/apt/sources.list.d/pgpro.list
|
||||||
```
|
```
|
||||||
|
|
||||||
## Установка пакета
|
## Установка пакета
|
||||||
```shell
|
```shell
|
||||||
apt update
|
apt update
|
||||||
|
@ -22,36 +22,35 @@ psql -c "CREATE ROLE repuser WITH REPLICATION LOGIN ENCRYPTED PASSWORD '<passwor
|
|||||||
```
|
```
|
||||||
|
|
||||||
#### Разрешение подключения для slave
|
#### Разрешение подключения для slave
|
||||||
Дописываем в конец файла:
|
Дописываем в конец файла `/var/lib/pgpro/std-*/data/pg_hba.conf`:
|
||||||
```shell
|
|
||||||
host replication repuser <slave-ip>/32 md5
|
|
||||||
|
|
||||||
# /var/lib/pgpro/std-13/data/pg_hba.conf
|
```sh
|
||||||
|
host replication repuser <slave-ip>/32 md5
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Реконфигурация
|
#### Реконфигурация
|
||||||
```shell
|
В файл `/var/lib/pgpro/std-13/data/postgresql.conf` необходимо добавить следующие строки:
|
||||||
|
|
||||||
|
```sh
|
||||||
listen_addresses = 'localhost, <master-ip>'
|
listen_addresses = 'localhost, <master-ip>'
|
||||||
wal_level = hot_standby
|
wal_level = hot_standby
|
||||||
archive_mode = on
|
archive_mode = on
|
||||||
archive_command = 'cd .'
|
archive_command = 'cd .'
|
||||||
max_wal_senders = 8
|
max_wal_senders = 8
|
||||||
hot_standby = on
|
hot_standby = on
|
||||||
|
|
||||||
# /var/lib/pgpro/std-13/data/postgresql.conf
|
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Перезапуск Postgres Pro
|
#### Перезапуск Postgres Pro
|
||||||
```shell
|
```shell
|
||||||
systemctl restart postgres
|
systemctl restart postgres*
|
||||||
```
|
```
|
||||||
|
|
||||||
### Настройка slave
|
### Настройка slave
|
||||||
|
|
||||||
#### Выгрузка файлов с master
|
#### Выгрузка файлов с master
|
||||||
```shell
|
```shell
|
||||||
rm -rf /var/lib/pgpro/std-13/data/*
|
rm -rf /var/lib/pgpro/std-*/data/*
|
||||||
pg_basebackup -P -R -X stream -c fast -h <master-ip> -U postgres -D /var/lib/pgpro/std-13/data
|
pg_basebackup -P -R -X stream -c fast -h <master-ip> -U postgres -D /var/lib/pgpro/std-*/data
|
||||||
```
|
```
|
||||||
|
|
||||||
## Репликация с архивом
|
## Репликация с архивом
|
||||||
@ -62,20 +61,19 @@ WAL-архивы будут складываться на NFS. Как сконф
|
|||||||
Необходимо смонтировать NFS на master и slave в одинаковые директории.
|
Необходимо смонтировать NFS на master и slave в одинаковые директории.
|
||||||
|
|
||||||
### Дополнение к реконфигурации
|
### Дополнение к реконфигурации
|
||||||
```shell
|
В файл `/var/lib/pgpro/std-*/data/postgresql.conf` необходимо добавить следующие строки:
|
||||||
|
|
||||||
|
```sh
|
||||||
archive_command = 'test ! -f /nfs/%f && cp %p /nfs/%f'
|
archive_command = 'test ! -f /nfs/%f && cp %p /nfs/%f'
|
||||||
archive_cleanup_command = 'pg_archivecleanup -d /nfs %r 2>>cleanup.log'
|
archive_cleanup_command = 'pg_archivecleanup -d /nfs %r 2>>cleanup.log'
|
||||||
|
|
||||||
# /var/lib/pgpro/std-13/data/postgresql.conf
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Синхронный и асинхронный режим репликации
|
## Синхронный и асинхронный режим репликации
|
||||||
При синхронной репликации, изменения применятся на основном сервере только после того, как они запишутся в WAL хотя бы одной реплики, а при асинхронной - сразу.
|
При синхронной репликации, изменения применятся на основном сервере только после того, как они запишутся в WAL хотя бы одной реплики, а при асинхронной - сразу.
|
||||||
По умолчанию репликация работает в асинхронном режиме.
|
По умолчанию репликация работает в асинхронном режиме.
|
||||||
Для того, чтобы она работала в синхронном режиме, необходимо изменить две строки в конфигурационном файле Postgres Pro:
|
Для того, чтобы она работала в синхронном режиме, необходимо изменить две строки в конфигурационном файле Postgres Pro `/var/lib/pgpro/std-*/data/postgresql.conf`:
|
||||||
```shell
|
|
||||||
|
```sh
|
||||||
synchronous_commit = on
|
synchronous_commit = on
|
||||||
synchronous_standby_names = 'pgsql_0_node_0'
|
synchronous_standby_names = 'pgsql_0_node_0'
|
||||||
|
|
||||||
# /var/lib/pgpro/std-13/data/postgresql.conf
|
|
||||||
```
|
```
|
||||||
|
@ -5,19 +5,18 @@ date: 2022-12-14T16:48:00+05:00
|
|||||||
tags: [linux, postgres]
|
tags: [linux, postgres]
|
||||||
---
|
---
|
||||||
## Скрипт для бэкапа БД и глобальных объектов
|
## Скрипт для бэкапа БД и глобальных объектов
|
||||||
```shell
|
В файл `/home/<username>/pg-backup.sh` необходимо добавить следующие строки:
|
||||||
|
```sh
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
pg_dump -U <username> -h <pg-hostname> -Fc <db> --file=<db>-$(date '+%Y-%m-%d').dump
|
pg_dump -U <username> -h <pg-hostname> -Fc <db> --file=<db>-$(date '+%Y-%m-%d').dump
|
||||||
pg_dumpall -U <username> -h <pg-hostname> --globals --file=gb-$(date '+%Y-%m-%d').dump
|
pg_dumpall -U <username> -h <pg-hostname> --globals --file=gb-$(date '+%Y-%m-%d').dump
|
||||||
|
|
||||||
# /home/<username>/pg-backup.sh
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Файл cron с запуском скрипта (каждый день в 2:00)
|
## Файл cron с запуском скрипта (каждый день в 2:00)
|
||||||
```shell
|
Необходимо дописать в конец `crontab -e -u <username>` следующие строки:
|
||||||
|
```sh
|
||||||
0 2 * * * /usr/bin/env bash /home/<username>/pg-backup.sh
|
0 2 * * * /usr/bin/env bash /home/<username>/pg-backup.sh
|
||||||
|
|
||||||
# crontab -e -u <username>
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Рестор файлов БД и глобальных объектов
|
## Рестор файлов БД и глобальных объектов
|
||||||
|
@ -7,25 +7,23 @@ tags: [linux, postgres, tls]
|
|||||||
## Создание сертификата
|
## Создание сертификата
|
||||||
В этом посте я буду использовать самоподписанный сертификат, но сертификат от Let's Encrypt тоже подойдёт.
|
В этом посте я буду использовать самоподписанный сертификат, но сертификат от Let's Encrypt тоже подойдёт.
|
||||||
Сертификат и ключ желательно держать в той же папке, где лежат конфиги Postgres Pro.
|
Сертификат и ключ желательно держать в той же папке, где лежат конфиги Postgres Pro.
|
||||||
``` shell
|
```shell
|
||||||
openssl req -x509 -newkey rsa:4096 -keyout <key>.pem -out <cert>.pem -sha256 -days 365
|
openssl req -x509 -newkey rsa:4096 -keyout <key>.pem -out <cert>.pem -sha256 -days 365
|
||||||
```
|
```
|
||||||
|
|
||||||
## Включение TLS
|
## Включение TLS
|
||||||
``` shell
|
В файл `/var/lib/pgpro/std-*/data/postgresql.conf` необходимо добавить следующие строки:
|
||||||
|
```sh
|
||||||
ssl = on
|
ssl = on
|
||||||
ssl_cert_file = '<cert>.pem'
|
ssl_cert_file = '<cert>.pem'
|
||||||
ssl_key_file = '<key>.pem'
|
ssl_key_file = '<key>.pem'
|
||||||
listen_addresses = 'localhost, <master-ip>'
|
listen_addresses = 'localhost, <master-ip>'
|
||||||
|
|
||||||
# /var/lib/pgpro/std-13/data/postgresql.conf
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Разрешение доступа через TLS
|
## Разрешение доступа через TLS
|
||||||
```shell
|
В файл `/var/lib/pgpro/std-*/data/pg_hba.conf` необходимо добавить следующие строки:
|
||||||
|
```sh
|
||||||
hostssl <user> <database> <client-ip> scram-sha-256
|
hostssl <user> <database> <client-ip> scram-sha-256
|
||||||
|
|
||||||
# /var/lib/pgpro/std-13/data/pg_hba.conf
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## (ре)Генерация пароля
|
## (ре)Генерация пароля
|
||||||
|
@ -64,14 +64,12 @@ chmod +x /usr/local/bin/rubyc
|
|||||||
|
|
||||||
## Правка запускаемого файла собираемой утилиты
|
## Правка запускаемого файла собираемой утилиты
|
||||||
|
|
||||||
В запускаемый файл (обычно лежит в exe или bin) необходимо добавить в самое начало следующие строки:
|
В запускаемый файл `exe/<ruby-util>` (обычно лежит в exe или bin) необходимо добавить в самое начало следующие строки:
|
||||||
```ruby
|
```sh
|
||||||
#!/usr/bin/env ruby
|
#!/usr/bin/env ruby
|
||||||
|
|
||||||
require 'rubygems'
|
require 'rubygems'
|
||||||
require 'bundler/setup'
|
require 'bundler/setup'
|
||||||
|
|
||||||
# exe/<ruby-util>
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Подготовка к сборке
|
## Подготовка к сборке
|
||||||
|
@ -17,7 +17,7 @@ auth required pam_google_authenticator.so
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Правка конфига ssh
|
## Правка конфига ssh
|
||||||
```shell
|
```sh
|
||||||
ChallengeResponseAuthentication yes
|
ChallengeResponseAuthentication yes
|
||||||
|
|
||||||
# /etc/ssh/sshd_config
|
# /etc/ssh/sshd_config
|
||||||
@ -33,14 +33,14 @@ google-authenticator
|
|||||||
|
|
||||||
## Управление факторами (необязательно)
|
## Управление факторами (необязательно)
|
||||||
Включить запрос ключа при аутентификации:
|
Включить запрос ключа при аутентификации:
|
||||||
```shell
|
```sh
|
||||||
AuthenticationMethods publickey,password publickey,keyboard-interactive
|
AuthenticationMethods publickey,password publickey,keyboard-interactive
|
||||||
|
|
||||||
# /etc/ssh/sshd_config
|
# /etc/ssh/sshd_config
|
||||||
```
|
```
|
||||||
|
|
||||||
Отключить запрос пароля при аутентификации:
|
Отключить запрос пароля при аутентификации:
|
||||||
```shell
|
```sh
|
||||||
#@include common-auth
|
#@include common-auth
|
||||||
|
|
||||||
# /etc/pam.d/sshd
|
# /etc/pam.d/sshd
|
||||||
|
@ -10,7 +10,7 @@ apt -y install fail2ban
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Правило для ssh
|
## Правило для ssh
|
||||||
``` shell
|
```sh
|
||||||
[sshd]
|
[sshd]
|
||||||
enabled = true
|
enabled = true
|
||||||
port = <ssh-port>
|
port = <ssh-port>
|
||||||
|
@ -5,7 +5,7 @@ date: 2022-11-25T15:08:00+05:00
|
|||||||
tags: [vmware]
|
tags: [vmware]
|
||||||
---
|
---
|
||||||
## Изменение конфига
|
## Изменение конфига
|
||||||
``` shell
|
```sh
|
||||||
vmx.fullpath = "/bin/vmx"
|
vmx.fullpath = "/bin/vmx"
|
||||||
isolation.tools.copy.disable="FALSE"
|
isolation.tools.copy.disable="FALSE"
|
||||||
isolation.tools.paste.disable="FALSE"
|
isolation.tools.paste.disable="FALSE"
|
||||||
|
@ -5,7 +5,7 @@ date: 2022-11-25T15:18:00+05:00
|
|||||||
tags: [vmware]
|
tags: [vmware]
|
||||||
---
|
---
|
||||||
## Изменение скрипта
|
## Изменение скрипта
|
||||||
``` shell
|
```sh
|
||||||
#!/bin/sh ++group=host/vim/vmvisor/boot
|
#!/bin/sh ++group=host/vim/vmvisor/boot
|
||||||
esxcli system time set --day=20 --month=3 --year=2022 --hour=10 --min=0 --sec=0
|
esxcli system time set --day=20 --month=3 --year=2022 --hour=10 --min=0 --sec=0
|
||||||
exit 0
|
exit 0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user