суббота, 24 ноября 2018 г.

Виртуализация: прошлое и настоящее


Давным давно, более десяти лет назад я впервые познакомился с виртуализацией.
В качестве гипервизора тогда безоговорочно лидировал VMware Workstation (скорее всего версии 4).
Возможность запускать одновременно несколько различных ОС на одной системе, и открывающиеся при этом широкие возможности произвели очень сильное впечатление.





И с тех пор я начал создавать различные виртуальные лаборатории. Для изучения новых технологий, тестирования рискованных изменений и для поиска новых решений.
С удешевлением оперативной памяти появлялась возможность запускать всё больше и больше виртуальных машин на одном хосте, создавая интересные решения, которые повторяли реально используемые в производстве. Одновременно с этим и бизнес постепенно отказывался от физических серверов в стойках и тоже переходил на виртуализацию (арендованную либо свою собственную).
В какой-то момент количество используемых виртуальных машин у меня перевалило за четыре десятка, а к VMware добавился еще и эмулятор сетевого оборудования GNS3, который позволил добавить еще больше реалистичности и сложности в собираемые стенды.

суббота, 9 ноября 2013 г.

Непростое обновление roundcube

Возникла задача обновить roundcube с версии 0.7 до 0.9.5

Казалось бы, что всё очень просто, но на деле возникли затруднения.

Под катом собственно детальный траблшутинг и подробное решение.

суббота, 22 июня 2013 г.

FreeBSD исполнилось 20 лет

Проект FreeBSD празднует двадцатилетие.
Днём рождения проекта считается 19 июня 1993 года.
В этот день на базе неофициального набора патчей к 386BSD был создан форк 4.3BSD, в рамках которого планировалось развивать быструю, стабильную и надёжную ОС для систем i386.
В качестве вариантов имени рассматривались FreeBSD, BSDFree86 и Free86BSD.
В итоге предпочтение было отдано варианту FreeBSD, который предложил Дэвид Гринман (David Greenman).
В ноябре 1993 года на основе 4.3BSD-Lite 'Net/2' и 386BSD 0.1 был выпущен первый релиз FreeBSD 1.0.

Точнее чем Майкл Лукас никто бы не сказал - "Like smog, spiders, and corn syrup, FreeBSD is all around you; you simply don't see it because FreeBSD just works."

Так и есть, BSD системы держали и продолжают держать самые критичные сервисы и приложения, но никто этого не замечает, потому что FreeBSD просто работает.


пятница, 31 мая 2013 г.

Восстановление файловой системы FreeBSD

Как поступать если FreeBSD после повреждения файловой системы загружается в single use mode.

Для начала запустить fsck_ufs для "грязных" слайсов

# fsck_ufs /dev/ad0s1d

Далее если ругнется на то что can't read disk label

и

# bsdlabel: /dev/ad0s1d: no valid label found

То

Сначала узнать адреса резервных копий суперблока.

# newfs -N <слайс>

Будет выведен список резервных копий суперблока.

И затем указать один из адресов копий суперблока программе восстановления

# fsck -o -b=<адрес одного из резервных суперблоков>  <слайс>

Осталось только оправить на перезагрузку

# init 6

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



суббота, 27 апреля 2013 г.

Cisco disaster recovery


Бывают ситуации когда загрузка маршрутизатора останавливается в ROMMON по той причине, что отсутствует прошивка.

воскресенье, 31 марта 2013 г.

Path MTU Discovery

Неочевидные нюансы Path MTU Discovery.

Суть технологии Path MTU discovery заключается в том, что при соединении двух хостов устанавливается параметр DF (don’t fragment), который запрещает фрагментацию пакетов.
Это приводит к тому, что узел, значение MTU которого меньше размера пакета, отклоняет передачу пакета и отправляет сообщение ICMP типа Destination is unreachable.
К сообщению об ошибке прилагается значение MTU узла.
Хост-отправитель уменьшает размер пакета и отсылает его заново.
Такая операция происходит до тех пор, пока пакет не будет достаточно мал, чтобы дойти до хоста-получателя без фрагментации.

Но, что произойдет если на маршрутизаторе, на интерфейсе отключена отправка таких ICMP сообщений (no ip unreachables)?
В таком случае хост-отправитель не будет знать, о том, что его пакет отброшен и не был доставлен до адресата.
И соединение просто не установится.

Отключение ICMP unreachables не усиливает безопасность, а просто ломает технологии вроде  Path MTU discovery и усложняет поиск проблем с маршрутизацией.