Кластер Hot Standby PostgreSQL
В дополнение к статье «Кластер PostgreSQL» для катастрофоустойчивости можно использовать отдалённый географически Standby кластер PostgreSQL, который обеспечивает высокий уровень доступности и аварийного восстановления. Standby кластер PostgreSQL содержит только резервные узлы, реплицирующиеся с какого-либо удалённого мастера https://patroni.readthedocs.io/en/latest/replica_bootstrap.html#standby-cluster.
Этот тип кластеров имеет:
- резервный лидер, который ведёт себя почти так же, как обычный лидер кластера, за исключением того, что он реплицируется с удалённого мастера;
- каскадные реплики, которые реплицируются из резервного лидера.
Шаг 1: Настройка PostgreSQL
- На всех серверах баз данных добавьте в конфигурационный файл pg_hba.conf информацию о всех узлах каждого кластера, чтобы разрешить соединения с разных серверов:
#Patroni
host all all 0.0.0.0/0 md5
#Cluster hosts 1
host replication replicator 192.168.1.1/32 md5
host replication replicator 192.168.1.2/32 md5
host replication replicator 192.168.1.3/32 md5
#Standby сluster hosts 2
host replication replicator 192.168.2.1/32 md5
host replication replicator 192.168.2.2/32 md5
host replication replicator 192.168.2.3/32 md5
- Перезапустите PostgreSQL на всех узлах:
systemctl restart postgresql
Шаг 2: Настройка Patroni
- На серверах Standby кластера в конфигурационном файле /etc/patroni/config.yml поменяйте значения scope , name , которые не должны совпадать с основным кластером. Замените адреса всех серверов:
scope: postgres-cluster2 # одинаковое значение на всех узлах Standby кластера
name: postgresql-server4 # разное значение на всех узлах Standby кластера
- Добавьте раздел standby_cluster в секцию bootstrap, dcs в текущий конфигурационный файл /etc/patroni/config.yml и укажите удалённого мастера, который в данном примере определяется через haproxy:
bootstrap:
dcs:
standby_cluster:
host: haproxy-server.your_domain
port: 5000
create_replica_methods:
— basebackup
- На основном и Standby кластере добавьте адреса всех серверов, используемых в кластерах в раздел pg_hba в текущий конфигурационный файл /etc/patroni/config.yml :
pg_hba:
— host all all 0.0.0.0/0 md5
— host replication replicator localhost trust
#Cluster hosts 1
— host replication replicator 192.168.1.1/32 md5
— host replication replicator 192.168.1.2/32 md5
— host replication replicator 192.168.1.3/32 md5
#Cluster hosts 2
— host replication replicator 192.168.2.1/32 md5
— host replication replicator 192.168.2.2/32 md5
— host replication replicator 192.168.2.3/32 md5
- Запустите службу Patroni :
sudo systemctl enable —now patroni.service
Если ранее служба Patroni была запущена на Standby кластере, то на каждом узле Standby кластера остановите службу Patroni. Удалите каталог данных postgresql, очистите информацию о кластере и повторно запустите службу Patroni:
sudo systemctl stop patroni
sudo rm -rf / var /lib/postgresql/10/main
sudo etcdctl rm —recursive /service/postgres-cluster2
sudo systemctl restart patroni
- Проверьте состояние Standby кластера:
patronictl -c /etc/patroni/config.yml list
Идентификатор кластера должен совпадать с основным кластером, роль у лидера должна быть Standby Leader.
- В случае недоступности основного кластера для смены режима Standby кластера на основной удалите раздел standby_cluster из текущей конфигурации patroni с помощью команды:
patronictl edit-config —force -s standby_cluster.host=» -s standby_cluster.port=» -s standby_cluster.create_replica_methods=»
Важно не допустить работы двух мастеров, в момент восстановления вышедшего ранее основного кластера он также останется мастером.
- После восстановления вышедшего ранее основного кластера для смены режима с основного на Standby кластер добавьте раздел standby_cluster в текущую конфигурацию patroni с помощью команды:
patronictl edit-config —force -s standby_cluster.host=haproxy-server.your_domain -s standby_cluster.port=5000 -s standby_cluster.create_replica_methods=’- basebackup’
Шаг 3: Конфигурация HAproxy (блок postgres)
Дополните конфигурацию HAproxy блока postgres указав адреса всех серверов, используемых в кластерах:
listen postgres_master
bind haproxy-server.your_domain:5000
option tcplog
option httpchk OPTIONS /master
http-check expect status 200
default -server inter 3s fastinter 1s fall 3 rise 4 on-marked-down shutdown-sessions
server postgres-server1 postgres-server1.your_domain:5432 check port 8008
server postgres-server2 postgres-server2.your_domain:5432 check port 8008
server postgres-server3 postgres-server3.your_domain:5432 check port 8008
server postgres-server4 postgres-server4.your_domain:5432 check port 8008
server postgres-server5 postgres-server5.your_domain:5432 check port 8008
server postgres-server6 postgres-server6.your_domain:5432 check port 8008
listen postgres_replicas
bind haproxy-server.your_domain:5001
option tcplog
option httpchk OPTIONS /replica
balance roundrobin
http-check expect status 200
default -server inter 3s fastinter 1s fall 3 rise 2 on-marked-down shutdown-sessions
server postgres-server1 postgres-server1.your_domain:5432 check port 8008
server postgres-server2 postgres-server2.your_domain:5432 check port 8008
server postgres-server3 postgres-server3.your_domain:5432 check port 8008
server postgres-server4 postgres-server4.your_domain:5432 check port 8008
server postgres-server5 postgres-server5.your_domain:5432 check port 8008
server postgres-server6 postgres-server6.your_domain:5432 check port 8008
Эксперимент force_stopped_listing в Яндекс. браузере

