<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>Обитель UNIX</title>
    <link>http://blog.unixstyle.ru/</link>
    <description>Главная страница</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.4.1 - http://www.s9y.org/</generator>
    <pubDate>Thu, 29 Jul 2010 13:39:13 GMT</pubDate>

    <image>
        <url>http://blog.unixstyle.ru/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: Обитель UNIX - Главная страница</title>
        <link>http://blog.unixstyle.ru/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>svnsync - как средство зеркалирования вашего репозитория.</title>
    <link>http://blog.unixstyle.ru/index.php?/archives/88-svnsync-..html</link>
            <category>UNIX®</category>
    
    <comments>http://blog.unixstyle.ru/index.php?/archives/88-svnsync-..html#comments</comments>
    <wfw:comment>http://blog.unixstyle.ru/wfwcomment.php?cid=88</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.unixstyle.ru/rss.php?version=2.0&amp;type=comments&amp;cid=88</wfw:commentRss>
    

    <author>nospam@example.com (Artyom Nosov / Артем Носов )</author>
    <content:encoded>
    &amp;#160;&amp;#160;&amp;#160;&amp;#160;Согласитесь, статей описывающих настройку &lt;font class=&quot;code&quot;&gt;svnsync&lt;/font&gt; миллион с хвостиком. Плодить энтропию не цель этой статьи. Руководства по первоначальной настройке приведены в конце заметки.&lt;br /&gt;&lt;br /&gt;

&amp;#160;&amp;#160;&amp;#160;&amp;#160;Сконцентрируем внимание на подходах связанных с необходимостью регулярного запуска &lt;font class=&quot;code&quot;&gt;svnsync sync&lt;/font&gt; для поддержания нашего зеркала в актуальном состоянии. Здесь можно выделить два основных лагеря:&lt;ul&gt;
&lt;li&gt;первый: периодический запуск &lt;font class=&quot;code&quot;&gt;svnsync sync&lt;/font&gt; из &lt;font class=&quot;code&quot;&gt;crond&lt;/font&gt;;&lt;/li&gt;
&lt;li&gt;второй: запуск &lt;font class=&quot;code&quot;&gt;svnsync&lt;/font&gt; из &lt;font class=&quot;code&quot;&gt;post-commit hook(a)&lt;/font&gt;.&lt;/li&gt;&lt;/ul&gt;

&amp;#160;&amp;#160;&amp;#160;&amp;#160;Минус первого подхода заключается в том, что изменения попадают на зеркало с некоторой задержкой. В самом лучшем случае регулярность обновлений будет кратна одной минуте. Что в свою очередь создаст дополнительные нагрузки на жесткие диски и выброс дополнительного тепловой энергии в атмосферу. &lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;Минус большинства реализаций второго подхода синхронность запуска. &lt;font class=&quot;code&quot;&gt;post-commit hook&lt;/font&gt; выполняется в рамках &lt;font class=&quot;code&quot;&gt;svn commit(а)&lt;/font&gt;. Другими словами &lt;font class=&quot;code&quot;&gt;svn commit&lt;/font&gt; вернет управление только по завершении выполнения всех операций в &lt;font class=&quot;code&quot;&gt;post-commit hook(e)&lt;/font&gt;. Получается чем дольше будет работать &lt;font class=&quot;code&quot;&gt;post-commit hook&lt;/font&gt;, тем дольше разработчик будет ждать выполнения &lt;font class=&quot;code&quot;&gt;svn commit(a)&lt;/font&gt;. Соответственно теряются драгоценные человеко-минуты.&lt;br /&gt;&lt;br /&gt;

&amp;#160;&amp;#160;&amp;#160;&amp;#160;Асинхронность второго подхода - это очевидный ответ. Более того, все что потребуется для реализации есть в любом современном дистрибутиве: &lt;font class=&quot;code&quot;&gt;xinetd&lt;/font&gt; и &lt;font&gt;nc&lt;/font&gt;.&lt;br /&gt;&lt;br /&gt;

&amp;#160;&amp;#160;&amp;#160;&amp;#160;Подход предельно прост. В момент выполнения &lt;font class=&quot;code&quot;&gt;svn commit(a)&lt;/font&gt; разработчиком, вызывается &lt;font class=&quot;code&quot;&gt;post-commit hook&lt;/font&gt;, единственная задача которого отправить &lt;font class=&quot;code&quot;&gt;UDP&lt;/font&gt; пакет на заданный порт зеркала &lt;font class=&quot;code&quot;&gt;SVN&lt;/font&gt;. На зеркале &lt;font class=&quot;code&quot;&gt;SVN(a)&lt;/font&gt; указанный порт прослушивает демон xinetd с зарегистрированным обработчиком &lt;font class=&quot;code&quot;&gt;svnsync sync&lt;/font&gt;. Подход дает неоспоримый плюс - в момент &lt;font class=&quot;code&quot;&gt;commit(a)&lt;/font&gt; время отработки &lt;font class=&quot;code&quot;&gt;post-commit hook(a)&lt;/font&gt; минимальны. &lt;br /&gt;&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;Реализуем теорию на бумаге. Условимся, для UDP пакетов использовать порт &lt;font class=&quot;code&quot;&gt;8383&lt;/font&gt;, адрес мастер сервера 1.2.3.4, адрес зеркалирующего сервера 5.6.7.8. В мастер репозитории вашего хранилища необходимо создать скрипт &lt;font class=&quot;code&quot;&gt;hooks/post-commit&lt;/font&gt; следующего содержания:
&lt;pre&gt;
#!/bin/sh

host=&lt;span style=&quot;color: blue;&quot;&gt;5.6.7.8&lt;/span&gt; # Адрес зеркалирующего сервера
port=8383

echo &#039;1&#039; | nc -w 1 -u $host $port
&lt;/pre&gt;
И сделать его исполняемым
&lt;pre&gt;chmod +x hooks/post-commit&lt;/pre&gt;
На зеркалирующем сервере создаем файл &lt;font class=&quot;code&quot;&gt;/etc/xinetd.d/svnsync&lt;/font&gt; следующего содержания:
&lt;pre&gt;
service svnsync
{
        type                    = UNLISTED
        disable                 = no
        socket_type             = dgram
        port                    = 8383
        wait                    = yes
        user                    = &lt;span style=&quot;color: blue;&quot;&gt;nobody&lt;/span&gt;
        passenv                 = PATH
        server                  = /usr/bin/svnsync
        server_args             = sync &lt;span style=&quot;color: blue&quot;&gt;file:///srv/svn&lt;/span&gt;
        only_from               = 127.0.0.1 &lt;span style=&quot;color: blue;&quot;&gt;1.2.3.4&lt;/span&gt;  # Адреса, с которых дозволено получать UDP пакеты
}
&lt;/pre&gt;
Описание сервиса предполагает, что зеркало хранилища расположено в директории &lt;font class=&quot;code&quot;&gt;file:///srv/svn&lt;/font&gt; и владельцем файлов является пользователь &lt;font class=&quot;code&quot;&gt;nobody&lt;/font&gt;. Разумеется, не забываем перезапустить/запустить службу &lt;font class=&quot;code&quot;&gt;xinetd&lt;/font&gt;. &lt;br /&gt;&lt;br /&gt;

Документация:&lt;br /&gt;
1. Краткое и емкое &lt;a href=&quot;http://svn.apache.org/repos/asf/subversion/trunk/notes/svnsync.txt&quot; target=&quot;_blank&quot;&gt;руководство&lt;/a&gt; о настройке зеркалирования с использованием svnsync; &lt;br /&gt;2. Русскоязычное &lt;a href=&quot;http://linux.opennet.ru/base/dev/svnsync.txt.html&quot; target=&quot;_blank&quot;&gt;руководство&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Thu, 29 Jul 2010 17:39:13 +0400</pubDate>
    <guid isPermaLink="false">http://blog.unixstyle.ru/index.php?/archives/88-guid.html</guid>
    
