Тест 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»

Как удалить недействительный телефон и email из Privat24

Насобиралось как-то много недействительных номеров телефонов и email адресов в Приват24, захотелось их удалить, галочки «Актуальный» естественно были сняты.

После общения с техподдержкой мне сообщили что удалить email можно самостоятельно отправив СМС с текстом OFF+mail@example.com на номер 10060, где mail@example.com — адрес не актуальной почты (находясь за границей СМС нужно слать на номер +380920003700).

А заявку на удаление номеров телефонов оператор техподдержки сделал самостоятельно и через некоторое время они исчезли из настроек аккаунта.

Установка и настройка 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

Подключение модулей SFP-RJ45 к Cisco 6500

Понадобилось пару дней назад к Cisco Catalyst 6509-E в котором стояли модули только с SFP портами подключить немного линков с RJ45.

Так как RJ45 линков мало, экономнее было использовать модули SFP-RJ45, поэтому их и заказали.
Подключил их в порты WS-X6724-SFP, при этом в логах ничего не отобразилось.

Пропишем команды чтобы Cisco не отключала порты при вставке сторонних модулей:

service unsupported-transceiver
no errdisable detect cause sfp-config-mismatch
no errdisable detect cause gbic-invalid

Замечу что порты WS-X6724-SFP в моём случае работают только на скорости 1Gb, поэтому линк естественно не поднимется на 100Мб или 10Мб, хоть модули Foxgate SFP-RJ45 которые у нас были и поддерживают 10/100/1000.

В подтверждение этому проверил командами:

configure t
interface gigabitEthernet 1/1
speed ?

На что была возможность указать скорость порта только в 1000.

Смотрите также:
Настройка Cisco Catalyst 6509-E

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

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

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