Pull to refresh
35
0
Sergei Puzyrev @Aecktann

Я нажимаю кнопки

Send message
Для Ubuntu здесь NFS. Совсем другой вопрос :)

Windows запускается через iPXE. Это позволяет не возиться с PXE (точнее, с ним всё же часто возятся, чтобы передать управление iPXE) и не тратиться на сетевую карту с поддержкой iSCSI. iPXE подключает таргет на int 80h, и дёргает загрузчик самой ОС, при этом сам из памяти не выгружаясь (если память не изменяет, это делает kkpxe-образ). Таким путем можно даже XP запустить.

К сожалению, это не всегда рабочий вариант. К примеру, у меня есть серверы с 10-гбитными сетевыми картами на чипе Intel 82599. iPXE их не поддерживает, такой фокус удасться не может в принципе. Остается либо вариант иметь дополнительную сетевую карту специально для загрузки, либо пользоваться встроенным в сетевую карту инициатором. А я от этого уйти хотел.

Между вашими вариантами и описанным мной присутствует коренная разница. У меня iSCSI-инициатором является open-iscsi, по ссылкам (для винды) используется iPXE, для Ubuntu вообще никаким iSCSI не пахнет.
Навскидку: можно иметь два тома iSCSI, один в rw, отдельный на каждую машину, другой в ro, общий на все. Смонтировать их каскадно через aufs уже на клиенте. Работать будет. Еще нужно будет подпилить скрипты, передавать hostname через DHCP (кстати, с этим тоже косячки будут) или через cmdline. В общем, потребуется существенно глубже закапываться в initramfs.

Ссылки на пошаговые руководства можно в студию? Добавлю в топик и самому полезно будет. Банально по LIO я смог найти пару бесполезных видео на ютубе и официальный сайт, который не блещет глубиной документации (она в некоторых аспектах не соответствует действительности, вероятно потому что устарела).
Больше экспрессии! Больше восклицательных знаков!!!
deb-like:
apt-get source nginx
editor debian/rules
dpkg-buildpackage
dpkg -i

в rpm-like на память не напишу, но там не кардинально сложнее.
Роняю кровавые слёзы.
Софт из tar.gz, make, make install, configure… Это Слака или Центось? Почему nginx надо ставить из исходников, а mysql можно поставить из пакетов?
Права 711… Очень интересно, а вы задумывались, что они значат, и как вообще устроены unix-права доступа?
DOMEN… а в коде, наверное, будет moyaFunktsiya() и Glav_Class.

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

Идеология работы с unixlike-системами предполагает, что перед тем, как что-то делать, нужно довольно много почитать, подумать и разобраться, как оно устроено. Когда люди так не делают, потом начинается «линукс тупит, тормозит, все ломается и вообще перестал загружаться».
Виртуалка с NFS поверх чего работает? Не на святом же духе.
Если то, поверх чего работает виртуалка с NFS, не отказоустойчиво, то у всё равно когда упадет это самое «то» и все ваши загруженные по сети машины умрут.
Эм.
Окей, у вас отказоустойчивая NFS-шара в виде виртуалки. Её локальным диском является некоторый распределенный блочный сторадж.
Зачем же тогда возиться с NFS, когда можно просто использовать iSCSI сразу к блочному стораджу, монтировать файловую систему в ro, и поднимать aufs поверх этой файловой системы? Получите то же самое (много места, нормальная гибкость), только без промежуточного звена в виде виртуалки, предоставляющей NFS.
Так сразу говорите, что у вас построен отказоустойчивый NFS.
Кроме того, получится всё равно не очень красиво. Из-за падения отдельного NFS-стораджа виртуалка (и видимо далеко не одна...) почувствует hard-reboot (или я вас вновь плохо понимаю из-за недостатка информации).

upd: я понял, кажется. вы храните сам NFS-сервер на виртуалке. Ок, решение как решение. Только автор как раз указывает, что он с помощью сетевой загрузки создаёт распределенное хранилище.
Когда упадёт NFS — станете делать по другому?
Падает всё. Нет исключений.
легко. на сервере фаерволом закрыты все порты, кроме 22 и 80. тут умный молодой админ приходит и вопит: «АААА! держать ssh на 22-м порту опасно! перенесу на 23456-й порт!». ну и переносит. а потом «этаа… тут ммм...».
Как позиционировать строку? Двенадцатая строка в файле А должна содержать в себе строку S?
Задайте более реальный вопрос. А то получается сферический конь.
1) для passwd есть ресурс user.
2) можно использовать file и erb-шаблон.
3) augeas.
Яндекс — не единственная большая компания. Гугл не чурается puppet.
Может ли манифест для siteN зависеть от манифеста, в котором создаётся конфиг nginx.conf?

Да, конечно. Без этого никакого смысла в puppet'е не было бы.
В Puppet что угодно может зависеть от чего угодно. Классы могут зависеть от ресурсов, ресурсы от классов, модули при желании могут быть зависимы от других модулей (сводится к зависимости между классами).
Пакеты, к сожалению, остаются императивным способом дистрибуции (часть логики остаётся в postinst и скриптах).
Я думаю, что оба способа имеют право на существование.
Puppet-agent может работать в режиме демона (в этом случае он по умолчанию обращается к мастеру раз в полчаса), а можно сделать cronjob для обновления, тогда агент не будет висеть в памяти.
Касательно работы под нагрузкой, компания Badoo описала свой опыт на хабре.
Задача деплоя нового приложения — совсем другого рода, на мой взгляд.
Возможно, есть способы, с ходу ответить не могу. На заметку взял.
в манифестах можно писать полноценный код на ruby.

например, в кусочке модуля, описывающего iptables, у меня встречается
    $default_open_ports = {
        'tcp' => [22],
        'udp' => []
    }

    if $open_ports == undef {
        $real_open_ports = $default_open_ports
    } else {
        $real_open_ports = $open_ports
    }

    if $custom_rules == undef {
        $real_custom_rules = []
    } else {
        $real_custom_rules = $custom_rules
    }

в принципе, можно использовать почти любой ruby-код. Правда, логику намного сложнее указанной, я не описывал.
Оу, я тааак далёк от школ, их администрирования и в принципе от администрирования рабочих станций… Вообще не знаю, как там, чего, куда и зачем. Расскажете?

Information

Rating
Does not participate
Location
Menlo Park, California, США
Date of birth
Registered
Activity