</item>
<item>
    <title>uptime</title>
    <link>http://blog.unixstyle.ru/index.php?/archives/87-uptime.html</link>
            <category>UNIX®</category>
    
    <comments>http://blog.unixstyle.ru/index.php?/archives/87-uptime.html#comments</comments>
    <wfw:comment>http://blog.unixstyle.ru/wfwcomment.php?cid=87</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://blog.unixstyle.ru/rss.php?version=2.0&amp;type=comments&amp;cid=87</wfw:commentRss>
    

    <author>nospam@example.com (Artyom Nosov / Артем Носов )</author>
    <content:encoded>
    Небольшие жизненные зарисовки. 
&lt;pre&gt;$ uptime
 16:34:47 up 1039 days,  6:06,  1 user,  load average: 1.48, 1.37, 1.29
$ uname -rs
Linux 2.6.20-19.35.bbel4
$&lt;/pre&gt; 
    </content:encoded>

    <pubDate>Thu, 22 Jul 2010 16:35:16 +0400</pubDate>
    <guid isPermaLink="false">http://blog.unixstyle.ru/index.php?/archives/87-guid.html</guid>
    
</item>
<item>
    <title>Сравнение дисковой производительности: файловой системы в файле vs файловой системы на дисковом накопителе</title>
    <link>http://blog.unixstyle.ru/index.php?/archives/85-vs.html</link>
            <category>UNIX®</category>
    
    <comments>http://blog.unixstyle.ru/index.php?/archives/85-vs.html#comments</comments>
    <wfw:comment>http://blog.unixstyle.ru/wfwcomment.php?cid=85</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.unixstyle.ru/rss.php?version=2.0&amp;type=comments&amp;cid=85</wfw:commentRss>
    

    <author>nospam@example.com (Artyom Nosov / Артем Носов )</author>
    <content:encoded>
    &amp;#160;&amp;#160;&amp;#160;&amp;#160;Сравнение дисковой производительности файловой системы, расположенной в файле, изначально обречено на проигрыш по сравнению с производительностью файловой системы, расположенной на обычном накопителе. Вызвано это в первую очередь необходимостью двойного выделения блоков для размещения данных. Напомним, что файловый образ располагается на файловой системе. Соответственно рост файловой системы в файловом образе вызывает выделение блоков как в файле (дисковом образе), так и в файловой системе, на которой он расположен. &lt;br /&gt;&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;Однако такое сравнение имеет место быть, т.к. использование дисковых образов очень удобно для размещения разделов для виртуальных машин XEN или KVM. Выделение места на обычном диске в случае частых изменений, как правило, чревато сильной фрагментацией последнего. Рассмотрим на примере. Сначала нам потребовалось 3&lt;sub&gt;и&lt;/sub&gt; виртуальные машины с объемами диска: 8GB, 16GB, 24GB. Ответственный инженер создал 3-и раздела на физическом диске в 100GB следующую таблицу
&lt;pre&gt;
/dev/sdx1 - 8GB
/dev/sdx2 - 16GB
/dev/sdx3 - 24GB
free 52Gb
&lt;/pre&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;Спустя месяц у нас появилась еще одна виртуальная машина с разделом в 24 GB, а второй раздел был удален вместе с занимаемой виртуальной машиной
&lt;pre&gt;
/dev/sdx1 - 8GB
/dev/sdx2 - free
/dev/sdx3 - 24GB
/dev/sdx4 - 24GB
free 44GB
&lt;/pre&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;Таким образом мы пришли к ситуации, что между разделами 1 и 3-и есть 16GB свободного пространства, которое отделено от основной свободной области. И в общем случае не может быть использовано. &lt;br /&gt;&lt;br /&gt;

&amp;#160;&amp;#160;&amp;#160;&amp;#160;Вариантом решения может послужить создание LVM разделов поверх существующих физических. В этом случае спустя какое-то время мы приходим к ситуации, что у нас разрозненные по размеру физические разделы объединены в логические. Петрушка получается отменная. &lt;br /&gt;&lt;br /&gt;

&amp;#160;&amp;#160;&amp;#160;&amp;#160;Однако и в этой ситуация есть красивое решение. Изначально диск разбить на равного размера разделы. Например, 16GB. Объединяя через LVM нужно количество разделов в виртуальной машине, получаем требуемую дисковую область. Более продвинутый вариант, комбинированная разбивка. Например, 8GB...8GB, 16GB...16GB, 32GB...32GB, 64GB...&lt;br /&gt;&lt;br /&gt;

&amp;#160;&amp;#160;&amp;#160;&amp;#160;Теперь спускаемся на землю к нашим баранам. Альтернативным решением всех этих проблем кроется в создании образа файловой системы в файле, хранящемся на обычном разделе. Прежде чем использовать это решение давайте разберем какие минусы оно нам готовит по сравнение с очевидным большим плюсом (удобство использования).&lt;br /&gt;&lt;br /&gt;

&amp;#160;&amp;#160;&amp;#160;&amp;#160;В сравнении будет принимать, полюбившаяся всем, платформа SuperMicro SYS-1025W: 2x 2.83 GHz Quad Core Xeon (E5440), 32GB ECC RAM, 3Ware/LSI 9690SA-8I (512MB Memory, BBU). Из 8&lt;sub&gt;ми&lt;/sub&gt; накопителей SEAGATE ST9146802SS собран программный RAID10 c far размещением блоков:
&lt;pre&gt;cat /proc/mdstat
...
md3 : active raid10 sdh3[7] sdg3[6] sdf3[5] sde3[4] sdd3[3] sdc3[2] sdb3[1] sda3[0]
      3950592 blocks 256K chunks 2 far-copies [8/8] [UUUUUUUU]
&lt;/pre&gt;
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;Для /dev/md3 используется файловая система ext3 с stride равным 64. Дисковый образ создан командой
&lt;pre&gt;dd if=/dev/zero of=128GB.img bs=1GB count=128&lt;/pre&gt;
Файловая система в нём создана обычным вызовом &lt;font class=&quot;code&quot;&gt;mkfs.ext3&lt;/font&gt;. Тестирование производится 5&lt;sub&gt;и&lt;/sub&gt; кратным прогоном &lt;font class=&quot;code&quot;&gt;bonnie++ -x 5 -b&lt;/font&gt;. &lt;br /&gt;&lt;br /&gt;

&amp;#160;&amp;#160;&amp;#160;&amp;#160;CSV файлы для &lt;a href=&quot;http://blog.unixstyle.ru/uploads/data/raw-20100512.csv&quot; target=&quot;_blank&quot;&gt;обычной файловой системы&lt;/a&gt; и &lt;a href=&quot;http://blog.unixstyle.ru/uploads/data/dd-20100512.csv&quot; target=&quot;_blank&quot;&gt;дискового образа&lt;/a&gt;. Сводная таблица
&lt;pre&gt;
+---------------------+-----------+---------+-----------+-------+
|                     | put_block | rewrite | get_block | seeks |
+---------------------+-----------+---------+-----------+-------+
| дисковый накопитель |    209176 |  111778 |    389820 |   772 |
+---------------------+-----------+---------+-----------+-------+
|      дисковый образ |    124299 |  100490 |    391176 |    72 |
+---------------------+-----------+---------+-----------+-------+
&lt;/pre&gt;&lt;br /&gt;

&amp;#160;&amp;#160;&amp;#160;&amp;#160;После серого повествования немного рассуждений и выводов. Файловая система в дисковом образе почти в половину уступила файловой системе на дисковом накопителе в блочной записи. В данном виде теста bonnie++ активно выделяет блоки, а данный вид активности удваивается для дискового образа. Что полностью доказывает наши предположения в начале статьи. В rewrite оба претендента держатся на равных. Выделение блоков не требуется, а операции read(2)/write(2)/lseek(2) проходят достаточно прозрачно. В тесте get_block дисковый образ немного превзошел оппонента, сложно предположить как это получилось. Возможно, погрешность тестирования. В тесте seeks безоговорочная победа файловой системы на накопителе. Она практически растоптала оппонента вырвавшись вперед более чем на порядок.
&lt;br /&gt;&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;Т.к. дисковый образ показал неплохую производительность на блочном чтении, его использование я бы порекомендовал для хранилищ больших файлов с превалирующим чтением и не критичным к времени записи операциям. Однозначно его использование противопоказано для баз данных и систем с активным доступом к случайным данным. 
    </content:encoded>

    <pubDate>Thu, 13 May 2010 12:24:22 +0400</pubDate>
    <guid isPermaLink="false">http://blog.unixstyle.ru/index.php?/archives/85-guid.html</guid>
    
