Комментарии 30
Очень логичный вариант. Только непонятно зачем вообще делать /lib/modules расшаренным. Если нужны только определенные ядра, можно же просто подкрутить инсталляторы debian/ubuntu/centos на эту тему.
0
версия ядра меняется же после установки
+1
Я об этом думал. Если мы скопируем модули на клиентскую машину, то мы не сможем их обновлять синхронно с обоновлением ядра. Поскольку ядро находится в нашем ведении, логично, чтобы модули находились там же.
+3
Ядро лежит в boot, который тоже подмонтирован и является общим?
0
Нет, ядро не лежит вообще в машине.
Как работает любой xen? Программа по имени domain_builder создаёт домен, загружает туда содержимое, подключает устройства (то есть инициирует соответствующие программы в dom0), запускает.
«Загружает содержимое» — это, собственно, и есть загрузка ядра (и initrd). Для этого domain_builder'у (который просто программа) нужно выдать файлы. Чаще всего для этого используется программа pygrub, которая подключает клиентский диск, читает menu.lst, скачивает в /tmp ядро и initrd. Процесс этот, мягко сказать, не самый надёжный и удобный. В нашем случае проще — мы указываем какие файлы ядра и initrd для какой машины грузить. Сами файлы хранятся вне машины (зачем нам хранить их в машине, когда удобнее хранить в собственной инфраструктуре?).
Как работает любой xen? Программа по имени domain_builder создаёт домен, загружает туда содержимое, подключает устройства (то есть инициирует соответствующие программы в dom0), запускает.
«Загружает содержимое» — это, собственно, и есть загрузка ядра (и initrd). Для этого domain_builder'у (который просто программа) нужно выдать файлы. Чаще всего для этого используется программа pygrub, которая подключает клиентский диск, читает menu.lst, скачивает в /tmp ядро и initrd. Процесс этот, мягко сказать, не самый надёжный и удобный. В нашем случае проще — мы указываем какие файлы ядра и initrd для какой машины грузить. Сами файлы хранятся вне машины (зачем нам хранить их в машине, когда удобнее хранить в собственной инфраструктуре?).
0
Все найс, однако мне свои проекты с Селектела пришлось сдернуть по двум простым причинам:
1. Пинг между инстансами нестабильный, иногда доходит до (sic!) 70 мс. При этом IP-адреса вроде в одной /24 подсети.
2. Не совсем вина Селектела, но канал во внешний мир, в частности, в Азию — ужасающий. 10 КБ/сек — это еще хорошо.
Вернулся на Хетцнер.
1. Пинг между инстансами нестабильный, иногда доходит до (sic!) 70 мс. При этом IP-адреса вроде в одной /24 подсети.
2. Не совсем вина Селектела, но канал во внешний мир, в частности, в Азию — ужасающий. 10 КБ/сек — это еще хорошо.
Вернулся на Хетцнер.
+1
Извините, можно я вам не поверю? У нас система мониторинга — и если узлы не отвечают за 10мс, то это повод написать мне в почту. Я такого не наблюдал. Если вы такое наблюдали, вас не затруднит описать условия воспроизведения?
По поводу каналов в Азию — у нас нет прямых стыков с «Азией» (Кто такая вообще Азия, там как бы до Китая, Таджикистана и Японии маршруты несколько разные).
По поводу каналов в Азию — у нас нет прямых стыков с «Азией» (Кто такая вообще Азия, там как бы до Китая, Таджикистана и Японии маршруты несколько разные).
+3
Баланс уже отрицательный, так что сам проверить еще раз не могу. Условия простые — два инстанса: 46.182.30.230 и 46.182.30.229. Ubuntu Lucid Lynx (64). C 229 делаю
ping 46.182.30.230
. +1
Я проверил. У меня 2 машины в их облаке, причем IP полностью разные. Но, думаю, что к расположению это отношения не имеет — все ВМ в одном ДЦ в Питере.
83 packets transmitted, 83 received, 0% packet loss, time 82037ms
rtt min/avg/max/mdev = 0.247/4.888/77.957/14.656
83 packets transmitted, 83 received, 0% packet loss, time 82037ms
rtt min/avg/max/mdev = 0.247/4.888/77.957/14.656
+1
IP куда пинг был не скажете? Я про подобное первый раз слышу.
0
Спасибо. Вот — максимум 78 мс. У меня динамические страницы должны за 10 мс отдаваться, а тут пяток запросов к мемкэшу могут полсекунды где-то в междумирье летать.
+2
Тоже самое…
44 packets transmitted, 44 received, 0% packet loss, time 43005ms
rtt min/avg/max/mdev = 0.222/6.354/101.308/19.316 ms
44 packets transmitted, 44 received, 0% packet loss, time 43005ms
rtt min/avg/max/mdev = 0.222/6.354/101.308/19.316 ms
+1
что-то я не оценил скрытого наезда на debian…
+3
Приятное нововведение. Спасибо.
А планируется ли применение security патче к ядру? А то оно собрано еще прошлым летом, а ядерные сплойты, доступные публике, появляются достаточно часто.
А планируется ли применение security патче к ядру? А то оно собрано еще прошлым летом, а ядерные сплойты, доступные публике, появляются достаточно часто.
0
Планируется ли поддержка чего-то отличного от семейства deb и centos?
0
Как я понимаю, теперь открытые наружу сервисы portmap и prc.statd в Дебиане можно отключить?
0
У меня сделано подключение модулей из squashfs-lzma образа на этапе инициализации initrd, до загрузки основной системы, которая находится в отдельном образе squashfs-lzma.
/cdrom/syslinux/2632v14rhel6ovz008.sq on /lib/modules type squashfs (ro,relatime)
Если необходимо добавить/удалить модули в образе, то для этого надо смонтировать aufs поверх squashfs-lzma, скопировать и пересоздать squashfs-lzma при помощи mksquashfs.
Ещё одним плюсом является сжатие в squashfs-lzma
14M /boot/2632v14rhel6ovz008.sq
46M /lib/modules/
С форматом iso9660 есть некоторые проблемы в именовании файлов/директорий. В последствии пришлось отказаться в пользу squashfs.
/cdrom/syslinux/2632v14rhel6ovz008.sq on /lib/modules type squashfs (ro,relatime)
Если необходимо добавить/удалить модули в образе, то для этого надо смонтировать aufs поверх squashfs-lzma, скопировать и пересоздать squashfs-lzma при помощи mksquashfs.
Ещё одним плюсом является сжатие в squashfs-lzma
14M /boot/2632v14rhel6ovz008.sq
46M /lib/modules/
С форматом iso9660 есть некоторые проблемы в именовании файлов/директорий. В последствии пришлось отказаться в пользу squashfs.
0
Мы используем rockride, имена, вроде бы, без проблем. Сжатие много не экономит — iso'шки примерно по 200-300Мб, там особо жать нечего. Про squashfs я думал, но оно менее «из коробки», а главное преимущество NFS по сравнению с ISO не возвращает (возможность «подкладывать» модули на ходу).
Кроме того, объявление VBD type=CD гарантирует, что инсталлятор не будет пытаться там таблицу разделов делать.
Кроме того, объявление VBD type=CD гарантирует, что инсталлятор не будет пытаться там таблицу разделов делать.
0
Все это хорошо, но пока нет возможности менять размеры дисков облачных машин, нам у вас неинтересно :)
+2
Отличный подход, даже не к чему придраться! insmod, конечно, немного неудобен для клиента если много зависимостей, но, думаю, это мелочи.
Вообще, прочитал блог компании — много креативных творческих решений, мечта просто в такой работать. В список любимых)
Вообще, прочитал блог компании — много креативных творческих решений, мечта просто в такой работать. В список любимых)
+1
Зарегистрируйтесь на Хабре , чтобы оставить комментарий
Отказ от NFS в облаке