Смотрим плавность хода с помощью BMW Rheingold

Всем знакома ситуация, когда двигатель немного "троит", но пропусков зажигания нет...

Дельта синхронизация без облака

Ранее мы показывали разные способы синхронизации криптодиска между ПК и Android-устройством.

Облачный хостинг VDS за 2 минуты

Настоящий облачный VDS-хостинг от UltraVDS: тестируем производительность

Дельта-синхронизация крипто-дисков

Существуют разные способы зашифровать "облако". Один из них - поместить в облако крипто-диск. В предыдущей статье мы писали, почему это не всегда удобно.

Что лучше Solaris или Linux?


Денис Колисниченко

В последнее время данный вопрос стал подниматься все чаще и чаще. Конечно, без стараний самой Sun здесь не обошлось - нужно же продвигать свое детище - Solaris 10. Но многие приверженцы Linux стали тоже задумываться: а вдруг Solaris действительно лучше, надежнее и быстрее, чем Linux? Может,

Интро: extended edition

Если честно, мне самому стало интересно: что же лучше Solaris или Linux. Ведь компания Sun вкладывает много средств и усилий в продвижение своей операционной системы. В Интернете появляется все больше и больше обзоров, в которых говорится о том, что Solaris якобы быстрее и надежнее. Так ли это на самом деле? Большая часть таких обзоров - заказные (написаны или по заказу Sun или сотрудниками/фанатами Sun), а поскольку Solaris менее популярна, то при поиске информации о ней то и дело «натыкаешься» на эти обзоры.

В поисках истины была заказана десятая версия Solaris. Заказать Solaris можно просто, а главное - бесплатно на сайте http://www.sun.com/software/solaris/get_software_kit.jsp. Через пару недель я ее получил. Первое впечатление (от коробки) очень хорошее. Чувствуется коммерческая нотка Sun. Приятнее держать в руках добротный DVD-бокс, чем бумажный конверт, в котором распространяются большинство дистрибутивов Linux. Но главное, понятно не «тара», а содержимое.

Поскольку Solaris - далеко не десктопная операционная система, в данной статье основное внимание будет уделено самым важным для предприятия критериям: безопасности и производительности этой системы по сравнению с Linux.

Что популярнее?

Популярнее, безусловно, Linux. Чтобы вы не считали, что я фанат Linux и собрался устроить очередную пропаганду, подтверждаю свои слова фактами. В Интернете есть проект top500, позволяющий судить о популярности того или иного явления в мире информационных технологий. Загляните на страничку http://www.top500.org/stats/list/29/os и вы узнаете, какая операционная система чаще встречается на серверах. Лидерство за Linux. Solaris остались жалкие 0.80%. Почему? Возможно, Solaris действительно не так популярна. Тогда положение дел может очень быстро измениться - если Solaris действительно лучше, то на нее переведут очень много компьютеров. А может, Solaris слишком дорога? В общей сложности, Linux установлена на 393 из 500 самых мощных компьютеров (78,6 %). Вы только вдумайтесь в эту цифру - более 78%. И это не все компьютеры мира, а самые мощные компьютеры мира. Администрирование таких компьютеров не доверяют студентам первого курса. Их администрированием занимаются профессионалы и неужели вы думаете, что почти 80% профи ошиблось с выбором операционной системы? Мне так не кажется. Можно предложить, что Linux установили только потому, что она бесплатная. Но в нашем случае это не проходит: не забывайте, мы говорим не о домашних десктопах, а о самых мощных компьютерах мира.


Статистика Top500

Почему Linux популярнее и предпочтительнее?

Компания Sun - это не «выскочка» на рынке ИТ, которая исчезнет через полгода. Это солидная компания, существующая на информационном рынке очень давно. SunOS (это другое название Solaris, к слову Solaris 10 - это SunOS 5.10) преимущественно устанавливалась на серверах, но и Linux раньше не была особо популярна на офисных и домашних десктопах. Linux начала бороться за рабочие столы обычных пользователей, но Solaris делает то же самое. Подтверждение этому Solaris 10. Solaris 10 - это тот же старый добрый Solaris, но с большей ориентацией именно на пользователя. Если вы установите эту систему, вы сами поймете почему. Сервер-сервером, но десятая версия Solaris удобнее, чем все предыдущие вместе взятые, хотя и не так удобна, как Linux.