</item>
<item>
    <title>XEN: Debian Lenny в domU</title>
    <link>http://blog.unixstyle.ru/index.php?/archives/84-XEN-Debian-Lenny-domU.html</link>
            <category>UNIX®</category>
    
    <comments>http://blog.unixstyle.ru/index.php?/archives/84-XEN-Debian-Lenny-domU.html#comments</comments>
    <wfw:comment>http://blog.unixstyle.ru/wfwcomment.php?cid=84</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.unixstyle.ru/rss.php?version=2.0&amp;type=comments&amp;cid=84</wfw:commentRss>
    

    <author>nospam@example.com (Artyom Nosov / Артем Носов )</author>
    <content:encoded>
    При загрузке Debian Lenny в домене domU возникает ошибка
&lt;pre&gt;
Loading, please wait...
&lt;span style=&quot;color: red;&quot;&gt;FATAL&lt;/span&gt;: Error inserting fan (/lib/modules/2.6.26-2-686-bigmem/kernel/drivers/acpi
/fan.ko): No such device
&lt;span style=&quot;color: yellow;&quot;&gt;WARNING&lt;/span&gt;: Error inserting processor (/lib/modules/2.6.26-2-686-bigmem/kernel/driv
ers/acpi/processor.ko): No such device
&lt;span style=&quot;color: red;&quot;&gt;FATAL&lt;/span&gt;: Error inserting thermal (/lib/modules/2.6.26-2-686-bigmem/kernel/drivers/acpi/thermal.ko): Unknown symbol in module, or unknown parameter (see dmesg)
kinit: name_to_dev_t(/dev/xvda5) = xvda5(202,5)
&lt;/pre&gt;
&lt;br /&gt;
В виртуальном окружении управление охлаждением и датчиками температуры не требуется. Избавляемся от их инициализации выполнением набора команд:
&lt;pre&gt;
install -m 0755 /dev/null /etc/initramfs-tools/hooks/thermal
install -m 0755 /dev/null /etc/initramfs-tools/scripts/init-premount/thermal
update-initramfs -u
&lt;/pre&gt;
&lt;br /&gt;
В очередную загрузку ядро порадует нас приятным глазу набором информационных сообщений
&lt;pre&gt;
Loading, please wait...
kinit: name_to_dev_t(/dev/xvda5) = xvda5(202,5)
kinit: trying to resume from /dev/xvda5
kinit: No resume image, doing normal boot...
INIT: version 2.86 booting
&lt;/pre&gt; 
    </content:encoded>

    <pubDate>Wed, 12 May 2010 11:49:00 +0400</pubDate>
    <guid isPermaLink="false">http://blog.unixstyle.ru/index.php?/archives/84-guid.html</guid>
    
</item>
<item>
    <title>Zyxel AAM1212-53 и SNMP MIBS</title>
    <link>http://blog.unixstyle.ru/index.php?/archives/83-Zyxel-AAM1212-53-SNMP-MIBS.html</link>
            <category>UNIX®</category>
    
    <comments>http://blog.unixstyle.ru/index.php?/archives/83-Zyxel-AAM1212-53-SNMP-MIBS.html#comments</comments>
    <wfw:comment>http://blog.unixstyle.ru/wfwcomment.php?cid=83</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.unixstyle.ru/rss.php?version=2.0&amp;type=comments&amp;cid=83</wfw:commentRss>
    

    <author>nospam@example.com (Artyom Nosov / Артем Носов )</author>
    <content:encoded>
    Опрашивая модуль Zyxel AAM1212-53 snmpwalk(ом), можно получить много-много букв не говорящих ровным счетом ни о чем:
&lt;pre&gt;
...
SNMPv2-SMI::transmission.94.1.1.2.1.4.1 = INTEGER: 0
SNMPv2-SMI::transmission.94.1.1.2.1.4.2 = INTEGER: 0
SNMPv2-SMI::transmission.94.1.1.2.1.4.3 = INTEGER: 0
SNMPv2-SMI::transmission.94.1.1.2.1.4.4 = INTEGER: 0
SNMPv2-SMI::transmission.94.1.1.2.1.4.5 = INTEGER: 0
SNMPv2-SMI::transmission.94.1.1.2.1.4.6 = INTEGER: 0
SNMPv2-SMI::transmission.94.1.1.2.1.4.7 = INTEGER: 0
SNMPv2-SMI::transmission.94.1.1.2.1.4.8 = INTEGER: 298
SNMPv2-SMI::transmission.94.1.1.2.1.4.9 = INTEGER: 0
SNMPv2-SMI::transmission.94.1.1.2.1.4.10 = INTEGER: 310
SNMPv2-SMI::transmission.94.1.1.2.1.4.11 = INTEGER: 0
SNMPv2-SMI::transmission.94.1.1.2.1.4.12 = INTEGER: 0
SNMPv2-SMI::transmission.94.1.1.2.1.5.1 = Gauge32: 0
SNMPv2-SMI::transmission.94.1.1.2.1.5.2 = Gauge32: 0
SNMPv2-SMI::transmission.94.1.1.2.1.5.3 = Gauge32: 0
SNMPv2-SMI::transmission.94.1.1.2.1.5.4 = Gauge32: 0
SNMPv2-SMI::transmission.94.1.1.2.1.5.5 = Gauge32: 0
SNMPv2-SMI::transmission.94.1.1.2.1.5.6 = Gauge32: 0
SNMPv2-SMI::transmission.94.1.1.2.1.5.7 = Gauge32: 0
SNMPv2-SMI::transmission.94.1.1.2.1.5.8 = Gauge32: 180
SNMPv2-SMI::transmission.94.1.1.2.1.5.9 = Gauge32: 0
SNMPv2-SMI::transmission.94.1.1.2.1.5.10 = Gauge32: 161
&lt;/pre&gt;

