<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://wiki2.linuxformat.ru/skins/common/feed.css?97"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>LXF100-101:Hardcore Linux - История изменений</title>
		<link>http://wiki2.linuxformat.ru/index.php?title=LXF100-101:Hardcore_Linux&amp;action=history</link>
		<description>История изменений этой страницы в вики</description>
		<language>ru</language>
		<generator>MediaWiki 1.11.1</generator>
		<lastBuildDate>Wed, 13 May 2026 20:56:44 GMT</lastBuildDate>
		<item>
			<title>Kipruss: оформление</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF100-101:Hardcore_Linux&amp;diff=7206&amp;oldid=prev</link>
			<description>&lt;p&gt;оформление&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 20:12, 7 марта 2009&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 24:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 24:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Чтобы проверить соединение через последовательные порты, выполните на основном сервере команду:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Чтобы проверить соединение через последовательные порты, выполните на основном сервере команду:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source lang=&amp;quot;bash&amp;quot;&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; cat /dev/ttyS0&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; cat /dev/ttyS0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;а на запасном – команду:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;а на запасном – команду:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source lang=&amp;quot;bash&amp;quot;&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; cat /etc/fstab &amp;gt; /dev/ttyS0&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; cat /etc/fstab &amp;gt; /dev/ttyS0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;На основном сервере должно отображаться содержимое файла. Повторите эксперимент в обратном направлении.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;На основном сервере должно отображаться содержимое файла. Повторите эксперимент в обратном направлении.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 93:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 93:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Нужно позаботиться, чтобы читать этот файл мог только администратор:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Нужно позаботиться, чтобы читать этот файл мог только администратор:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source lang=&amp;quot;bash&amp;quot;&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  chmod 600 authkeys&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  chmod 600 authkeys&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Если права доступа к этому файлу есть у кого-то еще, ''Heartbeat'' не запустится.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Если права доступа к этому файлу есть у кого-то еще, ''Heartbeat'' не запустится.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 102:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 102:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Теперь можно запустить ''Heartbeat''. Для отслеживания сообщений ''Heartbeat'' на обоих компьютерах запустите &amp;lt;font color=darkred&amp;gt;tail -f&amp;lt;/font&amp;gt; для файла журнала ('''/var/log/messages'''). Запустите программу с помощью команды:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Теперь можно запустить ''Heartbeat''. Для отслеживания сообщений ''Heartbeat'' на обоих компьютерах запустите &amp;lt;font color=darkred&amp;gt;tail -f&amp;lt;/font&amp;gt; для файла журнала ('''/var/log/messages'''). Запустите программу с помощью команды:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source lang=&amp;quot;bash&amp;quot;&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  /etc/init.d/heartbeat start&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  /etc/init.d/heartbeat start&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 141:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 141:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Первая проверка завершилась успешно, и пора поручить ''Heartbeat'' управление полноценным сервисом. Для этого проекта я выбрал httpd. Таким образом, сейчас нам нужно убедиться, что ''Apache'' установлен на обоих компьютерах, и положить в корневой каталог web-сервера какие-нибудь легко распознаваемые файлы. Я просто создал два файла '''/var/www/html/index.html''', по одному для основного и запасного серверов; в файле для основного сервера была строка “This is the website from the primary server”, для запасного – “This is the website from the backup server” («Это сайт с основного/запасного сервера»). На обоих компьютерах запустите ''httpd'':&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Первая проверка завершилась успешно, и пора поручить ''Heartbeat'' управление полноценным сервисом. Для этого проекта я выбрал httpd. Таким образом, сейчас нам нужно убедиться, что ''Apache'' установлен на обоих компьютерах, и положить в корневой каталог web-сервера какие-нибудь легко распознаваемые файлы. Я просто создал два файла '''/var/www/html/index.html''', по одному для основного и запасного серверов; в файле для основного сервера была строка “This is the website from the primary server”, для запасного – “This is the website from the backup server” («Это сайт с основного/запасного сервера»). На обоих компьютерах запустите ''httpd'':&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source lang=&amp;quot;bash&amp;quot;&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  /etc/init.d/httpd start&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  /etc/init.d/httpd start&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;и проверьте, что, открыв в браузере адрес &amp;lt;font color=blue&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;, вы видите эти файлы. Теперь остановите ''Apache'' и убедитесь, что он не запустится автоматически при загрузке системы. Воспользуйтесь командами:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;и проверьте, что, открыв в браузере адрес &amp;lt;font color=blue&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;, вы видите эти файлы. Теперь остановите ''Apache'' и убедитесь, что он не запустится автоматически при загрузке системы. Воспользуйтесь командами:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source lang=&amp;quot;bash&amp;quot;&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  /etc/init.d/httpd stop&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  /etc/init.d/httpd stop&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  chkconfig httpd --del&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  chkconfig httpd --del&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Это важно, потому что ''Apache'' должен запуститься не во время загрузки, а только если ''Heartbeat'' запустил его.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Это важно, потому что ''Apache'' должен запуститься не во время загрузки, а только если ''Heartbeat'' запустил его.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 163:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 163:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;После внесения этих изменений в конфигурацию основного и запасного серверов можно снова запустить ''Heartbeat'' на каждом из них:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;После внесения этих изменений в конфигурацию основного и запасного серверов можно снова запустить ''Heartbeat'' на каждом из них:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source lang=&amp;quot;bash&amp;quot;&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; /etc/init.d/heartbeat start&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; /etc/init.d/heartbeat start&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Когда ''Heartbeat'' войдет в нормальный режим работы, нужно кое-что проверить. На основном сервере запустите:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Когда ''Heartbeat'' войдет в нормальный режим работы, нужно кое-что проверить. На основном сервере запустите:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 172:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 172:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;и проверьте, что ''Heartbeat'' назначил второй IP-адрес (в нашем примере &amp;lt;font color=darkred&amp;gt;192.168.0.50&amp;lt;/font&amp;gt;) на наш сетевой интерфейс. Также запустите команду&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;и проверьте, что ''Heartbeat'' назначил второй IP-адрес (в нашем примере &amp;lt;font color=darkred&amp;gt;192.168.0.50&amp;lt;/font&amp;gt;) на наш сетевой интерфейс. Также запустите команду&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source lang=&amp;quot;bash&amp;quot;&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; ps -ef | grep httpd&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; ps -ef | grep httpd&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;которая проверит, что сервис ''httpd'' запущен. На запасной сервер второй IP-адрес не назначается, а сервис ''httpd'' на нем не выполняется.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;которая проверит, что сервис ''httpd'' запущен. На запасной сервер второй IP-адрес не назначается, а сервис ''httpd'' на нем не выполняется.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 182:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 182:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;в файл '''/etc/hosts'''. Проверьте, пингуется ли адрес &amp;lt;font color=blue&amp;gt;&amp;lt;nowiki&amp;gt;www.example.com&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt; с компьютера клиента. Откройте в браузере на клиентском компьютере страницу &amp;lt;font color=blue&amp;gt;&amp;lt;nowiki&amp;gt;http://www.example.com&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;. Вы должны увидеть файл '''index.html''' основного сервера. На клиенте также можно проверить кэш '''arp''', запустив команду&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;в файл '''/etc/hosts'''. Проверьте, пингуется ли адрес &amp;lt;font color=blue&amp;gt;&amp;lt;nowiki&amp;gt;www.example.com&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt; с компьютера клиента. Откройте в браузере на клиентском компьютере страницу &amp;lt;font color=blue&amp;gt;&amp;lt;nowiki&amp;gt;http://www.example.com&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;. Вы должны увидеть файл '''index.html''' основного сервера. На клиенте также можно проверить кэш '''arp''', запустив команду&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source lang=&amp;quot;bash&amp;quot;&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; arp -a&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; arp -a&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;и обратить внимание на MAC-адрес, связанный с IP-адресом 192.168.0.50. В моем случае результат работы команды был таким:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;и обратить внимание на MAC-адрес, связанный с IP-адресом 192.168.0.50. В моем случае результат работы команды был таким:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 193:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 193:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Мы подошли к драматической развязке: демонстрации переноса сервиса на запасной сервер в случае отказа основного. Можно было просто отключить питание основного сервера, как и в предыдущем эксперименте, но на сей раз я избрал более кроткий способ – просто остановил ''Heartbeat'' на основном сервере командой:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Мы подошли к драматической развязке: демонстрации переноса сервиса на запасной сервер в случае отказа основного. Можно было просто отключить питание основного сервера, как и в предыдущем эксперименте, но на сей раз я избрал более кроткий способ – просто остановил ''Heartbeat'' на основном сервере командой:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source lang=&amp;quot;bash&amp;quot;&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; /etc/init.d/heartbeat stop&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; /etc/init.d/heartbeat stop&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Остановившись, ''Heartbeat'' остановит ''httpd'' на основном сервере и проинформирует запасной сервер об отключении основного (через ''Heartbeat''-соединение). Запасной сервер сразу возьмет управление на себя, и в файле его журнала ('''/var/log/messages''') появятся новые сообщения. Два из них наиболее важны (время и другую информацию в начале строки я удалил):&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Остановившись, ''Heartbeat'' остановит ''httpd'' на основном сервере и проинформирует запасной сервер об отключении основного (через ''Heartbeat''-соединение). Запасной сервер сразу возьмет управление на себя, и в файле его журнала ('''/var/log/messages''') появятся новые сообщения. Два из них наиболее важны (время и другую информацию в начале строки я удалил):&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sat, 07 Mar 2009 20:12:05 GMT</pubDate>			<dc:creator>Kipruss</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF100-101:Hardcore_Linux</comments>		</item>
		<item>
			<title>Yaleks: оформление</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF100-101:Hardcore_Linux&amp;diff=7203&amp;oldid=prev</link>
			<description>&lt;p&gt;оформление&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 06:32, 7 марта 2009&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Журналы доступа к моей web-странице – не самое захватывающее чтиво. Если исключить случайные вторжения роботов поисковых систем, посетители заходят на сайт не чаще раза в неделю. Честно говоря, если сайт упадет, это заметят разве что через несколько месяцев. Даже грустно. Другая крайность – коммерческие web-сайты, приносящие владельцам ежедневный доход: несколько минут простоя такого сайта выливаются в ощутимые убытки для компании. На данном уроке я расскажу, как создать в Linux отказоустойчивый кластер. В случае краха основного сервера система автоматически переключается на запасной, а снаружи кластер выглядит как один очень надежный сервер. Нам поможет открытая программа ''Heartbeat'', найти которую можно на сайте www.linuxha.org. Кластер мы построим из двух компьютеров (основной и запасной сервер). ''Heartbeat'' будет отвечать за обнаружение отказа основного сервера и управлять запуском нужного нам сервиса на запасном. Мы воспользуемся сервисом ''Apache (httpd)'', но эта технология подойдет и для любого другого сервиса: FTP, DNS или почтового. В общем, все будет работать примерно так:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Журналы доступа к моей web-странице – не самое захватывающее чтиво. Если исключить случайные вторжения роботов поисковых систем, посетители заходят на сайт не чаще раза в неделю. Честно говоря, если сайт упадет, это заметят разве что через несколько месяцев. Даже грустно. Другая крайность – коммерческие web-сайты, приносящие владельцам ежедневный доход: несколько минут простоя такого сайта выливаются в ощутимые убытки для компании. На данном уроке я расскажу, как создать в Linux отказоустойчивый кластер. В случае краха основного сервера система автоматически переключается на запасной, а снаружи кластер выглядит как один очень надежный сервер. Нам поможет открытая программа ''Heartbeat'', найти которую можно на сайте &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;http://&lt;/ins&gt;www.linuxha.org. Кластер мы построим из двух компьютеров (основной и запасной сервер). ''Heartbeat'' будет отвечать за обнаружение отказа основного сервера и управлять запуском нужного нам сервиса на запасном. Мы воспользуемся сервисом ''Apache (httpd)'', но эта технология подойдет и для любого другого сервиса: FTP, DNS или почтового. В общем, все будет работать примерно так:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;# В обычном режиме необходимые сервисы (типа ''httpd'') предоставляются основным сервером.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;# В обычном режиме необходимые сервисы (типа ''httpd'') предоставляются основным сервером.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 12:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 12:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Начинаем: компоненты системы===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Начинаем: компоненты системы===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Изображение:Img_100_87_1.png|thumb|400px|Рис. 1: Общая схема проекта; обратите внимание на IP-адреса.]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Если вы намерены двинуться дальше и попробовать все на практике, то вам понадобятся три компьютера – основной сервер, запасной сервер и клиент, с помощью которого мы сможем проверить, как все работает.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Если вы намерены двинуться дальше и попробовать все на практике, то вам понадобятся три компьютера – основной сервер, запасной сервер и клиент, с помощью которого мы сможем проверить, как все работает.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;На основном и запасном серверах должен быть установлен Linux, на клиенте – необязательно (хотя под Linux в вашем распоряжении окажутся лучшие средства диагностики). Компьютеры должны быть подключены к сети Ethernet. Для обмена сигналами ''Heartbeat'' на основном и запасном серверах должна быть вторая сетевая карта. Эти карты нужно соединить друг с другом либо перекрестным (crossover) кабелем, либо через мини-хаб. Если на обоих компьютерах есть последовательный порт, то вместо второго Ethernet-подключения можно соединить их последовательные порты перекрестным кабелем, по которому будет производиться обмен сигналами. Общая схема показана на &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[:Изображение:Img_100_87_1.png|&lt;/del&gt;Рис. 1&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;На основном и запасном серверах должен быть установлен Linux, на клиенте – необязательно (хотя под Linux в вашем распоряжении окажутся лучшие средства диагностики). Компьютеры должны быть подключены к сети Ethernet. Для обмена сигналами ''Heartbeat'' на основном и запасном серверах должна быть вторая сетевая карта. Эти карты нужно соединить друг с другом либо перекрестным (crossover) кабелем, либо через мини-хаб. Если на обоих компьютерах есть последовательный порт, то вместо второго Ethernet-подключения можно соединить их последовательные порты перекрестным кабелем, по которому будет производиться обмен сигналами. Общая схема показана на Рис. 1.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Установка heartbeat-соединения===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Установка heartbeat-соединения===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 35:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 35:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;''Heartbeat'' будет прекрасно работать с соединением любого типа. Преимущество Ethernet-соединения – трафик ''Heartbeat'' в этом случае можно отслеживать с помощью одной из утилит для отслеживания пакетов (например, wireshark). Можно даже использовать одновременно оба соединения, что позволит обойтись без ненужных откатов, если только одно из них выйдет из строя.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;''Heartbeat'' будет прекрасно работать с соединением любого типа. Преимущество Ethernet-соединения – трафик ''Heartbeat'' в этом случае можно отслеживать с помощью одной из утилит для отслеживания пакетов (например, wireshark). Можно даже использовать одновременно оба соединения, что позволит обойтись без ненужных откатов, если только одно из них выйдет из строя.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Изображение:Img_100_87_1.png|thumb|Рис. 1: Общая схема проекта; обратите внимание на IP-адреса.]]&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Настройка сетевых интерфейсов===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Настройка сетевых интерфейсов===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 58:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 56:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Вот минимальный вариант этого файла. Номера строк даны только для удобства ссылок, в самом файле их нет:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Вот минимальный вариант этого файла. Номера строк даны только для удобства ссылок, в самом файле их нет:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source lang=&amp;quot;ini&amp;quot; line=&amp;quot;GESHI_NORMAL_LINE_NUMBERS&amp;quot;&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt; 1. &lt;/del&gt;udpport 694&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;udpport 694&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt; 2. &lt;/del&gt;bcast eth1&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;bcast eth1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt; 3. &lt;/del&gt;serial /dev/ttyS0&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;serial /dev/ttyS0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt; 4. &lt;/del&gt;baud 9600&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;baud 9600&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt; 5. &lt;/del&gt;keepalive 2&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;keepalive 2&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt; 6. &lt;/del&gt;deadtime 20&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;deadtime 20&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt; 7. &lt;/del&gt;initdead 60&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;initdead 60&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt; 8. &lt;/del&gt;node primary.example.com&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;node primary.example.com&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt; 9. &lt;/del&gt;node backup.example.com&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;node backup.example.com&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Строки &amp;lt;font color=darkred&amp;gt;1&amp;lt;/font&amp;gt; и &amp;lt;font color=darkred&amp;gt;2&amp;lt;/font&amp;gt; задают номер порта и сетевой интерфейс, используемые для Heartbeat-соединения. Для соединения через последовательные порты в строках &amp;lt;font color=darkred&amp;gt;3&amp;lt;/font&amp;gt; и &amp;lt;font color=darkred&amp;gt;3&amp;lt;/font&amp;gt; задается порт и скорость соединения. Можно (и рекомендуется) использовать оба типа, но у меня было только соединение через последовательные порты, и я закомментировал строки &amp;lt;font color=darkred&amp;gt;1&amp;lt;/font&amp;gt; и &amp;lt;font color=darkred&amp;gt;2&amp;lt;/font&amp;gt;. В строке &amp;lt;font color=darkred&amp;gt;5&amp;lt;/font&amp;gt; задается тайм-аут между сообщениями, а строка &amp;lt;font color=darkred&amp;gt;6&amp;lt;/font&amp;gt; определяет время, по истечении которого, не дождавшись очередного сообщения от основного сервера, запасной сочтет его покойником. В строке &amp;lt;font color=darkred&amp;gt;7&amp;lt;/font&amp;gt; указывается время, необходимое для активации сетевого интерфейса после включения компьютера, после чего ''Heartbeat'' начинает функционировать. В строках &amp;lt;font color=darkred&amp;gt;8&amp;lt;/font&amp;gt; и &amp;lt;font color=darkred&amp;gt;9&amp;lt;/font&amp;gt; задаются имена хостов для основного и запасного серверов (те, что возвращает команда &amp;lt;font color=darkred&amp;gt;uname -n&amp;lt;/font&amp;gt;).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Строки &amp;lt;font color=darkred&amp;gt;1&amp;lt;/font&amp;gt; и &amp;lt;font color=darkred&amp;gt;2&amp;lt;/font&amp;gt; задают номер порта и сетевой интерфейс, используемые для Heartbeat-соединения. Для соединения через последовательные порты в строках &amp;lt;font color=darkred&amp;gt;3&amp;lt;/font&amp;gt; и &amp;lt;font color=darkred&amp;gt;3&amp;lt;/font&amp;gt; задается порт и скорость соединения. Можно (и рекомендуется) использовать оба типа, но у меня было только соединение через последовательные порты, и я закомментировал строки &amp;lt;font color=darkred&amp;gt;1&amp;lt;/font&amp;gt; и &amp;lt;font color=darkred&amp;gt;2&amp;lt;/font&amp;gt;. В строке &amp;lt;font color=darkred&amp;gt;5&amp;lt;/font&amp;gt; задается тайм-аут между сообщениями, а строка &amp;lt;font color=darkred&amp;gt;6&amp;lt;/font&amp;gt; определяет время, по истечении которого, не дождавшись очередного сообщения от основного сервера, запасной сочтет его покойником. В строке &amp;lt;font color=darkred&amp;gt;7&amp;lt;/font&amp;gt; указывается время, необходимое для активации сетевого интерфейса после включения компьютера, после чего ''Heartbeat'' начинает функционировать. В строках &amp;lt;font color=darkred&amp;gt;8&amp;lt;/font&amp;gt; и &amp;lt;font color=darkred&amp;gt;9&amp;lt;/font&amp;gt; задаются имена хостов для основного и запасного серверов (те, что возвращает команда &amp;lt;font color=darkred&amp;gt;uname -n&amp;lt;/font&amp;gt;).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Для начала попробуем управлять полностью фиктивным сервисом '''tester'''. Мы напишем скрипт, '''/etc/ha.d/resources.d/tester''', вызываемый ''Heartbeat''. Он будет всего лишь вызывать команду &amp;lt;font color=darkred&amp;gt;logger&amp;lt;/font&amp;gt;, которая сообщит нам (через ''syslogd''), что скрипт был запущен. Вот как он выглядит:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Для начала попробуем управлять полностью фиктивным сервисом '''tester'''. Мы напишем скрипт, '''/etc/ha.d/resources.d/tester''', вызываемый ''Heartbeat''. Он будет всего лишь вызывать команду &amp;lt;font color=darkred&amp;gt;logger&amp;lt;/font&amp;gt;, которая сообщит нам (через ''syslogd''), что скрипт был запущен. Вот как он выглядит:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source lang=&amp;quot;bash&amp;quot;&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;  &lt;/del&gt;#!/bin/bash&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;#!/bin/bash&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;  &lt;/del&gt;logger $0 called with argument $1&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;logger $0 called with argument $1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Скрипт нужно сделать исполняемым, например, так:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Скрипт нужно сделать исполняемым, например, так:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source lang=&amp;quot;bash&amp;quot;&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;  &lt;/del&gt;chmod 755 tester&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;chmod 755 tester&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;В следующем файле, ''haresources'', содержится список ресурсов, которыми управляет ''Heartbeat''. Когда компьютер выходит из строя, эти ресурсы перемещаются с одного узла сети на другой. (попробуйте произносить это как “ha-resources”, а не “hare-sauces” &amp;lt;font color=blue&amp;gt;[англ. hare – заяц, source – источник, sauce – соус, – прим. ред.]&amp;lt;/font&amp;gt;. По правде говоря, я сроду не ел зайчатины, но первым делом подумал о кролике и решил, что подойдет клюквенный соус.) Опять же, пример этого файла можно найти в документации ('''/usr/share/doc/Heartbeat''') – можете просто скопировать его в '''/etc/ha.d''' или создать свой собственный файл с нуля. Для нашего первого теста в этом файле должна быть всего одна строка:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;В следующем файле, ''haresources'', содержится список ресурсов, которыми управляет ''Heartbeat''. Когда компьютер выходит из строя, эти ресурсы перемещаются с одного узла сети на другой. (попробуйте произносить это как “ha-resources”, а не “hare-sauces” &amp;lt;font color=blue&amp;gt;[англ. hare – заяц, source – источник, sauce – соус, – прим. ред.]&amp;lt;/font&amp;gt;. По правде говоря, я сроду не ел зайчатины, но первым делом подумал о кролике и решил, что подойдет клюквенный соус.) Опять же, пример этого файла можно найти в документации ('''/usr/share/doc/Heartbeat''') – можете просто скопировать его в '''/etc/ha.d''' или создать свой собственный файл с нуля. Для нашего первого теста в этом файле должна быть всего одна строка:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 130:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 128:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  heartbeat: [9615]: WARN: No STONITH device configured.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  heartbeat: [9615]: WARN: No STONITH device configured.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  heartbeat: [9615]: WARN: Shared disks are not protected.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  heartbeat: [9615]: WARN: Shared disks are not protected.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  heartbeat: [9615]: info: Resources being acquired from primary.example.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  heartbeat: [9615]: info: Resources being acquired from primary.example.com.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;com.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  heartbeat: [9615]: info: Link primary.example.com:/dev/ttyS0 dead.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  heartbeat: [9615]: info: Link primary.example.com:/dev/ttyS0 dead.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  heartbeat: [10305]: info: No local resources [/usr/share/heartbeat/&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  heartbeat: [10305]: info: No local resources [/usr/share/heartbeat/ResourceManager listkeys backup.example.com] to acquire.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;ResourceManager listkeys backup.example.com] to acquire.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  harc[10304]: [10323]: info: Running /etc/ha.d/rc.d/status status&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  harc[10304]: [10323]: info: Running /etc/ha.d/rc.d/status status&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  mach_down[10329]: [10350]: info: Taking over resource group tester&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  mach_down[10329]: [10350]: info: Taking over resource group tester&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; ResourceManager[10351]: [10362]: info: Acquiring resource group:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; ResourceManager[10351]: [10362]: info: Acquiring resource group:primary.example.com tester&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;primary.example.com tester&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; logger: /etc/ha.d/resource.d/tester called with argument status&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; logger: /etc/ha.d/resource.d/tester called with argument status&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  ResourceManager[10351]: [10379]: info: Running /etc/ha.d/resource.d/&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  ResourceManager[10351]: [10379]: info: Running /etc/ha.d/resource.d/tester start&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;tester start&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  logger: /etc/ha.d/resource.d/tester called with argument start&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  logger: /etc/ha.d/resource.d/tester called with argument start&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  mach_down[10329]: [10384]: info: mach_down takeover complete for&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  mach_down[10329]: [10384]: info: mach_down takeover complete for  node primary.example.com.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; node primary.example.com.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sat, 07 Mar 2009 06:32:31 GMT</pubDate>			<dc:creator>Yaleks</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF100-101:Hardcore_Linux</comments>		</item>
		<item>
			<title>Kipruss в 23:36, 6 марта 2009</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF100-101:Hardcore_Linux&amp;diff=7202&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 23:36, 6 марта 2009&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 151:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 151:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  /etc/init.d/httpd start&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  /etc/init.d/httpd start&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;и проверьте, что, открыв в браузере адрес &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;nowiki&amp;gt;&lt;/del&gt;&amp;lt;font color=blue&amp;gt;http://localhost&amp;lt;/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;font&lt;/del&gt;&amp;gt;&amp;lt;/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;nowiki&lt;/del&gt;&amp;gt;, вы видите эти файлы. Теперь остановите ''Apache'' и убедитесь, что он не запустится автоматически при загрузке системы. Воспользуйтесь командами:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;и проверьте, что, открыв в браузере адрес &amp;lt;font color=blue&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;gt;&amp;lt;nowiki&lt;/ins&gt;&amp;gt;http://localhost&amp;lt;/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;nowiki&lt;/ins&gt;&amp;gt;&amp;lt;/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;font&lt;/ins&gt;&amp;gt;, вы видите эти файлы. Теперь остановите ''Apache'' и убедитесь, что он не запустится автоматически при загрузке системы. Воспользуйтесь командами:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  /etc/init.d/httpd stop&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  /etc/init.d/httpd stop&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 188:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 188:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; 192.168.0.50 www.example.com&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; 192.168.0.50 www.example.com&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;в файл '''/etc/hosts'''. Проверьте, пингуется ли адрес &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;nowiki&amp;gt;&lt;/del&gt;&amp;lt;font color=blue&amp;gt;www.example.com&amp;lt;/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;font&lt;/del&gt;&amp;gt;&amp;lt;/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;nowiki&lt;/del&gt;&amp;gt; с компьютера клиента. Откройте в браузере на клиентском компьютере страницу &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;nowiki&amp;gt;&lt;/del&gt;&amp;lt;font color=blue&amp;gt;http://www.example.com&amp;lt;/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;font&lt;/del&gt;&amp;gt;&amp;lt;/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;nowiki&lt;/del&gt;&amp;gt;. Вы должны увидеть файл '''index.html''' основного сервера. На клиенте также можно проверить кэш '''arp''', запустив команду&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;в файл '''/etc/hosts'''. Проверьте, пингуется ли адрес &amp;lt;font color=blue&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;gt;&amp;lt;nowiki&lt;/ins&gt;&amp;gt;www.example.com&amp;lt;/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;nowiki&lt;/ins&gt;&amp;gt;&amp;lt;/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;font&lt;/ins&gt;&amp;gt; с компьютера клиента. Откройте в браузере на клиентском компьютере страницу &amp;lt;font color=blue&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;gt;&amp;lt;nowiki&lt;/ins&gt;&amp;gt;http://www.example.com&amp;lt;/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;nowiki&lt;/ins&gt;&amp;gt;&amp;lt;/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;font&lt;/ins&gt;&amp;gt;. Вы должны увидеть файл '''index.html''' основного сервера. На клиенте также можно проверить кэш '''arp''', запустив команду&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; arp -a&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; arp -a&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 212:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 212:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;В этом случае все заняло пару секунд. Если бы я просто выдернул из сети шнур питания основного сервера, то на восстановление системы потребовалось бы больше времени: в этом случае перед тем, как сделать вывод об отказе основного сервера и взять управление на себя, запасной сервер ожидал бы ответа 20 секунд (параметр &amp;lt;font color=darkred&amp;gt;deadtime&amp;lt;/font&amp;gt; в файле '''ha.cf''').&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;В этом случае все заняло пару секунд. Если бы я просто выдернул из сети шнур питания основного сервера, то на восстановление системы потребовалось бы больше времени: в этом случае перед тем, как сделать вывод об отказе основного сервера и взять управление на себя, запасной сервер ожидал бы ответа 20 секунд (параметр &amp;lt;font color=darkred&amp;gt;deadtime&amp;lt;/font&amp;gt; в файле '''ha.cf''').&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;На клиентском компьютере следует провести пару важных тестов. Во-первых, попробуйте обновить страницу &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;nowiki&amp;gt;&lt;/del&gt;&amp;lt;font color=blue&amp;gt;www.example.com&amp;lt;/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;font&lt;/del&gt;&amp;gt;&amp;lt;/&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;nowiki&lt;/del&gt;&amp;gt; в браузере. Должна появиться страница запасного сервера. Во-вторых, еще раз просмотрите содержимое ARP-кэша. На моем компьютере команда &amp;lt;font color=darkred&amp;gt;arp –a&amp;lt;/font&amp;gt; вернула следующий результат:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;На клиентском компьютере следует провести пару важных тестов. Во-первых, попробуйте обновить страницу &amp;lt;font color=blue&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;gt;&amp;lt;nowiki&lt;/ins&gt;&amp;gt;www.example.com&amp;lt;/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;nowiki&lt;/ins&gt;&amp;gt;&amp;lt;/&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;font&lt;/ins&gt;&amp;gt; в браузере. Должна появиться страница запасного сервера. Во-вторых, еще раз просмотрите содержимое ARP-кэша. На моем компьютере команда &amp;lt;font color=darkred&amp;gt;arp –a&amp;lt;/font&amp;gt; вернула следующий результат:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  www.example.com (192.168.0.50) at 00:10:60:60:3E:8E [ether] on eth0&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  www.example.com (192.168.0.50) at 00:10:60:60:3E:8E [ether] on eth0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Fri, 06 Mar 2009 23:36:58 GMT</pubDate>			<dc:creator>Kipruss</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF100-101:Hardcore_Linux</comments>		</item>
		<item>
			<title>Kipruss: «LXF100:Hardcore Linux» переименована в «LXF100-101:Hardcore Linux» поверх перенаправления</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF100-101:Hardcore_Linux&amp;diff=7198&amp;oldid=prev</link>
			<description>&lt;p&gt;«&lt;a href=&quot;/index.php/LXF100:Hardcore_Linux&quot; title=&quot;LXF100:Hardcore Linux&quot;&gt;LXF100:Hardcore Linux»&lt;/a&gt; переименована в «&lt;a href=&quot;/index.php/LXF100-101:Hardcore_Linux&quot; title=&quot;LXF100-101:Hardcore Linux&quot;&gt;LXF100-101:Hardcore Linux»&lt;/a&gt; поверх перенаправления&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 23:27, 6 марта 2009&lt;/td&gt;
			&lt;/tr&gt;
		&lt;/table&gt;</description>
			<pubDate>Fri, 06 Mar 2009 23:27:06 GMT</pubDate>			<dc:creator>Kipruss</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF100-101:Hardcore_Linux</comments>		</item>
		<item>
			<title>Kipruss: /* Три файла конфигурации */</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF100-101:Hardcore_Linux&amp;diff=7197&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Три файла конфигурации&lt;/span&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 23:26, 6 марта 2009&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 70:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 70:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Строки &amp;lt;font color=darkred&amp;gt;1&amp;lt;/font&amp;gt; и &amp;lt;font color=darkred&amp;gt;2&amp;lt;/font&amp;gt; задают номер порта и сетевой интерфейс, используемые для Heartbeat-соединения. Для соединения через последовательные порты в строках &amp;lt;font color=darkred&amp;gt;3&amp;lt;/font&amp;gt; и &amp;lt;font color=darkred&amp;gt;3&amp;lt;/font&amp;gt; задается порт и скорость соединения. Можно (и рекомендуется) использовать оба типа, но у меня было только соединение через последовательные порты, и я закомментировал строки &amp;lt;font color=darkred&amp;gt;1&amp;lt;/font&amp;gt; и &amp;lt;font color=darkred&amp;gt;2&amp;lt;/font&amp;gt;. В строке &amp;lt;font color=darkred&amp;gt;5&amp;lt;/font&amp;gt; задается тайм-аут между сообщениями, а строка &amp;lt;font color=darkred&amp;gt;6&amp;lt;/font&amp;gt; определяет время, по истечении которого, не дождавшись очередного сообщения от основного сервера, запасной сочтет его покойником. В строке &amp;lt;font color=darkred&amp;gt;7&amp;lt;/font&amp;gt; указывается время, необходимое для активации сетевого интерфейса после включения компьютера, после чего ''Heartbeat'' начинает функционировать. В строках &amp;lt;font color=darkred&amp;gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;9&lt;/del&gt;&amp;lt;/font&amp;gt; и &amp;lt;font color=darkred&amp;gt;9&amp;lt;/font&amp;gt; задаются имена хостов для основного и запасного серверов (те, что возвращает команда &amp;lt;font color=darkred&amp;gt;uname -n&amp;lt;/font&amp;gt;).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Строки &amp;lt;font color=darkred&amp;gt;1&amp;lt;/font&amp;gt; и &amp;lt;font color=darkred&amp;gt;2&amp;lt;/font&amp;gt; задают номер порта и сетевой интерфейс, используемые для Heartbeat-соединения. Для соединения через последовательные порты в строках &amp;lt;font color=darkred&amp;gt;3&amp;lt;/font&amp;gt; и &amp;lt;font color=darkred&amp;gt;3&amp;lt;/font&amp;gt; задается порт и скорость соединения. Можно (и рекомендуется) использовать оба типа, но у меня было только соединение через последовательные порты, и я закомментировал строки &amp;lt;font color=darkred&amp;gt;1&amp;lt;/font&amp;gt; и &amp;lt;font color=darkred&amp;gt;2&amp;lt;/font&amp;gt;. В строке &amp;lt;font color=darkred&amp;gt;5&amp;lt;/font&amp;gt; задается тайм-аут между сообщениями, а строка &amp;lt;font color=darkred&amp;gt;6&amp;lt;/font&amp;gt; определяет время, по истечении которого, не дождавшись очередного сообщения от основного сервера, запасной сочтет его покойником. В строке &amp;lt;font color=darkred&amp;gt;7&amp;lt;/font&amp;gt; указывается время, необходимое для активации сетевого интерфейса после включения компьютера, после чего ''Heartbeat'' начинает функционировать. В строках &amp;lt;font color=darkred&amp;gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;8&lt;/ins&gt;&amp;lt;/font&amp;gt; и &amp;lt;font color=darkred&amp;gt;9&amp;lt;/font&amp;gt; задаются имена хостов для основного и запасного серверов (те, что возвращает команда &amp;lt;font color=darkred&amp;gt;uname -n&amp;lt;/font&amp;gt;).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Для начала попробуем управлять полностью фиктивным сервисом '''tester'''. Мы напишем скрипт, '''/etc/ha.d/resources.d/tester''', вызываемый ''Heartbeat''. Он будет всего лишь вызывать команду &amp;lt;font color=darkred&amp;gt;logger&amp;lt;/font&amp;gt;, которая сообщит нам (через ''syslogd''), что скрипт был запущен. Вот как он выглядит:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Для начала попробуем управлять полностью фиктивным сервисом '''tester'''. Мы напишем скрипт, '''/etc/ha.d/resources.d/tester''', вызываемый ''Heartbeat''. Он будет всего лишь вызывать команду &amp;lt;font color=darkred&amp;gt;logger&amp;lt;/font&amp;gt;, которая сообщит нам (через ''syslogd''), что скрипт был запущен. Вот как он выглядит:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Fri, 06 Mar 2009 23:26:03 GMT</pubDate>			<dc:creator>Kipruss</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF100-101:Hardcore_Linux</comments>		</item>
		<item>
			<title>Kipruss: оформление</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF100-101:Hardcore_Linux&amp;diff=7190&amp;oldid=prev</link>
			<description>&lt;p&gt;оформление&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 23:08, 6 марта 2009&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 218:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 218:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Это означает, что пакеты, предназначенные для адреса &amp;lt;font color=darkred&amp;gt;192.168.0.50&amp;lt;/font&amp;gt;, теперь будут направляться на запасной сервер.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Это означает, что пакеты, предназначенные для адреса &amp;lt;font color=darkred&amp;gt;192.168.0.50&amp;lt;/font&amp;gt;, теперь будут направляться на запасной сервер.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;    |Заголовок=Дополнительная информация&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;    |Содержание=Побольше узнать о ''heartbeat'' можно в документации '''/usr/share/doc/heartbeat''' (каталог зависит от конкретного дистрибутива), в частности, в  файле '''GettingStarted'''. На сайте Linux HA также есть руководства и документация. Рекомендую вам прекрасную книжку “Linux Enterprise Cluster: Build a Highly Available    Cluster   with Commodity Hardware and Free Software” (No Starch Press, ISBN 1-59327-036-4).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;    |Ширина=200px}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;А что же дальше? Ну, наверное, со временем кто-то доберется до основного сервера, починит его и перезапустит. Когда ''Heartbeat'' перезапускается, он сообщает об этом запасному серверу через ''Heartbeat''-соединение. В журнале запасного сервера появятся такие строки:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;А что же дальше? Ну, наверное, со временем кто-то доберется до основного сервера, починит его и перезапустит. Когда ''Heartbeat'' перезапускается, он сообщает об этом запасному серверу через ''Heartbeat''-соединение. В журнале запасного сервера появятся такие строки:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 232:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 237:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Один из них – это концепция «ограждения» (fencing). Когда запасной сервер перенимает ресурсы основного, нужно как-то гарантировать, чтобы основной сервер не попытался снова предоставить эти сервисы. ''Heartbeat'' может использовать для этого механизм STONITH (“shoot the other node in the head” – «контрольный выстрел в голову»), если вы купите устройство, программно отключающее питание компьютера. Второй вопрос – как синхронизировать содержимое двух web-серверов. В нашем примере мы умышленно сделали его разным, но на практике может потребоваться какое-то средство синхронизации их содержимого (''rsync'' или ''unison''). '''LXF'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Один из них – это концепция «ограждения» (fencing). Когда запасной сервер перенимает ресурсы основного, нужно как-то гарантировать, чтобы основной сервер не попытался снова предоставить эти сервисы. ''Heartbeat'' может использовать для этого механизм STONITH (“shoot the other node in the head” – «контрольный выстрел в голову»), если вы купите устройство, программно отключающее питание компьютера. Второй вопрос – как синхронизировать содержимое двух web-серверов. В нашем примере мы умышленно сделали его разным, но на практике может потребоваться какое-то средство синхронизации их содержимого (''rsync'' или ''unison''). '''LXF'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;    |Заголовок=Дополнительная информация&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;    |Содержание=Побольше узнать о ''heartbeat'' можно в документации '''/usr/share/doc/heartbeat''' (каталог зависит от конкретного дистрибутива), в частности, в  файле '''GettingStarted'''. На сайте Linux HA также есть руководства и документация. Рекомендую вам прекрасную книжку “Linux Enterprise Cluster: Build a Highly Available    Cluster   with Commodity Hardware and Free Software” (No Starch Press, ISBN 1-59327-036-4).&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;    |Ширина=200px}}&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Категория:Учебники]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Категория:Учебники]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Категория:Hardcore Linux]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Категория:Hardcore Linux]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Категория:Крис Браун]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Категория:Крис Браун]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Fri, 06 Mar 2009 23:08:56 GMT</pubDate>			<dc:creator>Kipruss</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF100-101:Hardcore_Linux</comments>		</item>
		<item>
			<title>Kipruss: новая статья</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF100-101:Hardcore_Linux&amp;diff=7189&amp;oldid=prev</link>
			<description>&lt;p&gt;новая статья&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая статья&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Кластеры: Повышаем отказоустойчивость.==&lt;br /&gt;
&lt;br /&gt;
Отказоустойчивость – то свойство, которое помогает кластеру пережить сбой электропитания и другие бедствия. '''Д-р Крис Браун''' покажет, как удержаться на плаву.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Журналы доступа к моей web-странице – не самое захватывающее чтиво. Если исключить случайные вторжения роботов поисковых систем, посетители заходят на сайт не чаще раза в неделю. Честно говоря, если сайт упадет, это заметят разве что через несколько месяцев. Даже грустно. Другая крайность – коммерческие web-сайты, приносящие владельцам ежедневный доход: несколько минут простоя такого сайта выливаются в ощутимые убытки для компании. На данном уроке я расскажу, как создать в Linux отказоустойчивый кластер. В случае краха основного сервера система автоматически переключается на запасной, а снаружи кластер выглядит как один очень надежный сервер. Нам поможет открытая программа ''Heartbeat'', найти которую можно на сайте www.linuxha.org. Кластер мы построим из двух компьютеров (основной и запасной сервер). ''Heartbeat'' будет отвечать за обнаружение отказа основного сервера и управлять запуском нужного нам сервиса на запасном. Мы воспользуемся сервисом ''Apache (httpd)'', но эта технология подойдет и для любого другого сервиса: FTP, DNS или почтового. В общем, все будет работать примерно так:&lt;br /&gt;
&lt;br /&gt;
# В обычном режиме необходимые сервисы (типа ''httpd'') предоставляются основным сервером.&lt;br /&gt;
# Основной и запасной серверы постоянно обмениваются друг с другом сообщениями ''Heartbeat'' [англ. пульс], которые говорят запасному серверу, что с основным все в порядке.&lt;br /&gt;
# Если запасной сервер не получает сообщения, он перенимает ресурсы основного сервера (например, запускает собственную копию сервера ''httpd'').&lt;br /&gt;
# Запасной сервер перенимает IP-адрес, по которому предоставлялся сервис на основном сервере.&lt;br /&gt;
&lt;br /&gt;
===Начинаем: компоненты системы===&lt;br /&gt;
&lt;br /&gt;
Если вы намерены двинуться дальше и попробовать все на практике, то вам понадобятся три компьютера – основной сервер, запасной сервер и клиент, с помощью которого мы сможем проверить, как все работает.&lt;br /&gt;
&lt;br /&gt;
На основном и запасном серверах должен быть установлен Linux, на клиенте – необязательно (хотя под Linux в вашем распоряжении окажутся лучшие средства диагностики). Компьютеры должны быть подключены к сети Ethernet. Для обмена сигналами ''Heartbeat'' на основном и запасном серверах должна быть вторая сетевая карта. Эти карты нужно соединить друг с другом либо перекрестным (crossover) кабелем, либо через мини-хаб. Если на обоих компьютерах есть последовательный порт, то вместо второго Ethernet-подключения можно соединить их последовательные порты перекрестным кабелем, по которому будет производиться обмен сигналами. Общая схема показана на [[:Изображение:Img_100_87_1.png|Рис. 1]].&lt;br /&gt;
&lt;br /&gt;
===Установка heartbeat-соединения===&lt;br /&gt;
&lt;br /&gt;
Если обмен сигналами ''Heartbeat'' будет осуществляться через Ethernet, соединить сетевые карты друг с другом можно двумя способами: либо через перекрестный кабель RJ45, либо парой обычных кабелей через мини-хаб. Первый вариант лучше, потому что здесь нечему выходить из строя. Каждой из карт нужно назначить статический IP-адрес, причем выбранный из частного диапазона, ни один адрес из которого не используется во внутренней сети. Например, первой карте можно назначить адрес 10.0.0.1, второй – 10.0.0.2. Убедитесь, что компьютеры могут достучаться друг до друга [ping].&lt;br /&gt;
&lt;br /&gt;
Также можно использовать и соединение через последовательный порт. Тогда нам потребуется последовательный перекрестный кабель. На обоих концах этого кабеля, который еще называют нуль-модемным, имеется 9-контактный разъем типа «мама». Кабелем нужно соединить последовательные порты компьютеров. (Последовательные порты и кабели сейчас используются редко, и если на ваших компьютерах их нет, проще пойти и купить вторую сетевую карту для соединения по Ethernet.)&lt;br /&gt;
&lt;br /&gt;
Чтобы проверить соединение через последовательные порты, выполните на основном сервере команду:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cat /dev/ttyS0&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
а на запасном – команду:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 cat /etc/fstab &amp;gt; /dev/ttyS0&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На основном сервере должно отображаться содержимое файла. Повторите эксперимент в обратном направлении.&lt;br /&gt;
&lt;br /&gt;
''Heartbeat'' будет прекрасно работать с соединением любого типа. Преимущество Ethernet-соединения – трафик ''Heartbeat'' в этом случае можно отслеживать с помощью одной из утилит для отслеживания пакетов (например, wireshark). Можно даже использовать одновременно оба соединения, что позволит обойтись без ненужных откатов, если только одно из них выйдет из строя.&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Img_100_87_1.png|thumb|Рис. 1: Общая схема проекта; обратите внимание на IP-адреса.]]&lt;br /&gt;
&lt;br /&gt;
===Настройка сетевых интерфейсов===&lt;br /&gt;
&lt;br /&gt;
Оба сетевых интерфейса, которые участвуют в ''Heartbeat''-соединении, должны быть настроены на статические IP-адреса, так как DHCP-сервера в этой «сети» точно нет. Статические адреса должны быть и на основных интерфейсах, которые используются для подключения к основному и запасному серверам. Обратите внимание, что это НЕ те адреса, на которых предоставляется сервис. ''Heartbeat'' назначит сетевой карте исправного компьютера второй IP-адрес, и именно он будет использоваться клиентами для доступа к ресурсу.&lt;br /&gt;
&lt;br /&gt;
===Три файла конфигурации===&lt;br /&gt;
&lt;br /&gt;
Сразу после установки Heartbeat нужно создать в каталоге '''/etc/ha.d''' три (да, три!) файла конфигурации, а именно:&lt;br /&gt;
&lt;br /&gt;
* '''ha.cf''' Файл содержит настройки самого ''Heartbeat''; в нем определяются используемые программой пути и устанавливаются некоторые временные параметры.&lt;br /&gt;
* '''haresources''' Этот файл определяет ресурсы (сервисы), которыми будет управлять Heartbeat, и основной сервер для каждого из этих ресурсов.&lt;br /&gt;
* '''authkey''' В этом файле задается пароль и метод шифрования, используемый для аутентификации Heartbeat-сообщений.&lt;br /&gt;
&lt;br /&gt;
Начнем с '''ha.cf'''. Пример этого файла можно найти в документации на ''Heartbeat'' ('''/usr/share/doc/heartbeat/ha.cf'''). Это один из файлов типа «визгу много, проку мало», которые целиком состоят из документации и закомментированных примеров. Можно скопировать его в '''/etc/ha.d''' и использовать как отправную точку, или создать свой файл с нуля.&lt;br /&gt;
&lt;br /&gt;
{{Врезка&lt;br /&gt;
    |Заголовок=Ошибка!&lt;br /&gt;
    |Содержание=В этой статье мы не говорим о том, как предотвратить неисправности других типов, например, те, что возникают в инфраструктуре самого интернета. В частности, мы не говорим о создании дополнительных информационных каналов для связи с сайтом. Впрочем, это не так уж и важно, потому что врожденная гибкость архитектуры интернета позволяет поглощать частные сбои. Часто даже говорят, что сеть ARPANET (предшественник интернета) разрабатывалась с таким расчетом, чтобы выдержать взрыв атомной бомбы. ARPANET и правда должна была справляться с утратой части сети, но главная причина была в том, что коммутация узлов сети и связей внутри нее была не особенно надежной, даже и без атомной бомбы.&lt;br /&gt;
    |Ширина=200px}}&lt;br /&gt;
&lt;br /&gt;
Вот минимальный вариант этого файла. Номера строк даны только для удобства ссылок, в самом файле их нет:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 1. udpport 694&lt;br /&gt;
 2. bcast eth1&lt;br /&gt;
 3. serial /dev/ttyS0&lt;br /&gt;
 4. baud 9600&lt;br /&gt;
 5. keepalive 2&lt;br /&gt;
 6. deadtime 20&lt;br /&gt;
 7. initdead 60&lt;br /&gt;
 8. node primary.example.com&lt;br /&gt;
 9. node backup.example.com&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Строки &amp;lt;font color=darkred&amp;gt;1&amp;lt;/font&amp;gt; и &amp;lt;font color=darkred&amp;gt;2&amp;lt;/font&amp;gt; задают номер порта и сетевой интерфейс, используемые для Heartbeat-соединения. Для соединения через последовательные порты в строках &amp;lt;font color=darkred&amp;gt;3&amp;lt;/font&amp;gt; и &amp;lt;font color=darkred&amp;gt;3&amp;lt;/font&amp;gt; задается порт и скорость соединения. Можно (и рекомендуется) использовать оба типа, но у меня было только соединение через последовательные порты, и я закомментировал строки &amp;lt;font color=darkred&amp;gt;1&amp;lt;/font&amp;gt; и &amp;lt;font color=darkred&amp;gt;2&amp;lt;/font&amp;gt;. В строке &amp;lt;font color=darkred&amp;gt;5&amp;lt;/font&amp;gt; задается тайм-аут между сообщениями, а строка &amp;lt;font color=darkred&amp;gt;6&amp;lt;/font&amp;gt; определяет время, по истечении которого, не дождавшись очередного сообщения от основного сервера, запасной сочтет его покойником. В строке &amp;lt;font color=darkred&amp;gt;7&amp;lt;/font&amp;gt; указывается время, необходимое для активации сетевого интерфейса после включения компьютера, после чего ''Heartbeat'' начинает функционировать. В строках &amp;lt;font color=darkred&amp;gt;9&amp;lt;/font&amp;gt; и &amp;lt;font color=darkred&amp;gt;9&amp;lt;/font&amp;gt; задаются имена хостов для основного и запасного серверов (те, что возвращает команда &amp;lt;font color=darkred&amp;gt;uname -n&amp;lt;/font&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Для начала попробуем управлять полностью фиктивным сервисом '''tester'''. Мы напишем скрипт, '''/etc/ha.d/resources.d/tester''', вызываемый ''Heartbeat''. Он будет всего лишь вызывать команду &amp;lt;font color=darkred&amp;gt;logger&amp;lt;/font&amp;gt;, которая сообщит нам (через ''syslogd''), что скрипт был запущен. Вот как он выглядит:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  logger $0 called with argument $1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Скрипт нужно сделать исполняемым, например, так:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  chmod 755 tester&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В следующем файле, ''haresources'', содержится список ресурсов, которыми управляет ''Heartbeat''. Когда компьютер выходит из строя, эти ресурсы перемещаются с одного узла сети на другой. (попробуйте произносить это как “ha-resources”, а не “hare-sauces” &amp;lt;font color=blue&amp;gt;[англ. hare – заяц, source – источник, sauce – соус, – прим. ред.]&amp;lt;/font&amp;gt;. По правде говоря, я сроду не ел зайчатины, но первым делом подумал о кролике и решил, что подойдет клюквенный соус.) Опять же, пример этого файла можно найти в документации ('''/usr/share/doc/Heartbeat''') – можете просто скопировать его в '''/etc/ha.d''' или создать свой собственный файл с нуля. Для нашего первого теста в этом файле должна быть всего одна строка:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  primary.example.com tester&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также нужно создать файл '''/etc/ha.d/authkeys''', содержащий ключи, используемые для аутентификации ''Heartbeat''-сообщений, например:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  auth1&lt;br /&gt;
  1 sha1 foobar&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Нужно позаботиться, чтобы читать этот файл мог только администратор:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  chmod 600 authkeys&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если права доступа к этому файлу есть у кого-то еще, ''Heartbeat'' не запустится.&lt;br /&gt;
&lt;br /&gt;
Скопируйте эти четыре файла с основного сервера на запасной в соответствующие каталоги. Файл '''ha.cf''', возможно, придется подправить в зависимости от аппаратного обеспечения компьютера, а остальные файлы должны быть одинаковыми на обоих компьютерах.&lt;br /&gt;
&lt;br /&gt;
Теперь можно запустить ''Heartbeat''. Для отслеживания сообщений ''Heartbeat'' на обоих компьютерах запустите &amp;lt;font color=darkred&amp;gt;tail -f&amp;lt;/font&amp;gt; для файла журнала ('''/var/log/messages'''). Запустите программу с помощью команды:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  /etc/init.d/heartbeat start&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Врезка&lt;br /&gt;
    |Заголовок=Украденная личность&lt;br /&gt;
    |Содержание=Перенос IP-адреса на другой компьютер – компьютерный эквивалент «воровства личности»: вы притворяетесь кем-то другим, а потом убеждаете весь мир, что вы настоящий. В процессе переноса системы на запасной сервер обязано произойти следующее. Во-первых, основной сервер должен отдать IP-адрес. Если он загорелся или нашел другую кончину, это произойдет по умолчанию, но если heartbeat останавливается на другом (исправном) сервере, адрес, очевидно, нужно забрать назад. Другая проблема – обновление записей в ARP-кэше. Доставка сетевого пакета на конкретный компьютер в конечном счете основана на его MAC-адресе – уникальном 48-битном номере, зашитом в каждую сетевую карту. Чтобы определить MAC-адрес компьютера по его IP-адресу, используется протокол ARP (Address Resolution Protocol – протокол разрешения адресов). Записи о соответствии IP-адресов и MAC-адресов обычно хранятся в кэше ARP 10–15 минут. Чтобы принудительно обновить ARP-кэш на других компьютерах, heartbeat рассылает в сеть так называемые «незаконные» [gratuitous] ARP-пакеты с компьютера, перенявшего IP-адрес.&lt;br /&gt;
    |Ширина=200px}}&lt;br /&gt;
&lt;br /&gt;
На обоих компьютерах действия ''Heartbeat'' будут писаться в журнал. На основном сервере среди прочего должно появиться сообщение типа:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  logger: /etc/ha.d/resource.d/tester called with argument start&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Оно означает, что основной сервер, как и ожидалось, запустил сервис '''tester'''.&lt;br /&gt;
&lt;br /&gt;
{{Врезка&lt;br /&gt;
    |Заголовок=Загружаем heartbeat&lt;br /&gt;
    |Содержание=''Heartbeat'' нужно установить и на основном, и на запасном сервере. У меня на обоих компьютерах была установлена CentOS 5 (фактически, RHEL5). Я просто установил ''heartbeat'' вместе с зависимостями (которые включали ''heartbeat-pils'' и ''heartbeat-stonith'') из репозиториев CentOS с помощью ''yum''. Похожие пакеты есть и в репозиториях других дистрибутивов, таких как Ubuntu; в виде пакета RPMs для SUSE/Novell Linux их можно найти на сайте http://www.linux-ha.org/ или загрузить архив с исходными кодами с этого же сайта и скомпилировать программу из них.&lt;br /&gt;
    |Ширина=200px}}&lt;br /&gt;
&lt;br /&gt;
''Heartbeat'' запущен, и мы можем проверить поведение системы в случае отказа. Я просто выдернул шнур электропитания из основного сервера и наблюдал за сообщениями в файле журнала запасного. По истечении заданного времени запасной сервер сообщил об отказе основного и запустил сервис '''tester'''. Вот соответствующие строки журнала:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  heartbeat: [9615]: WARN: node primary.example.com: is dead&lt;br /&gt;
  heartbeat: [9615]: WARN: No STONITH device configured.&lt;br /&gt;
  heartbeat: [9615]: WARN: Shared disks are not protected.&lt;br /&gt;
  heartbeat: [9615]: info: Resources being acquired from primary.example.&lt;br /&gt;
 com.&lt;br /&gt;
  heartbeat: [9615]: info: Link primary.example.com:/dev/ttyS0 dead.&lt;br /&gt;
  heartbeat: [10305]: info: No local resources [/usr/share/heartbeat/&lt;br /&gt;
 ResourceManager listkeys backup.example.com] to acquire.&lt;br /&gt;
  harc[10304]: [10323]: info: Running /etc/ha.d/rc.d/status status&lt;br /&gt;
  mach_down[10329]: [10350]: info: Taking over resource group tester&lt;br /&gt;
 ResourceManager[10351]: [10362]: info: Acquiring resource group:&lt;br /&gt;
 primary.example.com tester&lt;br /&gt;
 logger: /etc/ha.d/resource.d/tester called with argument status&lt;br /&gt;
  ResourceManager[10351]: [10379]: info: Running /etc/ha.d/resource.d/&lt;br /&gt;
 tester start&lt;br /&gt;
  logger: /etc/ha.d/resource.d/tester called with argument start&lt;br /&gt;
  mach_down[10329]: [10384]: info: mach_down takeover complete for&lt;br /&gt;
 node primary.example.com.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Первая проверка завершилась успешно, и пора поручить ''Heartbeat'' управление полноценным сервисом. Для этого проекта я выбрал httpd. Таким образом, сейчас нам нужно убедиться, что ''Apache'' установлен на обоих компьютерах, и положить в корневой каталог web-сервера какие-нибудь легко распознаваемые файлы. Я просто создал два файла '''/var/www/html/index.html''', по одному для основного и запасного серверов; в файле для основного сервера была строка “This is the website from the primary server”, для запасного – “This is the website from the backup server” («Это сайт с основного/запасного сервера»). На обоих компьютерах запустите ''httpd'':&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  /etc/init.d/httpd start&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
и проверьте, что, открыв в браузере адрес &amp;lt;nowiki&amp;gt;&amp;lt;font color=blue&amp;gt;http://localhost&amp;lt;/font&amp;gt;&amp;lt;/nowiki&amp;gt;, вы видите эти файлы. Теперь остановите ''Apache'' и убедитесь, что он не запустится автоматически при загрузке системы. Воспользуйтесь командами:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  /etc/init.d/httpd stop&lt;br /&gt;
  chkconfig httpd --del&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это важно, потому что ''Apache'' должен запуститься не во время загрузки, а только если ''Heartbeat'' запустил его.&lt;br /&gt;
&lt;br /&gt;
Теперь нужно изменить файл ''haresources'' так:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  primary.example.com httpd&lt;br /&gt;
  primary.example.com 192.168.0.50&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В первой строке указывается сервис, которым будет управлять ''Heartbeat'', а во второй – IP-адрес, используемый клиентом для доступа к сервису. При запуске ''Heartbeat'' этот адрес назначается на основной сервер как второй IP-адрес. Если основной сервер откажет, копия ''Heartbeat'', запущенная на запасном сервере, перенесет этот IP-адрес на свой сетевой интерфейс.&lt;br /&gt;
&lt;br /&gt;
Предполагается, что ''Heartbeat'' будет управлять сервисами путем запуска скрипта, указанного в '''haresources''', с аргументами &amp;lt;font color=darkred&amp;gt;start&amp;lt;/font&amp;gt;, &amp;lt;font color=darkred&amp;gt;stop&amp;lt;/font&amp;gt; или &amp;lt;font color=darkred&amp;gt;status&amp;lt;/font&amp;gt;. Конечно, это те самые аргументы скриптов каталога '''/etc/init.d''', что используются для запуска сервисов во время загрузки системы, и, по правде говоря, ''Heartbeat'' будет автоматически искать скрипт '''httpd''' в каталоге '''/etc/init.d'''.&lt;br /&gt;
&lt;br /&gt;
После внесения этих изменений в конфигурацию основного и запасного серверов можно снова запустить ''Heartbeat'' на каждом из них:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 /etc/init.d/heartbeat start&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Когда ''Heartbeat'' войдет в нормальный режим работы, нужно кое-что проверить. На основном сервере запустите:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ip addr show&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
и проверьте, что ''Heartbeat'' назначил второй IP-адрес (в нашем примере &amp;lt;font color=darkred&amp;gt;192.168.0.50&amp;lt;/font&amp;gt;) на наш сетевой интерфейс. Также запустите команду&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ps -ef | grep httpd&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
которая проверит, что сервис ''httpd'' запущен. На запасной сервер второй IP-адрес не назначается, а сервис ''httpd'' на нем не выполняется.&lt;br /&gt;
&lt;br /&gt;
Теперь пора загрузить третий компьютер, чтобы использовать в качестве клиента. Убедитесь, что он может разрешить имя компьютера, на котором запущен сервис, по его IP-адресу. Для этого я просто добавил строку&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 192.168.0.50 www.example.com&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
в файл '''/etc/hosts'''. Проверьте, пингуется ли адрес &amp;lt;nowiki&amp;gt;&amp;lt;font color=blue&amp;gt;www.example.com&amp;lt;/font&amp;gt;&amp;lt;/nowiki&amp;gt; с компьютера клиента. Откройте в браузере на клиентском компьютере страницу &amp;lt;nowiki&amp;gt;&amp;lt;font color=blue&amp;gt;http://www.example.com&amp;lt;/font&amp;gt;&amp;lt;/nowiki&amp;gt;. Вы должны увидеть файл '''index.html''' основного сервера. На клиенте также можно проверить кэш '''arp''', запустив команду&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 arp -a&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
и обратить внимание на MAC-адрес, связанный с IP-адресом 192.168.0.50. В моем случае результат работы команды был таким:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 www.example.com (192.168.0.50) at 00:0C:F1:96:A3:F7 [ether] on eth0&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ладно, и как это работает?===&lt;br /&gt;
&lt;br /&gt;
Мы подошли к драматической развязке: демонстрации переноса сервиса на запасной сервер в случае отказа основного. Можно было просто отключить питание основного сервера, как и в предыдущем эксперименте, но на сей раз я избрал более кроткий способ – просто остановил ''Heartbeat'' на основном сервере командой:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 /etc/init.d/heartbeat stop&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Остановившись, ''Heartbeat'' остановит ''httpd'' на основном сервере и проинформирует запасной сервер об отключении основного (через ''Heartbeat''-соединение). Запасной сервер сразу возьмет управление на себя, и в файле его журнала ('''/var/log/messages''') появятся новые сообщения. Два из них наиболее важны (время и другую информацию в начале строки я удалил):&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  Running /etc/init.d/httpd start&lt;br /&gt;
  Registering new address record for 192.168.0.50 on eth0&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом случае все заняло пару секунд. Если бы я просто выдернул из сети шнур питания основного сервера, то на восстановление системы потребовалось бы больше времени: в этом случае перед тем, как сделать вывод об отказе основного сервера и взять управление на себя, запасной сервер ожидал бы ответа 20 секунд (параметр &amp;lt;font color=darkred&amp;gt;deadtime&amp;lt;/font&amp;gt; в файле '''ha.cf''').&lt;br /&gt;
&lt;br /&gt;
На клиентском компьютере следует провести пару важных тестов. Во-первых, попробуйте обновить страницу &amp;lt;nowiki&amp;gt;&amp;lt;font color=blue&amp;gt;www.example.com&amp;lt;/font&amp;gt;&amp;lt;/nowiki&amp;gt; в браузере. Должна появиться страница запасного сервера. Во-вторых, еще раз просмотрите содержимое ARP-кэша. На моем компьютере команда &amp;lt;font color=darkred&amp;gt;arp –a&amp;lt;/font&amp;gt; вернула следующий результат:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  www.example.com (192.168.0.50) at 00:10:60:60:3E:8E [ether] on eth0&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это означает, что пакеты, предназначенные для адреса &amp;lt;font color=darkred&amp;gt;192.168.0.50&amp;lt;/font&amp;gt;, теперь будут направляться на запасной сервер.&lt;br /&gt;
&lt;br /&gt;
А что же дальше? Ну, наверное, со временем кто-то доберется до основного сервера, починит его и перезапустит. Когда ''Heartbeat'' перезапускается, он сообщает об этом запасному серверу через ''Heartbeat''-соединение. В журнале запасного сервера появятся такие строки:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  Heartbeat restart on node primary.example.com&lt;br /&gt;
  Releasing resource group: primary.example.com httpd&lt;br /&gt;
  Running /etc/init.d/httpd stop&lt;br /&gt;
  Withdrawing address record for 192.168.0.50 on eth0&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Они означают, что запасной сервер освободил ресурсы и разрешил основному забрать их.&lt;br /&gt;
&lt;br /&gt;
Если у вас хватило духу дочитать до конца, поздравляю! Вы создали отказоустойчивый кластер в Linux и можете начать делать на этом деньги в реальном мире! Однако прежде чем пойти на собеседование в Google, NASA или даже Krazy Ken’s 24x7 Liquorice Emporium, быть может, вы захотите узнать о некоторых вопросах подробнее.&lt;br /&gt;
&lt;br /&gt;
Один из них – это концепция «ограждения» (fencing). Когда запасной сервер перенимает ресурсы основного, нужно как-то гарантировать, чтобы основной сервер не попытался снова предоставить эти сервисы. ''Heartbeat'' может использовать для этого механизм STONITH (“shoot the other node in the head” – «контрольный выстрел в голову»), если вы купите устройство, программно отключающее питание компьютера. Второй вопрос – как синхронизировать содержимое двух web-серверов. В нашем примере мы умышленно сделали его разным, но на практике может потребоваться какое-то средство синхронизации их содержимого (''rsync'' или ''unison''). '''LXF'''&lt;br /&gt;
&lt;br /&gt;
{{Врезка&lt;br /&gt;
    |Заголовок=Дополнительная информация&lt;br /&gt;
    |Содержание=Побольше узнать о ''heartbeat'' можно в документации '''/usr/share/doc/heartbeat''' (каталог зависит от конкретного дистрибутива), в частности, в  файле '''GettingStarted'''. На сайте Linux HA также есть руководства и документация. Рекомендую вам прекрасную книжку “Linux Enterprise Cluster: Build a Highly Available    Cluster   with Commodity Hardware and Free Software” (No Starch Press, ISBN 1-59327-036-4).&lt;br /&gt;
    |Ширина=200px}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Учебники]]&lt;br /&gt;
[[Категория:Hardcore Linux]]&lt;br /&gt;
[[Категория:Крис Браун]]&lt;/div&gt;</description>
			<pubDate>Fri, 06 Mar 2009 23:06:29 GMT</pubDate>			<dc:creator>Kipruss</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF100-101:Hardcore_Linux</comments>		</item>
	</channel>
</rss>