Как включить эксперимент force_stopped_listing в Яндекс. браузере? Кейс на скриншоте. Помогите, плиииз!
Лучший ответ
1.Клавиша F12
2. Вкладка Console, справа от неё значок настроек (шестерёнка), тык на шестерёнку.
3. В выпавшем меню выбираем Experiments
4. В списке экспериментов находим/не находим нужный и ставим/не ставим галочку
muRmotУченик (155) 2 года назад
В экспериментах, в моём браузере, нету forced stopped listing.
muRmot, привет! хотела вам 1-2 вопроса задавать если конечно можете) как можно с вами связаться, или пишите мне в телеге @jesuissoul. Буду очень благодарна вам! Спасибо!
*Ася*Мастер (1206) 1 год назад
У меня его тоже нет, хоть и три браузера
Остальные ответы
Не могу настроить общий доступ
Не могу настроить доступ к ресурсам сервера Fedora 27 Server. система установлена без графического окружения, Samba установлена и настроена, привожу файл конфигурации:
# See smb.conf.example for a more detailed config file or # read the smb.conf manpage. # Run 'testparm' to verify the config is correct after # you modified it. [global] workgroup = WORKGROUP server string = File Server netbios name = nikiv64 security = user passdb backend = tdbsam printing = cups printcap name = cups load printers = yes cups options = raw log file = /var/log/samba/log.%m max log size = 50 encrypt passwords = yes map to guest = bad user security = user dns proxy = no case sensitive = auto dos charset = 866 unix charset = UTF-8 passdb backend = tdbsam client ntlmv2 auth = yes [homes] comment = Home Directories valid users = %S, %D%w%S browseable = No read only = No inherit acls = Yes [arhiv] comment = My Archives path = /home/user/arhiv force user = user force group = user writable = yes guest ok = yes create mask = 0777 directory mask = 0777 [user] comment = My Files path = /home/user/user force user = user force group = user writable = yes guest ok = yes create mask = 0777 directory mask = 0777 comment = My Video path = /home/user/video force user = user force group = user writable = yes guest ok = yes create mask = 0777 directory mask = 0777 [work] comment = To Work path = /home/user/work force user = user force group = user writable = yes guest ok = yes create mask = 0777 directory mask = 0777 [printers] comment = All Printers path = /var/tmp printable = Yes create mask = 0600 browseable = No [print$] comment = Printer Drivers path = /var/lib/samba/drivers write list = @printadmin root force group = @printadmin create mask = 0664 directory mask = 0775
Команда testparm никаких ошибок не выявляет, привожу отчёт:
# Global parameters [global] dns proxy = No dos charset = 866 log file = /var/log/samba/log.%m map to guest = Bad User max log size = 50 printcap name = cups security = USER server string = File Server idmap config * : backend = tdb cups options = raw [homes] browseable = No comment = Home Directories inherit acls = Yes read only = No valid users = %S %D%w%S [arhiv] comment = My Archives create mask = 0777 directory mask = 0777 force group = user force user = user guest ok = Yes path = /home/user/arhiv read only = No [user] comment = My Files create mask = 0777 directory mask = 0777 force group = user force user = user guest ok = Yes path = /home/user/user read only = No comment = My Video create mask = 0777 directory mask = 0777 force group = user force user = user guest ok = Yes path = /home/user/video read only = No [work] comment = To Work create mask = 0777 directory mask = 0777 force group = user force user = user guest ok = Yes path = /home/user/work read only = No [printers] browseable = No comment = All Printers create mask = 0600 path = /var/tmp printable = Yes [print$] comment = Printer Drivers create mask = 0664 directory mask = 0775 force group = @printadmin path = /var/lib/samba/drivers write list = @printadmin root
Настроил Firewall в соответствии с рекомендациями в одном из блогов, отчёт работы команды getsebool -a | grep -E «smb|samba»
samba_create_home_dirs --> off samba_domain_controller --> off samba_enable_home_dirs --> on samba_export_all_ro --> on samba_export_all_rw --> on samba_load_libgfapi --> off samba_portmapper --> off samba_run_unconfined --> off samba_share_fusefs --> on samba_share_nfs --> off sanlock_use_samba --> off smbd_anon_write --> on tmpreaper_use_samba --> off use_samba_home_dirs --> on virt_use_samba --> on
Опцию allow_smbd_anon_write, рекомендованную в том же блоге, включить не удалось.
В результате сервер нормально управляется по сети удалённо и из Windows, и из Linux Debian, обновляется из интернет, устанавливаются программы из репозиториев, однако сам сервер и его ресурсы не видны в сети ни из-под Windows, ни из-под Linux, хотя прекрасно пингуется, привожу результат работы команды ping из Windows:
Обмен пакетами с 192.168.0.3 по с 32 байтами данных: Ответ от 192.168.0.3: число байт=32 время
Мне необходимо настроить доступ из сети к дискам сервера, в моём случае они примонтированы, как /home/user/arhiv, /home/user/user, /home/user/video, /home/user/work.
Буду очень признателен за любую помощь.
Chrome flags: десять функций браузера, которые нужно настроить уже сейчас

