solaris os
DESCRIPTION
AACIMP 2009 Summer School lecture by Andrii Rodionov (Sun Microsystems). "Information Technology" stream. Sun Microsystems course. Part 6.TRANSCRIPT
Технические особенности ОС Solaris
• Андрей Родионов• Sun Campus Ambassador• Sun Microsystems
http://osug.org.ua • http://osum.sun.com/group/osug
Перечень тем• Что такое OpenSolaris?• Особенности OpenSolaris
> Image Package System> Device Driver Utility> Compiz
• Виртуализация• Файловая система ZFS• DTrace• Crossbow
• Свободная, бесплатная операционная система с открытым исходным кодом
• Выбор современной индустрии – Solaris используют:> телекоммуникационные компании> банки> нефтегазовая промышленность> министерства обороны и внутренних дел
• Есть ли свободные среды разработки?> ДА! Java + NetBeans (для любых систем)> SunStudio
Что такое Solaris?
История Solaris'а и OpenSolaris'а
Промышленный уровеньНепревзойденный уровень поддержкиДолгий цикл разработки (3-5 лет)
Отлично подходит для интернет-проектовПоследние инновации Solaris'аКороткий цикл разработки (каждые 6 месяцев)
OS Solaris & OpenSolaris — ответы на вопросы• Solaris работает на платформах SPARC,
x86 и x64 – с процессорами от Sun, AMD и Intel, на компьютерах любого масштаба – лаптопах, десктопах, рабочих станциях, серверах и в кластерах
• На практике подтвержденных случаев заражения Solaris 10 вирусами не зарегистрировано вообще
• Исходный код Solaris 10 сейчас доступен для всех на сайте opensolaris.org
• Сертифицирован оборонным ведомством США и по Common Criteria
Отличительные особенности Solaris• уникальный механизм виртуализации, создание зон
и контейнеров• сверхнадежная транзакционная файловая система
(ZFS)• динамическая трассировка программ (Dtrace)• гибкое делегирование прав с помощью ролей (RBAC
– role-based access control)• легкое управление запуском и настройкой служб
(SMF)• устойчивость к нагрузке - в частности, благодаря
современному планировщику задач• централизованная поддержка от производителя
Виртуализация в Solaris
Зоны + управление ресурсами• Позволяют создавать легковесные виртуальные копии
ОС• Возможность запустить в рамках одной ОС до 8192
виртуальных систем• Для каждой из зон может быть свой набор пакетов и
запущенных сервисов (Apache, SMTP, MySQL, ...)• Полная независимость зон, в случае краха одной из зон
никак не влияет на другие зоны• В каждой зоне есть свой отдельный набор
пользователей (в том числе и root :-)• Гибкое распределение ресурсов между зонами (CPU,
сетевые карты, память, размеры, ...)
Zone/Container
Single-Core PC
Global Zone1 Processor Share192.168.1.128
Web Zone3 Processor Shares192.168.1.150
Software Zone2 Processor Shares192.168.1.151
/usr, /platform, /sbin, /lib (r/o) (r/o)
/etc, /var /etc, /var (r/w) /etc, /var (r/w)
/usr/local /usr/local (r/w)
/cdrom /cdrom
(Управление ресурсами становится намного интереснее на многопроцессорных компьютерах)
Пример: создание зоны# zonecfg -z small-zonesmall-zone: No such zone configuredUse 'create' to begin configuring a new zone.zonecfg:small-zone> createzonecfg:small-zone> set autoboot=truezonecfg:small-zone> set zonepath=/zones/small-zone zonecfg:small-zone> add netzonecfg:small-zone:net> set address=192.168.2.101zonecfg:small-zone:net> set physical=hme0zonecfg:small-zone:net> endzonecfg:small-zone> info
Solaris Trusted Extensions
VirtualBox
Файловая система ZFS
Недостатки традиционных файловых систем• относительная трудность администрирования
(необходимость разбивать диск на разделы, настраивать монтирование этих разделов, управлять доступом и квотами каждого из них, расширять файловую систему и т.п.)
• ограничение по максимальному размеру файлов и разделов, которое становится препятствием с ростом объема накопленных данных
• сложность и недостаточная надежность резервирования, сложность резервного копирования
• значительные затраты времени на проверку и восстановление данных
Цель создания ZFS — решить проблемы традиционных ФС
Цель создания ZFS — решить проблемы традиционных ФСОбъединение всего доступного дискового пространства в пул
Традиционная файловая система
Файловя система ZFSна основе пулов
Tранзакционность
Зеркалирование
Другие особенности• Масштабируемость:
> ZFS — 128 разрядная ФС> максимальный объем файла — 16 экзабайт
• Резервирование данных по принципу избыточности — RAID-Z (подобно RAID-5)
• Поддержка моментальных снимков и версионирования — snapshots
• Квотирование• Шифрование и сжатие• Есть графический веб-интерфейс
администрирования
Пример: работа с ZFS• Создание пула данных с названием “home”
> # zpool create home mirror disk1 disk2
• Создание файловых систем “ann”, “bob”, “sue”> # zfs create home/ann /export/home/ann> # zfs create home/bob /export/home/bob> # zfs create home/sue /export/home/sue
• Добавить больше место в пул “home”> # zpool add home mirror disk3 disk4
• Включить сжатие данных для Ann> # zfs compression=on home/ann
• Ограничить место для Bob'а до 10G> # zfs quota=10g home/bob
• Сделать снимок файловой системы Ann> # zfs snapshot home/ann@tuesday
DTrace
DTrace• Мощное отладочное средство встроенное в ядро Solaris &
OpenSolaris • Код профилировщика встроен в ядро, если данные не
собираются, код не тратит ресурсы• DTrace безопасен – это не отладчик, данные не испортить• Можно просмотреть любые датчики (более 75000 штук), в том
числе и в коде ядра• Можно интегрировать функциональность DTrace в свое ПО – API
открыт• Интегрирован в JVM, Mozilla FireFox (можно отлаживать
JavaScript)
• Может собирать информацию о всем стэке ПО
Что такое DTrace?
Когда использовать DTrace
• Исследование подсистем ядра> Файловые системы> сеть> зоны> другие
• Сбор информации со всей системы > DExplorer tool
• Тюнинг системы и приложений
Монитроинг системы
Когда использовать DTrace
• Серверная часть > Ruby> Java> PHP> Groovy> Perl> Python
• Клиентская часть> Java-script
Web-разработки• Приложения
> Apache> Glassfish> MySQL> PostgreSQL
Когда использовать DTrace
• Отладка• Profiling
> Утечки памяти> Потери CPU циклов> Вызовы функций> etc.
Разработка приложений
Проект Crossbow