Linux лучше локализирована, удобнее в использовании, для нее создано больше программ и она поддерживает большее число устройств. Да и информации по Linux больше. С другой стороны, в случае с Solaris можно рассчитывать на поддержку Sun (от 120 долларов в год с одного процессора - что не очень и дорого), а в случае с Linux - на поддержку сообщества, которая ни к чему не обязывает само сообщество. Хотя можно выбрать коммерческую версию дистрибутива и получать поддержку от компании-производителя.

Solaris существенно проигрывает в локализации, в поддержке устройств (многие производители устройств сами начали поставлять драйверы для Linux - приятно) и в количестве различного программного обеспечения. С другой стороны, у Solaris есть Janus - технология, позволяющая в среде Solaris запускать Linux-приложения для x86. Так что у Solaris есть все шансы стать такой же популярной, как и Linux, но этого почему-то не происходит.

Безопасность

Чем же хороша Solaris в плане безопасности? Ведь она считается по праву одной из самых надежных UNIX. В Solaris 10 используются решения, которые раньше использовались в операционной системе Trusted Solaris, которая, как мы знаем, соответствует требованиям военных организаций. Благодаря контейнерам, о которых мы поговорим чуть позже, Solaris может выполнять тысячи приложений и обслуживать огромное число одновременно работающих пользователей.

Вот некоторые особенности системы обеспечения безопасности Solaris 10:

  1. Система проверки целостности файлов и технология безопасного выполнения программ (Solaris Secure Execution)
  2. Расширенное управление правами пользователей и процессов
  3. Межсетевой экран Solaris IP Filter
  4. Криптографические сервисы и безопасные средства удаленного доступа
  5. Поддержка NIS, LDAP и PAM

Давайте рассмотрим все эти возможности подробнее.

Система проверки целостности файлов: Solaris Secure Execution

Практически все двоичные файлы в Solaris снабжены цифровыми подписями, что позволяет легко узнать, был ли изменен файл. Также в состав Solaris 10 входит утилита BART (Basic Audit and Reporting Tool) - она используется для проверки целостности приложений и файлов данных. Технология безопасного выполнения предотвращает выполнение измененного или неподписанного кода. Secure Execution тесно связана с системой проверки целостности и контролирует практически все приложения, драйверы и модули.

Теперь поговорим о контейнерах в Solaris 10. Данная технология позволяет создавать в пределах одного ядра несколько операционных окружений. Эти окружения и называются контейнерами. Контейнеру можно выделить аппаратные ресурсы (конечно, они ограничены), что позволяет изолировать одну виртуальную среду от других. Другими словами, контейнер - это ОС внутри ОС, но при этом используется ядро материнской ОС. Данная технология называется легковесной виртуализацией. В отличие от XEN или VMWare, где можно создать виртуальную машину, внутри которой запустить другую операционную систему, отличную от материнской, например, в Linux запустить Windows и наоборот, в Solaris средства виртуализации используются не для экспериментов с другими гостевыми ОС, а для обеспечения надежности всей системы в целом.

Вот, что нужно знать о контейнерах:

  1. У контейнера собственный набор процессов, который изолирован от других контейнеров
  2. Контейнер использует свою собственную файловую систему, включая корневую (понятно, что у контейнера свои собственные конфигурационные файлы)
  3. У контейнера свои сетевые интерфейсы, устройства и свой набор сервисов SMF

