Работа с Postgresql: настройка, масштабирование

Книга Работа с Postgresql: настройка, масштабирование является справочным пособием по настройке и масштабированию Postgresql. В книге иследуются вопросы по настройки производительности Postgresql, репликации и кластеризации. Изобилие реальных примеров позволит как начинающим, так и опытным разработчикам быстро разобратся с особенностями масштабирования Postgresql для своих приложений. http://postgresql.leopard.in.ua/ ссылка на книгу если с сайта не грузится postgresql

Проблема с нумерацией сетевых интерфейсов в Gentoo

В случае если менять сетевые интерфейсы на системе с генту ( как вариант замена сгоревшей), то следующая новая сетевая карта получит индекс на единицу больший. Но иногда это не оправдано, когда в системе 3 сетевые карты, а вы заменили 2 из них… в итоге получаем : eth1,eth3,eth4 … не очень удобно и не практично. Чтоб … Читати далі

Миграция Postgres с 8.4 на 9.0

Решились потренироваться делать репликацию Master-Slave, которая реализована в версии 9.0
Значит так-с…
1. Обновляем Portage

emerge --sync

2. Ставим новую БД

LINGUAS="ru" ACCEPT_KEYWORDS="~amd64" emerge -av  /usr/portage/dev-db/postgresql-server/postgresql-server-9.0.1.ebuild

3. Конфигурим

emerge --config =dev-db/postgresql-server-9.0.1

4. правим конфиг и запускаем на порту 6543, не выключая старый постгресс
5. производим миграцию БД

pg_dumpall -p 5432 | psql -d postgres -p 6543

6. стартуем новую БД на порту 5432 предварительно выключив старую

После чего устанавливаем Postgres на втором хосте, который будет использоваться как Slave

LINGUAS="ru" ACCEPT_KEYWORDS="~amd64" emerge -av  /usr/portage/dev-db/postgresql-server/postgresql-server-9.0.1.ebuild

Вносим изменения в Master, чтобы слэйв мог к нему подключится:

$ $EDITOR postgresql.conf
listen_addresses = '10.0.xx.yy'

$ $EDITOR pg_hba.conf
# The standby server must have superuser access privileges.
host  replication  postgres  10.0.xx.zz/22  trust

Читати далі

Осваиваем Git

Никогда не пользовался системами контроля версий, так как мало что творю на языках программирования, а скрипты можно просто хранить в папочке.
Ну и вот решил попробовать хранить скрипты (и не только) в каком-то хранилище, но при этом упустить освоение SVN И CVS, а сразу приступить к Git’у , так как мы не исчем легких путей 🙂

Для начала создаем собственный репозиторий с проэктом, который будет находится не на локальной машине, а где-то в сети.
Пишу по мотивам статьи How to set up your own private Git server on Linux
Сервер и клиенты (в основном) работают под управлением Gentoo.
Итак приступим.
Для начала добавим свой публичный ключ на сервер

cd ~/.ssh
ssh-keygen -t rsa
scp ~/.ssh/id_rsa.pub 'user'@'server':.ssh/authorized_keys

Теперь мы можем зайти по SSH на наш сервер и установить Git:

ssh 
ACCEPT_KEYWORDS="~amd64" USE="bash-completion cvs subversion" emerge -av git

Теперь добавим пользователя

useradd -d /home/git -m -s /bin/bash git

Теперь вам нужно добавить свой публичный ключ для пользователя Git

mkdir /home/git/.ssh
cp ~/.ssh/authorized_keys /home/git/.ssh/
chown -R git:git /home/git/.ssh
chmod 700 !$
chmod 600 /home/git/.ssh/*

Читати далі

FreeBSD: Средства мониторинга

Во FreeBSD существует огромное количество средств для получения информации о функционировании системы. Однако некоторые из них спрятаны немного нетривиально.

  1. Информация о дисках
    1. mount – показывает смонтированные подразделы и флаги из монтирования
    2. df – показывает смонтированные подразделы, их размер и свободное место на них
    3. fdisk /dev/ad0 – показывает информацию о диске ad0 и разделах на нем
    4. disklabel /dev/ad0s1 – показывает список подразделов в первом разделе диска ad0
    5. swapinfo – показывает список подразделов свопинга на дисках и их использование
    6. fstat – показывает список открытых файлов (имена файлов не выводятся)
    7. pstat -f – выводит список открытых файлов (имена файлов не выводятся)
    8. systat -vmstat n – каждые n секунд выводит количество транзакций с диском в секунду, объем записанных/считанных данных на диск в секунду, средний размер транзакции и процент времени в течение которого диск был занят работой.
    9. iostat – выводит информацию, аналогичную systat -vmstat, но не выводит занятости диска по времени и может выводить среднюю статистику с момента загрузки.
    10. vmstat – выводит количество операций на диске в секунду
    11. /stand/sysinstall – можно посмотреть и изменить разметку диска и монтирование
    12. less /etc/fstab – таблица монтирования при загрузке
  2. Информация о процессоре и памяти
    1. systat -vmstat n – вывод показателей загрузки (number of jobs in the run queue averaged over 1, 5 and 15 min), состояния памяти (в страницах), количества процессов в группах, количество вызовов специальных функций ядра (traps, interrupts, system calls, network software interrupts), использование процессора, трансляции имен, активность свопа, прерывания, а также информацию по использованию диска (см)
    2. top – аналогичная информация в сокращенном виде + использование памяти и свопа в мегабайтах, список процессов, отсортированных по использованию процессора.
    3. ps afx – список запущенных процессов и время процессора на каждый
    4. grep -i cpu /var/run/dmesg.boot – узнать тип процессора

      Читати далі

Сервисы в Gentoo

Спижжено с Gentoo Wiki Чтобы запустить программу при загрузке системы, в Gentoo сущестует специальный файл: /etc/conf.d/local.start Синтаксис предельно простой. Каждая строка – команда с параметрами, которая должна быть выполнена. Также есть возможность запускать программы при выключении системы. Для этого есть файл: /etc/conf.d/local.stop Что сделать если невозможно остановить сервис, или процесс убит а система продолжает думать … Читати далі

nginx, php-cgi или избавляемся от apache

Теста ради решил несколько доменов поднять только на nginx и посмотреть как поменяется картинка на графиках загрузки сервера.
Как запустить nginx поверх apache было описано тут
Теперь начинаем прикручивать php к nginx через fastcgi.
для этого нам понадобится пакет spawn-fcgi

Читати далі

Кодування імен файлів в Linux

Дали мені декілька каталогів з музикою, щоб записати на CD-R, але під час передачі через FTP побилось кодування самих файлів, щоб виправити данну неприємність в Linux є маленька утиліта convmv Ставимо її: $apt-get install convmv а потім правимо кодування : $convmv -f cp1251 -t utf-8 -r –nosmart –replace –notest /якась/папка/ –nosmart – не чіпає файли … Читати далі

Проброс трафика на другую машину

Появилась проблемка…. нужно было весь трафик приходящий на определенный порт заворачивать на другую машину в локальной сети, но управлять этим нужно не на шлюзе, а на локальной машине… ответ оказался прост и решается с помощью iptables: iptables -t nat -A PREROUTING -p tcp -i eth0 –dport 21 -j DNAT –to-destination 10.0.3.99 iptables -t nat -A … Читати далі