Тест iops используя fio

fio (flexible I/O tester) — инструмент создающий потоки записи/чтения по которым можно оценить производительность файловой системы, так сказать увидеть скорость в Мбайт/с, IOPS и т.д.

Читать далее «Тест iops используя fio»

Управление модулями Asterisk

Подключимся к консоли Asterisk:

sudo asterisk -rvv

Просмотрим какие модули уже используются:

module show

Файлы модулей с расширением *.so находятся в директории /usr/lib/asterisk/modules/

Для загрузки и выгрузки модуля используются команды (имя модуля указывается без расширения файла, например не chan_sip.so, а chan_sip):

module load NAME
module unload NAME

Для того чтобы нужные модули загружались автоматически при запуске Asterisk, их нужно указать в файле /etc/asterisk/modules.conf, например откроем его в текстовом редакторе nano:

sudo nano /etc/asterisk/modules.conf

Можно включить автозагрузку всех существующих модулей в папке /usr/lib/asterisk/modules/:

[modules]
autoload=yes

А потом исключить ненужные командами:

noload => module.so

Либо запретить загрузку всех и указать только те которые нужны, например:

;SIP VoIP драйвер
load => chan_sip.so
load => res_rtp_asterisk.so
load => app_dial.so
load => bridge_simple.so
load => res_features.so
; музыка при удержании вызова
load => res_musiconhold.so
load => res_adsi.so
load => pbx_config.so
; список необходимых кодеков
load => codec_a_mu.so
load => codec_adpcm.so
load => codec_alaw.so
load => codec_ulaw.so
load => codec_gsm.so
load => codec_ilbc.so
load => codec_lpc10.so
; нужен если использовать платы Dahdi для аналоговых линий
load => chan_dahdi.so
; парковка вызовов
load => res_parking.so 
; ниже модули которые мне понадобились при настройке записи разговоров
; требуется если используется res_monitor.so
load => func_periodic_hook.so
; требуется если используется res_monitor.so, функция STRFTIME
load => func_strings.so
; требуется если используется res_monitor.so для определения номера, функция CALLERID
load => func_callerid.so
; требуется если используется res_monitor.so для MixMonitor
load => app_dial.so
; для записи разговоров
load => res_monitor.so
; для поддержки формата WAV
load => format_wav.so
; для поддержки формата MP3
load => format_mp3.so
; для записи статистики звонков в MySQL базу
load => cdr_mysql.so
; для включения функционала SNMP, например чтобы собирать статистику различными системами мониторинга
load => res_snmp.so
; для совершения вызовов из контекста помещаемых файлов в директорию /var/spool/asterisk/outgoing/
load => pbx_spool.so

Чтобы применить изменения в файле /etc/asterisk/modules.conf выполним команду из консоли Asterisk:

module reload

Если понадобится, сам Asterisk можно перезагрузить так:

sudo service asterisk restart

Оповещения Zabbix по телефону через Asterisk

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

Читать далее «Оповещения Zabbix по телефону через Asterisk»

Установка и настройка Bacula-Web

Bacula-Web — веб-инструмент для создания отчетов и мониторинга Bacula.

Установим необходимые компоненты:

sudo apt-get install apache2 libapache2-mod-php5 php5-mysql php5-gd
sudo a2enmod php5
sudo a2enmod rewrite

Откроем в редакторе файл конфигурации PHP и укажем временную зону:

sudo nano /etc/php5/apache2/php.ini
date.timezone = Europe/Kiev

А также для директории с Bacula-Web укажем опцию:

sudo nano /etc/apache2/sites-enabled/000-default.conf
<Directory /var/www/html/bacula-web>
AllowOverride All
</Directory>

Перезапустим apache2 чтобы применить изменения:

sudo service apache2 restart

Перейдем в директорию веб-сервера, скачаем архив с последней версией Bacula-web и распакуем его:

cd /var/www/html
curl -O http://www.bacula-web.org/files/bacula-web.org/downloads/bacula-web-latest.tgz
mkdir -v /var/www/html/bacula-web
tar -xzf bacula-web-latest.tgz -C /var/www/html/bacula-web

Сделаем копию примера файла конфигурации и откроем его например в текстовом редакторе nano:

cd /var/www/html/bacula-web/application/config
cp -v config.php.sample config.php
sudo nano /var/www/html/bacula-web/application/config/config.php

Раскомментируем и настроим MySQL параметры:

$config[0]['label'] = 'Backup Server';
$config[0]['host'] = 'localhost';
$config[0]['login'] = 'bacula';
$config[0]['password'] = 'test';
$config[0]['db_name'] = 'bacula';
$config[0]['db_type'] = 'mysql';
$config[0]['db_port'] = '3306';

Так как некоторые команды выполняли через sudo, то укажем правильного владельца файлам:

sudo chown -R www-data:www-data /var/www/html/bacula-web

На этом установка завершена, можно открывать Bacula-Web по ссылке http://SERVER/bacula-web, а также желательно посмотреть тестовую страницу http://SERVER/bacula-web/test.php которая сообщит все ли необходимые компоненты установлены и настроены.

Смотрите также:
Установка и настройка Bacula

Установка и настройка Bacula

Bacula — набор программ клиент-сервер для управления резервным копированием.
Состоит из компонентов Director Daemon (DD), Storage Daemon (SD), File Daemon (FD) и консоли администратора Bacula Console (BC).

Для установки в Ubuntu/Debian выполним:

sudo apt-get install bacula

В процессе установки будет запрошен пароль root пользователя MySQL и создана база данных, а также установлен Postfix.

Создадим директории и установим права:

sudo mkdir -p /bacula/backup /bacula/restore
sudo chown -R bacula:bacula /bacula
sudo chmod -R 700 /bacula