Разумеется, для расшифровки требуется набор MIB файлов:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://dl1.web.zyxel.ru/001/AAM1212-53/firmware/AAM1212-53_3.53(ABP.0)C0.zip&quot; target=&quot;_blank&quot;&gt;Основной набор MIB файлов&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.oidview.com/mibs/0/PerfHist-TC-MIB.html&quot; target=&quot;_blank&quot;&gt;PerfHist-TC-MIB&lt;/a&gt; (зависимость).&lt;/li&gt;
&lt;/ul&gt;
И &lt;a href=&quot;http://www.net-snmp.org/wiki/index.php/TUT:Using_and_loading_MIBS&quot; target=&quot;_blank&quot;&gt;инструкция&lt;/a&gt; по подключению дополнительных MIB-файлов к набору программного обеспечения net-snmp.&lt;br /&gt;&lt;br /&gt;
После размещения MIB-файлов в $HOME/.snmp/mibs отклик от модуля Zyxel AAM1212-53 приобретает следующий вид:
&lt;pre&gt;
&gt; snmpwalk -m +ADSL-LINE-MIB  -c public -v 2c 192.168.0.57
....
ADSL-LINE-MIB::adslAturCurrOutputPwr.1 = INTEGER: 0 tenth dBm
ADSL-LINE-MIB::adslAturCurrOutputPwr.2 = INTEGER: 0 tenth dBm
ADSL-LINE-MIB::adslAturCurrOutputPwr.3 = INTEGER: 0 tenth dBm
ADSL-LINE-MIB::adslAturCurrOutputPwr.4 = INTEGER: 0 tenth dBm
ADSL-LINE-MIB::adslAturCurrOutputPwr.5 = INTEGER: 0 tenth dBm
ADSL-LINE-MIB::adslAturCurrOutputPwr.6 = INTEGER: 0 tenth dBm
ADSL-LINE-MIB::adslAturCurrOutputPwr.7 = INTEGER: 0 tenth dBm
ADSL-LINE-MIB::adslAturCurrOutputPwr.8 = INTEGER: 122 tenth dBm
ADSL-LINE-MIB::adslAturCurrOutputPwr.9 = INTEGER: 0 tenth dBm
ADSL-LINE-MIB::adslAturCurrOutputPwr.10 = INTEGER: 123 tenth dBm
ADSL-LINE-MIB::adslAturCurrOutputPwr.11 = INTEGER: 0 tenth dBm
ADSL-LINE-MIB::adslAturCurrOutputPwr.12 = INTEGER: 0 tenth dBm
ADSL-LINE-MIB::adslAturCurrAttainableRate.1 = Gauge32: 0 bps
ADSL-LINE-MIB::adslAturCurrAttainableRate.2 = Gauge32: 0 bps
ADSL-LINE-MIB::adslAturCurrAttainableRate.3 = Gauge32: 0 bps
ADSL-LINE-MIB::adslAturCurrAttainableRate.4 = Gauge32: 0 bps
ADSL-LINE-MIB::adslAturCurrAttainableRate.5 = Gauge32: 0 bps
ADSL-LINE-MIB::adslAturCurrAttainableRate.6 = Gauge32: 0 bps
ADSL-LINE-MIB::adslAturCurrAttainableRate.7 = Gauge32: 0 bps
ADSL-LINE-MIB::adslAturCurrAttainableRate.8 = Gauge32: 1419000 bps
ADSL-LINE-MIB::adslAturCurrAttainableRate.9 = Gauge32: 0 bps
ADSL-LINE-MIB::adslAturCurrAttainableRate.10 = Gauge32: 1057000 bps
ADSL-LINE-MIB::adslAturCurrAttainableRate.11 = Gauge32: 0 bps
ADSL-LINE-MIB::adslAturCurrAttainableRate.12 = Gauge32: 0 bps
...
&gt;
&lt;/pre&gt;
 
    </content:encoded>

    <pubDate>Wed, 05 May 2010 15:50:13 +0400</pubDate>
    <guid isPermaLink="false">http://blog.unixstyle.ru/index.php?/archives/83-guid.html</guid>
    
</item>
<item>
    <title>Удаление perl модулей установленных из CPAN</title>
    <link>http://blog.unixstyle.ru/index.php?/archives/82-perl-CPAN.html</link>
            <category>UNIX®</category>
    
    <comments>http://blog.unixstyle.ru/index.php?/archives/82-perl-CPAN.html#comments</comments>
    <wfw:comment>http://blog.unixstyle.ru/wfwcomment.php?cid=82</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.unixstyle.ru/rss.php?version=2.0&amp;type=comments&amp;cid=82</wfw:commentRss>
    

    <author>nospam@example.com (Artyom Nosov / Артем Носов )</author>
    <content:encoded>
    Элегантное &lt;a href=&quot;https://bugs.launchpad.net/ubuntu/+source/libxml-sax-expat-perl/+bug/365383/comments/4&quot; target=&quot;_blank&quot;&gt;решение&lt;/a&gt; удаления модулей perl, установленных из CPAN в ручную.  
    </content:encoded>

    <pubDate>Wed, 17 Mar 2010 19:16:16 +0300</pubDate>
    <guid isPermaLink="false">http://blog.unixstyle.ru/index.php?/archives/82-guid.html</guid>
    
</item>
<item>
    <title>SEVERE: Error: This user does not have privilege to run this software</title>
    <link>http://blog.unixstyle.ru/index.php?/archives/81-SEVERE-Error-This-user-does-not-have-privilege-to-run-this-software.html</link>
            <category>UNIX®</category>
    
    <comments>http://blog.unixstyle.ru/index.php?/archives/81-SEVERE-Error-This-user-does-not-have-privilege-to-run-this-software.html#comments</comments>
    <wfw:comment>http://blog.unixstyle.ru/wfwcomment.php?cid=81</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blog.unixstyle.ru/rss.php?version=2.0&amp;type=comments&amp;cid=81</wfw:commentRss>
    

    <author>nospam@example.com (Artyom Nosov / Артем Носов )</author>
    <content:encoded>
    Установка &lt;a href=&quot;http://www.oracle.com/us/products/servers-storage/storage/disk-storage/031603.htm&quot; target=&quot;_blank&quot;&gt;Sun StorageTek Common Array Manager Software&lt;/a&gt; прервалась сообщением
&lt;pre&gt;SEVERE: Error: This user does not have privilege to run this software.&lt;/pre&gt;
Штудирование показало, что для корректной установки, необходимо установить пакет ksh
&lt;pre&gt;yum install ksh&lt;/pre&gt; 
    </content:encoded>

    <pubDate>Tue, 02 Mar 2010 12:49:15 +0300</pubDate>
    <guid isPermaLink="false">http://blog.unixstyle.ru/index.php?/archives/81-guid.html</guid>
    
</item>
<item>
    <title>1С:Предприятие 8.1 &quot;Ошибка формата потока&quot;</title>
    <link>http://blog.unixstyle.ru/index.php?/archives/80-1-8.1.html</link>
            <category>1С:Предприятие</category>
    
    <comments>http://blog.unixstyle.ru/index.php?/archives/80-1-8.1.html#comments</comments>
    <wfw:comment>http://blog.unixstyle.ru/wfwcomment.php?cid=80</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.unixstyle.ru/rss.php?version=2.0&amp;type=comments&amp;cid=80</wfw:commentRss>
    

    <author>nospam@example.com (Artyom Nosov / Артем Носов )</author>
    <content:encoded>
    &amp;#160;&amp;#160;&amp;#160;&amp;#160;Всегда идивляли разработчики всеми силами пытающиеся зарыть системные сообщения в осмысленные пользовательские каламбуры. При этом средств для нормальной диагностики техническим персоналом практически не остается.&lt;br /&gt;&lt;br /&gt;

&amp;#160;&amp;#160;&amp;#160;&amp;#160;В частности 1C:Предприятие приятно удивляет своих владельцев сообщением &quot;Ошибка формата потока&quot;. Напрашивается законный вопрос: какого потока? и какого формата? В ходе попыток найти объяснимый ответ на эти два вопроса рождаются &lt;a href=&quot;http://www.gilev.ru/1c/81/restore/stream.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;шаманские&lt;/a&gt; рецепты. &lt;br /&gt;&lt;br /&gt;

&amp;#160;&amp;#160;&amp;#160;&amp;#160;Мне остается пополнить капилку одним рецептом. Оказывается в клиент-серверном варианте сообщение &quot;Ошибка формата потока&quot; может возникнуть у клиента, когда одно из приложений из набора 1С:Предприятия, выполняющихся на сервере, не имеет достаточно дискового пространства в разделе &lt;font class=&quot;code&quot;&gt;/tmp&lt;/font&gt; для размещения временных файлов. 
    </content:encoded>

    <pubDate>Mon, 01 Feb 2010 12:45:27 +0300</pubDate>
    <guid isPermaLink="false">http://blog.unixstyle.ru/index.php?/archives/80-guid.html</guid>
    
</item>
<item>
    <title>Сервер 1C:Предприятие 8.1 и Linux-сервер CentOS</title>
    <link>http://blog.unixstyle.ru/index.php?/archives/79-1C-8.1-Linux-CentOS.html</link>
            <category>1С:Предприятие</category>
    
    <comments>http://blog.unixstyle.ru/index.php?/archives/79-1C-8.1-Linux-CentOS.html#comments</comments>
    <wfw:comment>http://blog.unixstyle.ru/wfwcomment.php?cid=79</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.unixstyle.ru/rss.php?version=2.0&amp;type=comments&amp;cid=79</wfw:commentRss>
    

    <author>nospam@example.com (Artyom Nosov / Артем Носов )</author>
    <content:encoded>
    &amp;#160;&amp;#160;&amp;#160;&amp;#160;От одной мысли об этой гремучей связке пробегают по спине мурашки. Тем не менее она начинает встречаться и судя по форумам набирает потихоньку обороты. Периодически всплывают заказы на внедрение/оптимизацию работы 1C или сопряженной с ней базы данных PostgreSQL.&lt;br /&gt;&lt;br /&gt;


