<?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>HiperGalaxia &#187; kvm</title>
	<atom:link href="http://www.hipergalaxia.org/blog/tag/kvm/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hipergalaxia.org/blog</link>
	<description>El conocimiento, la frontera final.</description>
	<lastBuildDate>Thu, 09 Feb 2012 07:23:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Configurar una interfaz de red en puente (bridge) en ArchLinux</title>
		<link>http://blog.jorgeivanmeza.com/2011/11/configurar-una-interfaz-de-red-en-puente-bridge-en-archlinux/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=configurar-una-interfaz-de-red-en-puente-bridge-en-archlinux</link>
		<comments>http://blog.jorgeivanmeza.com/2011/11/configurar-una-interfaz-de-red-en-puente-bridge-en-archlinux/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=configurar-una-interfaz-de-red-en-puente-bridge-en-archlinux#comments</comments>
		<pubDate>Mon, 28 Nov 2011 21:30:12 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[ArchLinux]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[libvirt]]></category>
		<category><![CDATA[Linux/Solaris/BSD]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=49703</guid>
		<description><![CDATA[Introducción En este procedimiento se establecen los pasos necesarios para configurar una interfaz de red (br0) en puente con la interfaz de la red alámbrica (eth0) para permitir el acceso directo a la red LAN de las máquinas virtualizadas con KVM instalado previamente. Para este montaje se utilizó ArchLinux en su versión mas reciente, la [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción</h2><p>En este procedimiento se establecen los pasos necesarios para configurar una interfaz de red (<span style="font-family: courier new,courier;">br0</span>) en puente con la interfaz de la red alámbrica (<span style="font-family: courier new,courier;">eth0</span>) para permitir el acceso directo a la red LAN de las máquinas virtualizadas con <a href="http://blog.jorgeivanmeza.com/2011/11/instalando-kvm-en-archlinux/" >KVM instalado previamente</a>.</p><p>Para este montaje se utilizó ArchLinux en su versión mas reciente, la <span style="font-family: courier new,courier;">2011.08.19</span>, en la cual se observaron algunos cambios en los archivos de configuración, especialmente en los relacionados con la configuración de redes lo cual impacta directamente con lo descrito a continuación.  Para versiones anteriores del sistema operativo se ofrece una alternativa de configuración que no ha sido probada en producción.</p><h2>Instalar los paquetes necesarios</h2><p>Para la configuración de múltiples interfaces de red.</p><p><span style="font-family: courier new,courier;">$ sudo pacman -S netcfg</span></p><p>Para la creación del puente entre las interfaces de red.</p><p><span style="font-family: courier new,courier;">$ sudo pacman -S bridge-utils</span></p><h2>Desactivar la configuración original de red</h2><p>En esta versión de ArchLinux la configuración de <em>una</em> interfaz de red se realiza de manera diferente a <em>múltiples</em> interfaces de red.  En este caso partimos de una única interfaz de red (<span style="font-family: courier new,courier;">eth0</span>) a tener dos (<span style="font-family: courier new,courier;">eth0</span> + <span style="font-family: courier new,courier;">br0</span>), por este motivo es necesario desactivar la configuración actual para implementar la otra aproximación.</p><p>Comentar las líneas relacionadas con la configuración de la interfaz de red actual.</p><p><span style="font-family: courier new,courier;">$ sudo vi /etc/rc.conf</span></p><p style="padding-left: 30px;"><span style="font-family: courier new,courier;">## interface=eth0</span><br /><span style="font-family: courier new,courier;">## address=192.168.1.250</span><br /><span style="font-family: courier new,courier;">## netmask=255.255.255.0</span><br /><span style="font-family: courier new,courier;">## broadcast=192.168.1.255</span><br /><span style="font-family: courier new,courier;">## gateway=192.168.1.254</span></p><p>Remover la invocación de <span style="font-family: courier new,courier;">network</span> de la variable <span style="font-family: courier new,courier;">DAEMONS</span>.</p><h2>Configurar las múltiples interfaces de red</h2><p>En este paso se deberá configurar la interfaz de red removida en el paso anterior junto con la interfaz correspondiente al puente a crearse con ella.</p><p><span style="font-family: courier new,courier;">$ sudo vi /etc/rc.conf</span></p><ol><li>Agregar la invocación de <span style="font-family: courier new,courier;">net-profiles</span> en la variable <span style="font-family: courier new,courier;">DAEMONS</span>.</li><li>Agregar la referencia de las nuevas interfaces en la variable <span style="font-family: courier new,courier;">NETWORKS</span>de la siguiente manera.<p><span style="font-family: courier new,courier;">NETWORKS=(eth0 br0)</span></p></li></ol><p>Crear la especificación de la configuración de las nuevas interfaces bajo <span style="font-family: courier new,courier;">/etc/network.d</span>.  Para mayor información al respecto consultar los ejemplos ubicados en <span style="font-family: courier new,courier;">/etc/network.d/examples</span>.</p><p><span style="font-family: courier new,courier;">$ sudo vi /etc/network.d/eth0</span></p><p style="padding-left: 30px;"><span style="font-family: courier new,courier;">INTERFACE="eth0"</span><br /><span style="font-family: courier new,courier;">CONNECTION="ethernet"</span><br /><span style="font-family: courier new,courier;">DESCRIPTION="Wired network interface"</span><br /><span style="font-family: courier new,courier;">IP='static'</span><span style="font-family: courier new,courier;"><br style="font-family: courier new,courier;" /></span></p><p><span style="font-family: courier new,courier;">$ sudo vi /etc/network.d/br0</span></p><p style="padding-left: 30px;"><span style="font-family: courier new,courier;">INTERFACE="br0"</span><br /><span style="font-family: courier new,courier;">CONNECTION="bridge"</span><br /><span style="font-family: courier new,courier;">DESCRIPTION="KVM Bridge connection"</span><br /><span style="font-family: courier new,courier;">BRIDGE_INTERFACES="eth0"</span><br /><span style="font-family: courier new,courier;">POST_UP='brctl setfd br0 0'</span><br /><span style="font-family: courier new,courier;">IP='static'</span><br /><span style="font-family: courier new,courier;">ADDR='192.168.1.250'</span><br /><span style="font-family: courier new,courier;">GATEWAY='192.168.1.254'</span><br /><span style="font-family: courier new,courier;">DNS=('8.8.8.8', '8.8.4.4')</span></p><h2>Versiones anteriores</h2><p> Otra aproximación a la implementación de esta solución que aparentemente era útil en versiones anteriores del sistema operativo consiste en realizar los ajustes necesarios al archivo <span style="font-family: courier new,courier;">/etc/conf.d/bridges</span> de la siguiente manera.</p><p><span style="font-family: courier new,courier;">$ sudo vi /etc/conf.d/bridges</span></p><p style="padding-left: 30px;"><span style="font-family: courier new,courier;">bridge_br0="eth0"</span><br /><span style="font-family: courier new,courier;">config_br0="brctl setfd br0 0"</span><br /><span style="font-family: courier new,courier;">BRIDGE_INTERFACES=(br0)</span></p><p>Finalmente se actualiza el archivo <span style="font-family: courier new,courier;">/etc/rc.conf</span> para incluir a <span style="font-family: courier new,courier;">br0</span> como una nueva interfaz de red.</p><p><span style="font-family: courier new,courier;">$ sudo vi /etc/rc.conf</span></p><p style="padding-left: 30px;"><span style="font-family: courier new,courier;">eth0="eth0 up"</span><br /><span style="font-family: courier new,courier;">br0="br0 192.168.1.250 netmask 255.255.255.0 up"</span><br /><span style="font-family: courier new,courier;">INTERFACES=(lo eth0 br0)</span></p><h2>Enlaces</h2><ul><li>Bridged Networking for Libvirt.<br /><a href="https://wiki.archlinux.org/index.php/Libvirt#Bridged_Networking">https://wiki.archlinux.org/index.php/Libvirt#Bridged_Networking</a></li><li>Networking on the <span style="font-family: courier new,courier;">rc.conf</span> file.<br /><a href="https://wiki.archlinux.org/index.php/Rc.conf#Networking">https://wiki.archlinux.org/index.php/Rc.conf#Networking</a></li><li>The <span style="font-family: courier new,courier;">netcfg</span> configuration file.<br /><a href="https://wiki.archlinux.org/index.php/Netcfg">https://wiki.archlinux.org/index.php/Netcfg</a></li></ul> ]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2011/11/configurar-una-interfaz-de-red-en-puente-bridge-en-archlinux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalando libvirt en ArchLinux</title>
		<link>http://blog.jorgeivanmeza.com/2011/11/instalando-libvirt-en-archlinux/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=instalando-libvirt-en-archlinux</link>
		<comments>http://blog.jorgeivanmeza.com/2011/11/instalando-libvirt-en-archlinux/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=instalando-libvirt-en-archlinux#comments</comments>
		<pubDate>Sun, 20 Nov 2011 04:37:22 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[ArchLinux]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[libvirt]]></category>
		<category><![CDATA[Linux/Solaris/BSD]]></category>
		<category><![CDATA[netcat]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[virtualizacion]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=49697</guid>
		<description><![CDATA[Introducción Libvirt es un API de código abierto y una herramienta de administración para diferentes sistemas de virtualización entre los que se encuentran Xen, OpenVZ, Virtualbox, VMWare, Microsoft Hyper-V y por supuesto KVM/Qemu instalado en el servidor de desarrollo previamente. Este software es ideal para la gestión de las máquinas virtuales y su administración remota [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción</h2><p><a href="http://blog.jorgeivanmeza.com/wp-content/uploads/2011/11/libvirtLogo.png"><img class="alignleft size-thumbnail wp-image-49698" title="libvirtLogo" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2011/11/libvirtLogo-150x150.png" alt="" width="98" height="98" /></a>Libvirt es un API de código abierto y una herramienta de administración para diferentes sistemas de virtualización entre los que se encuentran Xen, OpenVZ, Virtualbox, VMWare, Microsoft Hyper-V y por supuesto KVM/Qemu <a href="http://blog.jorgeivanmeza.com/2011/11/instalando-libvirt-en-archlinux/2011/11/instalando-kvm-en-archlinux/">instalado en el servidor de desarrollo</a> previamente.</p><p>Este software es ideal para la gestión de las máquinas virtuales y su administración remota a través de conexiones seguras con SSH.  Además incluye una librería en C para el desarrollo de aplicaciones e incluye además interfaces para diversos lenguajes como Python, Perl, Ruby, Java y PHP.</p><h2>Instalación del software</h2><p>Instalar los paquetes del repositorio oficial.</p><p><span style="font-family: courier new,courier;"># pacman -S libvirt urlgrabber dnsmasq bridge-utils</span></p><h2>Inicio automático del demonio</h2><p>Configurar el demonio de <em>libvirtd</em> para que se inicie automáticamente junto con el sistema operativo.</p><p><span style="font-family: courier new,courier;"># vi <a title="/etc/rc.conf">/etc/rc.conf</a></span></p><p style="padding-left: 30px;"><span style="font-family: courier new,courier;">DAEMONS = (&#8230; libvirtd &#8230;)</span></p><p>Debe tenerse en cuenta que el demonio <span style="font-family: courier new,courier;">libvirtd</span> requiere ser invocado <span style="text-decoration: underline;">después</span> de <span style="font-family: courier new,courier;">dbus</span> y <span style="font-family: courier new,courier;">avahi-daemon</span>.</p><h2>Autorizar la administración a usuarios sin privilegios</h2><p>Si se desea que usuarios sin privilegios (diferentes de <span style="font-family: courier new,courier;">root</span>) administren las máquinas virtuales, estos deberán ser explícitamente autorizados de la siguiente manera.</p><p><span style="font-family: courier new,courier;"># vi <a title="/etc/polkit-1/localauthority/50-local.d/org.libvirt.unix.manage.pkla">/etc/polkit-1/localauthority/50-local.d/org.libvirt.unix.manage.pkla</a></span></p><p style="padding-left: 30px;"><span style="font-family: courier new,courier;">[Allow a user to manage virtual machines]</span><br /><span style="font-family: courier new,courier;"> Identity=unix-user:<strong><span style="color: #ff6600;">jimezam</span></strong></span><br /><span style="font-family: courier new,courier;"> Action=<strong><span style="color: #ff6600;">org.libvirt.unix.manage</span></strong></span><br /><span style="font-family: courier new,courier;"> ResultAny=yes</span><br /><span style="font-family: courier new,courier;"> ResultInactive=yes</span><br /><span style="font-family: courier new,courier;"> ResultActive=yes</span></p><p>Si en lugar de administración se desea conceder la autorización para monitorear las máquinas se deberá especificar la siguiente acción.</p><p style="padding-left: 30px;"><span style="font-family: courier new,courier;">org.libvirt.unix.monitor</span></p><h2>Permitir el acceso a través de SSH</h2><p>Para permitir el acceso a las máquinas virtuales a través de herramientas como <span style="font-family: 'courier new', courier;">virsh</span> o <span style="font-family: 'courier new', courier;">virt-viewer</span> a través del protocolo SSH (<span style="font-family: 'courier new', courier;">qemu+ssh</span>) es necesario contar con paquete <span style="font-family: 'courier new', courier;">netcat</span> de OpenBSD instalado de la siguiente manera.</p><p><span style="font-family: 'courier new', courier;">$ sudo pacman -S openbsd-netcat</span></p><p>Si se cuenta adicionalmente con el paquete <span style="font-family: 'courier new', courier;">netcat</span> convencional instalado es posible que este se haya apoderado del enlace <span style="font-family: 'courier new', courier;">/usr/bin/nc</span> y <span style="font-family: 'courier new', courier;">libvirt</span> intente utilizarlo erróneamente generando el siguiente mensaje de error.</p><p style="padding-left: 30px;"><span style="font-family: 'courier new', courier;">error: server closed connection: nc: invalid option &#8212; 'U'</span><br /><span style="font-family: 'courier new', courier;">Try `nc &#8211;help' for more information.</span><br /><span style="font-family: 'courier new', courier;">error: failed to connect to the hypervisor</span></p><p>En ese caso es necesario indicarle a <span style="font-family: 'courier new', courier;">libvirt</span> cual es la versión de <span style="font-family: 'courier new', courier;">netcat</span> que debe utilizar.  Esto se puede realizar desde los parámetros extra del URI <span style="text-decoration: underline;">en cada invocación de acceso</span> de la siguiente manera.</p><p><span style="font-family: 'courier new', courier;">$ virsh -d 0 &#8211;connect qemu+ssh://usuario@servidor/system?netcat=/usr/bin/nc.openbsd</span></p><p>O de <span style="text-decoration: underline;">manera permanente</span> modificando en el servidor el enlace <span style="font-family: 'courier new', courier;">/usr/bin/nc</span> de la siguiente manera.</p><p><span style="font-family: 'courier new', courier;">$ sudo mv /usr/bin/nc /usr/bin/nc.orig</span></p><p><span style="font-family: 'courier new', courier;">$ sudo ln -s /usr/bin/nc.openbsd /usr/bin/nc</span></p><h2>Enlaces</h2><ul><li>LibVirt en ArchLinux<a title="https://wiki.archlinux.org/index.php/Libvirt" href="https://wiki.archlinux.org/index.php/Libvirt"><br />https://wiki.archlinux.org/index.php/Libvirt</a></li><li>Remove Support on Libvirt<br /><a href="http://libvirt.org/remote.html" >http://libvirt.org/remote.html</a> </li></ul> ]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2011/11/instalando-libvirt-en-archlinux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalando KVM en ArchLinux</title>
		<link>http://blog.jorgeivanmeza.com/2011/11/instalando-kvm-en-archlinux/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=instalando-kvm-en-archlinux</link>
		<comments>http://blog.jorgeivanmeza.com/2011/11/instalando-kvm-en-archlinux/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=instalando-kvm-en-archlinux#comments</comments>
		<pubDate>Sun, 20 Nov 2011 04:18:20 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[ArchLinux]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[Linux/Solaris/BSD]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[virtualizacion]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=49694</guid>
		<description><![CDATA[Introducción Por fin he destinado el tiempo necesario para reintalar mi servido de desarrollo, esta vez utilizando ArchLinux.  Había utilizado con éxito esta distribución en un par de ocasiones sin embargo no había tenido la oportunidad de explorarla con mayor profundidad. A continuación se describen los pasos que se siguieron para instalar KVM en ArchLinux. [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción</h2><p>Por fin he destinado el tiempo necesario para reintalar mi servido de desarrollo, esta vez utilizando ArchLinux.  Había utilizado con éxito esta distribución en un par de ocasiones sin embargo no había tenido la oportunidad de explorarla con mayor profundidad.</p><p>A continuación se describen los pasos que se siguieron para instalar KVM en ArchLinux.</p><h2>Verificaciones preliminares</h2><p>Se requiere de un versión de kernel igual o superior a la 2.6.22.</p><p><span style="font-family: courier new,courier;"># uname -a</span></p><p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Linux ivy.jorgeivanmeza.com <strong><span style="color: #ff6600;">3.1.1-1</span></strong>-ARCH #1 SMP PREEMPT Fri Nov 11 22:28:29 CET 2011 x86_64 AMD Phenom(tm) 9650 Quad-Core Processor AuthenticAMD GNU/Linux</span></p><p>De igual manera se requiere que el procesador cuente con soporte físico para virtualización: VMX (Intel) o SVM (AMD).</p><p><span style="font-family: courier new,courier;"># grep -E "(vmx|svm)" &#8211;color=always /proc/cpuinfo</span></p><p style="padding-left: 30px;"><span style="font-family: courier new,courier;">flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy <strong><span style="color: #ff6600;">svm</span></strong> extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs npt lbrv svm_lock</span></p><h2>Instalación del software</h2><p>Instalar los paquetes del repositorio oficial.</p><p><span style="font-family: courier new,courier;"># pacman -S qemu-kvm</span></p><p>Agregar las cuentas de los usuarios que utilizarán el software al grupo <em>kvm</em> para que puedan acceder a <span style="font-family: courier new,courier;">/dev/kvm</span>.</p><p><span style="font-family: courier new,courier;"># gpasswd -a <strong><span style="color: #ff6600;">jimezam</span></strong> kvm</span></p><p>Verificar la carga de los módulos de kernel dependiendo del proveedor del procesador.</p><table border="0"><tbody><tr><td style="text-align: center;"><strong>Para Intel</strong></td><td style="text-align: center;"><strong>Para AMD</strong></td></tr><tr><td><p><span style="font-family: courier new,courier;"># modprobe kvm</span></p><p><span style="font-family: courier new,courier;"># modprobe kvm-intel</span></p></td><td><p><span style="font-family: courier new,courier;"># modprobe kvm</span></p><p><span style="font-family: courier new,courier;"># modprobe kvm-amd</span></p></td></tr></tbody></table><p>Una vez cargados deberán aparecer en el listado de módulos activos.</p><p><span style="font-family: courier new,courier;"># modprobe -l 'kvm*'</span></p><p style="padding-left: 30px;"><span style="font-family: courier new,courier;">kernel/arch/x86/kvm/kvm-amd.ko.gz</span><br /><span style="font-family: courier new,courier;">kernel/arch/x86/kvm/kvm.ko.gz</span></p><p>En caso de fallar la carga pero haber pasado la verificación inicial, verificar en la configuración de la BIOS si las extensiones de virtualización se encuentran desactivadas.</p><p>Configurar la carga automática de los módulos del kernel.</p><p><span style="font-family: courier new,courier;"><a title="/etc/rc.conf"># vi /etc/rc.conf</a></span></p><p style="padding-left: 30px;"><span style="font-family: courier new,courier;">MODULES=(kvm kvm-amd)</span></p><h2>Enlaces</h2><ul><li>KVM en ArchLinux<br /><a title="https://wiki.archlinux.org/index.php/KVM" href="https://wiki.archlinux.org/index.php/KVM">https://wiki.archlinux.org/index.php/KVM</a></li></ul> ]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2011/11/instalando-kvm-en-archlinux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problemas de permisos para ejecutar las máquinas KVM después actualizar a Ubuntu 10.10 Server</title>
		<link>http://blog.jorgeivanmeza.com/2010/12/problemas-de-permisos-para-ejecutar-las-maquinas-kvm-despues-actualizar-a-ubuntu-10-10-server/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=problemas-de-permisos-para-ejecutar-las-maquinas-kvm-despues-actualizar-a-ubuntu-10-10-server</link>
		<comments>http://blog.jorgeivanmeza.com/2010/12/problemas-de-permisos-para-ejecutar-las-maquinas-kvm-despues-actualizar-a-ubuntu-10-10-server/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=problemas-de-permisos-para-ejecutar-las-maquinas-kvm-despues-actualizar-a-ubuntu-10-10-server#comments</comments>
		<pubDate>Thu, 30 Dec 2010 05:03:15 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Linux/Solaris/BSD]]></category>
		<category><![CDATA[qemu]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=13308</guid>
		<description><![CDATA[Introducción. Después de actualizar mi servidor de desarrollo a Ubuntu 10.10 server empecé a tener problemas para iniciar las máquinas virtuales basadas en KVM.  Básicamente se quejaba por problemas de permisos en /u/vms donde se almacenan las imágenes de los discos duros virtuales (por defecto es /var/lib/libvirt/images -global- o ~/.libvirt/storage -usuario-). En los logs de [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción.</h2><p>Después de <a href="http://blog.jorgeivanmeza.com/2010/12/actualizar-gnulinux-ubuntu-server-10-04-a-10-10/" >actualizar mi servidor de desarrollo a Ubuntu 10.10</a> server empecé a tener problemas para iniciar las máquinas virtuales basadas en KVM.  Básicamente se quejaba por problemas de permisos en <span style="font-family: 'courier new', courier;">/u/vms</span> donde se almacenan las imágenes de los discos duros virtuales (por defecto es <span style="font-family: 'courier new', courier;">/var/lib/libvirt/images</span> -global- o <span style="font-family: 'courier new', courier;">~/.libvirt/storage</span> -usuario-).</p><p>En los <em>logs</em> de las máquinas virtuales ubicados bajo <span style="font-family: 'courier new', courier;">/var/log/libvirt/qemu</span> se pueden apreciar mensajes como el siguiente.</p><div style="padding-left: 30px;"><span style="font-family: 'courier new', courier;">char device redirected to /dev/pts/1</span></div><div style="padding-left: 30px;"><span style="font-family: 'courier new', courier;">qemu: <strong>could not open disk image</strong> /u/vms/sandbox_ubuntuserver-10.10_x64.img: <strong>Permission denied</strong></span></div><p>Las imágenes de los discos duros pertenecen a <span style="font-family: 'courier new', courier;">root:root</span> y esta relación es restaurada cada vez que se intenta ejecutar cada una de las máquinas virtuales así que modificarlas manualmente es infructuoso.</p><p><span style="font-family: 'courier new', courier;">$ ls -l /u/vms</span></p><p style="padding-left: 30px;"><span style="font-family: 'courier new', courier;">-rw&#8212;&#8212;- 1 root root  7516192768 2010-08-11 23:32 c-head.img<br /> -rw&#8212;&#8212;- 1 root root  7516192768 2010-08-04 18:21 c-wn1.img<br /> -rw&#8212;&#8212;- 1 root root  7516192768 2010-07-24 16:42 c-wn2.img<br /> -rw&#8212;&#8212;- 1 root root  7516192768 2010-07-15 00:34 c-wn3.img<br /> &#8230; </span></p><h2>Solución.</h2><p>Indicar explícitamente que <span style="font-family: 'courier new', courier;">root</span> será el grupo y el usuario que ejecutará los procesos de <a href="http://wiki.qemu.org/Main_Page" >QEMU</a>.  Para hacer esto es necesario realizar el siguiente ajuste de configuración.</p><p><span style="font-family: 'courier new', courier;">$ sudo vi /etc/libvirt/qemu.conf</span></p><p style="padding-left: 30px;"><span style="font-family: 'courier new', courier;"># The user ID for QEMU processes run by the system instance<br /> user = &#8220;root&#8221;</span></p><p style="padding-left: 30px;"><span style="font-family: 'courier new', courier;"># The group ID for QEMU processes run by the system instance<br /> group = &#8220;root&#8221;</span></p><p>Reiniciar el servicio para tener en cuenta los cambios recién realizados.</p><p><span style="font-family: 'courier new', courier;">$ sudo service libvirt-bin restart</span></p><h2>Conclusiones.</h2><p>Aparentemente la nueva versión de KVM en Ubuntu trae consigo cambios en la forma como este se ejecuta, siendo ahora bajo usuarios sin privilegios y antes como <span style="font-family: 'courier new', courier;">root</span>.  El proceso de actualización, al menos en mi caso, parece que no consiguió realizar todas las modificaciones necesarias para alcanzar este objetivo y por ello fue necesario indicar explícitamente que se utilizaba a <span style="font-family: 'courier new', courier;">root</span> para ejecutar los procesos (método antíguo).</p><p>Otra posible solución a este problema podría haber sido indicarle a QEMU/libvirt (o a quien corresponda) que efectivamente se desea ejecutar los procesos con usuarios sin privilegios (método nuevo) sin embargo por el momento no he logrado encontrar quien es el responsable de los cambios de estos cambios de propiedad de los archivos.</p><h2>Enlaces.</h2><ul><li>Libvirt/kvm permissions/ownership issue on upgrade from Karmic to Lucid<br /> <a href="https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/599910" >https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/599910</a></li><li>QEMU/KVM hypervisor driver.<br /> <a href="http://libvirt.org/drvqemu.html" >http://libvirt.org/drvqemu.html</a></li></ul><p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http://blog.jorgeivanmeza.com/2010/12/problemas-de-permisos-para-ejecutar-las-maquinas-kvm-despues-actualizar-a-ubuntu-10-10-server/&amp;layout=box_count&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=65&amp;font=lucida+grande' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p><fb:share -button href="http://blog.jorgeivanmeza.com/2010/12/problemas-de-permisos-para-ejecutar-las-maquinas-kvm-despues-actualizar-a-ubuntu-10-10-server/" type="box_count"></fb:share>]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2010/12/problemas-de-permisos-para-ejecutar-las-maquinas-kvm-despues-actualizar-a-ubuntu-10-10-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cluster-C: clonar dos nuevos nodos virtualizados con KVM al cluster</title>
		<link>http://griduam.labs.net.co/blog/archives/51</link>
		<comments>http://griduam.labs.net.co/blog/archives/51#comments</comments>
		<pubDate>Thu, 15 Jul 2010 03:53:32 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[Clonar]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[Dirección IP]]></category>
		<category><![CDATA[Hostname]]></category>
		<category><![CDATA[Hosts]]></category>
		<category><![CDATA[Instalación & configuración]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[libvirt]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[Worker Node]]></category>

		<guid isPermaLink="false">http://griduam.labs.net.co/blog/?p=51</guid>
		<description><![CDATA[Introducción. En el presente artículo se trata el tema de crear dos nuevos nodos trabajadores (c-wn3 y c-wn4) también virtualizados con KVM y agregarlos al cluster para aumentar su capacidad de cómputo. Clonar las nuevas máquinas virtuales. Gracias a las facilidades que provee la virtualización es posible evitar la necesidad de repetir la gran mayoría [...]]]></description>
			<content:encoded><![CDATA[<h1>Introducción.</h1>
<p>En el presente artículo se trata el tema de crear dos nuevos nodos trabajadores (<span style="font-family: courier new,courier;">c-wn3</span> y <span style="font-family: courier new,courier;">c-wn4</span>) también virtualizados con KVM y agregarlos al cluster para aumentar su capacidad de cómputo.</p>
<h1>Clonar las nuevas máquinas virtuales.</h1>
<p>Gracias a las facilidades que provee la virtualización es posible evitar la necesidad de repetir la gran mayoría de tareas de instalación y configuración de los nodos al clonar a uno de ellos, en este caso crearemos los nuevos nodos a partir del <span style="font-family: courier new,courier;">c-wn1</span>.</p>
<p>Desde el servidor de máquinas virtuales ejecutar los siguientes  comandos.</p>
<p><strong>ADVERTENCIA</strong>: para que la clonación se pueda realizar, la máquina  virtual de orígen, en este caso <span style="font-family: courier new,courier;">c-wn1</span> deberá estar apagado.</p>
<p><span style="font-family: courier new,courier;">$ virt-clone &#8211;connect=qemu:///system  \<br />
-o <strong>c-wn1</strong> \<br />
-n <strong>c-wn3</strong> \<br />
-f  /u/vms/<strong>c-wn3</strong>.img</span></p>
<p><span style="font-family: courier new,courier;">$ virt-clone &#8211;connect=qemu:///system  \<br />
-o  <strong>c-wn1</strong> \<br />
-n <strong>c-wn4</strong> \<br />
-f /u/vms/<strong>c-wn4</strong>.img</span></p>
<h1>Iniciar las máquinas virtuales.</h1>
<p>Nuevamente desde el servidor es necesario ejecutar los siguientes  comandos para iniciar las máquinas virtuales de los nodos trabajadores  para su posterior configuración.</p>
<p><span style="font-family: courier new,courier;">$ virsh start <strong>c-wn3</strong></span></p>
<p><span style="font-family: courier new,courier;">$ virsh start <strong>c-wn4</strong></span></p>
<h1>Conectarse a las máquinas virtuales.</h1>
<p>Desde el equipo cliente que se utiliza para la administración de las  máquinas virtuales ejecute los siguientes comandos.</p>
<p><span style="font-family: courier new,courier;">$ virt-viewer -c  qemu+ssh://<strong>ivy</strong>/system <strong>c-wn3</strong></span></p>
<p><span style="font-family: courier new,courier;">$ virt-viewer -c  qemu+ssh://<strong>ivy</strong>/system <strong>c-wn4</strong></span></p>
<h1>Actualizar el hostname.</h1>
<p>Editar el archivo <span style="font-family: courier new,courier;">/etc/sysconfig/network</span> de cada uno de los nuevos nodos y actualizarlo con su información específica.  Para el nodo<strong> <span style="font-family: courier new,courier;">c-wn3</span></strong> utilizar el siguiente contenido.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">NETWORKING=yes<br />
NETWORKING_IPV6=no<br />
GATEWAY=192.168.1.1<br />
HOSTNAME=<strong>c-wn3.jorgeivanmeza.com</strong></span></p>
<p>Para <span style="font-family: courier new,courier;"><strong>c-wn4</strong></span> utilizar el siguiente contenido.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">NETWORKING=yes<br />
NETWORKING_IPV6=no<br />
GATEWAY=192.168.1.1<br />
HOSTNAME=<strong>c-wn4.jorgeivanmeza.com</strong></span></p>
<h1>Actualizar la dirección IP.</h1>
<p>Editar el archivo  <span style="font-family: courier new,courier;">/etc/sysconfig/network-scripts/ifcfg-eth0</span> de cada uno de los nuevos nodos y  actualizarlo con su  información específica.  Para el nodo<strong> <span style="font-family: courier new,courier;">c-wn3</span></strong> utilizar  el siguiente contenido.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">DEVICE=eth0<br />
BOOTPROTO=static<br />
TYPE=Ethernet<br />
ONBOOT=yes<br />
HWADDR=&lt;dejar la existente&gt;<br />
NETMASK=255.255.255.0<br />
IPADDR=<strong>192.168.1.213</strong></span></p>
<p>Para<span style="font-family: courier new,courier;"> <strong>c-wn4</strong></span> utilizar la  siguiente información.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">DEVICE=eth0<br />
BOOTPROTO=static<br />
TYPE=Ethernet<br />
ONBOOT=yes<br />
HWADDR=</span><span style="font-family: courier new,courier;">&lt;dejar la existente&gt;</span><br />
<span style="font-family: courier new,courier;"> NETMASK=255.255.255.0<br />
IPADDR=<strong>192.168.1.214</strong></span></p>
<p>Reiniciar las máquinas<span style="font-family: courier new,courier;"> c-wn3</span> y <span style="font-family: courier new,courier;">c-wn4</span> para que los cambios en la configuración recién realizados tengan efecto.</p>
<h1>Actualizar la configuración de hosts.</h1>
<p>Editar el archivo <span style="font-family: courier new,courier;">/etc/hosts</span> del servidor <span style="font-family: courier new,courier;"><strong>c-head</strong></span> y actualizarlo con la información específica de cada uno de los  nodos.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;"># Do not remove the following line, or various programs<br />
# that require network functionality will fail.<br />
127.0.0.1    localhost.localdomain localhost<br />
::1          localhost6.localdomain6 localhost6</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">192.168.1.210    c-head.jorgeivanmeza.com c-head c-nfs.jorgeivanmeza.com c-nfs<br />
192.168.1.211    c-wn1.jorgeivanmeza.com c-wn1<br />
192.168.1.212    c-wn2.jorgeivanmeza.com c-wn2<br />
<strong>192.168.1.213    c-wn3.jorgeivanmeza.com c-wn3<br />
192.168.1.214    c-wn4.jorgeivanmeza.com c-wn4</strong></span></p>
<p>Posteriormente es necesario replicar esta nueva especificación de los <em>hosts</em> a los demás nodos del cluster, para esto es necesario que todos se encuentren en ejecución.</p>
<p><span style="font-family: courier new,courier;"># scp /etc/hosts c-wn1:/etc/hosts</span></p>
<p><span style="font-family: courier new,courier;"># scp /etc/hosts c-wn2:/etc/hosts</span></p>
<p><span style="font-family: courier new,courier;"># scp /etc/hosts <strong>c-wn3</strong>:/etc/hosts</span></p>
<p><span style="font-family: courier new,courier;"># scp /etc/hosts <strong>c-wn4</strong>:/etc/hosts</span></p>
<h1>Configurar la autenticación basada en el huésped para <span style="font-family: courier new,courier;">root</span>.</h1>
<p>En el nodo cabeza (<span style="font-family: courier new,courier;">c-head</span>)  ejecutar los siguientes comandos para listar las llaves de los <em>hosts</em> conocidos en el cluster.</p>
<p><span style="font-family: courier new,courier;"># cd /root</span></p>
<p><span style="font-family: courier new,courier;"># ssh-keyscan -t rsa,dsa c-head c-head.jorgeivanmeza.com c-nfs c-nfs.jorgeivanmeza.com c-wn1 c-wn1.jorgeivanmeza.com c-wn2 c-wn2.jorgeivanmeza.com <strong>c-wn3 c-wn3.jorgeivanmeza.com c-wn4 c-wn4.jorgeivanmeza.com</strong><span style="font-family: courier new,courier;"> &gt; ssh_known_hosts</span></span></p>
<p><span style="font-family: courier new,courier;"># mv ssh_known_hosts /etc/ssh/ssh_known_hosts</span></p>
<p><span style="font-family: courier new,courier;"># chown root:root /etc/ssh/ssh_known_hosts</span></p>
<p><span style="font-family: courier new,courier;"># chmod 644 /etc/ssh/ssh_known_hosts</span></p>
<p>Propagar el archivo <span style="font-family: courier new,courier;">ssh_known_hosts</span> a los nodos trabajadores.</p>
<p><span style="font-family: courier new,courier;"># scp /etc/ssh/ssh_known_hosts c-wn1:/etc/ssh/ssh_known_hosts</span></p>
<p><span style="font-family: courier new,courier;"># scp /etc/ssh/ssh_known_hosts c-wn2:/etc/ssh/ssh_known_hosts</span></p>
<p><span style="font-family: courier new,courier;"># scp /etc/ssh/ssh_known_hosts <strong>c-wn3</strong>:/etc/ssh/ssh_known_hosts</span></p>
<p><span style="font-family: courier new,courier;"># scp /etc/ssh/ssh_known_hosts <strong>c-wn4</strong>:/etc/ssh/ssh_known_hosts</span></p>
<h1>Creación del archivo de <span style="font-family: courier new,courier;">.shosts</span>.</h1>
<p>En el nodo cabeza (<span style="font-family: courier new,courier;">c-head</span>) ejecutar los  siguientes comandos.</p>
<p><span style="font-family: courier new,courier;"># cut -d&#8217; &#8216; -f1 &lt; /etc/ssh/ssh_known_hosts|sort -u | grep -v , &gt; shosts</span></p>
<p><span style="font-family: courier new,courier;"># mv shosts /root/.shosts</span></p>
<p><span style="font-family: courier new,courier;"># chown root:root /root/.shosts</span></p>
<p><span style="font-family: courier new,courier;"># chmod 600 /root/.shosts</span></p>
<p>Propagar el archivo <span style="font-family: courier new,courier;">.shosts</span> a los  nodos trabajadores.</p>
<p><span style="font-family: courier new,courier;"># scp /root/.shosts c-wn1:/root/.shosts</span></p>
<p><span style="font-family: courier new,courier;"># scp /root/.shosts c-wn2:/root/.shosts</span></p>
<p><span style="font-family: courier new,courier;"># scp /root/.shosts <strong>c-wn3</strong>:/root/.shosts</span></p>
<p><span style="font-family: courier new,courier;"># scp /root/.shosts <strong>c-wn4</strong>:/root/.shosts</span></p>
<h1>Definir los archivos de configuración de Condor para los nuevos nodos del cluster.</h1>
<p>En el nodo cabeza (<span style="font-family: courier new,courier;">c-head</span>) ejecutar los   siguientes comandos para especificar archivos de configuración según los <em>hostnames</em> de los nuevos nodos.</p>
<p><span style="font-family: courier new,courier;"># cd /nfs/condor/condor-etc/</span></p>
<p><span style="font-family: courier new,courier;"># ln -s condor_config.<strong>worker</strong> condor_config.<strong>c-wn3</strong></span></p>
<p><span style="font-family: courier new,courier;"># ln -s condor_config.<strong>worker</strong> condor_config.<strong>c-wn4</strong></span></p>
<p>Establecer las ubicaciones locales necesarias para almacenar la información de registros y colas para los nuevos nodos.</p>
<p><span style="font-family: courier new,courier;"># cd ~condor/hosts</span></p>
<p><span style="font-family: courier new,courier;"># mkdir -p <strong>c-wn3</strong>/execute <strong>c-wn3</strong>/log <strong>c-wn3</strong>/spool</span></p>
<p><span style="font-family: courier new,courier;"># mkdir -p <strong>c-wn4</strong>/execute <strong>c-wn4</strong>/log <strong>c-wn4</strong>/spool</span></p>
<p><span style="font-family: courier new,courier;"># chmod a+rwx <strong>c-wn3</strong>/execute <strong>c-wn4</strong>/execute</span></p>
<p><span style="font-family: courier new,courier;"># chmod +t <strong>c-wn3</strong>/execute <strong>c-wn4</strong>/execute</span></p>
<p><span style="font-family: courier new,courier;"># chown -R condor:condor ~condor/hosts/<strong>c-wn3</strong> ~condor/hosts/<strong>c-wn4</strong></span></p>
<p>Se recomienda reiniciar el servicio de Condor o la máquina completa para garantizar que todos las modificaciones recién realizadas sean tenidos en cuenta.</p>
<h1>Verificar la inclusión de los nuevos nodos al cluster.</h1>
<p>Desde el nodo cabeza del cluster (<span style="font-family: courier new,courier;">c-head</span>) ejecutar los siguientes comandos para verificar su <em>pool</em> de nodos.</p>
<p><span style="font-family: courier new,courier;"># condor_status</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Name               OpSys      Arch   State     Activity LoadAv Mem   ActvtyTime</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">c-wn1.jorgeivanmez LINUX      X86_64 Unclaimed Idle     1.780   246  0+00:00:04<br />
c-wn2.jorgeivanmez LINUX      X86_64 Unclaimed Idle     2.410   246  0+00:00:04<br />
<strong>c-wn3</strong></span> <span style="font-family: courier new,courier;">.jorgeivanmez LINUX      X86_64 Unclaimed Idle     1.830   246  0+00:00:04<br />
<strong>c-wn4</strong></span> <span style="font-family: courier new,courier;">.jorgeivanmez LINUX      X86_64 Unclaimed Idle     2.240   246  0+00:00:04<br />
Total Owner Claimed Unclaimed Matched Preempting Backfill</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">X86_64/LINUX     4     0       0         4       0          0        0</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Total     4     0       0         4       0          0        0</span></p>
<p><span style="font-family: courier new,courier;"># condor_status -java</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Name               JavaVendor Ver    State     Activity LoadAv Mem   ActvtyTime</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">c-wn1.jorgeivanmez Sun Micros 1.6.0_ Unclaimed Idle     1.780   246  0+00:00:04<br />
c-wn2.jorgeivanmez Sun Micros 1.6.0_ Unclaimed Idle     2.410   246  0+00:00:04<br />
<strong>c-wn3</strong></span> <span style="font-family: courier new,courier;">.jorgeivanmez Sun Micros 1.6.0_ Unclaimed Idle     1.830   246  0+00:00:04<br />
<strong>c-wn4</strong></span> <span style="font-family: courier new,courier;">.jorgeivanmez Sun Micros 1.6.0_ Unclaimed Idle     2.240   246  0+00:00:04<br />
Total Owner Claimed Unclaimed Matched Preempting Backfill</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">X86_64/LINUX     4     0       0         4       0          0        0</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Total     4     0       0         4       0          0        0</span></p>
]]></content:encoded>
			<wfw:commentRss>http://griduam.labs.net.co/blog/archives/51/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cluster-C: Configuración del servicio SSH entre los nodos</title>
		<link>http://griduam.labs.net.co/blog/archives/10</link>
		<comments>http://griduam.labs.net.co/blog/archives/10#comments</comments>
		<pubDate>Tue, 08 Jun 2010 03:08:20 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[autenticacion]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[Instalación & configuración]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[libvirt]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[ssh-agent]]></category>

		<guid isPermaLink="false">http://griduam.labs.net.co/blog/?p=10</guid>
		<description><![CDATA[Introducción. En el presente artículo se especifica la configuración del servicio necsario para asegurar los nodos bajo una infraestructura basada en llaves SSH la cual permitirá al usuario root las siguientes acciones. Acceso SSH desde el nodo de adminstración y cada uno de los demás nodos del cluster. Acceso SSH entre todos los nodos cabeza [...]]]></description>
			<content:encoded><![CDATA[<h1>Introducción.</h1>
<p>En el presente artículo se especifica la configuración del servicio necsario para asegurar los nodos bajo una infraestructura basada en llaves SSH la cual permitirá al usuario <span style="font-family: courier new,courier;">root</span> las siguientes acciones.</p>
<ul>
<li>Acceso SSH desde el nodo de adminstración y cada uno de los demás nodos del cluster.</li>
<li>Acceso SSH entre todos los nodos cabeza del cluster.</li>
<li>Acceso SSH entre los nodos cabeza y los nodos de trabajo del cluster.</li>
</ul>
<h1>Iniciar los nodos del cluster.</h1>
<p>Para realizar las siguientes tareas de configuración es necesario garantizar que todos los nodos del cluster: cabeza y trabajadores, se encuentren activos.  Para hacer esto desde el servidor de máquinas virtuales ejecute los siguientes comandos.</p>
<p><span style="font-family: courier new,courier;"># virsh start c-head</span></p>
<p><span style="font-family: courier new,courier;"># virsh start c-wn1</span></p>
<p><span style="font-family: courier new,courier;"># virsh start c-wn2</span></p>
<h1>Configuración general del servicio.</h1>
<p>Los pasos de configuración descritos a continuación se deberán realizar en <span style="font-family: courier new,courier;"><strong>c-head</strong></span> y desde allí serán propagados a los distintos nodos trabajadores.</p>
<p>Realizar una copia de seguridad de la configuración actual del servicio.</p>
<p><span style="font-family: courier new,courier;"># mv /etc/ssh/sshd_config /etc/ssh/sshd_config.orig</span></p>
<p>Crear el nuevo archivo de configuración del servicio.</p>
<p><span style="font-family: courier new,courier;"># vi /etc/ssh/sshd_config</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Protocol 2</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;"># No passwords<br />
PermitRootLogin without-password<br />
## <strong>PasswordAuthentication no</strong><br />
PermitEmptyPasswords no<br />
UsePAM no</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;"># Pub keys configuration<br />
RSAAuthentication yes<br />
DSAAuthentication yes<br />
AuthorizedKeysFile .ssh/authorized_keys<br />
KerberosAuthentication no<br />
GSSAPIAuthentication no<br />
GSSAPICleanupCredentials no</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;"># Hostbased and pubkey yes<br />
PubkeyAuthentication yes<br />
ChallengeResponseAuthentication no<br />
X11Forwarding no</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;"># Hostbased<br />
HostbasedAuthentication yes<br />
IgnoreRhosts no</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">#OPTIONALLY DON&#8217;T CHECK gethostbyaddr(), TRUST CLIENT<br />
#HostbasedUsesNameFromPacketOnly yes</span></p>
<p><span style="font-family: courier new,courier;"># chmod 600 /etc/ssh/sshd_config</span></p>
<p>Propagar el nuevo archivo de configuración a los nodos trabajadores.</p>
<p><span style="font-family: courier new,courier;"># scp /etc/ssh/sshd_config <strong>jimezam</strong>@<strong>c-wn1</strong>:/tmp</span></p>
<p><span style="font-family: courier new,courier;"># scp /etc/ssh/sshd_config <strong>jimezam</strong>@<strong>c-wn2</strong>:/tmp</span></p>
<p>En cada uno de los nodos, <span style="font-family: courier new,courier;"><strong>c-wn1</strong></span> y <span style="font-family: courier new,courier;"><strong>c-wn2</strong></span>, ubique apropiadamente el archivo de configuración recién copiado ejecutando los siguientes comandos.</p>
<p><span style="font-family: courier new,courier;"># mv /tmp/sshd_config /etc/ssh/sshd_config</span></p>
<p><span style="font-family: courier new,courier;"># chown root:root /etc/ssh/sshd_config</span></p>
<p><span style="font-family: courier new,courier;"># chmod 400 /etc/ssh/sshd_config</span></p>
<h1>Configurar la autenticación basada en el huésped para <span style="text-decoration: underline;"><span style="font-family: courier new,courier;">root</span></span>.</h1>
<p>En el nodo cabeza (<span style="font-family: courier new,courier;">c-head</span>) ejecutar los siguientes comandos.</p>
<p><span style="font-family: courier new,courier;"># cd /root</span></p>
<p><span style="font-family: courier new,courier;"># ssh-keyscan -t rsa,dsa c-head c-head.jorgeivanmeza.com c-nfs c-nfs.jorgeivanmeza.com c-wn1 c-wn1.jorgeivanmeza.com c-wn2 c-wn2.jorgeivanmeza.com &gt; ssh_known_hosts</span></p>
<p><span style="font-family: courier new,courier;"># mv ssh_known_hosts /etc/ssh/ssh_known_hosts</span></p>
<p><span style="font-family: courier new,courier;"># chown root:root /etc/ssh/ssh_known_hosts</span></p>
<p><span style="font-family: courier new,courier;"># chmod 644 /etc/ssh/ssh_known_hosts</span></p>
<p>Propagar el archivo <span style="font-family: courier new,courier;">ssh_known_hosts</span> a los nodos trabajadores.</p>
<p><span style="font-family: courier new,courier;"># scp /etc/ssh/ssh_known_hosts <strong>jimezam</strong>@<strong>c-wn1</strong>:/tmp/ssh_known_hosts</span></p>
<p><span style="font-family: courier new,courier;"># scp /etc/ssh/ssh_known_hosts <strong>jimezam</strong>@<strong>c-wn2</strong>:/tmp/ssh_known_hosts</span></p>
<p>En cada uno de los nodos, <span style="font-family: courier new,courier;"><strong>c-wn1</strong></span> y <span style="font-family: courier new,courier;"><strong>c-wn2</strong></span>, ubique  apropiadamente el archivo de huéspedes conocidos recién copiado ejecutando los  siguientes comandos.</p>
<p><span style="font-family: courier new,courier;"># mv /tmp/ssh_known_hosts /etc/ssh/ssh_known_hosts</span></p>
<p><span style="font-family: courier new,courier;"># chown root:root  /etc/ssh/ssh_known_hosts</span></p>
<p><span style="font-family: courier new,courier;"># chmod  644 /etc/ssh/ssh_known_hosts</span></p>
<h1>Creación del archivo de <span style="font-family: courier new,courier;">.shosts</span>.</h1>
<p>El archivo <span style="font-family: courier new,courier;">.shosts</span> corresponde al listado de huéspedes contenidos en <span style="font-family: courier new,courier;">ssh_known_hosts</span> sin sus respectivas llaves.  Este archivo también deberá ser replicado en los demás nodos del cluster.</p>
<p>En el nodo cabeza (c-head) ejecutar los  siguientes comandos.</p>
<p><span style="font-family: courier new,courier;"># cut -d&#8217; &#8216; -f1 &lt; /etc/ssh/ssh_known_hosts|sort -u | grep -v , &gt; shosts</span></p>
<p><span style="font-family: courier new,courier;"># mv shosts /root/.shosts</span></p>
<p><span style="font-family: courier new,courier;"># chown root:root /root/.shosts</span></p>
<p><span style="font-family: courier new,courier;"># chmod 600 /root/.shosts</span></p>
<p>Propagar el archivo <span style="font-family: courier new,courier;">.shosts</span> a los  nodos trabajadores.</p>
<p><span style="font-family: courier new,courier;"># scp /root/.shosts <strong>jimezam</strong>@<strong>c-wn1</strong>:/tmp/.shosts</span></p>
<p><span style="font-family: courier new,courier;"># scp /root/.shosts <strong>jimezam</strong>@<strong>c-wn2</strong>:/tmp/.shosts</span></p>
<p>En cada uno de los nodos, <span style="font-family: courier new,courier;"><strong>c-wn1</strong></span> y <span style="font-family: courier new,courier;"><strong>c-wn2</strong></span>,  ubique  apropiadamente el archivo de huéspedes confiables recién copiado  ejecutando los  siguientes comandos.</p>
<p><span style="font-family: courier new,courier;"># mv /tmp/.shosts /root/.shosts<br />
</span></p>
<p><span style="font-family: courier new,courier;"># chown root:root  /root/.shosts</span></p>
<p><span style="font-family: courier new,courier;"># chmod 600  /root/.shosts</span></p>
<h1>Agregar nuevos nodos al cluster.</h1>
<p>Si se agregan nuevos nodos al cluster es necesario que estos se  conviertan en huéspedes conocidos.  Para hacer esto es necesario  actualizar el archivo manipulado en el punto anterior con sus nuevas  llaves y propagado a todos y cada uno de los demás nodos.</p>
<p>Para  obtener las llaves que deberán concatenarse con las ya existentes se  deberá ejecutar el siguiente comando con una lista de los <em>hostnames</em> de los nuevos nodos separados por espacio.</p>
<p><span style="font-family: courier new,courier;"># ssh-keyscan -t rsa,dsa <strong>nodo1  nodo2 nodo3</strong> &gt;&gt; /etc/ssh/ssh_known_hosts</span></p>
<p>De igual manera será necesario que se actualice el archivo<span style="font-family: courier new,courier;"><span style="font-family: andale mono,times;"> </span>.shosts</span> de todos los nodos del cluster de la manera como se describe en el apartado anterior.</p>
<h1>Actualizar la configuración de los clientes.</h1>
<p>Es necesario indicarle al cliente SSH que confíe en el método de autenticación basado en los huéspedes recién configurado.  Para hacer esto es necesario realizar el siguiente paso en cada uno de los nodos del cluster.</p>
<p><span style="font-family: courier new,courier;"># vi /etc/ssh/ssh_config</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">HostbasedAuthentication   yes</span><br />
<span style="font-family: courier new,courier;">EnableSSHKeysign          yes</span></p>
<p><span style="font-family: courier new,courier;"># /etc/init.d/sshd restart</span></p>
<h1>Verificar la autenticación basada en el huésped para <span style="font-family: courier new,courier;"><span style="text-decoration: underline;">root</span></span>.</h1>
<p>Si la configuración de la autenticación basada en el huésped fue exitosa, el usuario root podrá iniciar una sesión SSH en cualquier nodo desde cualquier otro sin necesidad de autenticarse nuevamente con una contraseña.</p>
<p>Por ejemplo, desde el <span style="font-family: courier new,courier;">c-wn1</span> se deberá poder abrir sesiones a <span style="font-family: courier new,courier;">c-wn2</span> y <span style="font-family: courier new,courier;">c-head </span>sin que se requiera una contraseña para el usuario root.</p>
<p><span style="font-family: courier new,courier;"># hostname</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;"><strong>c-wn1</strong>.jorgeivanmeza.com<br />
</span></p>
<p><span style="font-family: courier new,courier;"># ssh <strong>root@c-head</strong></span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Last login: Mon Jun  7 20:44:42 2010 from <strong>c-wn1</strong></span></p>
<p><span style="font-family: courier new,courier;"># hostname</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;"><strong>c-head</strong>.jorgeivanmeza.com</span></p>
<h1>Configurar la autenticación basada llaves públicas para <span style="text-decoration: underline;">usuarios sin privilegios</span>.</h1>
<p>Esta estrategia permitirá que los usuarios convencionales (no <span style="font-family: courier new,courier;">root</span>) puedan acceder a sus respectivas cuentas entre nodos sin necesidad de una nueva autenticación por contraseña.  Inicialmente será necesario replicar los archivos con las llaves públicas de cada uno de los usuarios pero posteriormente este proceso se simplificará ya que el directorio de las cuentas de  usuario (<span style="font-family: courier new,courier;">/home</span>) estará compartido por NFS y sólo será necesario que se genere el archivo <span style="font-family: courier new,courier;">authorized_keys</span> para cada uno de los archivos que requieran de esta facilidad.</p>
<p>Iniciar sesión con el usuario sin privilegios al cual se le va a configurar la autenticación basada en llave pública.  Por ejemplo: <span style="font-family: courier new,courier;">jimezam</span>.  Con el usuario elegido y en cada uno de los nodos crear el directorio<span style="font-family: courier new,courier;"> .ssh</span> de la siguiente manera.</p>
<p><span style="font-family: courier new,courier;">$ mkdir ~/.ssh/ &amp;&amp; cd ~/.ssh/</span></p>
<p><span style="font-family: courier new,courier;">$ chmod 700 ~/.ssh</span></p>
<p>Desde uno de los nodos, <span style="font-family: courier new,courier;">c-head</span> por ejemplo, ejecutar los comandos descritos a continuación.</p>
<p><span style="font-family: courier new,courier;">$ ssh-keygen -t dsa</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Generating public/private dsa key pair.<br />
Enter file in which to save the key (<strong>/home/jimezam/.ssh/id_dsa</strong>):<br />
Enter passphrase (empty for no passphrase): <span style="color: #ff0000;"><strong>Romeo</strong></span><br />
Enter same passphrase again: </span><span style="color: #ff0000;"><span style="font-family: courier new,courier;"><strong>Romeo</strong></span></span><br />
<span style="font-family: courier new,courier;">Your <strong>identification</strong> has been saved in <strong>/home/jimezam/.ssh/id_dsa</strong>.<br />
Your <strong>public key</strong> has been saved in <strong>/home/jimezam/.ssh/id_dsa.pub</strong>.<br />
The <strong>key fingerprint</strong> is:<br />
98:ef:03:e3:8d:89:2e:7d:d5:b6:2b:5d:a6:11:3d:37 <strong>jimezam@c-head.jorgeivanmeza.com</strong></span></p>
<p><span style="font-family: courier new,courier;">$ cat id_dsa.pub &gt;&gt; authorized_keys</span></p>
<p><span style="font-family: courier new,courier;">$ chmod 600 authorized_keys<br />
</span></p>
<p><span style="font-family: courier new,courier;">$ chmod 600 id_dsa</span></p>
<p><span style="font-family: courier new,courier;"> </span>Replicar la llave pública del usuario en los demás nodos del cluster.  Este paso será obviado cuando el directorio de cuentas de usuario sea único al estar compartido por NFS.</p>
<p><span style="font-family: courier new,courier;">$ scp authorized_keys  jimezam@c-wn1:/home/jimezam/.ssh/</span></p>
<p><span style="font-family: courier new,courier;">$ scp authorized_keys  jimezam@c-wn2:/home/jimezam/.ssh/</span></p>
<p><span style="font-family: courier new,courier;">$ scp id_dsa  jimezam@c-wn1:/home/jimezam/.ssh/</span></p>
<p><span style="font-family: courier new,courier;">$ scp id_dsa  jimezam@c-wn2:/home/jimezam/.ssh/</span></p>
<h1>Verificar la autenticación basada llave primaria para <span style="text-decoration: underline;">usuarios sin privilegios</span>.</h1>
<p>Si la configuración de la autenticación basada en la llave primaria fue  exitosa, el usuario sin privilegios podrá iniciar una sesión SSH en cualquier nodo  desde cualquier otro sin necesidad de autenticarse nuevamente con una  contraseña, sin embargo deberá proporcionar la frase secreta (<em>passphrase</em>) con la que se encriptó su llave durante el proceso de creación (<span style="font-family: courier new,courier;">ssh-keygen</span>).</p>
<p>Por ejemplo, desde el <span style="font-family: courier new,courier;">c-wn1</span> se deberá poder abrir sesiones a <span style="font-family: courier new,courier;">c-wn2</span> y <span style="font-family: courier new,courier;">c-head</span> sin que se requiera una contraseña  para el usuario <span style="font-family: courier new,courier;">jimezam</span>.</p>
<p><span style="font-family: courier new,courier;">$ hostname</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;"><strong>c-wn1</strong>.jorgeivanmeza.com</span></p>
<p><span style="font-family: courier new,courier;">$ ssh <strong>jimezam</strong>@<strong>c-head</strong></span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Enter <strong>passphrase</strong> for key &#8216;<strong>/home/jimezam/.ssh/id_dsa</strong>&#8216;: </span><span style="font-family: courier new,courier;"><span style="color: #ff0000;"><strong>Romeo</strong></span></span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Last login: Mon Jun  7 21:19:21 2010 from c-wn2</span></p>
<p><span style="font-family: courier new,courier;">$ hostname</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;"><strong>c-head</strong>.jorgeivanmeza.com</span></p>
<h1>Utilizar <span style="font-family: courier new,courier;">ssh-agent</span> para recordar las frases secretas.</h1>
<p>Es posible minimizar el número de veces que se hace necesario introducir las frases secretas para acceder a las cuentas de un usuario en diferentes nodos según los procedimientos descritos antes en este artículo.  Esto se logra utilizando la aplicación <span style="font-family: courier new,courier;">ssh-agent</span> que se encarga de memorizar las frases secretas durante la sesión del usuario así que estas sólo serán solicitadas una vez por sesión.</p>
<p>El aplicativo puede accederse directamente desde la línea de comando o pueden utilizarse versiones GUI mas elaboradas como el <a href="http://live.gnome.org/GnomeKeyring" >GNOME KeyRing</a> que es la versión de este software adaptada al escritorio de GNOME.</p>
<p>Para utilizarlo es necesario que el <em>shell</em> que se está utilizando esté cubierto por el <span style="font-family: courier new,courier;">ssh-agent</span>, lo cual puede hacerse de la siguiente manera.</p>
<p><span style="font-family: courier new,courier;">$ ssh-agent /bin/bash</span></p>
<p>Posteriormente ejecute el comando <span style="font-family: courier new,courier;">ssh-add</span> e ingrese las frases secretas que requiera.</p>
<p><span style="font-family: courier new,courier;">$ ssh-add</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Enter passphrase for /home/jimezam/.ssh/id_dsa: <span style="color: #ff0000;"><strong>Romeo</strong></span><br />
Identity added: /home/jimezam/.ssh/id_dsa (/home/jimezam/.ssh/id_dsa)</span></p>
<p>A partir de este momento y mientras dure la sesión, la llave podrá ser utilizada sin la necesidad de ingresar manualmente la frase secreta para desencriptarla.</p>
<h2>Solución de problemas.</h2>
<p>Al intentar ejecutar el comando <span style="font-family: courier new,courier;">ssh-add</span> es posible que reciba el siguiente mensaje de error.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Could not open a connection to your authentication agent.</span></p>
<p>Esto significa que el <em>shell</em> que se está utilizando no fue abierto bajo el <span style="font-family: courier new,courier;">ssh-agent</span> y por lo tanto no conoce cual es su proceso.  Para solucionar esto de manera temporal puede ejecutar una de las siguientes dos soluciones.</p>
<p><span style="font-family: courier new,courier;">$ eval `ssh-agent`</span></p>
<p>o reiniciar el shell bajo el agente.</p>
<p><span style="font-family: courier new,courier;">$ exec ssh-agent bash </span></p>
<h1>Enlaces.</h1>
<ul>
<li>Cluster configure SSH.<br />
<a href="https://twiki.grid.iu.edu/bin/view/ReleaseDocumentation/ClusterConfigureSSH" >https://twiki.grid.iu.edu/bin/view/ReleaseDocumentation/ClusterConfigureSSH</a></li>
<li>Configuring automatic ssh login between all users of two hosts.<br />
<a href="http://itg.chem.indiana.edu/inc/wiki/software/openssh/189.html" >http://itg.chem.indiana.edu/inc/wiki/software/openssh/189.html</a></li>
<li>Using ssh-agent for SSH1 and OpenSSH.<br />
<a href="http://linuxgazette.net/67/nazario2.html" >http://linuxgazette.net/67/nazario2.html</a></li>
<li>ssh-add man page.<br />
<a href="http://www.manpagez.com/man/1/ssh-add/" >http://www.manpagez.com/man/1/ssh-add/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://griduam.labs.net.co/blog/archives/10/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cluster-C: Creación de los “worker nodes” del cluster y su configuración de red</title>
		<link>http://griduam.labs.net.co/blog/archives/11</link>
		<comments>http://griduam.labs.net.co/blog/archives/11#comments</comments>
		<pubDate>Tue, 08 Jun 2010 00:24:27 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[Clonar]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[Dirección IP]]></category>
		<category><![CDATA[Hostname]]></category>
		<category><![CDATA[Hosts]]></category>
		<category><![CDATA[Instalación & configuración]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[libvirt]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Worker Node]]></category>

		<guid isPermaLink="false">http://griduam.labs.net.co/blog/?p=11</guid>
		<description><![CDATA[Introducción. En el presente artículo se especifican los pasos necesarios para crear las máquinas virtuales de los nodos trabajadores (worker nodes) a partir de la máquina virtual de la cabeza del cluster, la cual hasta ahora tiene una configuración básica y general para todos los nodos. Crear las máquinas virtuales. Desde el servidor de máquinas [...]]]></description>
			<content:encoded><![CDATA[<h1>Introducción.</h1>
<p>En el presente artículo se especifican los pasos necesarios para crear las máquinas virtuales de los nodos trabajadores (<em>worker nodes</em>) a partir de la <a href="http://griduam.labs.net.co/blog/archives/8" >máquina virtual de la cabeza del cluster</a>, la cual hasta ahora tiene una configuración básica y general para todos los nodos.</p>
<h1>Crear las máquinas virtuales.</h1>
<p>Desde el servidor de máquinas virtuales ejecutar los siguientes comandos para crear a los nodos trabajadores como clones inicialmente del nodo cabeza.</p>
<p>ADVERTENCIA: para que la clonación se pueda realizar, la máquina virtual de orígen, en este caso <span style="font-family: courier new,courier;">c-head</span>, deberá estar apagada.</p>
<p><span style="font-family: courier new,courier;">$ virt-clone --connect=qemu:///system  \<br />
-o <strong>c-head</strong> \<br />
-n <strong>c-wn1</strong> \<br />
-f <strong>/u/vms/c-wn1.img</strong> \<br />
--debug --force</span></p>
<p><span style="font-family: courier new,courier;">$ virt-clone --connect=qemu:///system  \<br />
-o <strong>c-head</strong> \<br />
-n <strong>c-wn2</strong> \<br />
-f <strong>/u/vms/c-wn2.img</strong> \<br />
--debug --force</span></p>
<h1>Iniciar las máquinas virtuales.</h1>
<p>Nuevamente desde el servidor es necesario ejecutar los siguientes comandos para iniciar las máquinas virtuales de los nodos trabajadores para su posterior configuración.</p>
<p><span style="font-family: courier new,courier;">$ virsh start c-wn1<br />
</span></p>
<p><span style="font-family: courier new,courier;">$ virsh start </span><span style="font-family: courier new,courier;">c-wn2<br />
</span></p>
<h1>Conectarse a las máquinas virtuales.</h1>
<p>Desde el equipo cliente que se utiliza para la administración de las máquinas virtuales ejecute los siguientes comandos.</p>
<p><span style="font-family: courier new,courier;">$ virt-viewer -c qemu+ssh://<strong>ivy</strong>/system <strong>c-wn1</strong></span></p>
<p><span style="font-family: courier new,courier;">$ virt-viewer -c qemu+ssh://<strong>ivy</strong>/system <strong>c-wn2</strong></span></p>
<h1>Actualizar la configuración de hosts.</h1>
<p>Editar el archivo <span style="font-family: courier new,courier;">/etc/hosts</span> y actualizarlo con la información específica para cada uno de los nodos.  Para el <span style="font-family: courier new,courier;"><strong>c-wn1</strong></span> utilizar el siguiente contenido.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">127.0.0.1  localhost.localdomain localhost<br />
::1        localhost6.localdomain6 localhost6<br />
</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">192.168.1.210    c-head.jorgeivanmeza.com c-head c-nfs.jorgeivanmeza.com c-nfs<br />
192.168.1.211    <strong>c-wn1.jorgeivanmeza.com </strong>c-wn1<br />
192.168.1.212    c-wn2.jorgeivanmeza.com c-wn2</span></p>
<p>Para <span style="font-family: courier new,courier;"><strong>c-wn2</strong></span> utilizar la siguiente información.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">127.0.0.1  localhost.localdomain localhost<br />
::1        localhost6.localdomain6 localhost6</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">192.168.1.210    c-head.jorgeivanmeza.com c-head c-nfs.jorgeivanmeza.com c-nfs<br />
192.168.1.211    c-wn1.jorgeivanmeza.com c-wn1<br />
192.168.1.212    <strong>c-wn2.jorgeivanmeza.com</strong> c-wn2</span></p>
<h1>Actualizar el hostname.</h1>
<p>Editar el archivo <span style="font-family: courier new,courier;">/etc/sysconfig/network</span> y actualizarlo con la información específica para cada uno de los nodos.  Para el nodo<span style="font-family: courier new,courier;"><strong> c-wn1</strong></span> utilizar el siguiente contenido.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">NETWORKING=yes<br />
NETWORKING_IPV6=no<br />
GATEWAY=192.168.1.1<br />
HOSTNAME=<strong>c-wn1.jorgeivanmeza.com</strong></span></p>
<p>Para <strong><span style="font-family: courier new,courier;">c-wn2</span></strong> utilizar la siguiente información.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">NETWORKING=yes<br />
NETWORKING_IPV6=no<br />
GATEWAY=192.168.1.1<br />
HOSTNAME=<strong>c-wn2.jorgeivanmeza.com</strong></span></p>
<h1>Actualizar la dirección IP.</h1>
<p>Editar el archivo<span style="font-family: courier new,courier;"> /etc/sysconfig/network-scripts/ifcfg-eth0</span> y  actualizarlo con la información específica para cada uno de los nodos.   Para el nodo<strong> c-wn1</strong> utilizar  el siguiente contenido.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">DEVICE=eth0<br />
BOOTPROTO=static<br />
TYPE=Ethernet<br />
ONBOOT=yes<br />
HWADDR=&lt;dejar la existente&gt;<br />
NETMASK=255.255.255.0<br />
IPADDR=<strong>192.168.1.211</strong></span></p>
<p>Para <strong>c-wn2</strong> utilizar la  siguiente información.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">DEVICE=eth0<br />
BOOTPROTO=static<br />
TYPE=Ethernet<br />
ONBOOT=yes<br />
HWADDR=xxx<br />
NETMASK=255.255.255.0<br />
IPADDR=<strong>192.168.1.212</strong></span></p>
<h1>Reiniciar.</h1>
<p>Reiniciar las máquinas virtuales <span style="font-family: courier new,courier;">c-wn1</span> y <span style="font-family: courier new,courier;">c-wn2</span> para que los cambios recién realizados tengan efecto.</p>
<p><span style="font-family: courier new,courier;"># reboot</span></p>
]]></content:encoded>
			<wfw:commentRss>http://griduam.labs.net.co/blog/archives/11/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cluster-C: Creación del nodo “head” del cluster y su configuración de red</title>
		<link>http://griduam.labs.net.co/blog/archives/8</link>
		<comments>http://griduam.labs.net.co/blog/archives/8#comments</comments>
		<pubDate>Mon, 07 Jun 2010 22:27:15 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[Dirección IP]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[Firewall]]></category>
		<category><![CDATA[Hostname]]></category>
		<category><![CDATA[Hosts]]></category>
		<category><![CDATA[Instalación & configuración]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[libvirt]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Servicios]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://griduam.labs.net.co/blog/?p=8</guid>
		<description><![CDATA[Introducción. En el presente artículo se detalla el procedimiento para crear la máquina virtual de la cabeza (head) del cluster a partir de la máquina virtual genérica creada anteriormente además se realizan ajustes de configuración, incluyendo la red, que son genéricos a todos los demás nodos. Creación de la máquina virtual para c-head. Clonar la [...]]]></description>
			<content:encoded><![CDATA[<h1>Introducción.</h1>
<p>En el presente artículo se detalla el procedimiento para crear la máquina virtual de la cabeza (<em>head</em>) del cluster a partir de la <a href="http://griduam.labs.net.co/blog/archives/7" >máquina virtual genérica creada anteriormente</a> además se realizan ajustes de configuración, incluyendo la red, que son genéricos a todos los demás nodos.</p>
<h1>Creación de la máquina virtual para c-head.</h1>
<p>Clonar la máquina virtual genérica con la especificación del nuevo nodo.</p>
<p><span style="font-family: courier new,courier;">$ virt-clone --connect=qemu:///system  \<br />
-o <strong>scientificlinux-5.5_x64-general</strong> \<br />
-n <strong>c-head</strong> \<br />
-f <strong>/u/vms/c-head.img</strong> \<br />
--debug --force</span></p>
<p>Desde el servidor iniciar la máquina virtual recién creada.</p>
<p><span style="font-family: courier new,courier;">$ virsh start <strong>c-head</strong></span></p>
<p>Desde el equipo cliente donde se esté realizando la administración de las máquinas realice la conexión con la máquina recién iniciada.</p>
<p><span style="font-family: courier new,courier;"> $ virt-viewer -c qemu+ssh://<strong>ivy</strong>/system <strong>c-head</strong></span></p>
<p>Inicie una sesión con el usuario <span style="font-family: courier new,courier;">root</span> para realizar las siguientes tareas de administración.</p>
<h1>Desactivar el inicio del sistema de ventanas.</h1>
<p>La siguiente modificación impide que se inicie automáticamente el sistema de ventanas del sistema operativo, esto con el fin de agilizar su inicio y disminuír los riesgos de seguridad relacionados con sus protocolos.  En términos del cluster este paso es opcional y de ser necesario puede omitirse.  De cualquier manera el sistema de ventanas puede ser iniciado manualmente mediante el comando <span style="font-family: courier new,courier;">startx</span>.</p>
<p>Modifique el nivel de ejecución por defecto (5) al multiusuario sin ventanas (3).</p>
<p><span style="font-family: courier new,courier;"># vi /etc/inittab</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">id:3:initdefault:</span></p>
<h1>Desactivar servicios.</h1>
<h2>Desactivcación del firewall.</h2>
<p>La desactivación del firewall es temporal y se realiza mientras se configuran los nodos, posteriormente es necesario restaurarlo previos ajustes a la configuración.  No se recomienda que los nodos permanezcan conectados a una red pública como Internet durante el proceso de instalación, especialmente en esta etapa en la que carecen de firewall.</p>
<p><span style="font-family: courier new,courier;"># chkconfig --list iptables<br />
</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">iptables    0:off    1:off    2:on    3:on    4:on    5:on    6:off</span></p>
<p><span style="font-family: courier new,courier;"># chkconfig iptables off</span></p>
<h2>Desactivcación de la actualización automática de Yum.</h2>
<p>Por su parte la actualización automática del sistema operativo es  considerada como un riesgo para el cluster ya que es posible que  actualice paquetes críticos a nuevas versiones que no hayan sido  probadas y que desestabilicen al servidor.  De cualquier manera, es  posible verificar manualmente cuales son los paquetes suceptibles de ser  actualizados mediante la ejecución del comando yum check-update y de forzar la  actualización manualmente mediante la invocación del comando yum update.</p>
<p><span style="font-family: courier new,courier;"># /etc/init.d/yum stop</span></p>
<p><span style="font-family: courier new,courier;"># chkconfig --list yum</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">yum    0:off    1:off    2:on    3:on    4:on    5:on    6:off</span></p>
<p><span style="font-family: courier new,courier;"># chkconfig yum off</span></p>
<h1>Configuración del archivo de hosts.</h1>
<p>La configuración de este archivo es esencial para poder identificar los diferentes nodos del cluster a partir de su nombre, especialmente en etapas tempranas en las que aún no se cuenta con un servicio de DNS que los incluya.</p>
<p>Los nombres de los diferentes nodos que componen el cluster corresponden a la siguiente definición.</p>
<ul>
<li>El nodo principal:<span style="font-family: courier new,courier;"> c-head</span>.</li>
<li>El nodo que expone el sistema de archivos compartido: <span style="font-family: courier new,courier;">c-nfs</span>, corresponderá físicamente con la misma máquina de <span style="font-family: courier new,courier;">c-head</span>.</li>
<li>Los nodos de procesamiento (<em>worker nodes</em>) serán <span style="font-family: courier new,courier;">c-wn1</span> y <span style="font-family: courier new,courier;">c-wn2</span> respectivamente.</li>
</ul>
<p><span style="font-family: courier new,courier;"># vi /etc/hosts</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">127.0.0.1  localhost.localdomain localhost<br />
::1        localhost6.localdomain6 localhost6</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">192.168.1.210    <strong>c-head.jorgeivanmeza.com</strong> <strong>c-head c-nfs.jorgeivanmeza.com c-nfs</strong><br />
192.168.1.211    <strong>c-wn1.jorgeivanmeza.com c-wn1</strong><br />
192.168.1.212    <strong>c-wn2.jorgeivanmeza.com c-wn2</strong></span></p>
<h1>Configuración del hostname.</h1>
<p><span style="font-family: courier new,courier;"># vi /etc/sysconfig/network</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">NETWORKING=yes<br />
NETWORKING_IPV6=no<br />
GATEWAY=<strong>192.168.1.1</strong><br />
HOSTNAME=<strong>c-head.jorgeivanmeza.com</strong></span></p>
<p>El valor de la variable <span style="font-family: courier new,courier;">GATEWAY</span> debe ajustarse según la dirección IP de la pasarela real de la red.</p>
<h1>Configuración de la dirección IP.</h1>
<p><span style="font-family: courier new,courier;"># vi /etc/sysconfig/network-scripts/ifcfg-eth0</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">DEVICE=eth0<br />
BOOTPROTO=static<br />
TYPE=Ethernet<br />
ONBOOT=yes<br />
HWADDR=&lt;dejar la existente&gt;<br />
NETMASK=<strong>255.255.255.0</strong><br />
IPADDR=<strong>192.168.1.210</strong></span></p>
<p>El valor de la variable <span style="font-family: courier new,courier;">IPADDR</span> debe coincidir con la dirección IP del servidor según la planeación realizada (ver <span style="font-family: courier new,courier;">/etc/hosts</span>).</p>
<p>Reiniciar el servicio de red para tomar en cuenta los cambios recién realizados.</p>
<p><span style="font-family: courier new,courier;"># /etc/init.d/network restart</span></p>
<h1>Configuración de los servicios de nombres a utilizarse.</h1>
<p><span style="font-family: courier new,courier;"># vi /etc/nsswitch.conf </span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">#hosts: db files nisplus nis dns<br />
hosts:  files dns</span></p>
<h1>Configuración de los servidores DNS.</h1>
<p>En esta sección es necesario que se ajusten las direcciones IP de los servidores DNS que se van a utilizar.  En este caso se van a utilizar los servidores DNS públicos de Google.</p>
<p><span style="font-family: courier new,courier;"># vi /etc/resolv.conf</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">search <strong>jorgeivanmeza.com</strong><br />
nameserver <strong>8.8.8.8</strong><br />
nameserver <strong>8.8.4.4</strong></span></p>
<h1>Detener al servidor.</h1>
<p><span style="font-family: courier new,courier;"># halt</span></p>
<h1>Enlaces.</h1>
<ul>
<li>Grid Colombia 2009<br />
<a href="http://www.ci.uchicago.edu/osgedu/schools/2009/gridcolombia/index.html" >http://www.ci.uchicago.edu/osgedu/schools/2009/gridcolombia/index.html</a></li>
<li>How to disable SELinux.<br />
<a href="http://www.crypt.gen.nz/selinux/disable_selinux.html" >http://www.crypt.gen.nz/selinux/disable_selinux.html</a></li>
<li>Cluster getting started.<br />
<a href="https://twiki.grid.iu.edu/bin/view/ReleaseDocumentation/ClusterGettingStarted" >https://twiki.grid.iu.edu/bin/view/ReleaseDocumentation/ClusterGettingStarted</a></li>
<li>Cluster network configuration.<br />
<a href="https://twiki.grid.iu.edu/bin/view/ReleaseDocumentation/ClusterNetworkConfiguration" >https://twiki.grid.iu.edu/bin/view/ReleaseDocumentation/ClusterNetworkConfiguration</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://griduam.labs.net.co/blog/archives/8/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalación de la máquina virtual base para la experimentación</title>
		<link>http://griduam.labs.net.co/blog/archives/7</link>
		<comments>http://griduam.labs.net.co/blog/archives/7#comments</comments>
		<pubDate>Mon, 07 Jun 2010 20:33:41 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[Instalación & configuración]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[libvirt]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[scientificlinux]]></category>

		<guid isPermaLink="false">http://griduam.labs.net.co/blog/?p=7</guid>
		<description><![CDATA[Introducción. Para la experimentación con el cluster se utilizan máquinas virtuales basadas en KVM (con libvirt).  Como base para todas las demás máquinas se realiza la instalación de una máquina virtual base con una versión sin paquetes extra de Scientific Linux 5.5. A continuación se describe el proceso desarrollado para la instalación de la máquina [...]]]></description>
			<content:encoded><![CDATA[<h1>Introducción.</h1>
<p>Para la experimentación con el cluster se utilizan máquinas virtuales basadas en KVM (con <span style="font-family: courier new,courier;">libvirt</span>).  Como base para todas las demás máquinas se realiza la instalación de una máquina virtual base con una versión sin paquetes extra de Scientific Linux 5.5.</p>
<p>A continuación se describe el proceso desarrollado para la instalación de la máquina virtual base.</p>
<h1>Procedimiento de instalación.</h1>
<p>Creación de la máquina virtual base en el servidor de máquinas virtuales KVM.</p>
<p><span style="font-family: courier new,courier;">$ virt-install \<br />
--connect qemu:///system \<br />
-n <strong>scientificlinux-5.5_x64-general</strong> \<br />
-r <strong>256</strong> \<br />
--os-type linux \<br />
--os-variant generic26 \<br />
--hvm \<br />
--cdrom <strong>/u/isos/SL.55.051810.DVD.x86_64.disc1.iso</strong> \<br />
--network <strong>bridge:br0</strong> \<br />
--disk path=<strong>/u/vms/scientificlinux-5.5_x64-general.img</strong>,size=<strong>7</strong> \<br />
--vnc --noautoconsole \<br />
--accelerate</span></p>
<p>La máquina virtual se creará con las siguientes características.</p>
<ul>
<li>Su nombre será <span style="font-family: courier new,courier;">scientificlinux-5.5_x64-general</span>.</li>
<li>Tendrá 256MB de memoria RAM asignadas.</li>
<li>Se instalará a partir de la imagen ISO del sistema operativo ubicada en <span style="font-family: courier new,courier;">/u/isos/SL.55.051810.DVD.x86_64.disc1.iso</span>.</li>
<li>La interfaz de red estará en puente (<em>bridge</em>) lo que permitirá que esta obtenga su propia dirección IP desde el servidor DHCP de la red.</li>
<li>El archivo que representará al disco duro virtual de la máquina se ubicará en <span style="font-family: courier new,courier;">/u/vms/scientificlinux-5.5_x64-general.img</span> y tendrá una capacidad de 7GB.</li>
</ul>
<p>Desde un equipo acceder a la consola de la máquina virtual recién creada para realizar la instalación del sistema operativo.</p>
<p><span style="font-family: courier new,courier;">$ /usr/bin/virt-viewer -c qemu+ssh://<strong>ivy</strong>/system <strong>scientificlinux-5.5_x64-general</strong></span></p>
<p>Debe tenerse en cuenta que en este caso, el nombre del servidor de máquinas virtuales es <strong>ivy</strong> y la máquina virtual a la cual se va a realizar la conexión es <span style="font-family: courier new,courier;">scientificlinux-5.5_x64-general</span> tal y como se especificó en el paso anterior.</p>
<p>Para la instalación del sistema opertivo se utilizaron los siguientes valores.</p>
<p style="padding-left: 30px;"><strong>Language: </strong><br />
English (English).</p>
<p style="padding-left: 30px;"><strong>Keyboard Layout: </strong><br />
U.S. International</p>
<p style="padding-left: 30px;"><strong>Partition type: </strong><br />
Remove linux partitions on selected drives and create default layout.</p>
<p style="padding-left: 30px;"><strong>Network:</strong><br />
Network devices: eth0 active on boot DHCP -ipv4-<br />
Hostname: manually: ﻿sl-55-x64-general.jorgeivanmeza.com</p>
<p style="padding-left: 30px;"><strong>Timezone: </strong><br />
America/Bogota, System clock uses UTC</p>
<p style="padding-left: 30px;"><strong>Paquetes:</strong><br />
+  GNOME Desktop<br />
+  Software development<br />
Seleccionar la casilla de verificación <em>Customize now</em>.</p>
<p style="padding-left: 30px;"><strong>Customize:</strong><br />
SL AddOns<br />
- Misc Scientific Linux Packages<br />
Applications<br />
- Games and Entertainment<br />
- Graphics<br />
- Office/Productivity<br />
- Sound and Video<br />
Base System<br />
- Dialup Networking Support</p>
<h1>Procedimiento de post instalación.</h1>
<p>Desde el servidor iniciar la máquina virtual.</p>
<p><span style="font-family: courier new,courier;">$ virsh start cientificlinux-5.5_x64-general</span></p>
<p>Desde un equipo acceder a la consola de la máquina virtual recién instalada  para realizar su administración.</p>
<p><span style="font-family: courier new,courier;">$ /usr/bin/virt-viewer -c  qemu+ssh://<strong>ivy</strong>/system <strong>scientificlinux-5.5_x64-general</strong></span></p>
<p>Ajustar la siguiente configuarción del sistema operativo.</p>
<p style="padding-left: 30px;"><strong>Firewall.</strong><br />
Enabled.<br />
Trusted Services: SSH.</p>
<p style="padding-left: 30px;"><strong>SELinux Settings.</strong><br />
Enforcing.</p>
<p style="padding-left: 30px;"><strong>Date and Time.</strong></p>
<p style="padding-left: 30px;"><strong>Create user.</strong><br />
Username: jimezam<br />
Full name: Jorge Iván Meza Martínez<br />
Password</p>
<p>Autenticarse como el usuario <span style="font-family: courier new,courier;">root</span> con la contraseña asignada durante el proceso de instalación.  Abrir un <em>shell</em> para ejecutar los siguientes comandos.</p>
<p><span style="font-family: courier new,courier;"># yum install acpid</span></p>
<p><span style="font-family: courier new,courier;"># yum update</span></p>
<h1>Enlaces.</h1>
<ul>
<li>Scientific Linux.<br />
<a href="http://www.scientificlinux.org/" >http://www.scientificlinux.org/</a></li>
<li>KVM - Kernel based Virtual Machine.<br />
<a href="http://www.linux-kvm.org/" >http://www.linux-kvm.org/</a></li>
<li>LibVirt - Virtualization API.<br />
<a href="http://www.libvirt.org/" >http://www.libvirt.org/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://griduam.labs.net.co/blog/archives/7/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalar ubuntu64-general basado en Ubuntu Server 9.10 64 bits en KVM</title>
		<link>http://blog.jorgeivanmeza.com/2010/02/instalar-ubuntu64-general-basado-en-ubuntu-server-9-10-64-bits-en-kvm/</link>
		<comments>http://blog.jorgeivanmeza.com/2010/02/instalar-ubuntu64-general-basado-en-ubuntu-server-9-10-64-bits-en-kvm/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 01:28:23 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[IceWM]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Linux/Solaris/BSD]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tesis-UAM]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=2384</guid>
		<description><![CDATA[Introducción.
De manera análoga a como se realizó anteriormente la instalación de una imagen con CentOS (para Scientific Linux se igual procedimiento) procedimos a crear una máquina virtual KVM con una instalación genérica de Ubuntu Server 9.10 para futuras experimentaciones con un plan de trabajo ligeramente modificado.

Actualización de paquetes.
Instalar ACPID.
Instalación del JDK de Java.
Instalación del ambiente [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción.</h2>
<p>De manera análoga a como se realizó anteriormente la <a href="http://blog.jorgeivanmeza.com/2010/02/instalar-centos64-general-basado-en-centos-5-4-64-bits-en-kvm/" >instalación de una imagen con CentOS</a> (para Scientific Linux se igual procedimiento) procedimos a crear una máquina virtual KVM con una instalación genérica de Ubuntu Server 9.10 para futuras experimentaciones con un plan de trabajo ligeramente modificado.</p>
<ol>
<li>Actualización de paquetes.</li>
<li>Instalar ACPID.</li>
<li>Instalación del JDK de Java.</li>
<li>Instalación del ambiente de desarrollo C/C++.</li>
<li><strong>Instalación del servidor X y IceWM como administrador de ventanas.</strong></li>
<li>Depurar el software instalado.</li>
</ol>
<h2>Creación de la máquina virtual para la instalación del sistema  operativo.</h2>
<p><span style="font-family: courier new,courier;">$ virt-install \<br />
&#8211;connect qemu:///system \<br />
-n <strong>ubuntuserver-9.10_x64-general</strong> \<br />
-r <strong>384</strong> \<br />
&#8211;os-type <strong>linux</strong> \<br />
&#8211;os-variant <strong>generic26</strong> \<br />
&#8211;hvm \<br />
&#8211;cdrom <strong>/u/isos/ubuntu-9.10-server-amd64.iso</strong> \<br />
&#8211;network <strong>bridge:br0</strong> \<br />
&#8211;disk path=<strong>/u/vms/ubuntuserver-9.10_x64-general.img,size=7</strong> \<br />
&#8211;vnc &#8211;noautoconsole \<br />
&#8211;accelerate</span></p>
<h2>Conexión remota a la KVM para el proceso de instalación y  administración.</h2>
<p><span style="font-family: courier new,courier;">$  /usr/bin/virt-viewer -c qemu+ssh://<strong>ivy</strong>/system <strong>ubuntuserver-9.10_x64-general</strong></span><strong></strong></p>
<h2>Actualización de paquetes.</h2>
<p><span style="font-family: courier new,courier;">$ sudo aptitude update</span></p>
<p><span style="font-family: courier new,courier;">$ sudo aptitude safe-upgrade</span></p>
<h2>Instalación de ACPID.</h2>
<p><span style="font-family: courier new,courier;">$ sudo aptitude install acpid</span></p>
<h2>Instalación del JDK de Java.</h2>
<p><span style="font-family: courier new,courier;">$ sudo aptitude install sun-java6-bin sun-java6-fonts sun-java6-jdk sun-java6-jre sun-java6-plugin</span></p>
<h2>Instalación del ambiente de desarrollo C/C++.</h2>
<p><span style="font-family: courier new,courier;">$ sudo aptitude install build-essential</span></p>
<h2>Instalación del servidor X y IceWM como administrador de ventanas.</h2>
<p><span style="font-family: courier new,courier;">$ sudo aptitude install xorg icewm icewm-themes </span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2010/02/instalar-ubuntu64-general-basado-en-ubuntu-server-9-10-64-bits-en-kvm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

