Red Hat Enterprise Linux (RHEL) 6, новейшая версия флагманской операционной системы корпорации Red Hat, содержит множество принципиальных усовершенствований, касающихся масштабирования, управления ресурсами и виртуализации.
Более того, в неё вошёл целый ряд обновленных компонентов с открытым исходным кодом, призванных упростить жизнь разработчиков и системных администраторов, которые захотят воспользоваться современными функциями, не отказываясь при этом от технической поддержки и сертификации Red Hat.
Red Hat Enterprise Linux давно уже служит надежной операционной системой, способной справляться с большинством серверных ролей. Если не в том виде, в каком ее официально выпускает Red Hat под своим брендом, то в виде одной из таких получивших известность инкарнаций, как бесплатная CentOS или Unbreakable Linux, теперь поддерживаемая корпорацией Oracle. Основываясь на результатах собственного тестирования RHEL 6, я ожидаю, что данная версия продолжит традицию. Продукт хорошо показал себя в качестве серверной ОС. Дополнительным достоинством является продление срока технической поддержки с семи до десяти лет.
Тем, кто использует для виртуализации Xen или хочет запускать .NET-приложения из-под Linux, больше подойдет Novell SUSE Linux Enterprise Server. Red Hat полностью отказалась от поддержки Xen в RHEL 6 и всегда холодно относилась к Mono — варианту Microsoft .NET с открытым исходным кодом. Правда, можно воспользоваться Mono, если установить разработанное энтузиастами дополнительное ПО Extra Packages for Enterprise Linux (EPEL). Они заново скомпоновали некоторые программные пакеты Fedora для использования с RHEL (правда, без технической поддержки).
Кроме того, хотя RHEL представляет собой прочную основу для размещения виртуальных машин (и обладает поистине выдающимися особенностями вроде функций защиты, заимствованных из SELinux), эта ОС сама по себе не имеет столь же хорошо интегрированных возможностей управления виртуализацией, как специализированные продукты наподобие VMware vSphere.
Правда, я еще не опробовал самостоятельный продукт Red Hat для управления виртуализацией, который находится в процессе портирования с C# на Java и является патентованным, что нехарактерно для ПО, выпускаемого этой корпорацией.
Настольная операционная система
Хотя RHEL 6 в первую очередь предназначается для выполнения различных серверных ролей, она может успешно выступать и в качестве настольной операционной системы. В ее состав входят свежие версии ПО, которое обычно устанавливается на ПК под управлением Linux, в том числе офисный пакет OpenOffice.org 3.2 и веб-браузер Mozilla Firefox 3.6. Правда, RHEL содержит меньше программных пакетов, чем другие, менее консервативные дистрибутивы Linux. Но уже упоминавшийся репозитарий EPEL позволяет восполнить некоторые пробелы при использовании RHEL на ПК.
На странице сайта Red Hat, посвященной соглашению об уровне обслуживания (Production Support SLA), все еще значится “базовая” поддержка наряду со стандартной и преимум-класса. Однако корпорация больше не предлагает ни RHEL в сочетании с базовой поддержкой, ни базовую поддержку как таковую.
Пробная поездка
Я тестировал 64-разрядную версию RHEL 6 на сервере-башне (который использовал в качестве хоста виртуализации) с двухъядерным процессором AMD, 4-Гб ОЗУ и набором гостевых систем, запускавшихся на этой машине. Кроме того, продукт был протестирован мною на компьютере Lenovo ThinkPad, который играл роль настольной системы.
Во всех случаях RHEL 6 устанавливалась легко. На серверной машине я выбрал в процессе инсталляции вариант “хост виртуализации”, после чего было установлено всё необходимое для выполнения роли автономного хоста, которую я отвел данной машине. Во время недавнего тестирования родственной RHEL бесплатной ОС Fedora я искал подобный вариант и не нашел его.
Со своей тестовой клиентской системы с помощью входящего в состав RHEL инструмента virt-manager я подключился к хостовой машине по протоколу SSH и установил несколько гостевых экземпляров. Для хранения использовался локальный диск тестового сервера.
Подключение к разделяемым устройствам хранения выполнялось с помощью стандартных инструментов RHEL. Но этот процесс отнюдь не столь прост, как в случае с инструментами VMware, когда достаточно навести курсор и щелкнуть мышкой. К счастью, RHEL 6 снабжена прекрасной документацией.
С первой трудностью я столкнулся после того, как установил RHEL на хосте виртуализации в качестве гостевой системы и решил зарегистрировать ее в сети Red Hat Network (RHN), чтобы загрузить дополнительное ПО и обновления. У меня не оказалось свободных имен, чтобы присвоить одно из них гостевой системе, а RHN явно не распознавала ее в качестве гостевой.
После неоправданно долгих поисков обнаружилось, что для установления связи с RHN следовало инсталлировать на хосте пару пакетов для “виртуализации RHN”. Лучше бы они инсталлировались в процессе создания хоста виртуализации. Из-за подобных мелких неприятностей у меня сложилось мнение, что CentOS предоставляет прекрасную возможность для тестирования технологий Red Hat, если вы можете обойтись без технической поддержки.
Я оснастил гостевую ОС всем необходимым для выполнения роли сервера Mediawiki, установив недавно обновленные версии PHP 5.3, MySQL 5,1 и Apache 2.2. Текущая версия Mediawiki работает под управлением PHP 5.1, входящей в состав RHEL 5, но рекомендуется использовать версии 5.2 и старше.
Мой гостевой север работал в соответствии с ожиданиями, поэтому я приступил к тестированию некоторых возможностей RHEL по управлению ресурсами, начав со впервые появившегося механизма Control Groups (cgroups), который позволяет сгруппировать определенные процессы и установить для них ограничения на доступ к ресурсам.
Создавая группу, я включил в нее “помощник” libvirt, который управляет виртуальными экземплярами RHEL 6, не позволяя им использовать более 3,5 Гб ОЗУ моей хостовой машины. Если выделить гостевым системам слишком большой объем ОЗУ, хост станет недоступным.
Я несколько раз клонировал гостевые системы, выделив им на добрых 2 Гб больше оперативной памяти, чем имелось в моем сервере. Гости соблюдали установленный для них совокупный лимит физической памяти, при необходимости используя файл подкачки.
Такая организация ОЗУ позволила мне проверить, как в RHEL 6 реализуется механизм дедубликации памяти Linux Kernel Samepage Merging (KSM). По умолчанию он отключен, но может быть активизирован с помощью запущенного сервиса настройки.
Создание мною клонов привело к запуску KSM. После этого я наблюдал, как растет количество страниц памяти, совместно используемых гостевыми системами. В дальнейшем интересно будет протестировать работу KSM при большем разнообразии гостевых систем.