31.03.2007

Виртуализация с Xen. Живая миграция

После конференции 26 марта 2007 мы получили достаточно много вопросов касательно живых демонстраций. Поэтому мы решили рассказать о том, на каких технологиях он были основаны, как организованы, и как их можно повторить.

Для демонстрации использовались 2 сервера и 2 клиента. Виртуальная машина, с которой велась трансляция, мигрировала между серверами. Один клиент использовался в качестве управляющей станции, со второго собственно демонстрировалась трансляция. Клиентов, в принципе, можно объединить в одного. Соединены все машины были через обычный 100 Mbit Ethernet.

Далее используются следующие имена машин:

xen_host_1 - первый физический сервер
xen_host_2 - второй физический сервер
virt_server - виртуальный сервер

Подготовка демонстрации

  1. Установите на xen_host_1 и xen_host_2 Red Hat Enterprise Linux 5 с поддержкой виртуализации.
  2. Установите на xen_host_1 в виртуальную машину virt_server паравиртуализованный Red Hat Enterprise Linux 5.
  3. После установки отредактируйте /etc/xen/virt_server, приведите его к следующему вид:
    #vnc=1
    #vncunused=1
    sdl=1
    Это необходимо, чтобы можно было осуществить живую миграцию данной виртуальной машины.
  4. Теперь необходимо настроить xen на xen_host_1 и xen_host_2 таким образом, чтобы он позволял осуществить миграцию между двумя физическими серверами. Для этого внесите следующие изменения в /etc/xen/xend-config.sxp на обоих машинах:
    #(xend-unix-server yes)
    (xend-relocation-server yes)
    (xend-relocation-port 8002)
    (xend-relocation-address '')
    (xend-relocation-hosts-allow '')
    #(xend-relocation-hosts-allow '^localhost$ ^localhost\\.localdomain$')
    После этого перезапустите xen
    service xend restart
  5. Теперь нам необходимо, чтобы оба физические сервера видели общее хранилище, на котором находятся данные виртуальной машины. Кроме того, необходимо, чтобы оно было смонтировано по одинаковому пути. Это требуется потому, что при миграции виртуальной машины ее файловая система не копируется, так как это требовало бы слишком много времени даже в случае быстрой сети.
    В нашем распоряжении не было внешнего накопителя, но это не стало препятствием. Мы использовали NFS.
    На xen_host_1 (на котором установлен virt_server) в /etc/exports добавьте строку:
    /xen *(rw,sync,no_root_squash)
    После этого перезапустите NFS и убедитесь, что сервис стартует автоматически:
    service nfs restart
    chkconfig nfs on
  6. Смонтируйте созданную папку на xen_host_2:
    mount xen_host_1:/xen /xen
  7. Запустите виртуальный сервер на xen_host_1
    xm create -c virt_server
  8. Установите сервер потокового видео на virt_server. Мы использовали gnump3d. Для установки скачайте с http://www.gnump3d.org/ архив gnump3d-2.9.9.9.tar.bz2 (620k), распакуйте и скомпилируйте его.
    tar xjvf gnump3d-2.9.9.9.tar.bz2
    cd gnump3d-2.9.9.9/
    make install
  9. Включите трансляцию. По умолчанию сервер настроен на трансляцию содержимого директории /home/mp3/.
    mkdir /home/mp3
    cd /home/mp3
    wget -c http://www.redhat.com/v/ogg/TruthHappens.ogg
    gnump3d &

Теперь все готово к демонстрации. На клиентской машине нам потребуется любой видеоплеер, поддерживающий http. Мы использовали totem.

Демонстрация

  1. Запустите просмотр трансляции на клиенте. В случае totem для этого нажмите 'Movie', затем 'Open Location' и введите http://virt_server:8888/TruthHappens.ogg
  2. Остановите виртуальный сервер. Для этого на xen_host_1 выполните
    xm pause virt_server
    В течение некоторого времени после остановки виртуальной машины (как правило, нескольких секунд) клиент будет продолжать показывать ролик из буфера плеера. После того, как буфер закончится, трансляция прервется. Теперь Вы знаете размер буфера в секундах. :)
  3. Снимите виртуальный сервер с паузы. Для этого на xen_host_1 выполните
    xm unpause virt_server
  4. Вновь запустите трансляцию на клиенте.
  5. Выполните живую миграцию сервера без остановки трансляции. Для этого на xen_host_1 выполните
    xm migrate -l virt_server xen_host_2
    Процесс занимает несколько десятков секунд. Следить за миграцией можно с помощью команды xm list на обоих физических серверах. Трансляция при миграции не рвется. Клиент никак не замечает, что виртуальная машина переносится на другой физический сервер. Так как Вы только что измерили размер буфера плеера, можете быть уверены, что все честно. :)

