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

<channel>
	<title>Linux Tips &#187; xen</title>
	<atom:link href="http://www.gumularz.net/linux-tips/tag/xen/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gumularz.net/linux-tips</link>
	<description>Linux - HowTo, Tips &#38; Tricks, ...</description>
	<lastBuildDate>Fri, 30 Jul 2010 11:09:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Xen + SAN + blokady czyli &#8222;prawie jak klaster&#8221;</title>
		<link>http://www.gumularz.net/linux-tips/2010/07/xen-san-blokady-czyli-prawie-jak-klaster/</link>
		<comments>http://www.gumularz.net/linux-tips/2010/07/xen-san-blokady-czyli-prawie-jak-klaster/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 11:08:07 +0000</pubDate>
		<dc:creator>wgumularz</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>
		<category><![CDATA[Dodatki do kursów]]></category>
		<category><![CDATA[xen]]></category>

		<guid isPermaLink="false">http://www.gumularz.net/linux-tips/?p=118</guid>
		<description><![CDATA[Jedną z zalet wirtualizacji jest możliwość migrowania maszyn między maszynami fizycznymi. Migrowanie rzecz jasna wymaga więcej niż jednej maszyny fizycznej z dostępem do konfiguracji i zasobów maszyny wirtualnej &#8211; czyli współdzielonej pamięci masowej. I tu zaczyna się mały problem. Jeśli przez przypadek maszyna zostanie uruchomiona na więcej niż jednym hoście &#8211; uszkodzenie dysku wirtualnego mamy [...]]]></description>
			<content:encoded><![CDATA[<p>Jedną z zalet wirtualizacji jest możliwość migrowania maszyn między maszynami fizycznymi. Migrowanie rzecz jasna wymaga więcej niż jednej maszyny fizycznej z dostępem do konfiguracji i zasobów maszyny wirtualnej &#8211; czyli współdzielonej pamięci masowej. I tu zaczyna się mały problem. Jeśli przez przypadek maszyna zostanie uruchomiona na więcej niż jednym hoście &#8211; uszkodzenie dysku wirtualnego mamy jak w banku. Jak temu zapobiec bez stawiania klastra HA? Rozwiązaniem jest włączenie blokad na współdzielonym zasobie&#8230;</p>
<p><span id="more-118"></span>Mechanizm blokowania w Xenie opiera się na wywołaniu skryptu zakładającego bądź usuwającego blokadę w formie pliku tekstowego i sterują nim trzy parametry z plik konfiguracyjnego <strong>/etc/xen/xend-config.sxp</strong>:</p>
<ul>
<li>(xend-domain-lock yes)</li>
<li>(xend-domain-lock-path /path/to/lock/directory)</li>
<li>(xend-domain-lock-utility domain-lock)</li>
</ul>
<p>Pierwszy parametr włącza mechanizm blokowania, drugi precyzuje katalog z blokadami a trzeci pozwala na zmianę narzędzia blokującego (domyślnie demon xend używa skryptu <strong>/etc/xen/scripts/domain-lock</strong>).</p>
<p>Aby zabezpieczyć się przed przypadkowym równoczesnym uruchomieniu tej samej maszyny wirtualnej na dwóch hostach, wystarczy włączyć mechanizm blokowania, zamontować do wybranego katalogu udział sieciowy (NFS/Samba/OCFS/etc.), wskazać znajdujący się na nim katalog w zmiennej <strong>xend-domain-lock-path</strong> i przeładować konfigurację demona xend (/etc/ini.t/xend reload).  Od tej chwili demon xend będzie zakładał blokady dla wszystkich uruchamianych maszyn, a próba wystartowania tak zablokowanej maszyny na innym hoście zakończy się błędem.</p>
<p>Jeśli restartowanie maszyn wydaje się być niewygodne można ręcznie założyć blokady dla wszystkich już działających domen takim prostym poleceniem (przy założeniu że katalog na blokady to /mnt/vm/lock):</p>
<pre>xm list --state=running |  tail +3 | cut -d' ' -f1 | while read domain
    do
    virsh dumpxml $domain | sed -n '2,3{s/.*&gt;\(.*\)&lt;.*/\1/;p}'
    done | xargs -n 2 echo | while read domain uuid
        do
        mkdir /mnt/vm/lock/$uuid &amp;&amp;  \
        /etc/xen/scripts/domain-lock -l -n $domain -i $uuid -p `hostname`  \
                /mnt/vm/lock/$uuid
        done</pre>
<p>Blokowanie domen jest prostym rozwiązaniem i zabezpiecza przed uszkodzeniem dysków maszyn wirtualnych. Następnym krokiem może być skonfigurowanie klastra HA opartego o pakiet <strong>Pacemaker</strong>,  ale to już inna historia <img src='http://www.gumularz.net/linux-tips/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.gumularz.net/linux-tips/2010/07/xen-san-blokady-czyli-prawie-jak-klaster/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Konsola szeregowa w linuksie</title>
		<link>http://www.gumularz.net/linux-tips/2009/06/konsola-szeregowa-w-linuksie/</link>
		<comments>http://www.gumularz.net/linux-tips/2009/06/konsola-szeregowa-w-linuksie/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 07:52:55 +0000</pubDate>
		<dc:creator>wgumularz</dc:creator>
				<category><![CDATA[Dodatki do kursów]]></category>
		<category><![CDATA[Tips n' tricks]]></category>
		<category><![CDATA[grub]]></category>
		<category><![CDATA[konsola]]></category>
		<category><![CDATA[xen]]></category>

		<guid isPermaLink="false">http://www.gumularz.net/blog/?p=64</guid>
		<description><![CDATA[Karty sieciowe mają to do siebie że - jak większość sprzętu - nie są w 100% niezawodne. W związku z tym inna metoda dostępu do maszyny "w razie czego" bywa dobrym zabezpieczeniem... zwłaszcza gdy serwer zarządzany jest zdalnie...]]></description>
			<content:encoded><![CDATA[<p>Karty sieciowe mają to do siebie że &#8211; jak większość sprzętu &#8211; nie są w 100% niezawodne. W związku z tym inna metoda dostępu do maszyny &#8222;w razie czego&#8221; bywa dobrym zabezpieczeniem&#8230; zwłaszcza gdy serwer zarządzany jest zdalnie&#8230;<br />
<span id="more-64"></span><br />
<strong>Konfiguracja standardowa</strong><br />
Aby skonfigurować dostęp do konsoli szeregowej w linuksie należy zmodyfikować dwa pliki: <em>/boot/grub/menu.lst</em> (czasem grub.conf) oraz <em>/etc/inittab</em>. W pierwszym z nich należy w sekcji globalnej umieścić wpis:</p>
<pre>serial --unit=0 --speed=9600
terminal --timeout=5 serial console</pre>
<p>dzięki któremu będzie możliwy dostęp do menu GRUB&#8217;a przez port szeregoewy. Aby przekierować komunikaty jądra linuksa na port szeregowy należy do parametrów jądra dodać parametr <em>console</em>:</p>
<pre>...
kernel /vmlinuz root=LABEL=/ console=ttyS0,9600 console=tty0
...</pre>
<p>Na końcu pozostało jeszcze dodać linię w pliku inittab (najlepiej tam, gdzie skonfigurowane są konsole tekstowe):</p>
<pre>S0:12345:respawn:/sbin/agetty -L 9600 ttyS0 vt102</pre>
<p><strong>Jądro Xen</strong><br />
W przypadku maszyn z jądrem Xen sprawa ma się trochę inaczej. Po pierwsze jako jądro w pliku konfiguracyjnym (dyrektywa <em>kernel</em>) jest podany xen a nie vmlinuz. Ten drugi (czyli właściwe jądro linuksa) jest podawany jako moduł (dyrektywa <em>module</em>). Po drugie w parawirtualizowanym systemie linuksowym pod kontrolą Xen&#8217;a zmieniają się nazwy urządzeń, i port szeregowy będzie się nazywał nie ttyS0 a xvc0. Poniżej wkleiłem przykładową konfigurację z jądrem Xen:</p>
<pre>default 0
timeout 5
serial --unit=0 --speed=9600
terminal --timeout=10 serial consoletitle Xenpae - SLES10SP2
root (hd0,0)
kernel /xen-pae.gz console=vga,com1 com1=9600
module /vmlinuz-xenpae console=xvc0,9600 console=tty0 root=/dev/system/root
module /initrd-xenpae</pre>
<p>Po skonfigurowaniu maszyny można spiąć ją kablem szeregowym z inną maszyną aby w razie awarii karty sieciowej mieć dostęp do systemu za pośrednictwem innego hosta. Dobrym pomysłem może byc również postawienia jakiegoś &#8222;szrota&#8221; z dodatkową kartą &#8211; powiedzmy 4 x RS232 &#8211;  podpiąć do niego swoje serwery i uruchomić serwer ssh&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gumularz.net/linux-tips/2009/06/konsola-szeregowa-w-linuksie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