Откроем файл конфигурации DD, например в текстовом редакторе nano:

sudo nano /etc/bacula/bacula-dir.conf

Найдем «Standard Restore template» и там где Where изменим путь:

Job {
Name = "RestoreFiles"
Type = Restore
Client=Blank-fd
FileSet="Full Set"
Storage = File
Pool = Default
Messages = Standard
Where = /bacula/restore
}

Далее найдем «List of files to be backed up» и чуть ниже где «File =» укажем что именно нужно копировать в резервную копию.

Ненужные директории можно исключить, добавив например:

Exclude {
File = /bacula
File = /proc
File = /tmp
}

Откроем файл конфигурации SD:

sudo nano /etc/bacula/bacula-sd.conf

Найдем «Devices supported by this Storage daemon» и укажем в «Archive Device =» где хранить резервные копии, например:

Archive Device = /bacula/backup

Протестируем правильность конфигурации:

sudo bacula-dir -tc /etc/bacula/bacula-dir.conf
sudo bacula-sd -tc /etc/bacula/bacula-sd.conf

Если команды ничего не сообщили, значит все хорошо и ошибок нет.

Перезапустим сервисы bacula чтобы применить изменения в конфигурации:

sudo service bacula-sd restart
sudo service bacula-director restart

Проверим все ли три сервиса запущено:

netstat -nlpt | grep [b]acula

Откроем консоль bacula:

sudo bconsole

Проверим статус:

status

Наберем команду:

label

и укажем имя резервной копии, потом укажем 2 что это файл.

Запустим наш настроенный процесс резервного копирования (выберем 1 и yes):

run

Посмотреть сообщения о успешном выполнении:

messages

Выйдем из консоли bacula:

quit

В директории /bacula/backup должен появится файл с резервной копией.

Смотрите также:
Установка и настройка Bacula-Web

Как подключить Google Диск в Linux используя Grive

Grive — консольный клиент позволяющий синхронизировать данные с Google Диск.

Установим необходимые компоненты:

sudo apt-get install git cmake build-essential libgcrypt11-dev libyajl-dev \
libboost-all-dev libcurl4-openssl-dev libexpat1-dev libcppunit-dev binutils-dev

Пробовал устанавливать командой apt-get install grive, но в этом случае у меня установилась старая версия, которая уже не работоспособна.
По этому создадим директорию и клонируем последние исходные файлы Grive с официального источника:

mkdir grive
cd grive/
sudo git clone https://github.com/Grive/grive.git
cd grive/

Соберем Grive из исходных файлов:

sudo dpkg-buildpackage -j4

По желанию можно собрать вручную:

mkdir build
cd build
sudo cmake ..
sudo make -j4
sudo make install

Установка Grive завершена, теперь создадим и перейдем в любую директорию, в которую будет синхронизироваться Google Диск:

mkdir ~/GoogleDrive
cd ~/GoogleDrive

Запросим токен авторизации от Google:

grive -a

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

В дальнейшем для синхронизации переходим в директорию и запускаем Grive:

cd ~/GoogleDrive
grive

Можно сохранить отчет синхронизации в файл:

grive -l ~/log.txt

Посмотреть текущую версию Grive можно командой:

sudo grive -v

Установка system-config-samba

system-config-samba — простое приложение для настройки samba с графическим интерфейсом.

Устанавливается командой:

sudo apt-get install system-config-samba

Запускается:

sudo system-config-samba

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

Смотрите также:
Установка и настройка Samba в Linux

Понижение приоритета IPv6

Понадобилось однажды понизить приоритет IPv6 на одном Ubuntu сервере в Hetzner.de, так как сеть IPv6 работала нестабильно, некоторые хосты били периодически недоступны по IPv6, появлялись задержки и т.д.

Читать далее «Понижение приоритета IPv6»

Установка Tarantool в Ubuntu

Для установки Tarantool в Ubuntu необходимо выполнить команды:

sudo apt-get update
sudo apt-get install tarantool

У меня на тесте установилась версия 1.5, а самая новая на этот момент была 1.7rc (версию можно посмотреть на официальном сайте по ссылке ниже), поэтому обновим источники:

curl http://download.tarantool.org/tarantool/1.7/gpgkey | sudo apt-key add -
release=`lsb_release -c -s`
sudo apt-get -y install apt-transport-https
sudo rm -f /etc/apt/sources.list.d/*tarantool*.list
sudo tee /etc/apt/sources.list.d/tarantool_1_7.list <<- EOF
deb http://download.tarantool.org/tarantool/1.7/ubuntu/ $release main
deb-src http://download.tarantool.org/tarantool/1.7/ubuntu/ $release main
EOF

И выполним установку самой новой версии, если установка Tarantool уже выполнена, то произойдет обновление:

sudo apt-get update
sudo apt-get -y install tarantool

Установка и настройка IRC сервера — ircd-irc2

На тесте запущу IRC (Internet Relay Chat) сервер ircd-irc2 в Ubuntu Server 14.04.

Первой командой выполним установку IRC сервера в Ubuntu:

sudo apt-get install ircd-irc2

В директории /etc/ircd/ находится несколько конфигурационных файлов: /etc/ircd/ircd.conf (основной), /etc/ircd/ircd.motd (сообщение пользователям при подключении), /etc/ircd/iauth.conf (параметры подключения).
В директории /usr/share/doc/ircd-irc2/ можно увидеть примеры конфигурационных файлов.

После изменений в конфигурационных файлах необходимо перезагрузить IRC сервер:

sudo /etc/init.d/ircd-irc2 restart

Пользователи могут создавать и подключаться к каналам такой командой:

/join #channel_name