3D-рабочий стол, Compiz & Beryl.

Хотя все украшения рабочего стола описаны в Интернете уже многократно, после конференции 26 марта 2007 вопросов насчет того, как именно все было реализовано при демонстрации, мы получили немало. Поэтому мы решили дать очень краткий обзор использованных технологий.

X-сервер. Xgl и AIGLX

Xgl – это новая архитектура X-сервера, использующая OpenGL. AIGLX – это расширение стандартного X.org для использования в нем OpenGL. Функциональность их примерно одинакова. Принципиальное отличие в архитектуре – Xgl заменяет стандартный X.org, в то время как AIGLX расширяет его функциональность.

На наш взгляд, второй подход гораздо более разумен и перспективен, так как позволяет разрабатывать AIGLX и X.org параллельно и не дублировать при этом код.

Менеджер окон. Compiz и Beryl

Обновленные X-серверы являются только основой, а непосредственно эффектами рабочего стола (3D-рабочий стол, гибкие окна, прозрачность и т.д) занимается композитный менеджер окон. На сегодняшний день их существует два – Compiz и Beryl. Они очень похожи между собой, по сути, второй является производным от первого. Основная разница в том, что у Beryl больше возможностей, больше эффектов, но при этом он работает медленнее. Кроме того, на наш взгляд, он менее стабилен, но это лишь наше мнение.

На данный момент обсуждается возможность объединения Beryl и Compiz, но перспективы этого пока что не ясны.

Описание живых демонстраций

Для живых демонстраций мы использовали AIGLX и Compiz, входящие в стандартный комплект дистрибутива Red Hat Enterprise Desktop 5. Демонстрации показывали под Gnome, потому что в нем есть графическая утилита для управления эффектами. Под KDE запустить Compiz также не составляет труда, но делать это нужно из консоли. :)

Требования к оборудованию

Мы тестировали работу AIGLX и Compiz на видеокартах от NVIDIA, ATI и Intel.

На Intel (встроенное видео ноутбуков) никаких проблем замечено не было.

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

Хуже всего на сегодняшний дело обстоит с чипсетами ATI. В бинарном драйвере производителя (fglrx) есть ошибка, в результате чего он не поддерживает все необходимые расширения, и AIGLX с ним не работает. ATI признала наличие ошибки и пообещала ее устранить в следующей версии драйвера (9.x). На сегодняшний же день запустить AIGLX с видеокартой ATI можно используя open source драйвер (radeon). Этот драйвер входит в состав дистрибутива и устанавливается по умолчанию, если определена видеокарта ATI. Драйвер поддерживает все необходимые расширения, но так как ATI не раскрывает спецификацию своих карт, он работает не слишком быстро.

25.03.2007

Ян Мердок переходит в Sun

Ян Мердок, основатель проекта Debian, переходит в Sun на должность руководителя направления операционных платформ (систем). При этом он фактически уходит из Linux Foundation, хотя формально и сохраняет свой пост. Любые активные действия человека подобного масштаба не могут остаться незамеченными. Мы не будем обсуждать мотивы этого шага и его идейную сторону. На эту тему уже было множество дискуссий в сообществе open source, а истины в данном случае все равно не существует. Вместо этого мы кратко рассмотрим, какие последствия это событие может иметь.

Для самого Яна:

Судя по его блогу (http://ianmurdock.com/2007/03/19/joining-sun/), Ян искренне рад возможности присоединиться к команде Sun. У него есть ряд идей, как улучшить Solaris, и он горит желанием воплотить их в жизнь. На этом посту у него есть возможность реализовать свой потенциал.

Для Sun:

Solaris долгое время была одной из наиболее технологически совершенных и популярных операционных систем. С появлением Linux, с массовым переходом на стандартные системы на базе процессоров Intel и AMD Solaris заметно сдала свои позиции. На сегодняшний день Sun сделала многое, чтобы вернуть ему популярность – выпустила версию для x86, создала OpenSolaris. Но, тем не менее, требуется еще большой объем работы, чтобы Solaris вновь стала одной из ведущих платформ как среди пользователей, так и среди компаний-разработчиков. Авторитет и репутация Яна могут быть в этом очень и очень полезны.

Для Linux Foundation:

Именно Linux Foundation выглядит наиболее пострадавшей стороной, ведь именно из нее Ян ушел. Но так ли все плохо? Ян всегда был активным поборником принципов open source и стандартов LSB. Вряд ли он резко изменится после этого назначения. Наоборот, скорее всего, он будет пытаться изменить Sun, заменить лицензию OpenSolaris на GPL, привести Solaris к стандартам, и тем самым улучшить ее совместимость с Linux. Честно говоря, далеко не факт, что это ему удастся, но в любом случае подобные шаги способствуют укреплению стандартов. Так что, очень может быть, что Linux Foundation только выиграла, ведь ее активный участник теперь является одним из руководителей крупной корпорации.

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

16.03.2007

Сделка Novell – Microsoft. Первые заметные результаты.

Пресс-релиз от 13 марта (http://www.microsoft.com/presspass/press/2007/mar07/03-13HSBCPR.mspx) на сайте Microsoft сообщает, что HSBC, одна из крупнейших в мире финансовых организаций, собирается использовать продукты Novell, которые будет поставлять Microsoft.

HSBC очень крупная компания. Ее головной офис находится в Лондоне, компания имеет более 9500 офисов в 76 странах, в которых работают более 284000 сотрудников. Если такая крупная компания верит в перспективы союза Novell и Microsoft, то, видимо, у него большое будущее. Ведь так?

Давайте задумаемся над этим и посмотрим на пресс-релиз чуть внимательнее. Первое, что бросается в глаза, - многократные высказывания о том, что стоимость решений на базе Windows ниже, чем на базе Linux. Это выглядит несколько странно. Партнеры в заявлениях о совместных победах, как правило, не сравнивают, чей продукт лучше.

Происходящее несколько напоминает историю сотрудничества Microsoft и IBM и развития Windows и OS/2. Как известно, закончилась история тем, что пользователи воспринимают Windows как синоним слова «компьютер», а об OS/2 большинство даже не слышало. Возникает такое ощущение, что происходящее – попытка Microsoft приручить пингвина и удушить опасного конкурента (Linux) в дружеских объятиях.

Еще информация к размышлению: почему Novell согласилась на пресс-релиз в таком виде? Брюс Лоури, директор Novell по связям с общественностью, опубликовал краткое разъяснение в блоге (http://www.novell.com/prblogs/?p=303#comments). Лоури говорит о том, что для пресс-релиза неаккуратно были выбраны цитаты, и первоначальный смысл был искажен. Это вся реакция, которая последовала со стороны Novell, и выглядит она при этом скорее как оправдание. Похоже, Novell не может повлиять на происходящее.

Но если это так, то зачем Novell это неравное партнерство, портящее имидж компании в глазах Linux-сообщества? На этот вопрос уже ответил Брент Вильямс в своей презентации на EclipseCon (http://stephesblog.blogs.com/presentations/BrentWilliamsEclipseConV02.pd...).

  • Во-первых, Novell видит своим главным конкурентом Red Hat (слайд 14).
  • Во-вторых, Novell не верит в возможность переиграть Red Hat в одиночку (слайд 15).

Сможет ли Novell потеснить Red Hat, имея в союзниках Microsoft? Сложно сказать. Окончательный ответ даст только время. Но предположения сделать все же можно.

Novell ставит своей целью снижение стоимости решений. Red Hat основной задачей считает предоставление более качественного сервиса своим клиентам. Доля IT в полном бюджете компании составляет, как правило, не более 10%. Допустим, бюджет компании составляет $1.000.000. Тогда из них $100.000 – расходы на IT, $900.000 – расходы на бизнес – задачи. Novell стремится снизить расходы на IT. Если решения Novell будут на 10% дешевле, то выгода для клиента - $10.000. Red Hat стремится решать насущные проблемы клиентов. Если у него это получится на 10% лучше, то выгода для клиента - $90.000.

Кроме того, в чем заключается основная задача IT-отдела: в решении насущных задач бизнеса или в снижении своих затрат? Какой подход дает больший потенциал для роста? И каким образом оценивают эффективность работы сотрудников?

Решение, как всегда, остается за клиентом.

21.02.2007

Офисные войны. Open Document против Open XML.

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

Все офисные программы работают с некоторыми документами, будь это текстовые документы, электронные таблицы, презентации или что – либо еще. Все документы при этом хранятся в своих форматах. До недавнего времени фактическими стандартами были форматы, разработанные компанией Microsoft (.doc, .xls, .ppt и т.д.)

Но сегодняшним требованиям эти форматы уже не удовлетворяют, и явно назрела необходимость их замены. Кандидатов два – Open XML, разработанный Microsoft, и Open Document, разработанный консорциумом OASIS.

Технически ни один из кандидатов не имеет явных преимуществ. Поэтому у многих возникает вопрос – а стоит ли вообще это противостояние обсуждения? Да, стоит. Давайте рассмотрим почему.

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

Ведь что мы имеем сегодня? Все документы во все государственные учреждения требуется предоставлять в форматах .doc и .xls, в форматах, которые являются закрытыми. Эти форматы - интеллектуальная собственность корпорации Microsoft. Таким образом неявно создается режим наибольшего благоприятствования одной компании.

Более того. Что делать, если компания однажды решит перестать поддерживать эти форматы? Ведь у многих документов срок хранения измеряется десятилетиями. Каким образом гарантировать, что документы вообще можно будет прочитать?

Часто можно услышать мнения, что аргумент про закрытость не актуален, так как спецификация Open XML открыта. Но все не так просто. Спецификация, представленная Microsoft на рассмотрение международной комиссии, занимает более 6000 (!) страниц, и детально изучить ее за несколько месяцев невозможно. Но уже сейчас к ней есть ряд вопросов. Основной проблемой видится то, что в ней часто встречаются недокументированные теги, ссылающиеся на форматы документов Word95, Word6 и т.д. То есть, хотя спецификация и открыта, но она явно ссылается на все те же старые закрытые форматы.

К чему идет противостояние форматов? Чем оно закончится? Сложно сказать.

Open Document уже сейчас принят как стандарт ISO, и его поддержка реализована во многих офисных пакетах. Фактически, он уже становится стандартом. Правительство штата Массачусетс объявило о полном переводе документооборота на Open Document.

Open XML находится на рассмотрении в ISO. На данный момент известно, что 19 стран заявили свои возражения и комментарии, но детали не сообщаются. Комментарии должны быть опубликованы в открытом доступе после 28 февраля, после чего будет принято решение.

Вне зависимости от этого решения, очевидно, что оба формата будут достаточно распространены. Поэтому возникает актуальный вопрос – будут ли они совместимы между собой?

Microsoft заявила о создании конвертера между Open Document и Open XML. Более того, заявлено, что продукт будет открытым! Но ситуация вызывает ряд вопросов. Конвертер на данный момент действительно открыт, но для него почему-то выбрана лицензия BSD. Отличительная особенность этой лицензии в том, что она позволяет закрыть продукт в любой момент. Если Microsoft действительно собирается сделать конвертер открытым, то почему же не была выбрана лицензия GPL, которая запрещает закрывать исходный текст?

Независимо от Microsoft свой конвертер разрабатывает Sun, но говорить о том, что получится из этого проекта, пока что преждевременно.

Подводя черту, что мы имеем на сегодняшний день?

Open Document, полностью открытый, принятый как международный стандарт и широко используемый. Open XML, открытый не до конца, к которому есть претензии и который нигде на данный момент не используется. Кроме того, ситуация с конвертером для Open XML весьма смутная.

Один из этих форматов неминуемо должен стать стандартом, но какой – вопрос пока что открытый.