Есть ли подобные средства в Linux? Что качается целостности, то многим Linux-администраторам давно известны утилиты tripwire (http://www.tripwire.com), integrit и bsign (входят в состав Debian). Так что с целостностью файлов в Linux все в порядке. Контейнеры, подобные контейнерам Solaris, также есть в Linux (рекомендую почитать http://heap.altlinux.ru/alt-docs/modules/ve_rationale.kirill/index.html), кроме этого Linux предлагает chroot-окружения (это не полноценные контейнеры, но тоже довольно эффективны).

Сделаем выводы: Linux ничем не уступает Solaris 10, точнее Trusted Solaris, поскольку технология контейнеров пришла именно из Trusted Solaris.

Расширенное управление правами пользователей и процессов

Все мы знаем, что традиционная система управления правами пользователей в UNIX/Linux не очень безопасна. Стоит злоумышленнику получить пароль пользователя root и он владеет всей системой. Это несколько неправильно, поэтому стали разрабатываться системы управления доступом на основе ролей. Данные системы позволяют назначить пользователям минимально необходимые для их работы права, например, зачем обычному пользователю возможность запуска gcc? Такое решение позволяет эффективно ограничить права пользователей и повысить безопасность системы.

В Trusted Solaris как раз и использовалась собственная система управления доступом на основе ролей. Linux готова сопоставить ей свою SELinux, которая по праву считается самой безопасной системой ограничения доступа. Кроме SELinux можно использовать GrSecurity и другие системы. Так, что и тут Solaris ничем не лучше Linux.

Межсетевой экран Solaris IP Filter

Solaris IP Filter - это немного модифицированная версия свободно распространяемого IP Filter, о чем в открытую и заявляется на сайте Sun... Особо говорить о нем вряд ли стоит.

Криптографические сервисы и безопасные средства удаленного доступа

В Solaris используется так называемый корпоративный механизм аутентификации Sun (Sun Enterprise Authentication Mechanism). Sun-овцы и тут ничего не придумали своего - этот механизм аутентификации ни что иное, как модифицированная компанией Sun технология Kerberos, которая была в Linux ой как давно! Понимаю, что все новое - это все забытое старое. Недавно прихожу в автосалон Renault, а менеджер мне начинает рассказывать о подогреве заднего стекла и функции follow_me_home (когда фары не гаснут, когда ночью выходишь из машины). Понимаю, что в Renault эти функции появились в 2007 году, но на моей машине они были еще в далеком 1997... Точно такая же ситуация сейчас и с Solaris: берем то, что было в Linux, немного изменяем (дабы создать видимость, что мы это сделали сами) и называем другим именем. Хорошо, что они хоть не заявляют, что это сделали они и только они.

Также в Solaris 10 есть поддержка LDAP, rsh, rcp, telnet и при этом говорится, что раньше их можно было загрузить с Интернета, а теперь все это есть в Solaris 10 по умолчанию. В Linux это было очень давно. Также давно rsh и rcp были заменены на более безопасные решения на базе ssh... И это не говоря уже о telnet, который давно никто не использует!

Как по мне, Solaris в этой категории даже проигрывает Linux. Во-первых, практически ничего не создано нового. Во-вторых, использование решений, которые несколько морально устарели.

Поддержка NIS, LDAP и PAM

Все это тоже давно знакомо администраторам Linux, поэтому опять Sun ничем не удивила. Кстати, насчет LDAP. Настоятельно советую посетить страничку http://www.symas.com/10k-solvlinux.shtml, где приводится сравнение производительности системы под управлением Solaris и системы под управлением Linux. При обращении одного клиента к Solaris-системе, последняя немного отстает от Linux, но при одновременном обращении десяти клиентов, разница, как говорится, "на лицо".

Выводы, сделанные в том тесте, следующие: платформа Linux/x86 превосходит Solaris во всех тестах. Раз мы уж затронули вопрос производительности, то самое время поговорить о ней подробнее.

Производительность

Надежная и безопасная операционная система не всегда является быстрой. Что же касается Solaris 10, то есть теоретические сведения и практические. В теории все выглядит очень даже хорошо. Минимальные системные требования Solaris 10 - минимум 120 (!) Mhz для x86, 256 Мб оперативной памяти и 2 Гб на жестком диске. Таким системным требованиям могут позавидовать даже современные дистрибутивы Linux, не говоря уже о продуктах Microsoft.

Официальные документы Sun твердят следующее:

  • Solaris 10 установила 20 мировых рекордов в тестах, оценивающих производительность и соотношение цены и производительности (http://ru.sun.com/products/solaris/performance.html)
  • Производительность файловой системы UDF (Solaris) в два с половиной раза превышает производительность файловой системы Linux - ext3 (http://www.sun.com/software/whitepapers/solaris10/fs_performance.pdf)
  • Различные средства повышения производительности, с которыми вы сможете ознакомиться на страничке http://ru.sun.com/products/solaris/performance.html


Производительность файловой системы Solaris (UDF)

Понятно, что в официальных бумагах Sun (Sun White Papers) все описано настолько красиво, что многие готовы сразу же поверить всему, что там написано. Но посмотрим, как дела обстоят на практике. На практике получаем медленную загрузку - по сравнению с Solaris, Ubuntu 7 (не говоря уже о Ubuntu 6) настоящий спринтер. Когда же все загрузится, нужно отдать должное Sun, все работает довольно шустро, во всяком случае быстрее, чем я того ожидал. Субъективно, очень даже ничего.

Производительность Solaris очевидна при работе с Java приложениями. Здесь Solaris на высоте. Вы можете ознакомиться с тестами производительности приложения WebReportCafe на страничке http://www.sun.com/software/customers/webreport_cafe.xml. Результаты теста производительности приводятся в количестве страниц PDF-файла созданных за одну минуту (PPM). Так вот, Red Hat Enterprise Linux 4 за одну минуту успевает создать 28.7 страниц, а Solaris 10 - 40 страниц. Если же тонко настроить JVM, то получится 51 страница! Конечно, сами понимаете, что JVM на RHEL никто тонко не настраивал. А жаль. Видно, это не выгодно Sun. Но в любом случае, если вам нужны Java-приложения, то платформа от Sun - это лучшее решение.

SUSE Linux Enterprise Server 10 vs Solaris 10

Давайте сравним десятую версию SUSE Linux Enterprise Server (далее просто SUSE) с десятой версией SOlaris: 10-ая версия Solaris и 10-ая версия SUSE - красиво получается.

Сравнивать SUSE и Solaris будем по разным критериям - от приложений до виртуализации.

Начнем с приложений. Для SUSE доступно более 2000 приложений: как свободные, так и проприетарные, такие как Oracle и WebSphere. Кроме этого существует более 1000 OpenSource-пакетов, которые не входят в состав дистрибутива. У Solaris с приложениями не все так плохо, но и не так хорошо, как в SUSE: более 1500 приложения для x86, но не все они сертифицированы плюс всего 188 OpenSource-пакетов.

Теперь о «железе». SUSE выглядит более привлекательнее еще и потому, что Novell наладила отношения с многими независимыми производителями аппаратного обеспечения, включая HP и IBM, чем не может похвастаться Solaris. Что это дает? Конечно, лучшую поддержку «железа»! SUSE поддерживает аппаратные платформы x86, x64, PowerPC, Itanium 2, z9 (мэйнфрейм IBM). А Solaris может похвастаться поддержкой x86/x64 и SPARC. Настал черед поговорить о производительности. Solaris выигрывает только в тесте SPECjbb2005 (http://www.spec.org/jbb2005/), во всех остальных, особенно для платформы x86 Solaris показывает не очень высокие результаты. SUSE, согласно тестам, показывает лучше результаты. Именно поэтому ведущие производители «железа» выбрали SUSE - Dell, HP и IBM.

Я обещал затронуть вопрос виртуализации. В SUSE используется Xen 3.0, а это означает параллельное выполнение виртуальных машин, в каждой из которых может быть запущена разная гостевая операционная система.

Механизм виртуализации в Solaris несколько иной. Там используется контейнерная технология, обеспечивающая базовые возможности виртуализации, но в этом плане Solaris далеко до SUSE/Xen. В Solaris просто изолируются окружения приложения и пользовательского стека друг от друга, но все работает в пределах одной операционной системы - Solaris. Другими словами, вы не можете установить гостевые операционные системы, как в Xen, и работать в них. Контейнерную технологию можно назвать технологией виртуализации с большой натяжкой. Но зато, нужно отметить, она позволяет существенно повысить надежность системы. Sun в своем механизме виртуализации сделала ставку на надежность, а не на возможность запуска гостевых ОС, которая на сервере предприятия не нужна.

Выводы

Средства безопасности, реализованные в Solaris 10, ничем меня не удивили. В Linux все это было довольно давно. Но все равно у Solaris 10 (именно 10, потому как в предыдущих версиях многих возможностей 10-ой версии нет) есть одно неоспоримое преимущество: все описанные средства безопасности уже встроены в дистрибутив Solaris! Если бы сравнивать Solaris с каким-то отдельным дистрибутивом Linux, вполне возможно, что тот отдельный дистрибутив проиграл бы в плане безопасности. Ведь та же SELinux, тот же tripware и средства виртуализации хоть и созданы для Linux, далеко не всегда входят в состав дистрибутива.

В плане производительности Solaris существенно выигрывает только при работе с Java-приложениями. Хотя, учитывая высокопроизводительную файловую систему UDF, Solaris производит довольно приятное впечатление. Окончательный вывод следующий. Solaris 10 - отличная операционная система, но все же по изложенным в статье причинам, предпочтение я бы отдал Linux. При правильной настройке Linux будет безопаснее, быстрее и удобнее, чем Solaris.