Установка и использование ioping

ioping — простой инструмент для мониторинга задержек ввода-вывода диска в режиме реального времени, аналогично как ping показывает задержку сети.

Установить в Ubuntu/Debian можно командой:

sudo apt-get install ioping

Приведу пример запуска с 10 запросами теста задержек к директории /tmp:

ioping -c 10 /tmp

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

ioping -i 0.2 -c 10 -s 1M -S 5M /tmp

Тест к диску:

ioping -R /dev/sda
ioping -RL /dev/sda

Опишу возможные опции запуска:
-c count (остановить после указанного количества запросов)
-w deadline (остановить после указанного количества времени)
-p period (отображать raw статистику после каждого указанного количества запросов)
-P period (отображать raw статистику после каждого указанного количества секунд)
-i interval (интервал между запросами в секундах)
-s size (размер запроса (4k))
-S size (размер рабочего набора)
-k (по завершению команды оставить (не удалять) рабочий файл ioping.tmp)
-L (последовательные операции вместо случайных, это также задаст размер запроса до 256k (как и -s 256k))
-A (асинхронный I/O)
-C (кешированный I/O)
-D (прямой I/O)
-B (не отображать информацию выполнения, она отобразится только по завершении команды в raw формате)
-q (не отображать информацию выполнения, она отобразится только по завершении команды)
-h (отображение краткой справки)
-v (просмотр версии)

Как добавить пользователя Windows из командной строки

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

Первым делом запустим командную строку от имени администратора, для этого в меню пуск наберем «cmd» или просто найдем ярлык «Командная строка» и нажав по нему правой кнопкой мыши выберем «Запуск от имени администратора«.

В командной строке выполним команду добавления пользователя (где NAME — имя пользователя):

net user NAME /add

Все, нового пользователя уже можно увидеть в «Панель управления\Учетные записи пользователей\Учетные записи пользователей\Управление учетными записями«

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

Redmine — серверное веб-приложение для управления проектами и задачами.

На тесте установлю Redmine в Ubuntu Server 16.04, в качестве базы данных будет использоваться MySQL, и так сначала установим необходимые компоненты:

sudo apt-get update
sudo apt-get install apache2 libapache2-mod-passenger
sudo apt-get install mysql-server mysql-client

Теперь выполним установку Redmine:

sudo apt-get install redmine redmine-mysql

Проверим установлен ли bundler gem:

sudo gem update
sudo gem install bundler

Откроем в текстовом редакторе файл конфигурации passenger.conf:

sudo nano /etc/apache2/mods-available/passenger.conf

И после строки:

<IfModule mod_passenger.c>

Добавим:

PassengerDefaultUser www-data

Создадим символическую ссылку на Redmine в директории веб сервера:

sudo ln -s /usr/share/redmine/public /var/www/html/redmine

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

sudo nano /etc/apache2/sites-available/000-default.conf

И где нибудь внутри блока VirtualHost добавим:

<Directory /var/www/html/redmine>
    RailsBaseURI /redmine
    PassengerResolveSymlinksInDocumentRoot on
</Directory>

Создадим файл Gemfile.lock и назначим его владельцем пользователя веб сервера www-data:

sudo touch /usr/share/redmine/Gemfile.lock
sudo chown www-data:www-data /usr/share/redmine/Gemfile.lock

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

sudo service apache2 restart

Теперь Redmine установлен и его можно открыть по ссылке http://HOST/redmine
Где необходимо нажать Войти, ввести стандартный логин admin и пароль admin.

Все.

Как посмотреть ARP и MAC адреса на Cisco

Приведу пример поиска ARP записи по mac адресу:

show arp | include 10fe.ed58.0555

Просмотр ARP по IP, MAC, VLAN:

sh ip arp 192.168.1.22
sh ip arp 01ac:bc11:1100
sh ip arp vlan 100

Просмотр таблицы mac адресов находящихся в указанном VLAN:

show mac address-table vlan 100

Поиск mac адреса в таблице:

show mac-address-table address 20cf.30bd.d1fe

Просмотр дубликатов mac-адресов:

sh mac-address-table duplicate only

Посмотреть диапазон mac адресов самих модулей в устройстве:

show module

Описание типов VLAN в Huawei OLT

В Huawei OLT существует несколько типов VLAN, кратко опишу их:

1) Standard VLAN
Ethernet порты в Standard VLAN видят друг друга, Ethernet порты разных VLAN изолированы друг от друга.

2) Smart VLAN
Smart VLAN может иметь много service ports, которые в одном VLAN изолированы друг от друга, service ports в разных VLAN также изолированы друг от друга. Этот тип я обычно и использую при настройке Huawei OLT.

3) MUX VLAN
Один MUX VLAN может содержать только один service port. service ports в разных MUX VLAN изолированы друг от друга.

4) Super VLAN
Super VLAN основан на 3 уровне, содержит подвланы (mux или smart), которые могут взаимодействовать через arp-proxy.

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

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

Устанавливается в Ubuntu/Debian командами:

sudo apt-get update
sudo apt-get install fio

Для систем с графическим интерфейсом можно установить утилиту управления:

sudo apt-get install gfio

Пример теста случайной записи/чтения:

fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=4G --readwrite=randrw --rwmixread=75

Тест случайного чтения:

fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=4G --readwrite=randread

Тест случайной записи:

fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=4G --readwrite=randwrite

В процессе теста создается файл test, не забываем его удалить по завершению:

rm test

Управление модулями 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