Браузер Google Chrome является самым популярным среди пользователей. Однако большинство из них не знают о скрытых функциях, которые значительно упрощают работу в интернете. Разбираемся, как настроить chrome://flags
Браузер Google Chrome имеет целый набор инструментов, которые облегчают взаимодействие с интерфейсом, защищают от потенциально опасного контента и делают работу в интернете проще. Многие из этих функций скрыты за так называемыми «флагами». РБК Тренды разобрались, какие флаги стоит установить в своем Chrome и почему.
Флаги Chrome (Chrome flags) — это расширенный функционал браузера, который позволяет воспользоваться экспериментальными опциями до того, как их добавили в интерфейс официально. Флаги доступны по ссылке «chrome://flags» в поисковой строке браузера.
Настройка флагов выполняется крайне просто. После перехода по ссылке «chrome://flags» появляется список доступных флагов. Прежде чем устанавливать один из них, нужно посмотреть, совместим ли он с ОС на устройстве. Кстати, флаги работают не только на десктопных версиях браузера, но и на смартфонах с ОС Android.
Затем необходимо кликнуть на выпадающее меню рядом с описанием функции и во всплывающей панели выбрать параметр «Enabled» (Включить). После выбора одного или нескольких флагов потребуется перезапустить браузер с помощью кнопки «Relaunch» внизу страницы.
1. Кнопка «Play/Pause» для музыки и видео
Флаг «Global Media Controls» делает просмотр роликов и прослушивание музыки в браузере более удобными. Он позволяет установить дополнительную кнопку «Play/Pause», которая при нажатии отображает панель с воспроизводимым контентом и дает возможность регулировать громкость, запускать и останавливать проигрывание. Это особенно удобно, когда на устройстве открыто сразу много вкладок, и найти активную не так просто.