&amp;#160;&amp;#160;&amp;#160;&amp;#160;Описанию процесса внедрения 1C:Предприятия на Linux-сервере посвящена статья &amp;laquo;&lt;a href=&quot;http://life.screenshots.ru/the-code-inside/php-platform/linux-1c-setup/&quot; ref=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Установка Сервера 1С:Предприятия 8.1 на Linux-сервер (со скриншотами)&lt;/a&gt;&amp;raquo;, которая достаточно полно раскрывает основные вехи установки. Мы позволим себе заострить внимание на внедрении 1C:Предприятия на базе CentOS 5.4 (32 bit). 32&lt;sub&gt;х&lt;/sub&gt; битная операционная система выбрана из-за отсутствия поддержки 64 бит компанией Aladdin в драйверах &lt;font class=&quot;code&quot;&gt;HASP&lt;/font&gt;.&lt;br /&gt;&lt;br /&gt;


&amp;#160;&amp;#160;&amp;#160;&amp;#160;Первый момент - установка службы &lt;font class=&quot;code&quot;&gt;samba&lt;/font&gt;. Четкого описания необходимости этой службы для работы 1C:Предприятия не удалось найти. Одно из предположений - задействование сервиса &lt;font class=&quot;code&quot;&gt;WINS&lt;/font&gt; для преобразования имен. Рекомендуем завести отдельный DNS сервер и в нем прописать соответствие или довольствоваться файлом &lt;font class=&quot;code&quot;&gt;hosts&lt;/font&gt;. Мы продолжим рассмотрение на примере имени сервера &lt;font class=&quot;code&quot;&gt;srv1c.local&lt;/font&gt;, который корректно преобразуется в &lt;font class=&quot;code&quot;&gt;IP&lt;/font&gt;-адрес сервера.&lt;br /&gt;&lt;br /&gt;

&amp;#160;&amp;#160;&amp;#160;&amp;#160;Вторым этапом является установка приложений, обслуживающих защитный ключ. Для их установки необходимо скачать архивы &lt;font class=&quot;code&quot;&gt;HDD_RPM_RedHat_i386.tar.gz&lt;/font&gt; и &lt;font class=&quot;code&quot;&gt;hasplm_linux_8.30.tgz&lt;/font&gt; с сайта &lt;a href=&quot;ftp://ftp.aladdin.com/pub/hasp/hl/linux/&quot; target=&quot;_blank&quot;&gt;ftp.aladdin.com&lt;/a&gt;. Распакуем и установим пакеты:
&lt;pre&gt;
tar xf HDD_RPM_RedHat_i386.tar.gz
tar xzf hasplm_linux_8.30.tgz
rpm -ivh hasplm-redhat-8.30-1.i386.rpm HDD_RPM_RedHat_i386/aksusbd-redhat-1.8.1-2.i386.rpm
&lt;/pre&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;Хочу обратить внимание, что архив &lt;font class=&quot;code&quot;&gt;HDD_RPM_RedHat_i386.tar.gz&lt;/font&gt; является обычным архивом без gzip сжатия. Запустим службы
&lt;pre&gt;
service hasplm start
service aksusbd start
chkconfig hasplm on
chkconfig aksusbd on
&lt;/pre&gt;
&lt;br /&gt;

&amp;#160;&amp;#160;&amp;#160;&amp;#160;Базовым костяком необходимых пакетов для 1C:Предприятия являются &lt;font class=&quot;code&quot;&gt;1C_Enterprise-common&lt;/font&gt; и &lt;font class=&quot;code&quot;&gt;1C_Enterprise-server&lt;/font&gt;. Официальная зона скачивания находится по адресу &lt;a href=&quot;http://users.v8.1c.ru/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;users.v8.1c.ru&lt;/a&gt;. Неофициальная - &lt;a href=&quot;http://forum.ruboard.ru/showthread.php?t=10844&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;forum.ruboard.ru&lt;/a&gt;. &lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;Пакеты &lt;font class=&quot;code&quot;&gt;1C_Enterprise-common&lt;/font&gt; и &lt;font class=&quot;code&quot;&gt;1C_Enterprise-server&lt;/font&gt; включают в себя поддержку русского языка. Пакеты содержащие в своем имени &lt;font class=&quot;code&quot;&gt;nls&lt;/font&gt; (Native Language Support) предоставляют поддержку дополнительных языков Болгарского, Украинского, Польского и других.  Мы ограничимся установкой базового набора
&lt;pre&gt;
rpm -ivh 1C_Enterprise-common-8.1.14-72.i386.rpm 1C_Enterprise-server-8.1.14-72.i386.rpm
&lt;/pre&gt;
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;До момента установки 1C:Предприятия и базы данных PostgreSQL многие рекомендуют установить системную локаль в ru_RU.utf8. Мы этого делать не рекомендуем. Более красивым решением является установка локали для конкретных приложений без изменения системных настроек. Каждое из приложений: 1C:Предприятие и PostgreSQL,&amp;mdash; запускаются с предварительным сбросом привилегий вызовом &lt;font class=&quot;code&quot;&gt;su&lt;/font&gt;, что позволяет прописать экспорт переменной через пользовательский &lt;font class=&quot;code&quot;&gt;.bash_profile&lt;/font&gt;.&lt;br /&gt;&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;Для 1C:Предприятия при установке регистрируется отдельный пользователь &lt;font class=&quot;code&quot;&gt;usr1cv81&lt;/font&gt; с домашней директорией &lt;font class=&quot;code&quot;&gt;/home/usr1cv81&lt;/font&gt;. В ней 1C:Предприятие хранит все настройки. Пропишем локаль для 1C:Предприятия
&lt;pre&gt;
cat &lt;&lt;&#039;EOF&#039; &gt;&gt; /home/usr1cv81/.bash_profile

LANG=&quot;ru_RU.utf-8&quot;

export LANG
EOF
&lt;/pre&gt;
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;Если до этого 1C:Предприятие запускалось, то файлы конфигурации были созданы с использованием системной локали. Необходимо удалить старые файлы конфигурации и пересоздать их сызнова
&lt;pre&gt;
service srv1cv81 stop &gt;/dev/null 2&gt;&amp;1
mv /home/usr1cv81/.1cv81 /home/usr1cv81/bkp.1cv81
&lt;/pre&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;Запустим службы 1C:Предприятия
&lt;pre&gt;
service srv1cv81 start
chkconfig srv1cv81 on
&lt;/pre&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;Из пакетов для PostgreSQL потребуется установить &lt;font class=&quot;code&quot;&gt;postgresql-libs&lt;/font&gt;, &lt;font class=&quot;code&quot;&gt;postgresql&lt;/font&gt;, &lt;font class=&quot;code&quot;&gt;postgresql-server&lt;/font&gt; и &lt;font class=&quot;code&quot;&gt;postgresql-contrib&lt;/font&gt;. Сборку PostgreSQL необходимо брать исключительно от поставщика 1C. Мы использовали PostgreSQL 8.2.4 с модификациями из &lt;a href=&quot;http://v8.1c.ru/overview/postgres_patches_notes.htm&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;материалов для сборки версии СУБД PostgreSQL&lt;/a&gt;. Для желающих можем разместить собственную сборку и &lt;font class=&quot;code&quot;&gt;SRPM&lt;/font&gt;.
&lt;br /&gt;&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;b&gt;Перед&lt;/b&gt; выполнением команды &lt;font class=&quot;code&quot;&gt;service postgresql initdb&lt;/font&gt; необходимо выполнить
&lt;pre&gt;
cat &lt;&lt;&#039;EOF&#039; &gt;&gt; /var/lib/pgsql/.bash_profile

