Зоны в Solaris 10: часть третья - sparse root и whole rootSolaris 10: советы и приёмы системного администрирования |
|
Sponsored LinksКатегорииLinksUnix Tutorial
Personal Development Ruslan Valiev Solaris Performance Team Damien Farnham Fintan Ryan Nicky Veitch Niall Mullen Sean McGrath DTrace Bryan Cantrill Brendan Gregg ZFS Tim Foster General Ben Rockwood Learning Solaris 10 Privacy policy Архивы |
Thursday, 31 March. 2005Зоны в Solaris 10: часть третья - sparse root и whole root
Сегодня я расскажу о моделях корневых файловых систем для не-глобальных зон Solaris.
Как вы уже, наверное, знаете, таких моделей в Solaris 10 две: sparse root и whole root. Как можно догадаться по названиям, первая модель означает, что корневая файловая система в зоне будет только частично состоять из по-настоящему скопированных файлов, и, следовательно, такой вариант создания зоны потребует где-то 100 мб дискового пространства в минимальном варианте, что существенно меньше, чем потребовалось бы для обычной установки Solaris 10, которая практически и происходит в случае с whole root. Я об этом немного уже рассказывал. По умолчанию файлы четырёх разделов корневой файловой системы являются доступными каждой зоне в соответствии с моделью sparse root: /lib, /platform, /sbin и /usr. Принято также считать, что если при создании зоны был использован хотя бы один ресурс типа inherit-pkg-dir, то такая зона называется sparse root зоной. В описании каждой не-глобальной зоны можно увидеть, как именно организован доступ к этим разделам глобальной зоны: zonecfg -z zone1 export CODE: ... add inherit-pkg-dir set dir=/lib end add inherit-pkg-dir set dir=/platform end add inherit-pkg-dir set dir=/sbin end add inherit-pkg-dir set dir=/usr end ... Запомните: ресурсы данного типа можно создавать для зоны только когда она находится в режиме configured, т.е. окружение для зоны создано, но собственно инсталляция пакетов ОС Solaris в зону ещё не производилась. Соответственно, если вы решите изменить ресурсы данного типа для вашей уже существующей зоны, придётся сначала сделать ей uninstall (например, zonecfg -z zone1 uninstall). Модель sparse root зон делает следующее: при установке того или иного пакета в не-глобальную зону, заново копируются только самые необходимые файлы, а именно - те пакеты, в которых параметр SUNW_PKGTYPE имеет значение root. Все остальные пакеты устанавливаться в не-глобальную зону не будут, а позже она получит доступ к остальным файлам нашей глобальной зоны посредством файловых систем loopback, дающих доступ только для чтения. Можете себе представить, сколько места экономится! Если вы ничего не знаете про lofs, то почитайте man lofs, всё наверняка прояснится ;) В качестве примера, выполните следующие команды: CODE: mkdir /var/tmp/hey mount -F lofs -o ro /usr /var/tmp/hey Теперь, если вы зайдёте в каталог /var/tmp/hey, и попробуете там что-нибудь создать или удалить, то у вас ничего не получится, ибо файловая система /var/tmp/hey даёт доступ к файлам /usr только для чнения. Итак, если в не-глобальной зоне нет ни одного ресурса inherit-pkg-dir, то такая зона считается whole root, так как файлы всех пакетов устанавливаются в неё полностью. Места такая модель требует гораздо больше, но зато у вас появляется гибкость - внутри не-глобальной зоны вы легко можете удалять какие угодно пакеты, чего нельзя было бы сделать, установи вы эту зону с помощью ресурсов inherit-pkg-dir. Обратные ссылки
URI этой записи для создания обратных ссылок (trackback)
Нет обратных ссылок
Комментарии
Показывать комментарии
(Как список | Древовидной структурой)
can some one provide with the in depth explanation
|