Ссылка для активации:
2. Принудительный темный режим
Эта функция включает темный режим на всех сайтах - даже там, где он не предусмотрен.

Ссылка для активации:
3. Параллельная загрузка
Chrome устанавливает несколько соединений одновременно, чтобы загружать один файл по частям и повысить скорость загрузки. Эта технология уже давно используется программами-загрузчиками. Тогда как встроенные в браузеры обычные загрузчики скачивают файлы в один поток, эти программы могут создавать несколько параллельных подключений к серверу и одновременно скачивать с него разные части файла.

Ссылка для активации:
4. Отправка страниц с помощью QR-кода
Такая опция позволяет поделиться веб-страницами с помощью QR-кода с динозавром, отправив их на телефон.

Ссылка для активации:
5. Режим чтения
Данная функция позволяет очистить страницы от стороннего визуального контента, который мешает чтению.

Ссылка для активации:
6. Функция плавной прокрутки
Этот флаг обеспечивает плавную прокрутку при просмотре с помощью мыши и клавиатуры, особенно, на более длинных страницах.

Ссылка для активации:
7. Блокировка рекламы
Данная опция скрывает навязчивые уведомления от рекламодателей. Речь идет о «тяжелой» контекстной рекламе и баннерах, которые требуют большой вычислительной мощности устройства, используют основной поток более 15 секунд загружают на устройство более 4 Мб. Вместо них браузер будет показывать серые квадраты.

Ссылка для активации:
8. Протокол QUIC
Эта функция работает как быстрая альтернатива основному протоколу передачи данных TCP/IP и делает обмен данными между браузерами и серверами оперативным. Кроме того, протокол обладает большей устойчивостью к ошибкам и работает с безопасным шифрованием TLS 1.3. Однако многие брандмауэры до сих пор не поддерживают протокол QUIC.

Ссылка для активации:
9. Список чтения на Android
Опция давно работает на iOS, но недавно стала доступна и на Android. Она позволяет сохранять в браузере непрочитанные страницы, чтобы ознакомиться с ними в удобное время в автономном режиме.

Ссылка для активации:
10. Группировка вкладок и ее отключение на Android
В начале 2021 года с релизом Chrome 88 для Android-пользователей стала доступна опция группировки вкладок. Новый интерфейс отображает открытые страницы в виде сетки, а вкладки можно смахнуть влево или вправо для закрытия. Кому-то нововведение показалось удобным, но у некоторых пользователей возникли проблемы со скоростью работы смартфонов, так как браузер требует держать все вкладки открытыми.
Функцию можно отключить посредством деактивации флагов. Для этого на странице флагов в поисковой строке нужно ввести «Tab» и найти три рядом стоящих позиции: «Tab Grid Layout», «Tab Groups» и «Tab Groups UI Improvements». Затем их необходимо деактивировать.

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