LANG=&quot;ru_RU.utf-8&quot;
export LANG
EOF
&lt;/pre&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;После этого выполняем &lt;font class=&quot;code&quot;&gt;service postgresql initdb&lt;/font&gt;. Вносим минимальные изменения в &lt;font class=&quot;code&quot;&gt;/var/lib/pgsql/data/postgresql.conf&lt;/font&gt;
&lt;pre&gt;
default_with_oids = on
stats_row_level = off
&lt;/pre&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;Описанных изменений достаточно для корректной работы связки 1C:Предприятие и сервера PostgreSQL. Для оптимальной работы требуется более тщательная настройка. Запускаем сервер PostgreSQL
&lt;pre&gt;
service postgresql start
chkconfig postgresql on
&lt;/pre&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;Изменяем пароль пользователю &lt;font class=&quot;postgres&quot;&gt;postgres&lt;/font&gt;
&lt;pre&gt;
cat &lt;&lt;&#039;EOF&#039; | psql -U postgres
ALTER ROLE postgres PASSWORD &#039;&lt;span style=&quot;color:blue&quot;&gt;ваш пароль&lt;/span&gt;&#039;;
EOF
&lt;/pre&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;В качестве альтернативного варианта последнему пункту можно предложить создать отдельного пользователя с правами суперпользователя
&lt;pre&gt;
cat &lt;&lt;&#039;EOF&#039; | psql -U postgres
CREATE ROLE &#039;&lt;span style=&quot;color:blue;&quot;&gt;usr1c&lt;/span&gt;&#039; WITH SUPERUSER INHERIT CREATEROLE CREATEDB LOGIN PASSWORD &#039;&lt;span style=&quot;color:blue&quot;&gt;ваш пароль&lt;/span&gt;&#039;;
EOF
&lt;/pre&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;На этом описание UNIX части закачивается и повествование переходит к настройке оснастки 1C. Этот этап в полном объеме изложен в параграфе &quot;Создание сервера предприятия&quot; статьи &amp;laquo;&lt;a href=&quot;http://life.screenshots.ru/the-code-inside/php-platform/linux-1c-setup/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Установка Сервера 1С:Предприятия 8.1 на Linux-сервер (со скриншотами)&lt;/a&gt;&amp;raquo;.&lt;br /&gt;&lt;br /&gt;
Сегодня, 29 января, обнаружил еще одно руководство &amp;laquo;&lt;a target=&quot;_blank&quot; href=&quot;http://sergiy.kyrylkov.name/blog/2008/03/1-81-red-hat-enterprise-linux-5-centos.html&quot; rel=&quot;nofollow&quot;&gt;Установка 1С:Предприятия 8.1 на Red Hat Enterprise Linux 5 (RHEL 5, CentOS 5)&lt;/a&gt;&amp;raquo;. 
    </content:encoded>

    <pubDate>Thu, 28 Jan 2010 09:07:00 +0300</pubDate>
    <guid isPermaLink="false">http://blog.unixstyle.ru/index.php?/archives/79-guid.html</guid>
    
</item>
<item>
    <title>How iostat calculates utilization</title>
    <link>http://blog.unixstyle.ru/index.php?/archives/78-How-iostat-calculates-utilization.html</link>
            <category>UNIX®</category>
    
    <comments>http://blog.unixstyle.ru/index.php?/archives/78-How-iostat-calculates-utilization.html#comments</comments>
    <wfw:comment>http://blog.unixstyle.ru/wfwcomment.php?cid=78</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.unixstyle.ru/rss.php?version=2.0&amp;type=comments&amp;cid=78</wfw:commentRss>
    

    <author>nospam@example.com (Artyom Nosov / Артем Носов )</author>
    <content:encoded>
    Ответ на этот вопрос можно найти в статье &lt;a href=&quot;http://bhavin.directi.com/iostat-and-disk-utilization-monitoring-nirvana/&quot;&gt;iostat and disk utilization monitoring nirvana&lt;/a&gt;. Вычисление параметра &lt;font class=&quot;code&quot;&gt;%util iostat&lt;/font&gt; производит по формуле:
&lt;pre&gt;
( (r/s + w/s) * svctm / 1000 ms ) * 100
&lt;/pre&gt;
Говоря обывательским языком, суммарное количество записей и чтений инициированных за секунду (1000 ms) умноженное на среднее время обслуживания запроса. Именование колонок соответствует формату команды &lt;font class=&quot;code&quot;&gt;iostat -x&lt;/font&gt;. 
    </content:encoded>

    <pubDate>Wed, 27 Jan 2010 11:08:09 +0300</pubDate>
    <guid isPermaLink="false">http://blog.unixstyle.ru/index.php?/archives/78-guid.html</guid>
    
</item>
<item>
    <title>Специфика получения core dump в CentOS</title>
    <link>http://blog.unixstyle.ru/index.php?/archives/77-core-dump-CentOS.html</link>
            <category>UNIX®</category>
    
    <comments>http://blog.unixstyle.ru/index.php?/archives/77-core-dump-CentOS.html#comments</comments>
    <wfw:comment>http://blog.unixstyle.ru/wfwcomment.php?cid=77</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.unixstyle.ru/rss.php?version=2.0&amp;type=comments&amp;cid=77</wfw:commentRss>
    

    <author>nospam@example.com (Artyom Nosov / Артем Носов )</author>
    <content:encoded>
    В обычной ситуации достаточно указать в &lt;font class=&quot;code&quot;&gt;/etc/sysctl.conf&lt;/font&gt; параметры
&lt;pre&gt;
kernel.core_uses_pid = 1
kernel.core_pattern = /var/tmp/core.%p.%e.%s
fs.suid_dumpable = 1
&lt;/pre&gt;
Выполнить
&lt;pre&gt;
sysctl -p;
ulimit -c unlimited
&lt;/pre&gt;
Перезапустить интересуйщий нас процесс командой service и убидиться в том, что параметры успешно применились командой
&lt;pre&gt;
cat /proc/`pgrep &lt;span style=&quot;color: blue;&quot;&gt;process_name&lt;/span&gt;`/limits
&lt;/pre&gt;

Как показала практика описанного набора действий бывает не всегда достаточно. В частности, если SysV скрипт использует функцию &lt;font class=&quot;code&quot;&gt;daemon()&lt;/font&gt;, описанную в &lt;font class=&quot;code&quot;&gt;/etc/rc.d/init.d/functions&lt;/font&gt;, то заданный ранее явно лимит переопределяется следющей строкой
&lt;pre&gt;
        corelimit=&quot;ulimit -S -c ${DAEMON_COREFILE_LIMIT:-0}&quot;
&lt;/pre&gt;
Полагаясь на ее описание, необходимо для сервисов, использующих для запуска функцию &lt;font class=&quot;code&quot;&gt;daemon()&lt;/font&gt;, дополнительно определять в их SysV конфигурационном файле, обычно расположенном в &lt;font class=&quot;code&quot;&gt;/etc/sysconfig&lt;/font&gt;, директивку 
&lt;pre&gt;
DAEMON_COREFILE_LIMIT=unlimited
&lt;/pre&gt;
Например, одним из сервисов, использующий подход с &lt;font class=&quot;code&quot;&gt;daemon()&lt;/font&gt;, является httpd. Согласно его init-скрипту конфигурационный файл расположен в &lt;font class=&quot;code&quot;&gt;/etc/sysconfig/httpd&lt;/font&gt;. Результирующий набор команд будет выглядеть
&lt;pre&gt;cat &amp;lt;&amp;lt;EOF &amp;gt;&amp;gt; /etc/sysconfig/httpd
DAEMON_COREFILE_LIMIT=unlimited
EOF
service httpd restart
&lt;/pre&gt;
 
    </content:encoded>

    <pubDate>Wed, 13 Jan 2010 16:39:20 +0300</pubDate>
    <guid isPermaLink="false">http://blog.unixstyle.ru/index.php?/archives/77-guid.html</guid>
    
