<?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>IT блог - полезные заметки.</title>
	<atom:link href="http://itblog.su/feed" rel="self" type="application/rss+xml" />
	<link>http://itblog.su</link>
	<description>IT blog - авторский блог о Linux, windows, php, mysql.</description>
	<lastBuildDate>Mon, 01 Mar 2010 18:55:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>php memcache and memcached on CentOS 5 and up</title>
		<link>http://itblog.su/php-memcache-and-memcached-on-centos-5-and-up.html</link>
		<comments>http://itblog.su/php-memcache-and-memcached-on-centos-5-and-up.html#comments</comments>
		<pubDate>Mon, 01 Mar 2010 18:54:19 +0000</pubDate>
		<dc:creator>Артур Шакиров</dc:creator>
		
		<guid isPermaLink="false">http://itblog.su/?p=362</guid>
		<description><![CDATA[The first thing we should do is install rpmforge repo if still not, you can use this HOWTO.
the next step is installing memcached and libmemcache
yum install libmemcache memcached -y
starting memcached:
memcached -d -m 256 -l 127.0.0.1 -p 11211 -u nobody
you can add a line above to /etc/rc.local to start memcached daemon at system startup
now we will [...]]]></description>
			<content:encoded><![CDATA[<p>The first thing we should do is install rpmforge repo if still not, you can use this <a href="http://itblog.su/repozitarii-kotorye-ya-ispolzuyu-v-centos.html">HOWTO</a>.</p>
<p>the next step is installing memcached and libmemcache</p>
<div class="codecolorer-container bash" style="height:35px;"><div class="codecolorer" style="font-family: monospace;">yum install libmemcache memcached -y</div></div>
<p>starting memcached:</p>
<div class="codecolorer-container bash" style="height:35px;"><div class="codecolorer" style="font-family: monospace;">memcached -d -m <span class="nu0">256</span> -l <span class="nu0">127.0</span><span class="nu0">.0</span><span class="nu0">.1</span> -p <span class="nu0">11211</span> -u nobody</div></div>
<p>you can add a line above to /etc/rc.local to start memcached daemon at system startup</p>
<p>now we will install memcache php extension</p>
<div class="codecolorer-container bash"><div class="codecolorer" style="font-family: monospace;">wget http://pecl.php.net/get/memcache<span class="nu0">-2.1</span><span class="nu0">.2</span>.tgz<br />
tar -xvf memcache<span class="nu0">-2.1</span><span class="nu0">.2</span>.tgz &amp;&amp; <span class="kw3">cd</span> memcache<span class="nu0">-2.1</span><span class="nu0">.2</span><br />
phpize &amp;&amp; ./configure --enable-memcache &amp;&amp; make &amp;&amp; make install<br />
<span class="kw3">echo</span> <span class="st0">&quot;extension=memcache.so&quot;</span> &gt;&gt; `php -i | grep <span class="st0">&quot;Loaded Configuration File&quot;</span> | awk <span class="st0">'{print $5}'</span>`</div></div>
<p>and restart apache: /etc/init.d/httpd restart</p>
<p>and now the task is done. enjoy it!</p>
<p>PS: sorry for terrible english.</p>
]]></content:encoded>
			<wfw:commentRss>http://itblog.su/php-memcache-and-memcached-on-centos-5-and-up.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>отобразить конфиг без комментариев</title>
		<link>http://itblog.su/otobrazit-konfig-bez-kommentariev.html</link>
		<comments>http://itblog.su/otobrazit-konfig-bez-kommentariev.html#comments</comments>
		<pubDate>Mon, 21 Dec 2009 19:47:24 +0000</pubDate>
		<dc:creator>Артур Шакиров</dc:creator>
		
		<guid isPermaLink="false">http://itblog.su/?p=360</guid>
		<description><![CDATA[Иногда нужно посмотреть конфиг не перегружая внимание чтением комментариев, я это делаю так:
grep -v -E &#34;^;&#124;^$&#34; /usr/local/lib/php.ini
или так:
grep -v -E &#34;#&#124;^$&#34; /usr/local/apache2/conf/httpd.conf
Хочу уточнить относительно отличий ^# и #. Первое это все строки начинающиеся с #, второе все строки содержащие #.
]]></description>
			<content:encoded><![CDATA[<p>Иногда нужно посмотреть конфиг не перегружая внимание чтением комментариев, я это делаю так:</p>
<div class="codecolorer-container bash" style="height:35px;"><div class="codecolorer" style="font-family: monospace;">grep -v -E <span class="st0">&quot;^;|^$&quot;</span> /usr/<span class="kw3">local</span>/lib/php.ini</div></div>
<p>или так:</p>
<div class="codecolorer-container bash" style="height:35px;"><div class="codecolorer" style="font-family: monospace;">grep -v -E <span class="st0">&quot;#|^$&quot;</span> /usr/<span class="kw3">local</span>/apache2/conf/httpd.conf</div></div>
<p>Хочу уточнить относительно отличий ^# и #. Первое это все строки начинающиеся с #, второе все строки содержащие #.</p>
]]></content:encoded>
			<wfw:commentRss>http://itblog.su/otobrazit-konfig-bez-kommentariev.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>перенаправление stdout и stderr</title>
		<link>http://itblog.su/perenapravlenie-stdout-i-stderr.html</link>
		<comments>http://itblog.su/perenapravlenie-stdout-i-stderr.html#comments</comments>
		<pubDate>Mon, 21 Dec 2009 19:18:22 +0000</pubDate>
		<dc:creator>Артур Шакиров</dc:creator>
		
		<guid isPermaLink="false">http://itblog.su/?p=351</guid>
		<description><![CDATA[Коротко и ясно расскажу о пере направлении  stdout и stderr. stdout это нормальный вывод, stderr это ошибки.

[root@shakirov ~]# ls /opt/ /blah
ls: /blah: Нет такого файла или каталога
/opt/:
firebird  iso  lost+found

красным выделен stderr, а синим stdout. По умолчанию в output отправляется и stdout и stderr.

перенаправления stdout в /tmp/stdout используйте конструкцию:

[root@shakirov ~]# ls /opt/ /blah [...]]]></description>
			<content:encoded><![CDATA[<p>Коротко и ясно расскажу о пере направлении  stdout и stderr. stdout это нормальный вывод, stderr это ошибки.</p>
<pre>
[root@shakirov ~]# ls /opt/ /blah
<span style="color: #ff0000;">ls: /blah: Нет такого файла или каталога</span>
<span style="color: #0000ff;">/opt/:
firebird  iso  lost+found</span>
</pre>
<p>красным выделен stderr, а синим stdout. По умолчанию в output отправляется и stdout и stderr.</p>
<hr />
перенаправления stdout в /tmp/stdout используйте конструкцию:</p>
<pre>
[root@shakirov ~]# ls /opt/ /blah > /tmp/stdout
<span style="color: #ff0000;">ls: /blah: Нет такого файла или каталога</span>
</pre>
<hr />
для перенаправления stderr в /tmp/stderr используйте конструкцию:</p>
<pre>
[root@shakirov ~]# ls /opt/ /blah > /tmp/stdout
<span style="color: #0000ff;">/opt/:
firebird  iso  lost+found</span>
</pre>
<hr />
Для перенаправления sterr и stdout в файл /tmp/all используйте конструкцию:</p>
<pre>
[root@shakirov ~]# ls /opt/ /blah > /tmp/all 2>&#038;1
</pre>
<hr />
Есть вариант когда stderr и stdout отправляются в output и в файл. Это удобно для отладки интерактивных скриптов. Делается это через tee.</p>
<pre>
[root@shakirov ~]# ls /opt/ /blah 2>&#038;1 | tee /tmp/all
<span style="color: #ff0000;">ls: /blah: Нет такого файла или каталога</span>
<span style="color: #0000ff;">/opt/:
firebird  iso  lost+found</span>
</pre>
<hr />
ну и пара практических вариантов, отправка stdout и stderr на электронную почту:</p>
<div class="codecolorer-container bash" style="height:35px;"><div class="codecolorer" style="font-family: monospace;"><span class="br0">&#91;</span>root@shakirov ~<span class="br0">&#93;</span><span class="re3"># ls /opt/ /blah <span class="nu0">2</span>&gt;&amp;<span class="nu0">1</span> | mail root@localhost</span></div></div>
<p>скрытие сообщений об ошибках:</p>
<div class="codecolorer-container bash" style="height:35px;"><div class="codecolorer" style="font-family: monospace;"><span class="br0">&#91;</span>root@shakirov ~<span class="br0">&#93;</span><span class="re3"># ls /opt/ /blah <span class="nu0">2</span>&gt; /dev/null</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://itblog.su/perenapravlenie-stdout-i-stderr.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>кодировка bitrix модуль Сотрудники</title>
		<link>http://itblog.su/kodirovka-bitrix-modul-sotrudniki.html</link>
		<comments>http://itblog.su/kodirovka-bitrix-modul-sotrudniki.html#comments</comments>
		<pubDate>Mon, 21 Dec 2009 18:28:05 +0000</pubDate>
		<dc:creator>Артур Шакиров</dc:creator>
		
		<guid isPermaLink="false">http://itblog.su/?p=349</guid>
		<description><![CDATA[После переноса битрикса на новый сервер с php 5.2.12 в модуле &#171;Сотрудники&#187; и в &#171;структура компании&#187; всё перекосило. в первом случае это крякозябры вместо алфавитного указателя, во втром вообще весь html перекосило.
как выяснилось причиной является то что в php старше 5.2.8 директиву mbstring.func_overload нельзя задать из .htaccess простым php_value mbstring.func_overload 2
соответственно решением является задать её [...]]]></description>
			<content:encoded><![CDATA[<p>После переноса битрикса на новый сервер с php 5.2.12 в модуле &laquo;Сотрудники&raquo; и в &laquo;структура компании&raquo; всё перекосило. в первом случае это крякозябры вместо алфавитного указателя, во втром вообще весь html перекосило.</p>
<p>как выяснилось причиной является то что в php старше 5.2.8 директиву mbstring.func_overload нельзя задать из .htaccess простым php_value mbstring.func_overload 2</p>
<p>соответственно решением является задать её глобально для сервера в php.ini или в конфиге vhost-а через php_admin_value.</p>
]]></content:encoded>
			<wfw:commentRss>http://itblog.su/kodirovka-bitrix-modul-sotrudniki.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tekram DC-395UW under CentOS</title>
		<link>http://itblog.su/tekram-dc-395uw-under-centos.html</link>
		<comments>http://itblog.su/tekram-dc-395uw-under-centos.html#comments</comments>
		<pubDate>Tue, 15 Dec 2009 18:14:34 +0000</pubDate>
		<dc:creator>Артур Шакиров</dc:creator>
		
		<guid isPermaLink="false">http://itblog.su/?p=346</guid>
		<description><![CDATA[Из штатов приехала коробка с SCSI дисками для HP-шных серверов, соответственно возникла необходимость прочекать их все перед тем как везти в датацентр. В закромах нашелся древний контроллер Tekram DC-395UW, SCSI кабель 68-ми пиновый и заранее купленный переходник на LVD 80 pin. В биосе контроллера диски прекрасно видятся, но при попытке установить CentOS на диски воткнутые [...]]]></description>
			<content:encoded><![CDATA[<p>Из штатов приехала коробка с SCSI дисками для HP-шных серверов, соответственно возникла необходимость прочекать их все перед тем как везти в датацентр. В закромах нашелся древний контроллер Tekram DC-395UW, SCSI кабель 68-ми пиновый и заранее купленный переходник на LVD 80 pin. В биосе контроллера диски прекрасно видятся, но при попытке установить CentOS на диски воткнутые в контроллер, anaconda в упор не видит дисков.</p>
<p>CD/DVD привода под рукой не оказалось, а вынимать из другой машины было лень, т.ч. установку выполнял по сети, загрузив машину по pxe+tftp. На машине с поднятым апачем делаем:</p>
<div class="codecolorer-container bash"><div class="codecolorer" style="font-family: monospace;">rpm2cpio&nbsp; kernel<span class="nu0">-2.6</span><span class="nu0">.18</span><span class="nu0">-128</span>.el5.i686.rpm| cpio -idmuv --no-absolute-filenames<br />
find . | grep <span class="nu0">395</span><br />
cp ./lib/modules/<span class="nu0">2.6</span><span class="nu0">.18</span><span class="nu0">-128</span>.el5/kernel/drivers/scsi/dc395x.ko /var/lib/www/</div></div>
<p>теперь начинаем установку системы на машине с контроллером. Если установка в text режиме, то на этапе когда диски не от дедектились (пустой список дисков) жмем Alt+F2 и переходим в консольку:</p>
<div class="codecolorer-container bash"><div class="codecolorer" style="font-family: monospace;">wget http://<span class="nu0">192.168</span><span class="nu0">.12</span><span class="nu0">.200</span>/dc395x.ko<br />
modprobe dc395x.ko<br />
mknod /dev/sda</div></div>
<p>теперь Alt+f1 обратно к anaconda и жмем &laquo;добавить диск&raquo; или что-то в этом духе, будет предложено добавить iSCSI таргет, набиваем какой-нибудь левый ip и добавляем. iSCSI конечно не добавится, но анаконда перечитает список дисков и отобразит наш scsi диск. далее продолжаем установку в удобном нам виде.</p>
<p>Кстати первую часть можно выполнять на той же машине куда ставится система.</p>
<p>PS: контроллер гавно, но проверить диски он дал возможность.</p>
]]></content:encoded>
			<wfw:commentRss>http://itblog.su/tekram-dc-395uw-under-centos.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenVZ: резервное копирование и клонирование контейнеров</title>
		<link>http://itblog.su/openvz-rezervnoe-kopirovanie-i-klonirovanie-kontejjnerov.html</link>
		<comments>http://itblog.su/openvz-rezervnoe-kopirovanie-i-klonirovanie-kontejjnerov.html#comments</comments>
		<pubDate>Tue, 20 Oct 2009 02:18:11 +0000</pubDate>
		<dc:creator>Артур Шакиров</dc:creator>
		
		<guid isPermaLink="false">http://itblog.su/?p=332</guid>
		<description><![CDATA[В последние несколько месяцев активно работаю с OpenVZ. Соответственно вопрос который возникает после того как система развернута, это резервное копирование.
Расскажу как реализовать его проще всего, на примере CentOS 5.3
&#91;root@root ~&#93;# yum install cstream perl-LockFile-Simple
&#91;root@root ~&#93;# rpm -Uvh http://www.proxmox.com/cms_proxmox/cms/upload/vzdump/vzdump-1.1-2.noarch.rpm
&#91;root@root ~&#93;# rpm -Uvh http://www.proxmox.com/cms_proxmox/cms/upload/vzdump/vzdump-1.2-4.noarch.rpm
&#91;root@root ~&#93;# vzdump --help
Unknown option: help
usage: /usr/sbin/vzdump OPTIONS &#91;--all &#124; VPSID&#93;

&#160; &#160; &#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>В последние несколько месяцев активно работаю с OpenVZ. Соответственно вопрос который возникает после того как система развернута, это резервное копирование.</p>
<p>Расскажу как реализовать его проще всего, на примере CentOS 5.3</p>
<div class="codecolorer-container bash" style="height:280px;"><div class="codecolorer" style="font-family: monospace;"><span class="br0">&#91;</span>root@root ~<span class="br0">&#93;</span><span class="re3"># yum install cstream perl-LockFile-Simple</span><br />
<span class="br0">&#91;</span>root@root ~<span class="br0">&#93;</span><span class="re3"># rpm -Uvh http://www.proxmox.com/cms_proxmox/cms/upload/vzdump/vzdump<span class="nu0">-1.1</span><span class="nu0">-2</span>.noarch.rpm</span><br />
<span class="br0">&#91;</span>root@root ~<span class="br0">&#93;</span><span class="re3"># rpm -Uvh http://www.proxmox.com/cms_proxmox/cms/upload/vzdump/vzdump<span class="nu0">-1.2</span><span class="nu0">-4</span>.noarch.rpm</span><br />
<span class="br0">&#91;</span>root@root ~<span class="br0">&#93;</span><span class="re3"># vzdump --help</span><br />
Unknown option: <span class="kw3">help</span><br />
usage: /usr/sbin/vzdump OPTIONS <span class="br0">&#91;</span>--all | VPSID<span class="br0">&#93;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; --exclude VPSID&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;exclude VPSID <span class="br0">&#40;</span>assumes --all<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; --exclude-path REGEX&nbsp; &nbsp; exclude certain files/directories<br />
&nbsp; &nbsp; &nbsp; &nbsp; --stdexcludes&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;exclude temorary files and logs<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; --compress&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; compress dump file <span class="br0">&#40;</span>gzip<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; --dumpdir DIR&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;store resulting files <span class="kw1">in</span> DIR<br />
&nbsp; &nbsp; &nbsp; &nbsp; --tmpdir DIR&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; store temporary files <span class="kw1">in</span> DIR<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; --mailto EMAIL&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; send notification mail to EMAIL.<br />
&nbsp; &nbsp; &nbsp; &nbsp; --quiet&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;be quiet.<br />
&nbsp; &nbsp; &nbsp; &nbsp; --stop&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; stop/start VPS <span class="kw1">if</span> running<br />
&nbsp; &nbsp; &nbsp; &nbsp; --<span class="kw3">suspend</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw3">suspend</span>/resume VPS when running<br />
&nbsp; &nbsp; &nbsp; &nbsp; --snapshot&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; use LVM snapshot when running<br />
&nbsp; &nbsp; &nbsp; &nbsp; --size MB&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;LVM snapshot size<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; --node CID&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; only run on pve cluster node CID<br />
&nbsp; &nbsp; &nbsp; &nbsp; --lockwait MINUTES&nbsp; &nbsp; &nbsp; maximal <span class="kw1">time</span> to <span class="kw3">wait</span> <span class="kw1">for</span> the global lock<br />
&nbsp; &nbsp; &nbsp; &nbsp; --stopwait MINUTES&nbsp; &nbsp; &nbsp; maximal <span class="kw1">time</span> to <span class="kw3">wait</span> <span class="kw1">until</span> a VM is stopped<br />
&nbsp; &nbsp; &nbsp; &nbsp; --bwlimit KBPS&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; limit I/O bandwidth; KBytes per second<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; --restore FILENAME&nbsp; &nbsp; &nbsp; restore FILENAME</div></div>
<p>Согласно хелпу был написан простой скриптик для резервного копирования.</p>
<div class="codecolorer-container bash"><div class="codecolorer" style="font-family: monospace;"><span class="br0">&#91;</span>root@root ~<span class="br0">&#93;</span><span class="re3"># cat /bin/backup.sh</span><br />
<span class="re3">#!/bin/bash</span><br />
<br />
<br />
mkdir&nbsp; /vz/dump/`date <span class="st0">&quot;+%Y%m%d&quot;</span>`<br />
<br />
/usr/sbin/vzdump --<span class="kw3">suspend</span> --compress --exclude-path /tmp/ --all --mailto your@mail.com --dumpdir /vz/dump/`date <span class="st0">&quot;+%Y%m%d&quot;</span>`/</div></div>
<p>данный скрипт будет создавать в папке /vz/dump/ папку с текущей датой и в нее складывать дампы, пожатые в tgz, контейнеров. И слать уведомление на your@mail.com<br />
скриптик этот нужно закинуть в крон, сам его допилить слегка для того чтобы убивались старые бакапы (man find).</p>
<p>для восстановления следует использовать vzdump с ключиком &#8211;restore<br />
отсюда вытекает возможность клонировать контейнер.</p>
<div class="codecolorer-container bash"><div class="codecolorer" style="font-family: monospace;">vzdump --compress --<span class="kw3">suspend</span> <span class="nu0">110</span><br />
vzdump --restore /vz/dump/vzdump<span class="nu0">-110</span>.tgz <span class="nu0">120</span><br />
vzctl <span class="kw3">set</span> <span class="nu0">120</span> --hostname newhostname.com --save<br />
vzctl <span class="kw3">set</span> <span class="nu0">120</span> --ipdel <span class="nu0">192.168</span><span class="nu0">.0</span><span class="nu0">.110</span> --save<br />
vzctl <span class="kw3">set</span> <span class="nu0">120</span> --ipadd <span class="nu0">192.168</span><span class="nu0">.0</span><span class="nu0">.120</span> --save<br />
vzctl start <span class="nu0">120</span></div></div>
<p>в версии 1.2 восстановление делается так:<br />
vzrestore /vz/vzdump-110.tgz 130</p>
<p>таким образом мы сделали копию контейнера 110 с VID 120, сменили ему ip и хостнейм. По тому же принципу накладываются новые ограничения.</p>
<p>возможные проблемы:</p>
<div class="codecolorer-container bash"><div class="codecolorer" style="font-family: monospace;"><span class="br0">&#91;</span>root@server ~<span class="br0">&#93;</span><span class="re3"># vzdump --compress --<span class="kw3">suspend</span> --dumpdir /backup/ --tmpdir /backup/tmp/ <span class="nu0">120</span></span><br />
.................<br />
Nov <span class="nu0">19</span> <span class="nu0">20</span>:<span class="nu0">10</span>:<span class="nu0">51</span> INFO: Error: No checkpointing support, unable to open /proc/cpt: No such file or directory<br />
Nov <span class="nu0">19</span> <span class="nu0">20</span>:<span class="nu0">14</span>:<span class="nu0">34</span> ERROR: Backup of VM <span class="nu0">120</span> failed - <span class="kw3">command</span> <span class="st0">'/usr/sbin/vzctl chkpnt 120 --suspend'</span> failed with <span class="kw3">exit</span> code <span class="nu0">16</span></div></div>
<p>это лечится с помощью:</p>
<div class="codecolorer-container bash" style="height:35px;"><div class="codecolorer" style="font-family: monospace;">modprobe vzcpt</div></div>
<p>еще одна:</p>
<div class="codecolorer-container bash"><div class="codecolorer" style="font-family: monospace;"><span class="br0">&#91;</span>root@vm1 ~<span class="br0">&#93;</span><span class="re3"># vzdump --help</span><br />
Can<span class="st0">'t locate PVE/VZDump.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /usr/sbin/vzdump line 27.<br />
BEGIN failed--compilation aborted at /usr/sbin/vzdump line 27.</span></div></div>
<p>лечится так:</p>
<div class="codecolorer-container bash" style="height:35px;"><div class="codecolorer" style="font-family: monospace;"><span class="br0">&#91;</span>root@vm1 ~<span class="br0">&#93;</span><span class="re3"># cp -r /usr/share/perl5/PVE/ /usr/lib/perl5/<span class="nu0">5.8</span><span class="nu0">.8</span>/</span></div></div>
<p>Если возникли вопросы или нужна помощь, буду рад помочь.</p>
]]></content:encoded>
			<wfw:commentRss>http://itblog.su/openvz-rezervnoe-kopirovanie-i-klonirovanie-kontejjnerov.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>qmail smart relaying</title>
		<link>http://itblog.su/qmail-smart-relaying.html</link>
		<comments>http://itblog.su/qmail-smart-relaying.html#comments</comments>
		<pubDate>Tue, 08 Sep 2009 15:26:35 +0000</pubDate>
		<dc:creator>Артур Шакиров</dc:creator>
		
		<guid isPermaLink="false">http://itblog.su/?p=330</guid>
		<description><![CDATA[в одной из статей я описывал как настроить рлеинг исходящей почты через другой сервер. сейчас опишу как это сделать если используется Qmail.
echo &#34;:mxr.domain.com&#34; &#62; /var/qmail/control/smtproutes
где mxr.domain.com это наш релей.
после чего делаем рестарт qmail. например  /etc/init.d/qmaild restart
]]></description>
			<content:encoded><![CDATA[<p>в одной из статей я описывал как настроить рлеинг исходящей почты через другой сервер. сейчас опишу как это сделать если используется Qmail.</p>
<div class="codecolorer-container bash" style="height:35px;"><div class="codecolorer" style="font-family: monospace;"><span class="kw3">echo</span> <span class="st0">&quot;:mxr.domain.com&quot;</span> &gt; /var/qmail/control/smtproutes</div></div>
<p>где mxr.domain.com это наш релей.<br />
после чего делаем рестарт qmail. например  /etc/init.d/qmaild restart</p>
]]></content:encoded>
			<wfw:commentRss>http://itblog.su/qmail-smart-relaying.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vzrst module is not loaded on the destination node</title>
		<link>http://itblog.su/vzrst-module-is-not-loaded-on-the-destination-node.html</link>
		<comments>http://itblog.su/vzrst-module-is-not-loaded-on-the-destination-node.html#comments</comments>
		<pubDate>Wed, 05 Aug 2009 02:07:51 +0000</pubDate>
		<dc:creator>Артур Шакиров</dc:creator>
		
		<guid isPermaLink="false">http://itblog.su/?p=326</guid>
		<description><![CDATA[понадобилось мигрировать OpenVZ контейнер с одной физической машины на другую. Номер контейнера 140 используем vzmigrate
&#91;root@s24 ~&#93;# vzmigrate --online 91.195.xxx.xxx 140
OPT:--online
OPT:91.195.xxx.xxx
Starting online migration of CT 140 to 91.195.xxx.xxx
Error:&#160; vzrst module is not loaded on the destination node
Error:&#160; Can't continue online migration
идем на destanation машину и смотрим, есть у нас там vzrst или нет
&#91;root@root ~&#93;# lsmod &#124; [...]]]></description>
			<content:encoded><![CDATA[<p>понадобилось мигрировать OpenVZ контейнер с одной физической машины на другую. Номер контейнера 140 используем vzmigrate</p>
<div class="codecolorer-container bash"><div class="codecolorer" style="font-family: monospace;"><span class="br0">&#91;</span>root@s24 ~<span class="br0">&#93;</span><span class="re3"># vzmigrate --online <span class="nu0">91.195</span>.xxx.xxx <span class="nu0">140</span></span><br />
OPT:--online<br />
OPT:<span class="nu0">91.195</span>.xxx.xxx<br />
Starting online migration of CT <span class="nu0">140</span> to <span class="nu0">91.195</span>.xxx.xxx<br />
Error:&nbsp; vzrst module is not loaded on the destination node<br />
Error:&nbsp; Can<span class="st0">'t continue online migration</span></div></div>
<p>идем на destanation машину и смотрим, есть у нас там vzrst или нет</p>
<div class="codecolorer-container bash"><div class="codecolorer" style="font-family: monospace;"><span class="br0">&#91;</span>root@root ~<span class="br0">&#93;</span><span class="re3"># lsmod | grep vz</span><br />
vzethdev&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">16524</span>&nbsp; <span class="nu0">0</span><br />
vzdquota&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">43800</span>&nbsp; <span class="nu0">1</span> <span class="br0">&#91;</span>permanent<span class="br0">&#93;</span><br />
vznetdev&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">21512</span>&nbsp; <span class="nu0">2</span><br />
vzmon&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">49548</span>&nbsp; <span class="nu0">3</span> vzethdev,vznetdev<br />
vzdev&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">7556</span>&nbsp; <span class="nu0">4</span> vzethdev,vzdquota,vznetdev,vzmon<br />
ipv6&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">288668</span>&nbsp; <span class="nu0">32</span> vzmon,ip6t_REJECT</div></div>
<p>нету, ну так мы поставим, не проблема :)</p>
<div class="codecolorer-container bash"><div class="codecolorer" style="font-family: monospace;"><span class="br0">&#91;</span>root@root ~<span class="br0">&#93;</span><span class="re3"># modprobe&nbsp; vzrst</span><br />
<span class="br0">&#91;</span>root@root ~<span class="br0">&#93;</span><span class="re3"># modprobe&nbsp; vzcpt</span><br />
<span class="br0">&#91;</span>root@root ~<span class="br0">&#93;</span><span class="re3"># lsmod | grep vz</span><br />
vzcpt&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">115492</span>&nbsp; <span class="nu0">0</span><br />
vzrst&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">142740</span>&nbsp; <span class="nu0">0</span><br />
ip_nat&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">22032</span>&nbsp; <span class="nu0">1</span> vzrst<br />
ip_conntrack&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">60228</span>&nbsp; <span class="nu0">3</span> vzcpt,vzrst,ip_nat<br />
vzethdev&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">16524</span>&nbsp; <span class="nu0">0</span><br />
vzdquota&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">43800</span>&nbsp; <span class="nu0">1</span> <span class="br0">&#91;</span>permanent<span class="br0">&#93;</span><br />
vznetdev&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">21512</span>&nbsp; <span class="nu0">2</span><br />
vzmon&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">49548</span>&nbsp; <span class="nu0">5</span> vzcpt,vzrst,vzethdev,vznetdev<br />
vzdev&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">7556</span>&nbsp; <span class="nu0">4</span> vzethdev,vzdquota,vznetdev,vzmon<br />
ipv6&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">288668</span>&nbsp; <span class="nu0">36</span> vzcpt,vzrst,vzmon,ip6t_REJECT</div></div>
<p>ну вот собственна и всё, снова запускаем миграцию на соурс:</p>
<div class="codecolorer-container bash"><div class="codecolorer" style="font-family: monospace;"><span class="br0">&#91;</span>root@s24 ~<span class="br0">&#93;</span><span class="re3"># vzmigrate --online <span class="nu0">91.195</span>.xxx.xxx <span class="nu0">140</span></span><br />
OPT:--online<br />
OPT:<span class="nu0">91.195</span>.xxx.xxx<br />
Starting online migration of CT <span class="nu0">140</span> to <span class="nu0">91.195</span>.xxx.xx<br />
Preparing remote node<br />
Initializing remote quota<br />
Syncing private<br />
Live migrating container...<br />
Syncing 2nd level quota<br />
Cleanup</div></div>
<p>теперь идем на таргет сервер и проверяем</p>
<div class="codecolorer-container bash"><div class="codecolorer" style="font-family: monospace;"><span class="br0">&#91;</span>root@root ~<span class="br0">&#93;</span><span class="re3"># vzlist -a</span><br />
&nbsp; &nbsp; &nbsp; CTID&nbsp; &nbsp; &nbsp; NPROC STATUS&nbsp; IP_ADDR&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;HOSTNAME<br />
&nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">140</span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">104</span> running <span class="nu0">91.195</span>.xxx.xxx&nbsp; hostname.ru</div></div>
<p>всё, наш контейнер без даунтаймов мигрировал на другой сервер.</p>
]]></content:encoded>
			<wfw:commentRss>http://itblog.su/vzrst-module-is-not-loaded-on-the-destination-node.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>flashing cisco 7912 to SIP</title>
		<link>http://itblog.su/flashing-cisco-7912-to-sip.html</link>
		<comments>http://itblog.su/flashing-cisco-7912-to-sip.html#comments</comments>
		<pubDate>Tue, 28 Jul 2009 20:26:05 +0000</pubDate>
		<dc:creator>Артур Шакиров</dc:creator>
		
		<guid isPermaLink="false">http://itblog.su/?p=320</guid>
		<description><![CDATA[В офисе после скачка напряжения, один из айпифонов Cisco 7912 сдох. Внешне это выгладело так: дисплей не горит, но горит кнопка speaker.
Судя по tcpdump телефон таки шлет запросы к dhcp, этим и воспользуемся.
в /etc/dhcpd.conf добавим пару строчек (полностью конфиг приведу ниже):
option option-150 code 150 = ip-address;
option option-150 192.168.11.200;
где 192.168.12.200 айпишник tftp сервера. Самое интересное в [...]]]></description>
			<content:encoded><![CDATA[<p>В офисе после скачка напряжения, один из айпифонов Cisco 7912 сдох. Внешне это выгладело так: дисплей не горит, но горит кнопка speaker.</p>
<p>Судя по tcpdump телефон таки шлет запросы к dhcp, этим и воспользуемся.</p>
<p>в /etc/dhcpd.conf добавим пару строчек (полностью конфиг приведу ниже):</p>
<div class="codecolorer-container bash"><div class="codecolorer" style="font-family: monospace;">option option<span class="nu0">-150</span> code <span class="nu0">150</span> = ip-address;<br />
option option<span class="nu0">-150</span> <span class="nu0">192.168</span><span class="nu0">.11</span><span class="nu0">.200</span>;</div></div>
<p>где 192.168.12.200 айпишник tftp сервера. Самое интересное в том что без этих строчек айпифоны прошились на SIP прошивку с SCCP без проблем. Ну да ладно..</p>
<p>на 192.168.12.200 в папку /tftpboot  кладем сами файлы прошивки<br />
CP7912080001SIP060412A.sbin и cp7912r.zup<br />
по сути это один и тот же файл просто их два с разными именами. файлы можно найти на thepiratbay или могу выслать кому надо.</p>
<p>http://itblog.su/downloads/CP7912080001SIP060412A.sbin</p>
<p>http://itblog.su/downloads/cp7912r.zup</p>
<p>Теперь телефон в ребут по питанию и при старте он должен ожить. Опять таки самое смешное в том что после перепрошивки настройки не похерились.</p>
<p>PS: а еще есть психи которые выпаивают флешку и на программаторе заливают прошивку. т.ч. если не помогает описнный способ, можно попытаться найти одного из них :)</p>
<p>этим же методом перешивается Cisco 7912 с прошивки SCCP на SIP<br />
<span id="more-320"></span></p>
<div class="codecolorer-container bash" style="height:280px;"><div class="codecolorer" style="font-family: monospace;">not authoritative;<br />
<br />
log-facility local7;<br />
<br />
&nbsp;option domain-name&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="st0">&quot;office.local&quot;</span>;<br />
&nbsp;option domain-name-servers&nbsp; &nbsp; &nbsp;<span class="nu0">192.168</span><span class="nu0">.11</span><span class="nu0">.100</span>, <span class="nu0">192.168</span><span class="nu0">.11</span><span class="nu0">.200</span>;<br />
&nbsp;option subnet-mask&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">255.255</span><span class="nu0">.255</span><span class="nu0">.0</span>;<br />
&nbsp;option ntp-servers&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="nu0">192.168</span><span class="nu0">.11</span><span class="nu0">.200</span>;<br />
<br />
option option<span class="nu0">-150</span> code <span class="nu0">150</span> = ip-address;<br />
option option<span class="nu0">-150</span> <span class="nu0">192.168</span><span class="nu0">.11</span><span class="nu0">.200</span>;<br />
<br />
subnet <span class="nu0">192.168</span><span class="nu0">.11</span><span class="nu0">.0</span> netmask <span class="nu0">255.255</span><span class="nu0">.255</span><span class="nu0">.0</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp;authoritative;<br />
&nbsp; &nbsp; &nbsp;range <span class="nu0">192.168</span><span class="nu0">.11</span><span class="nu0">.250</span> <span class="nu0">192.168</span><span class="nu0">.11</span><span class="nu0">.254</span>;<br />
&nbsp; &nbsp; &nbsp;range dynamic-bootp <span class="nu0">192.168</span><span class="nu0">.11</span><span class="nu0">.210</span> <span class="nu0">192.168</span><span class="nu0">.11</span><span class="nu0">.249</span>;<br />
&nbsp; &nbsp; &nbsp;option routers <span class="nu0">192.168</span><span class="nu0">.11</span><span class="nu0">.100</span>;<br />
&nbsp; &nbsp; &nbsp;allow unknown-clients;<br />
&nbsp; &nbsp; &nbsp;allow booting;<br />
&nbsp; &nbsp; &nbsp;allow bootp;<br />
&nbsp; &nbsp; &nbsp;next-server <span class="nu0">192.168</span><span class="nu0">.11</span><span class="nu0">.200</span>;<br />
&nbsp; &nbsp; &nbsp;filename <span class="st0">&quot;pxelinux.0&quot;</span>;<br />
<span class="br0">&#125;</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://itblog.su/flashing-cisco-7912-to-sip.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>перенаправление почты пользователя root</title>
		<link>http://itblog.su/perenapravlenie-pochty-polzovatelya-root.html</link>
		<comments>http://itblog.su/perenapravlenie-pochty-polzovatelya-root.html#comments</comments>
		<pubDate>Tue, 28 Jul 2009 01:01:51 +0000</pubDate>
		<dc:creator>Артур Шакиров</dc:creator>
		
		<guid isPermaLink="false">http://itblog.su/?p=315</guid>
		<description><![CDATA[В linux системные отчеты от того же LogWatch складываются пользователю root в /var/spool/mail/root
но можно перенаправить их на ваш привычный ящик электронной почты, для этого в файле /etc/aliases отыщите строчку:
# Person who should get root's mail
#root:&#160; &#160; &#160; &#160; &#160; marc
и замените на (вместо user@server.tld укажите свой имэйл):
# Person who should get root's mail
root:&#160; &#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>В linux системные отчеты от того же LogWatch складываются пользователю root в /var/spool/mail/root</p>
<p>но можно перенаправить их на ваш привычный ящик электронной почты, для этого в файле /etc/aliases отыщите строчку:</p>
<div class="codecolorer-container bash"><div class="codecolorer" style="font-family: monospace;"><span class="re3"># Person who should get root</span><span class="st0">'s mail<br />
#root:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; marc</span></div></div>
<p>и замените на (вместо user@server.tld укажите свой имэйл):</p>
<div class="codecolorer-container bash"><div class="codecolorer" style="font-family: monospace;"><span class="re3"># Person who should get root</span><span class="st0">'s mail<br />
root:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;user@server.tld</span></div></div>
<p>затем перекомпилируем базу алиасов:</p>
<div class="codecolorer-container bash" style="height:35px;"><div class="codecolorer" style="font-family: monospace;"><span class="kw3">cd</span> /etc; newaliases</div></div>
<p>должно появиться сообщение вроде этого: /etc/aliases: 77 aliases, longest 28 bytes, 797 bytes total</p>
]]></content:encoded>
			<wfw:commentRss>http://itblog.su/perenapravlenie-pochty-polzovatelya-root.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
<br />
<b>Warning</b>:  Unknown: write failed: No space left on device (28) in <b>Unknown</b> on line <b>0</b><br />
<br />
<b>Warning</b>:  Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct () in <b>Unknown</b> on line <b>0</b><br />
