[FreeBSD] Установка нового ядра, если не хватает места

Предположим, вам достался старый сервер, у которого на корневом разделе доступного места всего 500 мб и 300 из них заняты. Нужно обновить ОС или пересобрать ядро? Ниже покажу как и где можно сэкономить место.

Читать далее

[solaris] Правильно настраиваем cpu-shares

Узнаём класс, установленный по умолчанию, а так же список используемых (именно используемых, а не доступных) классов:

$ priocntl -d
TIME SHARING PROCESSES:
   PID[/LWP]       TSUPRILIM     TSUPRI
 558743                0            0
$ dispadmin -l
CONFIGURED CLASSES
==================

SYS     (System Class)
TS      (Time Sharing)
SDC     (System Duty-Cycle Class)
FX      (Fixed Priority)

Как видим, по умолчанию используется TS.

Читать далее

rssh — разрешить scp/sftp, но не ssh

rssh is a restricted shell for use with OpenSSH, allowing only scp and/or sftp. It now also includes support for rdist, rsync, and cvs. For example, if you have a server which you only want to allow users to copy files off of via scp, without providing shell access, you can use rssh to do that. For a list of platforms on which rssh is known to work, see the Platform Support Page.

Небольшой пример использования можно найти здесь

[mysql] Fast shutdown

Если нужно быстро перезагрузить базу, можно воспользоваться хаком: сбросить грязный кешь (на самом деле мы просто выставляем лимит грязного кеша в 0) и потом просто restart. И так:

mysql>set global innodb_max_dirty_pages_pct=0;

Теперь дожидаемся, пока весь кеш сбросится (раз в 10 секунд проверяем размер грязного кеша):

Читать далее

[mysql] Multi source replication

И так, представим себе ситуацию: есть GTID репликация и нужно подключить ещё один канал с другого мастера. Вроде бы и тривиальная задача: change master to … channel master2, но при запуске репликации на новом канале master2 она свалится с ошибкой:

The slave is connecting using CHANGE MASTER TO MASTER_AUTO_POSITION = 1, but the master has purged binary logs containing GTIDs that the slave requires.', Error_code: 1236

Как же быть? Опишу по шагам, как это исправить.

Читать далее

[mysql] skip replication with GTID

Смотрим в

mysql>show slave status\G;
...
Executed_Gtid_Set: 1136d9c4-0ecf-11e5-be7e-28d2445d8ed0:1-373587249,
53d58b0f-eb6f-11e6-9215-392e3ca483a1:1-1081544,
bcdd5c11-9d7b-11e2-8070-49715e847bda:1-40596661
...

В данном случае ID-шник непосредственного мастера bcdd5c11-9d7b-11e2-8070-49715e847bda. Значит увеличим его счётчик транзакций на 1 (40596661, стало 40596662, обратите внимание, что gtid_next задаётся в формате ID:position, а в executed_gtid_set оно выглядит как ID:1-position, то есть отличаются на ‘-1’):

Читать далее

[MacOSX] Ускоряем terminal.app

Со временем, если у вас открыто много сеансов и вы их не закрываете, terminal.app начинает сильно притормаживать. Вот несколько советов, как можно его ускорить:

1) удалить файл ~/Library/Preferences/com.apple.Terminal.plist

2) периодически удалять asl-логи:

$ cd /private/var/log/asl && sudo rm *.asl

3) использовать «тихий вход»:

$ touch ~/.hushlogin

4) В настройках в параметре «Прокрутка вниз» установите лимит, например, в 1000 строк. Там же, рядом, отключите «Восстанавливать текст при повторном открытии окна»

[Solaris] non global zone sync time

Как не глобальная зона синхронизирует время? По дефолту — берёт время из global зоны. Но этим можно управлять через параметр global-time (задаётся в конфигурационном файле зоны)

  • true — означает синхронизировать время из global зоны
  • false — означает, что время будет установлено через ntpdate/ntpd (при этом на зону должны быть выданы привилегии sys_time, без этого нельзя будет синхронизировать время)

Путём экспериментов выяснил, что изменения данного параметра влияют только после ребута зоны: простое выполнение zoneadm -z ZONE apply по факту не применяется.

ПС. Статья является вольным переводом этой

[postgresql] pglogical — логическая репликация

pglogical — это логическая репликация, реализованная в виде дополнения к PostgreSQL (доступна начиная с 9.4). Это альтернатива физической репликации, в которой, например, есть ограничения (в pglogical такого ограничения нет) репликации только в пределах одной минорной ветки.

Официальный сайт https://2ndquadrant.com/en/resources/pglogical/