</item>
<item>
    <title>HOWTO PXE Setup</title>
    <link>http://blog.unixstyle.ru/index.php?/archives/76-HOWTO-PXE-Setup.html</link>
            <category>UNIX®</category>
    
    <comments>http://blog.unixstyle.ru/index.php?/archives/76-HOWTO-PXE-Setup.html#comments</comments>
    <wfw:comment>http://blog.unixstyle.ru/wfwcomment.php?cid=76</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.unixstyle.ru/rss.php?version=2.0&amp;type=comments&amp;cid=76</wfw:commentRss>
    

    <author>nospam@example.com (Artyom Nosov / Артем Носов )</author>
    <content:encoded>
    Исчерпывающее &lt;a href=&quot;http://wiki.centos.org/HowTos/PXE/PXE_Setup&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;руководство&lt;/a&gt; о установке CentOS с использованием встроенного в сетевую карту PXE загрузчика. 
    </content:encoded>

    <pubDate>Tue, 12 Jan 2010 16:58:25 +0300</pubDate>
    <guid isPermaLink="false">http://blog.unixstyle.ru/index.php?/archives/76-guid.html</guid>
    
</item>
<item>
    <title>Восстановление даты модификации файла из rpmdb / rpm verify fix mtime differences</title>
    <link>http://blog.unixstyle.ru/index.php?/archives/47-rpmdb-rpm-verify-fix-mtime-differences.html</link>
            <category>UNIX®</category>
    
    <comments>http://blog.unixstyle.ru/index.php?/archives/47-rpmdb-rpm-verify-fix-mtime-differences.html#comments</comments>
    <wfw:comment>http://blog.unixstyle.ru/wfwcomment.php?cid=47</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.unixstyle.ru/rss.php?version=2.0&amp;type=comments&amp;cid=47</wfw:commentRss>
    

    <author>nospam@example.com (Artyom Nosov / Артем Носов )</author>
    <content:encoded>
    Восстановить дату последней модификации файла из базы rpmdb позволяет команда:
&lt;pre&gt;touch -m --date=&quot;`rpm -q --qf &#039;%{FILEMTIMES:date}&#039; -f &lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;filename&amp;gt;&lt;/span&gt;`&quot; &lt;span style=&quot;color: blue;&quot;&gt;&amp;lt;filename&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;br /&gt;
Например, рассмотрим ситуацию
&lt;pre&gt;# rpm -V postgresql-server
.......T  c /var/lib/pgsql/.bash_profile
#
&lt;/pre&gt;
У файла поменялась дата модификации в связи с внесением в него временных изменений. Восстановим дату модификации на хранимую в rpmdb
&lt;pre&gt;# touch -m --date=&quot;`rpm -q --qf &#039;%{FILEMTIMES:date}&#039; -f &lt;span style=&quot;color: blue;&quot;&gt;/var/lib/pgsql/.bash_profile&lt;/span&gt;`&quot; &lt;span style=&quot;color: blue;&quot;&gt;/var/lib/pgsql/.bash_profile&lt;/span&gt;
&lt;/pre&gt;
Проверим, что изменения имели место быть
&lt;pre&gt;# rpm -V postgresql-server
#&lt;/pre&gt;
Проверка прошла успешно. 
    </content:encoded>

    <pubDate>Tue, 29 Dec 2009 01:27:00 +0300</pubDate>
    <guid isPermaLink="false">http://blog.unixstyle.ru/index.php?/archives/47-guid.html</guid>
    
</item>
<item>
    <title>Machine Check Exception (MCE)</title>
    <link>http://blog.unixstyle.ru/index.php?/archives/52-Machine-Check-Exception-MCE.html</link>
            <category>UNIX®</category>
    
    <comments>http://blog.unixstyle.ru/index.php?/archives/52-Machine-Check-Exception-MCE.html#comments</comments>
    <wfw:comment>http://blog.unixstyle.ru/wfwcomment.php?cid=52</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.unixstyle.ru/rss.php?version=2.0&amp;type=comments&amp;cid=52</wfw:commentRss>
    

    <author>nospam@example.com (Artyom Nosov / Артем Носов )</author>
    <content:encoded>
    Основная часть заметки была написана в 4&lt;sub&gt;ом&lt;/sub&gt; часу утра 31 марта 2009 непосредственно в момент описываемых событий.&lt;br /&gt;&lt;br /&gt;
