<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>OpenSolaris&#187; how-to</title>
	<atom:link href="http://os-solaris.ru/tag/how-to/feed/" rel="self" type="application/rss+xml" />
	<link>http://os-solaris.ru</link>
	<description>Illumos, OpenIndiana, Nexenta, SmartOS  и другие Solaris системы</description>
	<lastBuildDate>Fri, 18 May 2012 20:42:06 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Восстановление данных с ZFS</title>
		<link>http://os-solaris.ru/opensolaris-zfs-recovery/</link>
		<comments>http://os-solaris.ru/opensolaris-zfs-recovery/#comments</comments>
		<pubDate>Wed, 09 Feb 2011 11:09:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Статьи OpenSolaris]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[OpenSolaris]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[восстановление]]></category>

		<guid isPermaLink="false">http://os-solaris.ru/?p=551</guid>
		<description><![CDATA[«Ничто не вечно под луной. Винчестер тоже может сдохнуть,» &#8212; говорил один мой преподаватель в университете. Вот и винчестеру моей родственницы пришло время сдыхать. Выразилось это в том, что OpenSolaris при загрузке уходил в перезагрузку из-за паники ядра. Для выяснения причины паники я запустил ядро в отладочном режиме, добавив при загрузке средствами GRUB в строку [...]]]></description>
			<content:encoded><![CDATA[<p>«Ничто не вечно под луной. Винчестер тоже может сдохнуть,» &#8212; говорил один мой преподаватель в университете. Вот и винчестеру моей родственницы пришло время сдыхать. Выразилось это в том, что <a title="Форум OpenSolaris" href="http://forum.os-solaris.ru">OpenSolaris</a> при загрузке уходил в перезагрузку из-за паники ядра.</p>
<p><span id="more-551"></span></p>
<p>Для выяснения причины паники я запустил ядро в отладочном режиме, добавив при загрузке средствами GRUB в строку $kernel параметр -kd (рисунок 1). Ядро вывело на экран информацию, по поводу чего оно паникует (рисунок 2). Судя по стеку вызовов функций, ошибка произошла внутри модуля zfs, по всей видимости, потому что он нашел на диске неожиданные для себя данные.</p>
<p>На диске находились ценные фотографии, которых не было в других местах. Требовалось их оттуда извлечь. Попробовал загрузиться с LiveCD (OpenSolaris 2009.06 и Nexenta 3), после выполнения команды импортирования пула (zpool import -f rpool) получил тот же результат — ядро паникует и выполняется перезагрузка. Никакой комбинацией параметров команды zpool import мне не удалось устранить панику.</p>
<p>Порывшись на различных сайтах, нашел, что панику можно отключить, добавив в /etc/system строки:</p>
<p><code>aok=1<br />
zfs_recover=1</code></p>
<p>Но так как дело было с LiveCD, то пришлось выставить эти флаги средствами встроенного в ядро отладчика. Флаг aok выставился без проблем (рисунок 3), а вот для установки zfs_recover требуется дождаться загрузки модуля ядра zfs. Поэтому была поставлена соответствующая точка останова.</p>
<p>После установки флагов загрузка продолжается без видимых отличий. Команда импортирования пула завершилась успешно (рисунок 5). После того как все ценные данные были скопированы на флешку, я решил попробовать выполнить проверку пула (рисунок 6). Команда zpool scrub запускает проверку, а состояние процесса проверки можно наблюдать командой zpool status.</p>
<p>После окончания проверки,  zpool status написал, что все ошибки устранены(рисунок 7), однако система все равно загрузилась с паникой. В чем причина, разбираться не стал. Поставлю на новый жесткий диск OpenIndiana, когда выйдет релиз.</p>
<div id="attachment_554" class="wp-caption alignnone" style="width: 310px"><a href="http://os-solaris.ru/wp-content/uploads/2011/02/1.jpg"><img class="size-medium wp-image-554" title="1" src="http://os-solaris.ru/wp-content/uploads/2011/02/1-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Рисунок 1 - Запуск ядра в отладочном режиме</p></div>
<div id="attachment_557" class="wp-caption alignnone" style="width: 310px"><a href="http://os-solaris.ru/wp-content/uploads/2011/02/2.jpg"><img class="size-medium wp-image-557" title="2" src="http://os-solaris.ru/wp-content/uploads/2011/02/2-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Рисунок 2 - Причина kernel panic</p></div>
<div id="attachment_558" class="wp-caption alignnone" style="width: 310px"><a href="http://os-solaris.ru/wp-content/uploads/2011/02/3.jpg"><img class="size-medium wp-image-558" title="3" src="http://os-solaris.ru/wp-content/uploads/2011/02/3-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Рисунок 3 - Флаг aok выставился без проблем</p></div>
<div id="attachment_560" class="wp-caption alignnone" style="width: 310px"><a href="http://os-solaris.ru/wp-content/uploads/2011/02/4.jpg"><img class="size-medium wp-image-560" title="4" src="http://os-solaris.ru/wp-content/uploads/2011/02/4-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Рисунок 4</p></div>
<div id="attachment_561" class="wp-caption alignnone" style="width: 310px"><a href="http://os-solaris.ru/wp-content/uploads/2011/02/5.jpg"><img class="size-medium wp-image-561" title="5" src="http://os-solaris.ru/wp-content/uploads/2011/02/5-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Рисунок 5 - Команда импортирования пула завершилась успешно</p></div>
<div id="attachment_562" class="wp-caption alignnone" style="width: 310px"><a href="http://os-solaris.ru/wp-content/uploads/2011/02/6.jpg"><img class="size-medium wp-image-562" title="6" src="http://os-solaris.ru/wp-content/uploads/2011/02/6-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Рисунок 6 - Проверка пула</p></div>
<div id="attachment_563" class="wp-caption alignnone" style="width: 310px"><a href="http://os-solaris.ru/wp-content/uploads/2011/02/7.jpg"><img class="size-medium wp-image-563" title="7" src="http://os-solaris.ru/wp-content/uploads/2011/02/7-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Рисунок 7</p></div>
<p>Данную статью вы можете обсудить в этой <a title="Восстановление данных с ZFS" href="http://forum.os-solaris.ru/index.php?topic=203.0">ветке форума</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://os-solaris.ru/opensolaris-zfs-recovery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Локальный репозиторий OpenSolaris</title>
		<link>http://os-solaris.ru/lokalnyj-repozitorij-opensolaris/</link>
		<comments>http://os-solaris.ru/lokalnyj-repozitorij-opensolaris/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 17:28:59 +0000</pubDate>
		<dc:creator>LiveStalker</dc:creator>
				<category><![CDATA[Статьи OpenSolaris]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[OpenSolaris]]></category>

		<guid isPermaLink="false">http://os-solaris.ru.preview.ihc.ru/?p=129</guid>
		<description><![CDATA[Замечательная статья Филиппа Торчинского о том, как создать локальный репозиторий OpenSolaris (взято отсюда). Думаю, большинству из наших участников сообщества будет полезно. Если в городе или микрорайоне есть внутренняя сеть с бесплатным трафиком или если надо обновлять системы компании с сервера в локальной сети, локальный репозиторий пакетов &#8212; естественный выбор. Как его сделать? Для репозитория нам [...]]]></description>
			<content:encoded><![CDATA[<p>Замечательная статья Филиппа Торчинского о том, как создать локальный репозиторий OpenSolaris (взято <a title="локальный репозиторий OpenSolaris" href="http://developers.sun.ru/content/view/338/5/">отсюда</a>). Думаю, большинству из наших участников сообщества будет полезно.</p>
<p>Если в городе или микрорайоне есть внутренняя сеть с бесплатным трафиком или если надо обновлять системы компании с сервера в локальной сети, локальный репозиторий пакетов &#8212; естественный выбор. Как его сделать?</p>
<p>Для репозитория нам понадобится вначале скачать список всех пакетов, которые есть в главном репозитории <strong>OpenSolaris</strong> &#8212; pkg.opensolaris.org. Затем мы скачаем сами пакеты, настроим локальную службу репозитория, загрузим в локальный репозиторий все пакеты и проверим, работает ли репозиторий.<br />
<span id="more-129"></span>До последнего времени система репозиториев OpenSolaris не предусматривала зеркальных репозиториев с автоматическим обновлением, однако сейчас стало возможным организовывать такие зеркальные серверы. Обратитесь к инструкции для создания зеркального репозитория.</p>
<p style="background: #EBEBED; text-align: center;">[ad#ga-468-60]</p>
<p>Нижеописанная процедура была необходима ранее для создания зеркального репозитория без автоматического обновления в версии 2008.05. Если вам нужен зеркальный репозиторий с обновлением, основанный на репозитории pkg.opensolaris.org/dev (постоянно обновляемые между выпусками OpenSolaris пакеты), пожалуйста, следуйте вот этой <a title="создание репозитория" href="http://opensolaris.org/os/project/pkg/Mirroring/">инструкции</a>.</p>
<p>Создаем рабочий каталог и переходим в него:</p>
<p><code>mkdir work; cd work</code></p>
<p>Здесь у нас будут лежать пакеты &#8212; до укладки в репозиторий.</p>
<p>Скачиваем список пакетов:</p>
<p><code>pkgrecv -s pkg.opensolaris.org -n &gt; pkg_list_oso.lst</code></p>
<p>В надежде, что буфер командной строки вместит весь список пакетов, выкачиваем из сети сами пакеты (на 25.12.2008 это было примерно 4,83 Гб) простой командой for:</p>
<p><code>for fmri in `cat pkg_list_oso.lst `; do pkgrecv -s pkg.opensolaris.org $fmri; done</code></p>
<p>Теперь создадим отдельную файловую систему в пуле ZFS, для которой включим сжатие и отменим запись времени доступа &#8212; для того, чтобы занимала меньше места и работала быстрее:</p>
<p><code>zfs create -o compression=on -o atime=off rpool/depot</code></p>
<p>Настроим локальную службу репозитория, как описано в руководстве на стр.66 (оно было выпущено для OpenSolaris 2008.05, но в части создания репозитория изменений между выпусками 2008.05 и 2008.11 нет):</p>
<p><code>svccfg -s application/pkg/server setprop pkg/port=10000<br />
svccfg -s application/pkg/server setprop pkg/inst_root=/rpool/depot<br />
svcadm enable application/pkg/server</code></p>
<p>Если служба репозитория раньше уже запускалась на этом компьютере, вместо последней команды надо дать команды</p>
<p><code>svcadm refresh application/pkg/server<br />
svcadm restart application/pkg/server</code></p>
<p>Теперь откроем в окне веб-обозревателя (например, Mozilla) страницу http://localhost:10000.</p>
<p>Должно получиться нечто вроде следующего:</p>
<p><code>pkg server ok<br />
Statistics<br />
Number of packages: 0<br />
Number of in-flight transactions: 0<br />
Number of catalogs served: 0<br />
Number of manifests served: 0<br />
Number of files served: 0<br />
Number of flists requested: 0<br />
Number of files served by flist: 0<br />
Number of packages renamed: 0</code></p>
<p>Теперь надо добавить пакеты в репозиторий. Убедимся, что мы находимся в том самом каталоге, в подкаталогах которого лежат скачанные пакеты. Запускаем загрузку пакетов в репозиторий (процесс занимает достаточно много времени, по состоянию на 25.12.2008 загружается 1508 пакетов):</p>
<p><code>for i in *<br />
do<br />
pkgname=`grep '^#' $i/manifest | sed 's/^# //' | sed 's/,.*//'`<br />
eval `pkgsend open -e $pkgname`<br />
pkgsend include -d $i $i/manifest<br />
pkgsend close<br />
done</code></p>
<p>Теперь наш репозиторий готов. Его можно использовать для установки пакетов. А еще, благодаря zfs, можно создать снимок содержащей наш репозиторий файловой системы</p>
<p><code>zfs snapshot rpool/depot@distrib</code></p>
<p>отправить его в файл zfs send rpool/depot@distrib &gt; depot.distrib.zfs и записать этот файл на диск и распространить среди друзей и знакомых, которым нужен локальный репозиторий. Им останется только настроить depotd и загрузить себе файловую систему с репозиторием командой zfs receive из файла depot.distrib.zfs.</p>
]]></content:encoded>
			<wfw:commentRss>http://os-solaris.ru/lokalnyj-repozitorij-opensolaris/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

