6.07.2018

VMware. Hypervizor. Vsphere. Update. ESXi.

Сегодня прекрасно отпили сук на котором сидел – начал обновление EXSi – а сервер у меня не запускает без ручного выбора устройства загрузки – ну это 1dedic.ru думаю разберутся. Сервер я там урвал менее чем за 3000 в месяц., что для моих задач – прекрасно. По промокоду 345668731 будет и вам скидка или не будет. Тут как повезёт.

Но в процессе обновления возникли проблемы, и вот материалы которые позволят вам (и мне конечно) обновить ESXi.

Итак:
решение проблемы с “no space left on device”
Список патчей для ESXi 6.5, там содержатся названия файлов которые понадобятся для команды обновления.
обновление через SSH

6.07.2018

Mysql. Оптимизация. SHM. Error permission denied

Столкнулся с тем что Mysql пишет очень много на диск, работает в связке с Django.
Решил подключить /run/shm в качестве временного каталога, а он не подключается – “permission denied error 13”.

Оказалось всё просто, оказалось я использую apparmor(вероятно шел с дистрибутивом) вот тут инструкция.

23.06.2018

sip trace debug sipgrep sngrep

Для отлова sip сообщение сообщений в удобном виде использую две утилиты sipgrep и sngrep.

sngrep хорош тем что работает в консоле сервера и позволяет быстро найти сообщения и посмотреть полный siptrace.

чтобы постоянно следить за сообщениями я запускаю в screen режиме sipgrep складываю всё в файлики по 2Гб.
Если открывать их wireshark то это занимает много времени и требует дофига ресурсов, а так быстро и главное call flow присутствует.

Затем “sngrep -I sipgrep.pcap”.

установка на centos 7 одним скриптом:

touch /etc/yum.repos.d/sngrep.repo
cat > /etc/yum.repos.d/sngrep.repo <<EOF 
[irontec]
name=Irontec RPMs repository
baseurl=http://packages.irontec.com/centos/\$releasever/\$basearch/
EOF
rpm --import http://packages.irontec.com/public.key
#yum update -y
yum install sngrep -y

15.01.2018

Обновление дисков виртуальных машин на Linux без перезагрузки в инфраструктуре VMware

как добавить новый hdd к виртуалке vmware

Работа с lvm

Расширить / раздел если Home слишком большой.

Расширить размер диска для виртуалки оказалось крайне просто.
1. добавляем размер диска в настройках виртуальной машины ESXI.
2. Перечитать конфигурацию шины, чтобы Unix без перезагрузки узнал что размер диска уже другой. echo "1" > /sys/class/block/sda/device/rescan
3. создаем раздел primary из свободного места командой fdisk /dev/sdX
4. создаем PV носитель pvcreate /dev/sdXN
5. расширяем VG с новым PV : vgextend current-vg /dev/sdXN
6. расширяем LV том До нужных размеров: lvextend -L+40G -r /dev/current-pv-path

9.01.2018

Номного о возможностях посмотреть кто нагружает в PHP

xhprof

28.12.2017

polycom CA default certificate

Документация по TLS для телефонов Polycom здесь: Device_Certificates_on_Phones_TB37148.pdf
Изначально я столкнулся с тем, что поликом отдает свой собственный сертификат, который администратор никогда не загружал, но чтение документации дало понимание, что да такой сертификат зашивается на заводе, и чтобы им пользоваться, нужно скачать сертификат удостоверяющего центра Polycom – http://pki.polycom.com/pki/

19.12.2017

firewalld управление

Задача организовать защиту пула серверов находящихся в одной публичной подсети.

Firewalld использует понятие zone (зона), и распределяет трафик по ним, по крайней мере входящий т.к. я работаю именно с ним.

Итак, смысл такой, я хочу чтобы медлу серверами всё было открыто, поэтому использовать для этого буду встроенную зону work.
У зон можно настроить дефолтное правило ACCEPT,REJECT,DROP – установим ACCEPT.

    firewall-cmd –zone=work –set-target=DROP –permanent
    *сработает только после firewall-cmd –reload

затем нужно добавить ip адреса трафик с которых будет считаться относящимся к этой зоне.

    firewall-cmd –zone=work –add-source=123.123.123.123/32 –permanent
    firewall-cmd –zone=work –add-source=123.123.123.123/32

тут можно использовать маски вместо 32, нужные.

хорошая статья по управлению firewall-cmd

http://landoflinux.com/linux_firewall_cmd_config.html

26.06.2017

добавить Ip к интерфейсу в centos 6.8

Особенностью является то, что для интерфейса выделяется 1 ip адрес привязанный к MAC и таким образом можно использовать больше IP выделенных для маленьких подсетей.
В общем-то это особенность одного из клиентов.

1. смотрим все интерфейсы доступные в машине, в том числе отключенные:

ipconfig -a

2. копируем файл /etc/sysconfig/network-scripts/ifcfg-eth0 > ifcfg-eth1 т.к. у нас интерфейс в машине eth1 .

3. затем изменяем ifcfg-eth1 на нужный нам, указывая новый mac, адрес шлюза и сам IP.

4. Изменяем /etc/sysconfig/network
добавляем:

gateway = gataway_ip
gatewaydev = eth1

5. Обновляем MAC у виртуальной машины

6. запускаем.

16.06.2017

TLS. Kamailio. Asterisk. Настройка

Схема которую планировали реализовать:

Client1 —<TLS>— Kamailio —<UDP>— Asterisk —<UDP>— Kamailio —<TLS>— <Client2>

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

  1. Документация TLS модуля для Камалио 4.4 – прекрасно описывается как создать сертификат без получения и т.д.
  2. ssldump -Nn покажет обмен внутри протокола ssl кто кому какие сертификаты посылает
  3. howto kamailio and tls

Теперь непосредственно, то как работает TLS в двух словах.

  1. создать центра сертификации – CA
  2. подписать им сертификат для Камалио
  3. скопировать в подписанный сертификат приватный ключь, этот на всякий случай
  4. создать сертификат для sip-клиента
  5. скопировать приватный ключ в сертификат т.к. некоторые сип клиенты не имеют возможность для указания отдельно приватного ключа в настройках
  6. вынести конфигурацию tls в отдельный файл
  7. далее прописать в calist.pem сертификат CA. Это нужно чтобы камалио получив сертификат от клиента проверил его CA в своем списке и если СА в доверенных, то одобрить сертификат (при этом неважно откуда звонит клиент и какой домен (CN) указан в сертификате
  8. Повесить камалио на lts : listen:tls:ip_address:5061
  9. подключить к своему клиенту сертификат.
  10. клиент будет проверять сертификат поэтому, в виндоус нужно добавить в доверенные центры сертификации ваш сертификат CA, который вы создавали в самом начале.
  11. в сертификате Камалио обязательно должен быть указан CN соответствующий домену Камалио, либо его IP адресу если домена как такогово нет.
  12. В настройках камалио нужно оставить только verify_certificate = yes, require_certificate = no. Если поставить оба значения, то у меня ситуация выглядела так: Во время звонка при передаче ACK сообщения sip-клиент создавал новое соединение TLS и оно было отказывалось работать, потому, что не совпадали CN ожидаемые sip-клиентом и указанные в сертификате. Не стал разбираться дальше почему так происходит.

Настройка на данном этапе завершена, сертификат проверяется, т.е. использовать левый сертификат не получится.

15.06.2017

Восстановление базы MySQL из бинарных логов

Восстановление базы MySQL из бинарных логов
Простая статься на хабре, помогает быстренько восстановить утерянные insert в таблицы.

 

Восстановление базы данных из ib_logfile0