О том, что такое &lt;acronym title=&quot;Machine Check Exception&quot;&gt;MCE&lt;/acronym&gt; и чем его закусывают мне довелось впервые столкнуться ночью 31 марта 2009. Знамение пришло в виде нескольких неисправимых ошибок на системной консоли следующего содержания (&lt;a href=&quot;http://blog.unixstyle.ru/uploads/screenshots/MCE-2009033101.png&quot; target=&quot;_blank&quot;&gt;снимок экрана&lt;/a&gt;)
&lt;pre&gt;
HARDWARE ERROR
CPU 5: Machine Check Exception:                     5 Bank 0: b200004000000800
RIP !INEXACT! 10:&amp;lt;ffffffff8006ad64&amp;gt; {default_idle+0x29/0x50}
TSC 1d24d355f8839d
This is not a sotware problem!
Run through mcelog --acsii to decode and contact your hardare vendor
&lt;/pre&gt;

Полагаясь на диагностику операционной системы, а именно сообщение о том, что проблема связана с железом я погрузился в поиски. Как &lt;a rel=&quot;nofollow&quot; href=&quot;http://www.advancedclustering.com/faq/im-getting-mce-machine-check-exception-errors-what-does-this-mean/print.html&quot; target=&quot;_blank&quot;&gt;оказалось&lt;/a&gt; существуют 2&lt;sub&gt;а&lt;/sub&gt; подмножества ошибок:&lt;ul&gt;
&lt;li&gt;исправимых (warning error);&lt;/li&gt;
&lt;li&gt;неисправимых (nonrecoverable, fatal exception).&lt;/li&gt;
&lt;/ul&gt;
Первые ограничиваются сообщениями на системную консоль и в системный журнал. Вторые, с которыми мне и довелось столкнуться, имеют более жестокий характер и останавливают работу всей системы. Согласно данным приведенным в &lt;a rel=&quot;nofollow&quot; href=&quot;http://www.halobates.de/supp-mce.pdf&quot; target=&quot;_blank&quot;&gt;презентации&lt;/a&gt;, в момент сбоя запись на диск запрещена. Соответственно ошибка не оставит о себе следа в случае отсутствия доступа к системной консоли на момент сбоя.
&lt;br /&gt;&lt;br /&gt;
Привлек внимание факт, что сбой произошел в &amp;laquo;Bank 0&amp;raquo;. Согласно &lt;a rel=&quot;nofollow&quot; href=&quot;http://www.halobates.de/supp-mce.pdf&quot; target=&quot;_blank&quot;&gt;презентации&lt;/a&gt; Bank с нулевого по третий соответствуют процессорам.
&lt;pre&gt;
Banks
 0-3 CPU internal (DC, IC, BU, LS)
 4 Northbridge: only really interesting one
&lt;/pre&gt;
С другой стороны аналогичные сообщения возникают из-за внутренней несовместимости оборудования. &lt;a rel=&quot;nofollow&quot; href=&quot;http://www.linuxquestions.org/questions/linux-hardware-18/howto-supermicro-x7db8-mce-hardware-errors-adaptec-scsi-card-587027/&quot; target=&quot;_blank&quot;&gt;Например&lt;/a&gt;, материнская плата SuperMicro X7DB8+ и дисковый контроллер Adaptec не уживаются вместе.&lt;br /&gt;&lt;br /&gt;

Днем 31 марта 2009 рассматриваемый сервер был выведен из эксплуатации и начались процедуры тестирования. Неоценимую помощь оказал дистрибутив breakin, который позволил нагрузить систему и воспроизвести сбой. Причина была в недостатке охлаждения. При продолжительной работе в пиковых нагрузках система не справлялась с отводом тепла, что вызывало перегрев процессоров. Проблема скрывалась в аппаратной платформе &lt;a href=&quot;http://www.supermicro.com/products/system/1U/1025/SYS-1025W-UR.cfm&quot; target=&quot;_blank&quot;&gt;SuperMicro SYS-1025W&lt;/a&gt;, в которую необходимо устанавливать процессоры с меньшим тепловыделением и дополнительные вентиляторы для охлаждения. После этого случая вся используемая нами линейка SYS-1025W была модернизирована описанным способом. 
    </content:encoded>

    <pubDate>Mon, 21 Dec 2009 12:12:00 +0300</pubDate>
    <guid isPermaLink="false">http://blog.unixstyle.ru/index.php?/archives/52-guid.html</guid>
    
</item>
<item>
    <title>HP ProLiant Series / Установка компонентов ProLiant Support Pack</title>
    <link>http://blog.unixstyle.ru/index.php?/archives/1-HP-ProLiant-Series-ProLiant-Support-Pack.html</link>
            <category>UNIX®</category>
    
    <comments>http://blog.unixstyle.ru/index.php?/archives/1-HP-ProLiant-Series-ProLiant-Support-Pack.html#comments</comments>
    <wfw:comment>http://blog.unixstyle.ru/wfwcomment.php?cid=1</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.unixstyle.ru/rss.php?version=2.0&amp;type=comments&amp;cid=1</wfw:commentRss>
    

    <author>nospam@example.com (Artyom Nosov / Артем Носов )</author>
    <content:encoded>
    Заметка первоначально была начата 08 июля 2007 года, но, к сожалению, так и не получила завершения. Позволю себе опубликовать ее в незаконченном виде, возможно, кто-то подчерпнет для себя полезную информацию. &lt;br /&gt;&lt;br /&gt;
Исходные данные:&lt;ul&gt;
&lt;li&gt;HP ProLiant DL360 G5 (дисковый контролер HP SmartArray P400i)&lt;/li&gt;
&lt;li&gt;HP ProLiant DL320 G5 (дисковый контролер HP SmartArray E200)&lt;/li&gt;
&lt;li&gt;HP ProLiant DL320s (дисковый контролер HP SmartArray P400)&lt;/li&gt;
&lt;li&gt;HP ProLiant DL380 G4 (дисковый контролер HP Smart Array 6i)&lt;/li&gt;
&lt;li&gt;Red Hat Enterprise Linux AS 4 (Update 4)&lt;/li&gt;
&lt;/ul&gt;
Задача: реализация возможности просмотра/изменения в online параметров и статуса аппаратного дискового массива/контроллера&lt;br /&gt;

Для настройки массивов компания HP предлагает 4-е прикладных набора:&lt;ul&gt;
&lt;li&gt;&lt;b&gt;ORCA&lt;/b&gt; - A simple ROM-based configuration utility&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ACU&lt;/b&gt; - Array Configuration Utility&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ACU CLI&lt;/b&gt; - Array Configuration Utility Command Line Interface&lt;/li&gt;
&lt;li&gt;&lt;b&gt;CPQONLIN&lt;/b&gt; - A menu-based configuration utility specifically for servers using Novell NetWare&lt;/li&gt;
&lt;/ul&gt;
Детальная сравнительная таблица возможностей доступна в &lt;a href=&quot;http://h18004.www1.hp.com/products/servers/proliantstorage/arraycontrollers/documentation.html&quot;&gt;Руководстве Пользователя&lt;/a&gt; к выбранному дисковому контролеру. Мы же бегло пробежимся по их возможностям, а точнее по ограничениям. &lt;br /&gt;&lt;br /&gt;


Доступ к &lt;b&gt;ORCA&lt;/b&gt; возможен только на начальной стадии загрузки сервера (during POST). Разумеется, в production environments это не оправданный простой сервиса. К тому же сам интерфейс достаточно ограничен в возможностях (ряд возможностей в нём просто отсутствует). Соответственно его ниша сильно ограничена первоначальной настройкой системы. &lt;br /&gt;

&lt;b&gt;CPQONLIN&lt;/b&gt; существует для Novell NetWare. В связи с отсутствием в ближайшем окружении систем с NetWare можно судить лишь по описанию. По возможностям повторяет своих собратьев &lt;b&gt;ACU&lt;/b&gt; и &lt;b&gt;ACU CLI&lt;/b&gt;.&lt;br /&gt;
Основное внимание будет сконцентрировано в эпсилон окрестности &lt;b&gt;ACU&lt;/b&gt; и &lt;b&gt;ACU CLI&lt;/b&gt;. Обе охватывают весь функционал дисковых контроллеров на заданной платформе Red Hat Enterprise Linux.&lt;br /&gt;&lt;br /&gt;

&lt;b&gt;HP ACU CLI&lt;/b&gt; распространяется как отдельно в виде &lt;i&gt;RPM&lt;/i&gt;-пакета, так и в составе ProLiant Support Pack (архив, содержащий в себе актуальные на момент его выхода пакеты различных сетевых, локальных служб и описания к ним). Оба варианта доступны через раздел сайта &lt;a href=&quot;http://welcome.hp.com/country/us/en/support.html&quot;&gt;HP Support &amp;amp; Drivers&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;

Для рассмотрения был взял актуальный на момент написания &lt;i&gt;RPM&lt;/i&gt;-пакет &lt;a href=&quot;http://h18000.www1.hp.com/support/files/server/us/download/27053.html&quot;&gt;hpacucli-7.80-6.linux.rpm&lt;/a&gt;. Для его работы потребовался дополнительный пакет &lt;font color=&quot;blue&quot;&gt;compat-libstdc++-296&lt;/font&gt;, входящий в репозиторий дистрибутива. Его установка была произведена командой:
&lt;pre&gt;yum -y install compat-libstdc++-296 &amp;amp;&amp;amp; rpm -Uvh /path/to/hpacucli-7.80-6.linux.rpm&lt;/pre&gt;

Первой командой, которую мы настоятельно рекомендуем выполнить &lt;i&gt;hpacucli help&lt;/i&gt; и &lt;i&gt;hpacucli shorthand&lt;/i&gt;. Последняя отобразит список принятых сокращений. А обе они поведают о всех своим возможностях. Легко заметить простоту синтаксиса:
&lt;pre&gt; &amp;lt;target&amp;gt; &amp;lt;command&amp;gt; [parameter=value]&lt;/pre&gt;

Рассмотрим наиболее повседневные операции с ориентиром на последующее использование в командных скриптах. Первоначально потребуется определить расположение контроллера(ов), чтобы в последующих командах обращаться к вполне определенному устройству. Выполним команду:
&lt;pre&gt;[root@savecore ~]# &lt;span style=&quot;color: blue&quot;&gt;hpacucli ctrl all show status&lt;/span&gt;

&lt;span style=&quot;color: gray;&quot;&gt;Smart Array 6i&lt;/span&gt; in &lt;span style=&quot;color: grey&quot;&gt;Slot 0&lt;/span&gt;
   Controller Status: OK
   Cache Status: OK
   Battery Status: OK

[root@savecore ~]# &lt;/pre&gt;

Контроллер &lt;i&gt;HP Smart Array 6i&lt;/i&gt; расположен в слоте с номером 0. Запрос информации непосредственно о данном контроллере производится явным заданием параметра &lt;i&gt;slot=0&lt;/i&gt;:
&lt;pre&gt;
[root@savecore ~]# &lt;span style=&quot;color: blue;&quot;&gt;hpacucli ctrl slot=0 show detail&lt;/span&gt;

Smart Array 6i in Slot 0
   Bus Interface: PCI
   Slot: 0
   Cache Serial Number: P75B20C9SS017I
   RAID 6 (ADG) Status: Disabled
   Controller Status: OK
   Chassis Slot: 
   Hardware Revision: Rev B
   Firmware Version: 2.36
   Rebuild Priority: Low
   Expand Priority: Low
   Surface Scan Delay: 15 sec
   Cache Board Present: True
   Cache Status: OK
   Accelerator Ratio: 50% Read / 50% Write
   Total Cache Size: 192 MB
   Battery Pack Count: 1
   Battery Status: OK
   SATA NCQ Supported: False

[root@savecore ~]# 
&lt;/pre&gt;
Поддерживаемые схемы адресации:
&lt;pre&gt;      [controller all|slot=#|wwn=#|chassisname=&quot;AAA&quot;|serialnumber=#|chassisserialnumber=#|ctrlpath=#:# &lt;/pre&gt; 
    </content:encoded>

    <pubDate>Sun, 20 Dec 2009 20:12:00 +0300</pubDate>
    <guid isPermaLink="false">http://blog.unixstyle.ru/index.php?/archives/1-guid.html</guid>
    
</item>

</channel>
</rss>