<?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>minWi blog</title>
	<atom:link href="http://eduardominguez.es/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://eduardominguez.es/blog</link>
	<description>another sysadmin blog</description>
	<lastBuildDate>Thu, 01 Dec 2011 17:03:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Kickstart ESXi 4.1</title>
		<link>http://eduardominguez.es/blog/2011/12/01/kickstart-esxi-4-1/</link>
		<comments>http://eduardominguez.es/blog/2011/12/01/kickstart-esxi-4-1/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 17:03:48 +0000</pubDate>
		<dc:creator>minWi</dc:creator>
				<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://eduardominguez.es/blog/?p=170</guid>
		<description><![CDATA[No me apetece cambiar todos los &#60; y &#62;, así que se verá regular ######################################### # ESXi 4.1 Kickstart configuration # ######################################### # Accept User Agreement accepteula # Root password rootpw &#8211;iscrypted PASSWORD # Disk autopartition # TIP: Maybe needs some tunning autopart &#8211;firstdisk &#8211;overwritevmfs # Installation files install url http://URL/4.1/ # Network configuration (install) [...]]]></description>
			<content:encoded><![CDATA[<p>No me apetece cambiar todos los &lt; y &gt;, así que se verá regular <img src='http://eduardominguez.es/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /><br />
<code><br />
#########################################<br />
# ESXi 4.1 Kickstart configuration #<br />
#########################################</code></p>
<p># Accept User Agreement<br />
accepteula</p>
<p># Root password<br />
rootpw &#8211;iscrypted PASSWORD</p>
<p># Disk autopartition<br />
# TIP: Maybe needs some tunning<br />
autopart &#8211;firstdisk &#8211;overwritevmfs</p>
<p># Installation files<br />
install url http://URL/4.1/</p>
<p># Network configuration (install)<br />
network &#8211;bootproto=dhcp &#8211;device=vmnic0</p>
<p># Post-configuration tasks<br />
# TIP: It runs in level 998 because is the latest level without root password<br />
# It allow to run high privileges commands without entering the root password<br />
%firstboot &#8211;unsupported &#8211;interpreter=busybox &#8211;level=998</p>
<p># Enable remote administation<br />
vim-cmd hostsvc/enable_remote_tsm<br />
vim-cmd hostsvc/start_remote_tsm</p>
<p># Enable local administration<br />
vim-cmd hostsvc/enable_local_tsm<br />
vim-cmd hostsvc/start_local_tsm</p>
<p># NOTE:<br />
# Enabling administration, shows a warning in vCenter<br />
# In 4.1, it disappears by restarting the hostd agent:<br />
# http://www.vcritical.com/2011/02/get-rid-of-those-esxi-tech-support-mode-warnings/<br />
# In 5, there is an advanced parameter to ignore this:<br />
# http://www.yellow-bricks.com/2011/07/21/esxi-5-suppressing-the-localremote-shell-warning/<br />
# So, uncomment the next line, in 5 <img src='http://eduardominguez.es/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
# esxcfg-advopt -s 1 /UserVars/SuppressShellWarning</p>
<p># Syslog stuff<br />
vim-cmd hostsvc/advopt/update Syslog.Remote.Hostname string<br />
vim-cmd hostsvc/advopt/update Syslog.Remote.Port int 514<br />
# Don&#8217;t know if it&#8217;s the datastore path of the server, so, disabled<br />
#vim-cmd hostsvc/advopt/update Syslog.Remote.DatastorePath string &#8220;[datastoreName] /logfiles/hostName.log&#8221;</p>
<p># Rename the local datastore<br />
vim-cmd hostsvc/datastore/rename datastore1 &#8220;$(hostname -s)-local-storage-1&#8243;</p>
<p># Configure ntp<br />
echo &#8220;server NTPSERVER&#8221; &gt;&gt; /etc/ntp.conf<br />
chkconfig ntpd on</p>
<p># Configure snmpd<br />
cat &gt; /tmp/snmpd.xml &lt;&lt; __SNMP__</p>
<p>COMMUNITIES<br />
true<br />
163 TARGETS</p>
<p>__SNMP__<br />
cp /tmp/snmp.conf /etc/vmware/snmp.xml</p>
<p># Configure DNS<br />
cat &gt; /etc/resolv.conf &lt;&lt; __DNS__<br />
search DOMAIN<br />
nameserver DNS1<br />
nameserver DNS2<br />
__DNS__</p>
<p># Configure depth queue<br />
# LPFC820 (G7)<br />
if esxcfg-module -l|grep lpfc820 ; then<br />
/usr/sbin/esxcfg-module -s &#8220;lpfc0_lun_queue_depth=64 lpfc1_lun_queue_depth=64 lpfc2_lun_queue_depth=64 lpfc3_lun_queue_depth=64 lpfc4_lun_queue_depth=64 lpfc5_lun_queue_depth=64&#8243; lpfc820<br />
fi<br />
# Qlogic<br />
if esxcfg-module -l|grep ql2 ; then<br />
/usr/sbin/esxcfg-module -s &#8220;ql2xmaxqdepth=64&#8243; qla2xxx<br />
fi<br />
# LPFC740<br />
if esxcfg-module -l|grep lpfc_740 ; then<br />
/usr/sbin/esxcfg-module -s &#8220;lpfc0_lun_queue_depth=64 lpfc1_lun_queue_depth=64 lpfc2_lun_queue_depth=64 lpfc3_lun_queue_depth=64 lpfc4_lun_queue_depth=64 lpfc5_lun_queue_depth=64&#8243; lpfc_740<br />
fi</p>
<p># Depth Queue<br />
vim-cmd hostsvc/advopt/update Disk.SchedNumReqOutstanding long 64</p>
<p># Lun Reset<br />
/usr/sbin/esxcfg-advcfg -s 1 /Disk/UseLunReset<br />
/usr/sbin/esxcfg-advcfg -s 0 /Disk/UseDeviceReset</p>
<p>#####################<br />
# Check this in 4.1<br />
#/usr/bin/vimsh -n -e &#8220;hostsvc/advopt/update Misc.RunningVCpuLimit int 192&#8243;<br />
#sed -i -e &#8216;s!^!\t450\n\t400\n!g&#8217; $CONFIG<br />
#/usr/sbin/esxcfg-boot -b<br />
#####################</p>
<p># Create vSwitches<br />
/usr/sbin/esxcfg-vswitch -L vmnic0 vSwitch0<br />
/usr/sbin/esxcfg-vswitch -L vmnic1 vSwitch1<br />
/usr/sbin/esxcfg-vswitch -L vmnic2 vSwitch2<br />
/usr/sbin/esxcfg-vswitch -L vmnic3 vSwitch3<br />
/usr/sbin/esxcfg-vswitch -L vmnic4 vSwitch4<br />
/usr/sbin/esxcfg-vswitch -L vmnic5 vSwitch5<br />
/usr/sbin/esxcfg-vswitch -L vmnic6 vSwitch6</p>
<p># Interactive network configuration<br />
chvt 1<br />
exec &lt; /dev/tty1 &gt; /dev/tty1<br />
clear</p>
<p># Check if the hostname ends in<br />
DOMAIN=&#8221;.&#8221;<br />
nombre_host=&#8221;"</p>
<p>echo $nombre_host | grep -q $DOMAIN<br />
RETVAL=$?</p>
<p>echo &#8220;&#8221;<br />
while [ $RETVAL -ne 0 ]<br />
do<br />
read -p &#8220;Introduzca el nombre de host con FQDN: &#8221; nombre_host<br />
echo $nombre_host | grep -q $DOMAIN<br />
RETVAL=$?<br />
done</p>
<p># Function to check if the IP is valid<br />
valid_dotted_quad()<br />
{<br />
ERROR=0<br />
oldIFS=$IFS<br />
IFS=.<br />
set -f<br />
set &#8212; $1<br />
if [ $# -eq 4 ]<br />
then<br />
for seg<br />
do<br />
case $seg in<br />
&#8220;&#8221;|*[!0-9]*) ERROR=1;break ;; ## Segment empty or non-numeric char<br />
*) [ $seg -gt 255 ] &amp;&amp; ERROR=2 ;;<br />
esac<br />
done<br />
else<br />
ERROR=3 ## Not 4 segments<br />
fi<br />
IFS=$oldIFS<br />
set +f<br />
return $ERROR<br />
}<br />
# END</p>
<p>direccion_ip=&#8221;"</p>
<p>valid_dotted_quad $direccion_ip<br />
RETVAL=$?</p>
<p>while [ $RETVAL -ne 0 ]<br />
do<br />
read -p &#8220;Introduzca la IP: &#8221; direccion_ip<br />
valid_dotted_quad $direccion_ip<br />
RETVAL=$?<br />
done</p>
<p>direccion_gateway=&#8221;"</p>
<p>valid_dotted_quad $direccion_gateway<br />
RETVAL=$?</p>
<p>while [ $RETVAL -ne 0 ]<br />
do<br />
read -p &#8220;Introduzca el gateway: &#8221; direccion_gateway<br />
valid_dotted_quad $direccion_gateway<br />
RETVAL=$?<br />
done</p>
<p>unset sw</p>
<p>chvt 1<br />
exec &lt; /dev/tty1 &gt; /dev/tty1</p>
<p># Set IP, hostname, gateway with the interactive parameters<br />
esxcfg-vmknic -i $direccion_ip -n 255.255.255.0 &#8220;Management Network&#8221;<br />
esxcfg-advcfg -s $nombre_host /Misc/HostName<br />
esxcfg-route -a default $direccion_gateway</p>
<p># Configure /etc/hosts<br />
echo &#8220;$direccion_ip $nombre_host $nombre_host&#8221; &gt;&gt; /etc/hosts</p>
<p># Configure hostsvc to allow vmotion<br />
# TIP: Don&#8217;t know if doesn&#8217;t needed anymore<br />
cat &lt;&lt; EOF &gt; /etc/vmware/hostd/hostsvc.xml</p>
<p>normal</p>
<p>Vmotion</p>
<p>EOF</p>
<p>/usr/sbin/esxcfg-advcfg -s 1 /Migrate/Enabled</p>
<p># 800 Mb Service Console<br />
# TIP: Don&#8217;t needed in ESXi?<br />
#sed -i -e &#8216;s/\/boot\/memSize\ =\ &#8220;[0-9][0-9][0-9]&#8220;/\/boot\/memSize\ =\ &#8220;800&#8243;/1&#8242; /etc/vmware/esx.conf<br />
#esxcfg-boot -g<br />
#esxcfg-boot -b<br />
#sed -i -e &#8216;s/^.*uppermem.*/uppermem 819200/g&#8217; -e &#8216;s/mem=.*M/mem=800M/g&#8217; /boot/grub/grub.conf</p>
<p># VMimages and some other network file shares stuff<br />
#mkdir -p /vmimages/isos</p>
<p>#echo &#8220;:/isos /vmimages/isos nfs soft,timeo=20,rsize=8192,wsize=8192 0 0&#8243; &gt;&gt; /etc/fstab</p>
<p># MOTD<br />
MOTD=&#8221;Esta maquina es propiedad de PEPITO y cualquier uso debe estar autorizado por el departamento correspondiente. Cualquier otro uso sera perseguido y castigado de acuerdo a la legislacion vigente. Cualquier actividad realizada en, desde o hacia este sistema esta sujeta a monitorizacion sin previo aviso.&#8221;<br />
echo $MOTD &gt; /etc/motd<br />
chmod 644 /etc/motd</p>
<p># Enhace the prompt to show hostname in red<br />
echo &#8220;export PS1=\&#8221;[\u@\e[31;1m\h\e[0m:\w]\\\\\$ \&#8221;" &gt;&gt; /etc/profile</p>
<p># Some cron stuff<br />
# TIP: Test it!<br />
# http://www.jules.fm/Logbook/files/add_cron_job_vmware.html</p>
<p>cat &lt;&lt; EOF &gt;/tmp/crontab.root<br />
# Run &#8220;X&#8221; script<br />
30 5 3 * * /root/X<br />
EOF</p>
<p># Add cron stuff to crontab<br />
crontab /tmp/crontab.root<br />
rm /tmp/crontab.root</p>
<p># Reboot/shutdown confirmation<br />
# It doesn&#8217;t work, find some other solution<br />
#cat &lt;&lt; EOF &gt;/usr/local/bin/confirm<br />
##!/bin/bash<br />
#prompt()<br />
#{<br />
# while true<br />
# do<br />
# echo -n &#8220;\$* s/n? &#8221;<br />
# read reply<br />
# if [ "\$reply" = s -o "\$reply" = S ]<br />
# then<br />
# return 0<br />
# elif [ "\$reply" = n -o "\$reply" = N ]<br />
# then<br />
# echo &#8220;Accion cancelada&#8221;<br />
# exit 1<br />
# else<br />
# echo &#8220;Por favor, introduce &#8216;s&#8217; o &#8216;n&#8217;&#8221;<br />
# fi<br />
# done<br />
#}<br />
#<br />
#echo &#8220;Se va a realizar \$1&#8243;<br />
#if prompt &#8220;Esta seguro de continuar&#8221;<br />
#then<br />
# prompt &#8220;Confirmelo por favor&#8221;<br />
# \$@<br />
#fi<br />
#EOF<br />
#<br />
#chmod 755 /usr/local/bin/confirm<br />
#<br />
#echo &#8220;alias reboot=\&#8221;/usr/local/bin/confirm reboot\&#8221;" &gt;&gt; /etc/bashrc<br />
#echo &#8220;alias shutdown=\&#8221;/usr/local/bin/confirm shutdown\&#8221;" &gt;&gt; /etc/bashrc<br />
#echo &#8220;alias init=\&#8221;/usr/local/bin/confirm init\&#8221;" &gt;&gt; /etc/bashrc<br />
#echo &#8220;alias halt=\&#8221;/usr/local/bin/confirm halt\&#8221;" &gt;&gt; /etc/bashrc</p>
<p># Shell timeout after 5 min. inactivity<br />
esxcfg-advcfg -s 300 /UserVars/TSMTimeOut</p>
<p># Remove unused Port Groups<br />
esxcfg-vswitch -D &#8220;VM Network&#8221; vSwitch0<br />
esxcfg-vswitch -D &#8220;Service Console&#8221; vSwitch0</p>
<p>echo &#8220;ssh stream tcp nowait root /sbin/dropbearmulti dropbear ++min=0,swap,group=shell -i -K60&#8243; &gt;&gt; /etc/inetd.conf<br />
echo &#8220;ssh stream tcp6 nowait root /sbin/dropbearmulti dropbear ++min=0,swap,group=shell -i -K60&#8243; &gt;&gt; /etc/inetd.conf</p>
<p># Reboot<br />
reboot</p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/share?url=http://eduardominguez.es/blog/2011/12/01/kickstart-esxi-4-1/&text=Kickstart+ESXi+4.1&via=minWi" title="Post to Twitter"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://eduardominguez.es/blog/2011/12/01/kickstart-esxi-4-1/&amp;t=Kickstart+ESXi+4.1" title="Post to Facebook"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="https://mail.google.com/mail/?ui=2&amp;view=cm&amp;fs=1&amp;tf=1&amp;su=Kickstart+ESXi+4.1&amp;body=Link:+http://eduardominguez.es/blog/2011/12/01/kickstart-esxi-4-1/%0D%0A%0D%0A----%0D%0A+No+me+apetece+cambiar+todos+los+%26lt%3B+y+%26gt%3B%2C+as%C3%AD+que+se+ver%C3%A1+regular+%3AP%0D%0A%0D%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0D%0A%23+ESXi+4.1+Kickstart+configur..." title="Send Gmail"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/gmail/tt-gmail.png" alt="Send Gmail" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://eduardominguez.es/blog/2011/12/01/kickstart-esxi-4-1/&amp;title=Kickstart+ESXi+4.1&amp;summary=No+me+apetece+cambiar+todos+los+%26lt%3B+y+%26gt%3B%2C+as%C3%AD+que+se+ver%C3%A1+regular+%3AP%0D%0A%0D%0A%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0D%0A%23+ESXi+4.1+Kickstart+configur...&amp;source=minWi blog" title="Post to LinkedIn"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/linkedin/tt-linkedin.png" alt="Post to LinkedIn" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://eduardominguez.es/blog/2011/12/01/kickstart-esxi-4-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kickstart RHEL6</title>
		<link>http://eduardominguez.es/blog/2011/12/01/kickstart-rhel6/</link>
		<comments>http://eduardominguez.es/blog/2011/12/01/kickstart-rhel6/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 12:01:42 +0000</pubDate>
		<dc:creator>minWi</dc:creator>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://eduardominguez.es/blog/?p=167</guid>
		<description><![CDATA[No se ven bien los &#60; y &#62; # Instalacion modo texto text install skipx # URL de instalacion url &#8211;url http:///RedHat/6/Server # Repositorio repo &#8211;name=RHEL-6 &#8211;baseurl=http:///RedHat/6/Server repo &#8211;name=Extras &#8211;baseurl=http:///extras # Configuracion general firstboot &#8211;disable lang es_ES.UTF-8 keyboard es rootpw &#8211;iscrypted firewall &#8211;disabled authconfig &#8211;enableshadow &#8211;enablemd5 key &#8211;skip selinux &#8211;disabled timezone &#8211;utc Europe/Madrid # Particionamiento [...]]]></description>
			<content:encoded><![CDATA[<p>No se ven bien los &lt; y &gt; <img src='http://eduardominguez.es/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /><br />
<code># Instalacion modo texto<br />
text<br />
install<br />
skipx</code></p>
<p># URL de instalacion<br />
url &#8211;url http:///RedHat/6/Server<br />
# Repositorio<br />
repo &#8211;name=RHEL-6 &#8211;baseurl=http:///RedHat/6/Server<br />
repo &#8211;name=Extras &#8211;baseurl=http:///extras</p>
<p># Configuracion general<br />
firstboot &#8211;disable<br />
lang es_ES.UTF-8<br />
keyboard es<br />
rootpw &#8211;iscrypted firewall &#8211;disabled<br />
authconfig &#8211;enableshadow &#8211;enablemd5<br />
key &#8211;skip<br />
selinux &#8211;disabled<br />
timezone &#8211;utc Europe/Madrid</p>
<p># Particionamiento con LVM<br />
clearpart &#8211;all &#8211;initlabel<br />
#zerombr yes<br />
bootloader &#8211;location=mbr &#8211;md5pass=$1$glLthZeF$u9wREDqB6/O0WYOcZqvnJ.<br />
part /boot &#8211;fstype ext3 &#8211;size=100 &#8211;asprimary<br />
part pv.00 &#8211;size=1 &#8211;grow &#8211;asprimary<br />
volgroup vg00 pv.00<br />
logvol / &#8211;fstype ext3 &#8211;name=lvroot &#8211;vgname=vg00 &#8211;size=1024 &#8211;grow<br />
logvol swap &#8211;fstype swap &#8211;name=lvswap &#8211;vgname=vg00 &#8211;size=512 &#8211;grow &#8211;maxsize=2048<br />
reboot</p>
<p># Paquetes<br />
#%packages &#8211;resolvedeps<br />
%packages</p>
<p>@core<br />
@base<br />
ntp<br />
kernel-devel<br />
gcc<br />
#dkms-open-vm-tools</p>
<p>%pre<br />
#!/bin/sh<br />
chvt 3<br />
exec &lt; /dev/tty3 &gt; /dev/tty3<br />
clear<br />
echo &#8220;- &#8211; - &#8211; Configuracion de red &#8211; - &#8211; - &#8221;<br />
echo -en &#8220;Introduzca direccion IP: &#8221;<br />
read ip</p>
<p>echo -en &#8220;Introduzca hostname: &#8221;<br />
read hostname</p>
<p>chvt 1<br />
exec &lt; /dev/tty1 &gt; /dev/tty1</p>
<p>gateway=`echo $ip | cut -d. -f1,2,3`.254<br />
netmask=<br />
nameserver=</p>
<p>line=&#8221;network &#8211;bootproto static &#8211;ip $ip &#8211;netmask $netmask &#8211;hostname $hostname &#8211;gateway $gateway &#8211;nameserver $nameserver&#8221;<br />
ks=&#8221;/tmp/ks.cfg&#8221;<br />
sed -e &#8220;/^network/s/^network.*/$line/&#8221; $ks &gt; ${ks}.tmp &amp;&amp; mv ${ks}.tmp $ks<br />
sed -e &#8220;s/ip_tag/$ip/g&#8221; $ks &gt; ${ks}.tmp &amp;&amp; mv ${ks}.tmp $ks<br />
sed -e &#8220;s/gw_tag/$gateway/g&#8221; $ks &gt; ${ks}.tmp &amp;&amp; mv ${ks}.tmp $ks<br />
sed -e &#8220;s/hostname_tag/$hostname/g&#8221; $ks &gt; ${ks}.tmp &amp;&amp; mv ${ks}.tmp $ks</p>
<p>%post<br />
#!/bin/bash<br />
chvt 3<br />
exec &lt; /dev/tty3 &gt; /dev/tty3<br />
# Banner y motd<br />
MOTD=&#8221;Esta maquina es propiedad de y cualquier uso debe estar autorizado por el departamento de correspondiente. Cualquier otro uso sera perseguido y castigado de acuerdo a la legislacion vigente. Cualquier actividad realizada en, desde o hacia este sistema esta sujeta a monitorizacion sin previo aviso.&#8221;<br />
echo $MOTD &gt; /etc/motd<br />
chmod 644 /etc/motd</p>
<p>chvt 1<br />
exec &lt; /dev/tty1 &gt; /dev/tty1</p>
<p>IFACE=eth0<br />
IFCFG_ETH0=/etc/sysconfig/network-scripts/ifcfg-eth0<br />
NETWORK=/etc/sysconfig/network<br />
DNS1=<br />
DNS2=<br />
DOMAIN=<br />
NETMASK=<br />
GATEWAY=gw_tag<br />
IP=ip_tag<br />
HOSTNAME=hostname_tag</p>
<p>echo &#8220;DEVICE=$IFACE&#8221; &gt; $IFCFG_ETH0<br />
echo &#8220;BOOTPROTO=static&#8221; &gt;&gt; $IFCFG_ETH0<br />
echo &#8220;IPADDR=$IP&#8221; &gt;&gt; $IFCFG_ETH0<br />
echo &#8220;NETMASK=$NETMASK&#8221; &gt;&gt; $IFCFG_ETH0<br />
echo &#8220;GATEWAY=$GATEWAY&#8221; &gt;&gt; $IFCFG_ETH0<br />
echo &#8220;ONBOOT=yes&#8221; &gt;&gt; $IFCFG_ETH0</p>
<p>echo &#8220;NETWORKING=yes&#8221;&gt; $NETWORK<br />
echo &#8220;HOSTNAME=$HOSTNAME.$DOMAIN&#8221; &gt;&gt; $NETWORK</p>
<p>echo &#8220;search $DOMAIN&#8221; &gt; /etc/resolv.conf<br />
echo &#8220;nameserver $DNS1&#8243; &gt;&gt; /etc/resolv.conf<br />
echo &#8220;nameserver $DNS2&#8243; &gt;&gt; /etc/resolv.conf</p>
<p>echo &#8220;127.0.0.1 localhost.localdomain localhost&#8221; &gt; /etc/hosts<br />
echo &#8220;127.0.0.1 $HOSTNAME.$DOMAIN $HOSTNAME&#8221; &gt;&gt; /etc/hosts</p>
<p># Script de sincronizacion de ntp<br />
NTPSERVER=<br />
echo &#8220;tinker panic 0&#8243; &gt; /etc/ntp.conf<br />
echo &#8220;restrict 127.0.0.1&#8243; &gt;&gt; /etc/ntp.conf<br />
echo &#8220;restrict default kod nomodify notrap&#8221; &gt;&gt; /etc/ntp.conf<br />
echo &#8220;server $NTPSERVER&#8221; &gt;&gt; /etc/ntp.conf<br />
echo &#8220;driftfile /var/lib/ntp/drift&#8221; &gt;&gt; /etc/ntp.conf</p>
<p>echo &#8220;$NTPSERVER&#8221; &gt; /etc/ntp/step-tickers</p>
<p>chkconfig ntpd on</p>
<p># Comprimir los logs de logrotate<br />
echo &#8220;compress&#8221; &gt;&gt; /etc/logrotate.conf</p>
<p># Repositorios locales<br />
BASE=http:///RedHat/repos/RHEL-6.repo<br />
EXTRAS=http:///RedHat/repos/Extras.repo</p>
<p>rm -f /etc/yum.repos.d/*.repo<br />
wget $BASE -P /etc/yum.repos.d/<br />
wget $EXTRAS -P /etc/yum.repos.d/</p>
<p>RPMKEY=http:///centos/RPM-GPG-KEY-CentOS-5<br />
wget $RPMKEY -P /etc/pki/rpm-gpg/</p>
<p># Deshabilitar servicios innecesarios al arranque<br />
SERVICIOS=&#8221;bluetooth cups gpm ip6tables iptables sendmail smartd&#8221;<br />
for i in $SERVICIOS<br />
do<br />
chkconfig $i off<br />
done</p>
<p># Activar el timeout de la shell despues de 5 minutos de inactividad<br />
echo &#8220;TMOUT=300&#8243; &gt;&gt; /etc/bashrc<br />
echo &#8220;readonly TMOUT&#8221; &gt;&gt; /etc/bashrc<br />
echo &#8220;export TMOUT&#8221; &gt;&gt; /etc/bashrc</p>
<p># Instalar VMTools<br />
# Q&amp;D<br />
wget http:///vmtools/vmtools.tar.gz<br />
tar xzvf vmtools.tar.gz<br />
vmware-tools-distrib/vmware-install.pl &#8211;default<br />
rm -f vmtools.tar.gz<br />
rm -Rf vmware-tools-distrib/</p>
<p># Actualizar paquetes<br />
#yum -y update<br />
#yum clean packages</p>
<p># Confirmacion para reiniciar/apagar el equipo</p>
<p>cat &lt;&lt; EOF &gt;/usr/local/bin/confirm<br />
#!/bin/bash<br />
prompt()<br />
{<br />
while true<br />
do<br />
echo -n &#8220;\$* s/n? &#8221;<br />
read reply<br />
if [ "\$reply" = s -o "\$reply" = S ]<br />
then<br />
return 0<br />
elif [ "\$reply" = n -o "\$reply" = N ]<br />
then<br />
echo &#8220;Accion cancelada&#8221;<br />
exit 1<br />
else<br />
echo &#8220;Por favor, introduce &#8216;s&#8217; o &#8216;n&#8217;&#8221;<br />
fi<br />
done<br />
}</p>
<p>echo &#8220;Se va a realizar \$1&#8243;<br />
prompt &#8220;Esta seguro?&#8221;<br />
\$@<br />
EOF</p>
<p>chmod 755 /usr/local/bin/confirm</p>
<p>echo &#8220;alias reboot=\&#8221;/usr/local/bin/confirm reboot\&#8221;" &gt;&gt; /etc/bashrc<br />
echo &#8220;alias shutdown=\&#8221;/usr/local/bin/confirm shutdown\&#8221;" &gt;&gt; /etc/bashrc<br />
echo &#8220;alias init=\&#8221;/usr/local/bin/confirm init\&#8221;" &gt;&gt; /etc/bashrc<br />
echo &#8220;alias halt=\&#8221;/usr/local/bin/confirm halt\&#8221;" &gt;&gt; /etc/bashrc</p>
<p># Prevenir reinicios accidentales por pulsar ctrl+alt+supr<br />
#sed -i &#8216;s!^ca::.*!ca::ctrlaltdel:/bin/echo &#8220;CTRL + ALT + SUPR is disabled&#8221;!g&#8217; /etc/inittab</p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/share?url=http://eduardominguez.es/blog/2011/12/01/kickstart-rhel6/&text=Kickstart+RHEL6&via=minWi" title="Post to Twitter"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://eduardominguez.es/blog/2011/12/01/kickstart-rhel6/&amp;t=Kickstart+RHEL6" title="Post to Facebook"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="https://mail.google.com/mail/?ui=2&amp;view=cm&amp;fs=1&amp;tf=1&amp;su=Kickstart+RHEL6&amp;body=Link:+http://eduardominguez.es/blog/2011/12/01/kickstart-rhel6/%0D%0A%0D%0A----%0D%0A+No+se+ven+bien+los+%26lt%3B+y+%26gt%3B+%3AP%0D%0A%23+Instalacion+modo+texto%0D%0Atext%0D%0Ainstall%0D%0Askipx%0D%0A%0D%0A%23+URL+de+instalacion%0D%0Aurl+--url+http%3A%2F%2F%2FRedHat%2F6%2FServer%0D%0A%23+Rep..." title="Send Gmail"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/gmail/tt-gmail.png" alt="Send Gmail" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://eduardominguez.es/blog/2011/12/01/kickstart-rhel6/&amp;title=Kickstart+RHEL6&amp;summary=No+se+ven+bien+los+%26lt%3B+y+%26gt%3B+%3AP%0D%0A%23+Instalacion+modo+texto%0D%0Atext%0D%0Ainstall%0D%0Askipx%0D%0A%0D%0A%23+URL+de+instalacion%0D%0Aurl+--url+http%3A%2F%2F%2FRedHat%2F6%2FServer%0D%0A%23+Rep...&amp;source=minWi blog" title="Post to LinkedIn"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/linkedin/tt-linkedin.png" alt="Post to LinkedIn" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://eduardominguez.es/blog/2011/12/01/kickstart-rhel6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script para crear isos de ESX con kickstart personalizado</title>
		<link>http://eduardominguez.es/blog/2011/11/08/script-para-crear-isos-de-esx-con-kickstart-personalizado/</link>
		<comments>http://eduardominguez.es/blog/2011/11/08/script-para-crear-isos-de-esx-con-kickstart-personalizado/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 10:13:54 +0000</pubDate>
		<dc:creator>minWi</dc:creator>
				<category><![CDATA[bash]]></category>
		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://eduardominguez.es/blog/?p=162</guid>
		<description><![CDATA[#!/bin/bash # # This script creates an esx iso using a custom kickstart # Usage: # createiso [kickstart file] [iso file] # Parameters: # kickstart file = Kickstart to embed # iso file = Iso to modify # Save the program name into PROGNAME using basename command PROGNAME=$(basename $0) # Exit the script if something [...]]]></description>
			<content:encoded><![CDATA[<p><code><br />
#!/bin/bash<br />
#<br />
# This script creates an esx iso using a custom kickstart<br />
# Usage:<br />
# createiso [kickstart file] [iso file]<br />
# Parameters:<br />
# kickstart file = Kickstart to embed<br />
# iso file = Iso to modify</p>
<p># Save the program name into PROGNAME using basename command<br />
PROGNAME=$(basename $0)</p>
<p># Exit the script if something goes wrong, using a descriptive text and an error code<br />
function error_exit() {</p>
<p>    echo "Error $1"<br />
    exit $2<br />
}</p>
<p># Show the usage if parameters are incorrect<br />
function usage() {<br />
    echo "Usage: ${PROGNAME} [kickstart file] [iso file]"<br />
    error_exit "checking parameters" 1<br />
}</p>
<p># Check if the parameters are ok<br />
function check_parms() {<br />
        # Check if there are only 2 parameters<br />
        [ $# -ne 2 ] &#038;&#038; usage</p>
<p>        # Check if kickstart file is a text file<br />
        [ -f $1 ] || error_exit "$1 is not a valid file" "1"</p>
<p>        # Check if the iso is really an iso (using file command)<br />
        file $2 | grep -q "CD-ROM"<br />
        RES=$?</p>
<p>        [ $RES -eq 0 ] || error_exit "$2 is not a valid iso" "1"<br />
}</p>
<p># Clean up<br />
function remove_temp() {<br />
        rm -Rf temp<br />
        rm -f $1<br />
        rm -f ks_`date +%Y%m%d`<br />
        umount mountpoint<br />
        rm -Rf newiso<br />
        rmdir mountpoint<br />
}</p>
<p># Main</p>
<p>check_parms $1 $2</p>
<p>POSTINSTALL=./resources/postinstall<br />
BACK=./resources/back.jpg</p>
<p># Check if mkisofs is available<br />
[ -x /usr/bin/mkisofs ] || error_exit "mkisofs not found" 1</p>
<p># Create a kickstart file copying the original<br />
KICKSTART=ks_`date +%Y%m%d`</p>
<p>cp $1 $KICKSTART</p>
<p># Create directory structure<br />
mkdir -p {temp/init,mountpoint,newiso}</p>
<p># Copy the iso to another temp, just in case<br />
echo -n "Copying iso to temp..."<br />
cp $2 $2.new || error_exit "copying $2" 1<br />
echo "Done"</p>
<p># Mount loopback temp iso file<br />
echo -n "Mounting temp iso..."<br />
mount -o loop $2.new mountpoint || error_exit "mounting $2" 1<br />
echo "Done"</p>
<p># Copy the initrd (the iso file is read-only)<br />
echo -n "Copying initrd..."<br />
cp mountpoint/isolinux/initrd.img temp/init || error_exit "copying initrd.img" 1<br />
echo "Done"</p>
<p># Copy the isolinux.cfg to a temp<br />
echo -n "Copying isolinux.cfg..."<br />
cp mountpoint/isolinux/isolinux.cfg temp/ || error_exit "copying isolinux.cfg" 1<br />
echo "Done"</p>
<p># Use cm as default boot option<br />
echo -n "Setting cm to default boot option..."<br />
sed -i 's/default esx/default cm/g' temp/isolinux.cfg || error_exit "setting cm to default boot option" 1<br />
echo "Done"</p>
<p># Initrd.img is a compressed file, so, uncompress it<br />
echo -n "Uncompressing initrd..."<br />
cd temp/init<br />
`zcat initrd.img | cpio --extract` || error_exit "uncompressing initrd" 1<br />
echo "Done"<br />
cd -</p>
<p># Remove the old initrd.img<br />
echo -n "Removing old initrd..."<br />
rm -f temp/init/initrd.img || error_exit "removing old initrd" 1<br />
echo "Done"</p>
<p># Embed the kickstart into the initrd<br />
echo -n "Copying kickstart to initrd..."<br />
cp $KICKSTART temp/init/ks.cfg || error_exit "copying kickstart to initrd" 1<br />
echo "Done"</p>
<p># Copy the postinstall script<br />
echo -n "Copying postinstall to initrd..."<br />
cp $POSTINSTALL temp/init/postinstall || error_exit "copying postinstall to initrd" 1<br />
echo "Done"</p>
<p># Recreate the initrd image<br />
echo -n "Recreating initrd..."<br />
cd temp/init/<br />
find ./ | cpio -H newc -o > ../initrd || error_exit "recreating initrd" 1<br />
gzip ../initrd --suffix .img || error_exit "recreating initrd" 1<br />
cd -<br />
echo "Done"</p>
<p># Create the boot entry in isolinux.cfg<br />
echo -n "Creating isolinux.cfg entry..."<br />
echo "LABEL auto" >> temp/isolinux.cfg<br />
echo "menu label ESX automatic installation" >> temp/isolinux.cfg<br />
echo "kernel vmlinuz" >> temp/isolinux.cfg<br />
echo "append initrd=initrd.img vmkopts=debugLogToSerial:1 mem=512M ks=file:///ks.cfg quiet" >> temp/isolinux.cfg<br />
echo "Done"</p>
<p># Copy the back image<br />
echo -n "Copying back image to initrd..."<br />
cp $BACK temp/back.jpg || error_exit "copying back.jpg to initrd" 1<br />
echo "Done"</p>
<p># Create the custom iso file<br />
echo -n "Creating new iso file..."<br />
# Copy all iso files<br />
cp -pr mountpoint/* newiso/ || error_exit "copying files" 1<br />
# Sync filesystem, just in case<br />
sync<br />
# Sleep for 5 secs., just in case too<br />
sleep 5<br />
# Overwrite the two modified files<br />
cp -f temp/{isolinux.cfg,initrd.img,back.jpg} newiso/isolinux/<br />
cd newiso<br />
# Create the iso into esx-XXXXYYZZ.iso<br />
mkisofs -l -J -R -r -T -o ../esx-vsphere-`date +%Y%m%d`.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ./ || error_exit "creating iso" 1<br />
cd -<br />
echo "Done"</p>
<p># Clean environment<br />
echo -n "Cleaning..."<br />
remove_temp $2.new<br />
echo "Done"</p>
<p># Finish!<br />
echo "All done!"<br />
echo "Now burn your new iso (esx-vsphere-`date +%Y%m%d`.iso) to a blank cd and boot the auto option"</p>
<p># Exit with no errors <img src='http://eduardominguez.es/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
exit 0<br />
</code></p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/share?url=http://eduardominguez.es/blog/2011/11/08/script-para-crear-isos-de-esx-con-kickstart-personalizado/&text=Script+para+crear+isos+de+ESX+con+kickstart+personalizado&via=minWi" title="Post to Twitter"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://eduardominguez.es/blog/2011/11/08/script-para-crear-isos-de-esx-con-kickstart-personalizado/&amp;t=Script+para+crear+isos+de+ESX+con+kickstart+personalizado" title="Post to Facebook"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="https://mail.google.com/mail/?ui=2&amp;view=cm&amp;fs=1&amp;tf=1&amp;su=Script+para+crear+isos+de+ESX+con+kickstart+personalizado&amp;body=Link:+http://eduardominguez.es/blog/2011/11/08/script-para-crear-isos-de-esx-con-kickstart-personalizado/%0D%0A%0D%0A----%0D%0A+%0D%0A%23%21%2Fbin%2Fbash%0D%0A%23%0D%0A%23+This+script+creates+an+esx+iso+using+a+custom+kickstart%0D%0A%23+Usage%3A%0D%0A%23+createiso+%5Bkickstart+file%5D+%5Biso+file%5D%0D%0A%23+Parameters%3A%0D%0A%23+ki..." title="Send Gmail"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/gmail/tt-gmail.png" alt="Send Gmail" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://eduardominguez.es/blog/2011/11/08/script-para-crear-isos-de-esx-con-kickstart-personalizado/&amp;title=Script+para+crear+isos+de+ESX+con+kickstart+personalizado&amp;summary=%0D%0A%23%21%2Fbin%2Fbash%0D%0A%23%0D%0A%23+This+script+creates+an+esx+iso+using+a+custom+kickstart%0D%0A%23+Usage%3A%0D%0A%23+createiso+%5Bkickstart+file%5D+%5Biso+file%5D%0D%0A%23+Parameters%3A%0D%0A%23+ki...&amp;source=minWi blog" title="Post to LinkedIn"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/linkedin/tt-linkedin.png" alt="Post to LinkedIn" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://eduardominguez.es/blog/2011/11/08/script-para-crear-isos-de-esx-con-kickstart-personalizado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reinicio forzado de VMs VMware automáticamente cuando no responden con los &#8220;Event handlers&#8221; de Nagios</title>
		<link>http://eduardominguez.es/blog/2011/10/14/reinicio-forzado-de-pcs-automaticamente-cuando-no-responden-con-los-event-handlers-de-nagios/</link>
		<comments>http://eduardominguez.es/blog/2011/10/14/reinicio-forzado-de-pcs-automaticamente-cuando-no-responden-con-los-event-handlers-de-nagios/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 09:53:37 +0000</pubDate>
		<dc:creator>minWi</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Nagios]]></category>
		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://eduardominguez.es/blog/?p=153</guid>
		<description><![CDATA[Debido a un bug de Microsoft Windows o VMware, nos surge que determinados PCs virtuales se quedan &#8220;congelados&#8221;, o bien con un pantallazo azul (BSOD). Cuando esto ocurre, aparte de quedar inaccesibles, consumen recursos y pueden surgir problemas (usuario no se puede conectar, swapeo del ESX,&#8230;) Lo ideal en este caso sería solucionar el bug [...]]]></description>
			<content:encoded><![CDATA[<p>Debido a un bug de Microsoft Windows o VMware, nos surge que determinados PCs virtuales se quedan &#8220;congelados&#8221;, o bien con un pantallazo azul (BSOD).</p>
<p>Cuando esto ocurre, aparte de quedar inaccesibles, consumen recursos y pueden surgir problemas (usuario no se puede conectar, swapeo del ESX,&#8230;)</p>
<p>Lo ideal en este caso sería solucionar el bug (se ha abierto caso a VMware), pero mientras VMware y Microsoft se echan la culpa unos a otros, hemos buscado un &#8220;workaround&#8221; temporal.</p>
<p>Aprovechando la disponibilidad de la herramienta &#8220;Nagios&#8221;, se puede aprovechar una de sus múltiples características, llamada &#8220;Event Handlers&#8221;.</p>
<p>Esta característica permite realizar una acción, cumpliendo ciertas condiciones.</p>
<p>En este caso en particular, se ha procedido de la siguiente manera:</p>
<ul>
<li>Chequeo de conectividad por red (ping) cada 10 minutos</li>
<li>Si al 3er intento (pasados 30 minutos), no responde</li>
<li>Reinicio forzado de la máquina virtual</li>
</ul>
<p>Esta operativa necesita la integración de Nagios con la API de VMware, y aprovechando que ambas herramientas utilizan perl, realizarlo en perl.</p>
<p>Para activar los event handlers en Nagios, hay que añadir la siguiente directiva en el fichero /etc/nagios/nagios.cfg:</p>
<pre>enable_event_handlers=1
event_handler_timeout=60</pre>
<p>Con el segundo paramtero, aumentamos el timeout del script a 60 segundos, puesto que la API de VMware no es todo lo rápida que debería&#8230;</p>
<p>Lo primero de todo, es crear la definición del PC a monitorizar en Nagios.</p>
<p>Para ello, creamos el fichero /etc/nagios/hosts/pcs/pcsXXXXX.cfg, cuyo contenido es:</p>
<pre>define host{
    use pcs
    host_name HOSTNAME
    alias ALIAS
    address IP
}
define service{
    use pcs-ping-service ; Name of service template to use
    host_name HOSTNAME
    service_description PING
    check_command check_ping!100.0,20%!500.0,60%
    max_check_attempts 4
    event_handler reboot-vm
}</pre>
<p>Este fichero indica el nombre e ip del host, así como los servicios (en este caso, un solo servicio, ping), asociados a ese host.</p>
<p>Esta organización de la configuración es propia, puesto que la configuración inicial de nagios, así como los hosts, servicios, etc. en principio se encuentra en /etc/nagios/nagios.cfg, pero debido a la complejidad que esto entraña, se ha dividido en directorios dentro de /etc/nagios.</p>
<p>También es necesario modificar los ficheros de definición (templates), para adaptarlos a la situación: /etc/nagios/templates/hosts_templates.cfg:</p>
<pre>define host{
    name pcs
    use generic-host
    check_period workhours
    max_check_attempts 5
    check_command check_dummy!0
    notification_period workhours
    notification_interval 120
    notification_options d,u,r
    contact_groups admins
    register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
}</pre>
<p>El chequeo a nivel de host se hace vía ping, sin embargo, en este caso no se ha hecho así, puesto que la monitorización de Nagios funciona de tal manera que si un host no responde (cualquiera que sea el tipo de chequeo que realiza, en este caso ping), no chequea los servicios asociados a ese host, y el event handler de reinicio de la máquina virtual está asociado al servicio, por lo tanto, cuando el PC se quedaba sin red, el event handler no funcionaba, puesto que el chequeo del host fallaba, y no utilizaba el chequeo de servicio.</p>
<p>Por eso, el chequeo del host, utiliza un script &#8220;check_dummy&#8221;, que no hace nada, siempre da ok, con lo cual, el servicio que provoca el event handler, es un servicio aparte (en este caso ping), solucionando el problema de la dependencia del chequeo de host al chequeo de los servicios. /etc/nagios/templates/services_templates.cfg:</p>
<pre>define service{
    name pcs-ping-service
    use local-service
    normal_check_interval 10
    active_checks_enabled 1
    passive_checks_enabled 0
    check_freshness 0
    freshness_threshold 600
    retry_check_interval 10
    max_check_attempts 4
    register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
}</pre>
<p>Esta es la definición del servicio de chequeo de los pings de los pcs. No es la estándar que utilizamos, porque la estándar es más agresiva (cada minuto, en lugar de cada 10)</p>
<p>NOTA: Los &#8220;register 0&#8243; indican que son plantillas, que luego se utilizan en la definición del host y sus servicios.</p>
<p>El comando asociado al event handler se encuentra en /etc/nagios/commands/reboot-vm.cfg, y su contenido es:</p>
<pre>define command{
    command_name reboot-vm
    command_line /usr/lib/nagios/plugins/eventhandlers/reboot-vm $HOSTNAME$ $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$
}</pre>
<p>Normalmente a un event handler, no se le pasa el host, pero en este caso, para hacerlo &#8220;genérico&#8221;, y que pueda valer para cualquier host (simplificando mucho las cosas&#8230;), se le pasa como parametro el nombre del host. El script que trata el event handler es el siguiente:</p>
<pre>#!/bin/sh
# # Event handler script for rebooting a VMware virtual machine if it doesn't reply ping
# # Note: This script will only reboot the virtual machine if the ping is
# retried 3 times (in a "soft" state) or if the ping somehow
# manages to fall into a "hard" error state. 

HOSTNAME=$1
URL="URL_VCENTER"
USER="USER_VCENTER"
PASS="PASS_VCENTER"
# # What state is the ping in?
case "$2" in
OK)
    # The ping just came back up, so don't do anything...
    ;;
CRITICAL)
    # Is this a "soft" or a "hard" state?
    case "$3" in
    # We're in a "soft" state, meaning that Nagios is in the middle of retrying the
    # check before it turns into a "hard" state and contacts get notified...
        SOFT)
        # What check attempt are we on? We don't want to restart the virtual machine on the first
        # check, because it may just be a fluke!
        case "$4" in
        # Wait until the check has been tried 3 times before rebooting the virtual machine.
        # If the check fails on the 4th time (after we reboot the vm), the state
        # type will turn to "hard" and contacts will be notified of the problem.
        # Hopefully this will reboot the vm successfully, so the 4th check will
        # result in a "soft" recovery. If that happens no one gets notified because we
        # fixed the problem!
            3) echo -n "Rebooting VM (3rd soft critical state)..."
            # Call the script to reboot the vm
            /usr/lib/nagios/plugins/eventhandlers/resetvm.pl --url $URL --username $USER --password $PASS --vmname $HOSTNAME
            ;;
        esac
        ;;
        # The virtual machine somehow managed to turn into a hard error without getting fixed.
        # It should have been rebooted by the code above, but for some reason it didn't.
        # Let's give it one last try, shall we?
        # Note: Contacts have already been notified of a problem with the virtual machine at this
        # point (unless you disabled notifications for this service)
        HARD)
            echo -n "Rebooting VM..."
            # Call the script to reboot the vm
            /usr/lib/nagios/plugins/eventhandlers/resetvm.pl --url $URL --username $USER --password $PASS --vmname $HOSTNAME
            ;;
        esac
        ;;
esac
exit</pre>
<p>La lógica del script es:</p>
<ul>
<li>Si la respuesta del chequeo es OK, no hacer nada</li>
<li>Si es CRITICAL (no ha devuelto el ping)</li>
<li>Si es SOFT y es la tercera vez del chequeo en SOFT</li>
<ul>
<li>Reiniciar la VM</li>
</ul>
<li>Si es HARD (no debería de llegar aquí nunca, pero&#8230;)</li>
<ul>
<li>Reiniciar la VM</li>
</ul>
</ul>
<p>El siguiente paso sería procesar esta información y utilizar la API de VMware para resetear la máquina virtual que está causando los problemas&#8230; sin embargo, dado que los nombres de las máquinas virtuales no coinciden con el hostname, si no que llevan una descripción asociada en el nombre, hay que tratar esta información antes de mandar la orden (no todo iba a ser fácil <img src='http://eduardominguez.es/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> )</p>
<p>Por ejemplo, pcsXXXXX, en realidad es &#8220;PCSXXXXX &#8211; Pruebas piloto YYYY&#8221;.</p>
<p>El script de perl que realiza el reinicio es:</p>
<pre>#!/usr/bin/perl -w
# VMware and perl related stuff
use strict;
use warnings;
use VMware::VIRuntime;
# Add the vmname parameter to the arguments
my %opts = ( 'vmname' =&gt; {
    # String
    type =&gt; "=s",
    help =&gt; "The name of the virtual machine",
    # Required
    required =&gt; 1,
    },
);
# Perl stuff to add the vmname parameter and process themselves
Opts::add_options(%opts);
Opts::parse();
Opts::validate();
# Connect vcenter
Util::connect();
# Add some regexp magic
my $vmname = ".*" . Opts::get_option('vmname') . ".*";
# get the vm objects matching the criteria
my $vm_views = Vim::find_entity_views(view_type =&gt; 'VirtualMachine',
    filter =&gt; {
        # regexp magic used here
        'config.name' =&gt; qr/${vmname}/i,
        # check that the vm is on
        'runtime.powerState' =&gt; 'poweredOn'
        }); 

# this loop should be run once, because it should be only one vm...
foreach my $vm(@$vm_views) {
    # print "Name: " . $vm-&gt;name . "\n";
    $vm-&gt;ResetVM();
}
# Disconnect vcenter
Util::disconnect();</pre>
<p>El script está comentado, con lo cual, no debería haber problema en entenderlo <img src='http://eduardominguez.es/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Se ha probado, y funciona correctamente, pero ocurre lo siguiente: Al estar en dominio, hay veces que la máquina virtual levanta el servicio de firewall, impidiendo el ping a la misma, por lo tanto, esto no sería válido&#8230; se están evaluando alternativas a esto.</p>
<p>NOTA: Faltan cosas, como integrarlo con las notificaciones, etc.</p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/share?url=http://eduardominguez.es/blog/2011/10/14/reinicio-forzado-de-pcs-automaticamente-cuando-no-responden-con-los-event-handlers-de-nagios/&text=Reinicio+forzado+de+VMs+VMware+autom%C3%A1ticamente+cuando+no+responden+con+los+%E2%80%9CEvent+handlers%E2%80%...&via=minWi" title="Post to Twitter"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://eduardominguez.es/blog/2011/10/14/reinicio-forzado-de-pcs-automaticamente-cuando-no-responden-con-los-event-handlers-de-nagios/&amp;t=Reinicio+forzado+de+VMs+VMware+autom%C3%A1ticamente+cuando+no+responden+con+los+%E2%80%9CEvent+handlers%E2%80%9D+de+Nagios" title="Post to Facebook"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="https://mail.google.com/mail/?ui=2&amp;view=cm&amp;fs=1&amp;tf=1&amp;su=Reinicio+forzado+de+VMs+VMware+autom%C3%A1ticamente+cuando+no+responden+con+los+%E2%80%9CEvent+handlers%E2%80%9D+de+Nagios&amp;body=Link:+http://eduardominguez.es/blog/2011/10/14/reinicio-forzado-de-pcs-automaticamente-cuando-no-responden-con-los-event-handlers-de-nagios/%0D%0A%0D%0A----%0D%0A+Debido+a+un+bug+de+Microsoft+Windows+o+VMware%2C+nos+surge+que+determinados+PCs+virtuales+se+quedan+%22congelados%22%2C+o+bien+con+un+pantallazo+azul+%28BSOD..." title="Send Gmail"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/gmail/tt-gmail.png" alt="Send Gmail" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://eduardominguez.es/blog/2011/10/14/reinicio-forzado-de-pcs-automaticamente-cuando-no-responden-con-los-event-handlers-de-nagios/&amp;title=Reinicio+forzado+de+VMs+VMware+autom%C3%A1ticamente+cuando+no+responden+con+los+%E2%80%9CEvent+handlers%E2%80%9D+de+Nagios&amp;summary=Debido+a+un+bug+de+Microsoft+Windows+o+VMware%2C+nos+surge+que+determinados+PCs+virtuales+se+quedan+%22congelados%22%2C+o+bien+con+un+pantallazo+azul+%28BSOD...&amp;source=minWi blog" title="Post to LinkedIn"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/linkedin/tt-linkedin.png" alt="Post to LinkedIn" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://eduardominguez.es/blog/2011/10/14/reinicio-forzado-de-pcs-automaticamente-cuando-no-responden-con-los-event-handlers-de-nagios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ownCloud 2.0</title>
		<link>http://eduardominguez.es/blog/2011/10/13/owncloud-2-0/</link>
		<comments>http://eduardominguez.es/blog/2011/10/13/owncloud-2-0/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 14:07:30 +0000</pubDate>
		<dc:creator>minWi</dc:creator>
				<category><![CDATA[cloud]]></category>

		<guid isPermaLink="false">http://eduardominguez.es/blog/?p=155</guid>
		<description><![CDATA[http://owncloud.org/announcement Según su web: ownCloud gives you universal access to your files through a web interface or WebDAV. It also provides a platform to easily view &#38; sync your contacts, calendars and bookmarks across all your devices and enables basic editing right on the web. Probé la versión 1 y estaba en pañales, pero esta parece [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://owncloud.org/announcement/">http://owncloud.org/announcement</a></p>
<p>Según su web:</p>
<address>ownCloud gives you universal access to your files through a web interface or WebDAV. It also provides a platform to easily view &amp; sync your contacts, calendars and bookmarks across all your devices and enables basic editing right on the web.</address>
<p>Probé la versión 1 y estaba en pañales, pero esta parece que tiene muy buena pinta!</p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/share?url=http://eduardominguez.es/blog/2011/10/13/owncloud-2-0/&text=ownCloud+2.0&via=minWi" title="Post to Twitter"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://eduardominguez.es/blog/2011/10/13/owncloud-2-0/&amp;t=ownCloud+2.0" title="Post to Facebook"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="https://mail.google.com/mail/?ui=2&amp;view=cm&amp;fs=1&amp;tf=1&amp;su=ownCloud+2.0&amp;body=Link:+http://eduardominguez.es/blog/2011/10/13/owncloud-2-0/%0D%0A%0D%0A----%0D%0A+http%3A%2F%2Fowncloud.org%2Fannouncement%0D%0A%0D%0ASeg%C3%BAn+su+web%3A%0D%0A%0D%0AownCloud+gives+you+universal+access+to+your+files%C2%A0through+a+web+interface+or+WebDAV.+It+also+p..." title="Send Gmail"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/gmail/tt-gmail.png" alt="Send Gmail" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://eduardominguez.es/blog/2011/10/13/owncloud-2-0/&amp;title=ownCloud+2.0&amp;summary=http%3A%2F%2Fowncloud.org%2Fannouncement%0D%0A%0D%0ASeg%C3%BAn+su+web%3A%0D%0A%0D%0AownCloud+gives+you+universal+access+to+your+files%C2%A0through+a+web+interface+or+WebDAV.+It+also+p...&amp;source=minWi blog" title="Post to LinkedIn"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/linkedin/tt-linkedin.png" alt="Post to LinkedIn" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://eduardominguez.es/blog/2011/10/13/owncloud-2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Concentración de coches clásicos, Ávila, Octubre 2011</title>
		<link>http://eduardominguez.es/blog/2011/10/09/concentracion-de-coches-clasicos-avila-octubre-2011/</link>
		<comments>http://eduardominguez.es/blog/2011/10/09/concentracion-de-coches-clasicos-avila-octubre-2011/#comments</comments>
		<pubDate>Sun, 09 Oct 2011 10:45:45 +0000</pubDate>
		<dc:creator>minWi</dc:creator>
				<category><![CDATA[Motor]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://eduardominguez.es/blog/?p=147</guid>
		<description><![CDATA[Aparte de los ordenadores, gadgets, y todo aquello que lleve chips una de las cosas que más me gustan, son los coches, y los coches clásicos últimamente mucho más. Aquí pongo unas fotos que he hecho esta mañana aprovechando una concentración de coches clásicos en el lienzo norte de Ávila. Están hechas con el móvil, [...]]]></description>
			<content:encoded><![CDATA[<p>Aparte de los ordenadores, gadgets, y todo aquello que lleve chips <img src='http://eduardominguez.es/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  una de las cosas que más me gustan, son los coches, y los coches clásicos últimamente mucho más.</p>
<p>Aquí pongo unas fotos que he hecho esta mañana aprovechando una concentración de coches clásicos en el lienzo norte de Ávila.</p>
<p>Están hechas con el móvil, así que perdón por la calidad de las mismas <img src='http://eduardominguez.es/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="https://plus.google.com/photos/115212072941368139747/albums/5661436342968822529">Concentración coches clásicos, Ávila, Octubre 2011</a></p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/share?url=http://eduardominguez.es/blog/2011/10/09/concentracion-de-coches-clasicos-avila-octubre-2011/&text=Concentraci%C3%B3n+de+coches+cl%C3%A1sicos%2C+%C3%81vila%2C+Octubre+2011&via=minWi" title="Post to Twitter"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://eduardominguez.es/blog/2011/10/09/concentracion-de-coches-clasicos-avila-octubre-2011/&amp;t=Concentraci%C3%B3n+de+coches+cl%C3%A1sicos%2C+%C3%81vila%2C+Octubre+2011" title="Post to Facebook"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="https://mail.google.com/mail/?ui=2&amp;view=cm&amp;fs=1&amp;tf=1&amp;su=Concentraci%C3%B3n+de+coches+cl%C3%A1sicos%2C+%C3%81vila%2C+Octubre+2011&amp;body=Link:+http://eduardominguez.es/blog/2011/10/09/concentracion-de-coches-clasicos-avila-octubre-2011/%0D%0A%0D%0A----%0D%0A+Aparte+de+los+ordenadores%2C+gadgets%2C+y+todo+aquello+que+lleve+chips+%3AP+una+de+las+cosas+que+m%C3%A1s+me+gustan%2C+son+los+coches%2C+y+los+coches+cl%C3%A1sicos+%C3%BAlt..." title="Send Gmail"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/gmail/tt-gmail.png" alt="Send Gmail" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://eduardominguez.es/blog/2011/10/09/concentracion-de-coches-clasicos-avila-octubre-2011/&amp;title=Concentraci%C3%B3n+de+coches+cl%C3%A1sicos%2C+%C3%81vila%2C+Octubre+2011&amp;summary=Aparte+de+los+ordenadores%2C+gadgets%2C+y+todo+aquello+que+lleve+chips+%3AP+una+de+las+cosas+que+m%C3%A1s+me+gustan%2C+son+los+coches%2C+y+los+coches+cl%C3%A1sicos+%C3%BAlt...&amp;source=minWi blog" title="Post to LinkedIn"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/linkedin/tt-linkedin.png" alt="Post to LinkedIn" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://eduardominguez.es/blog/2011/10/09/concentracion-de-coches-clasicos-avila-octubre-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Añadir drivers al instalador de ESXi</title>
		<link>http://eduardominguez.es/blog/2011/09/28/anadir-drivers-al-instalador-de-esxi/</link>
		<comments>http://eduardominguez.es/blog/2011/09/28/anadir-drivers-al-instalador-de-esxi/#comments</comments>
		<pubDate>Wed, 28 Sep 2011 15:57:02 +0000</pubDate>
		<dc:creator>minWi</dc:creator>
				<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://eduardominguez.es/blog/?p=145</guid>
		<description><![CDATA[Presupongo que perderás soporte, pero puede ser útil para entornos de lab: http://www.ntpro.nl/blog/archives/1602-Injecting-drivers-into-the-ESXI-installer.html]]></description>
			<content:encoded><![CDATA[<p>Presupongo que perderás soporte, pero puede ser útil para entornos de lab:</p>
<p><a title="http://www.ntpro.nl/blog/archives/1602-Injecting-drivers-into-the-ESXI-installer.html" href="http://www.ntpro.nl/blog/archives/1602-Injecting-drivers-into-the-ESXI-installer.html">http://www.ntpro.nl/blog/archives/1602-Injecting-drivers-into-the-ESXI-installer.html</a></p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/share?url=http://eduardominguez.es/blog/2011/09/28/anadir-drivers-al-instalador-de-esxi/&text=A%C3%B1adir+drivers+al+instalador+de+ESXi&via=minWi" title="Post to Twitter"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://eduardominguez.es/blog/2011/09/28/anadir-drivers-al-instalador-de-esxi/&amp;t=A%C3%B1adir+drivers+al+instalador+de+ESXi" title="Post to Facebook"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="https://mail.google.com/mail/?ui=2&amp;view=cm&amp;fs=1&amp;tf=1&amp;su=A%C3%B1adir+drivers+al+instalador+de+ESXi&amp;body=Link:+http://eduardominguez.es/blog/2011/09/28/anadir-drivers-al-instalador-de-esxi/%0D%0A%0D%0A----%0D%0A+Presupongo+que+perder%C3%A1s+soporte%2C+pero+puede+ser+%C3%BAtil+para+entornos+de+lab%3A%0D%0A%0D%0Ahttp%3A%2F%2Fwww.ntpro.nl%2Fblog%2Farchives%2F1602-Injecting-drivers-into-the-ESX..." title="Send Gmail"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/gmail/tt-gmail.png" alt="Send Gmail" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://eduardominguez.es/blog/2011/09/28/anadir-drivers-al-instalador-de-esxi/&amp;title=A%C3%B1adir+drivers+al+instalador+de+ESXi&amp;summary=Presupongo+que+perder%C3%A1s+soporte%2C+pero+puede+ser+%C3%BAtil+para+entornos+de+lab%3A%0D%0A%0D%0Ahttp%3A%2F%2Fwww.ntpro.nl%2Fblog%2Farchives%2F1602-Injecting-drivers-into-the-ESX...&amp;source=minWi blog" title="Post to LinkedIn"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/linkedin/tt-linkedin.png" alt="Post to LinkedIn" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://eduardominguez.es/blog/2011/09/28/anadir-drivers-al-instalador-de-esxi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Parches de VMware</title>
		<link>http://eduardominguez.es/blog/2011/09/28/parches-de-vmware/</link>
		<comments>http://eduardominguez.es/blog/2011/09/28/parches-de-vmware/#comments</comments>
		<pubDate>Wed, 28 Sep 2011 07:52:57 +0000</pubDate>
		<dc:creator>minWi</dc:creator>
				<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://eduardominguez.es/blog/?p=142</guid>
		<description><![CDATA[En esta página -&#62; http://www.vmware.com/patchmgr/findPatch.portal se encuentran todos los parches de los productos de VMware. Además permite buscar por versiones y/o grado de &#8220;severidad&#8221;, con lo cual viene bastante bien tenerla &#8220;a mano&#8221;.]]></description>
			<content:encoded><![CDATA[<div>
<p>En esta página -&gt; <a title="http://www.vmware.com/patchmgr/findPatch.portal" href="http://www.vmware.com/patchmgr/findPatch.portal">http://www.vmware.com/patchmgr/findPatch.portal</a> se encuentran todos los parches de los productos de VMware.</p>
<p>Además permite buscar por versiones y/o grado de &#8220;severidad&#8221;, con lo cual viene bastante bien tenerla &#8220;a mano&#8221;.</p>
</div>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/share?url=http://eduardominguez.es/blog/2011/09/28/parches-de-vmware/&text=Parches+de+VMware&via=minWi" title="Post to Twitter"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://eduardominguez.es/blog/2011/09/28/parches-de-vmware/&amp;t=Parches+de+VMware" title="Post to Facebook"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="https://mail.google.com/mail/?ui=2&amp;view=cm&amp;fs=1&amp;tf=1&amp;su=Parches+de+VMware&amp;body=Link:+http://eduardominguez.es/blog/2011/09/28/parches-de-vmware/%0D%0A%0D%0A----%0D%0A+%0D%0A%0D%0AEn+esta+p%C3%A1gina+-%26gt%3B+http%3A%2F%2Fwww.vmware.com%2Fpatchmgr%2FfindPatch.portal+se+encuentran+todos+los+parches+de+los+productos+de+VMware.%0D%0A%0D%0AAdem%C3%A1s+perm..." title="Send Gmail"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/gmail/tt-gmail.png" alt="Send Gmail" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://eduardominguez.es/blog/2011/09/28/parches-de-vmware/&amp;title=Parches+de+VMware&amp;summary=%0D%0A%0D%0AEn+esta+p%C3%A1gina+-%26gt%3B+http%3A%2F%2Fwww.vmware.com%2Fpatchmgr%2FfindPatch.portal+se+encuentran+todos+los+parches+de+los+productos+de+VMware.%0D%0A%0D%0AAdem%C3%A1s+perm...&amp;source=minWi blog" title="Post to LinkedIn"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/linkedin/tt-linkedin.png" alt="Post to LinkedIn" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://eduardominguez.es/blog/2011/09/28/parches-de-vmware/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solución a &#8220;ambiguous target&#8221; en scp</title>
		<link>http://eduardominguez.es/blog/2011/09/27/solucion-a-ambiguous-target-en-scp/</link>
		<comments>http://eduardominguez.es/blog/2011/09/27/solucion-a-ambiguous-target-en-scp/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 15:05:37 +0000</pubDate>
		<dc:creator>minWi</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://eduardominguez.es/blog/?p=139</guid>
		<description><![CDATA[Cuando alguna de las rutas (origen o destino) del comando scp contiene espacios en blanco (aun &#8220;escapandolos&#8221; con la barra invertida \), falla mostrando el error &#8220;ambiguous target&#8221;. scp &#60;ruta_fichero_origen&#62; &#60;usuario&#62;@&#60;host_destino&#62;:&#60;ruta_con_espacios\ escapados&#62; scp: ambiguous target La solución es entrecomillar: scp &#60;ruta_fichero_origen&#62; &#60;usuario&#62;@&#60;host_destino&#62;:"&#60;ruta_con_espacios\ escapados&#62;"]]></description>
			<content:encoded><![CDATA[<p>Cuando alguna de las rutas (origen o destino) del comando scp contiene espacios en blanco (aun &#8220;escapandolos&#8221; con la barra invertida \), falla mostrando el error &#8220;ambiguous target&#8221;.</p>
<pre>scp &lt;ruta_fichero_origen&gt; &lt;usuario&gt;@&lt;host_destino&gt;:&lt;ruta_con_espacios\ escapados&gt;
scp: ambiguous target</pre>
<p>La solución es entrecomillar:</p>
<pre>scp &lt;ruta_fichero_origen&gt; &lt;usuario&gt;@&lt;host_destino&gt;:"&lt;ruta_con_espacios\ escapados&gt;"</pre>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/share?url=http://eduardominguez.es/blog/2011/09/27/solucion-a-ambiguous-target-en-scp/&text=Soluci%C3%B3n+a+%E2%80%9Cambiguous+target%E2%80%9D+en+scp&via=minWi" title="Post to Twitter"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://eduardominguez.es/blog/2011/09/27/solucion-a-ambiguous-target-en-scp/&amp;t=Soluci%C3%B3n+a+%E2%80%9Cambiguous+target%E2%80%9D+en+scp" title="Post to Facebook"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="https://mail.google.com/mail/?ui=2&amp;view=cm&amp;fs=1&amp;tf=1&amp;su=Soluci%C3%B3n+a+%E2%80%9Cambiguous+target%E2%80%9D+en+scp&amp;body=Link:+http://eduardominguez.es/blog/2011/09/27/solucion-a-ambiguous-target-en-scp/%0D%0A%0D%0A----%0D%0A+Cuando+alguna+de+las+rutas+%28origen+o+destino%29+del+comando+scp+contiene+espacios+en+blanco+%28aun+%22escapandolos%22+con+la+barra+invertida+%5C%29%2C+falla+most..." title="Send Gmail"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/gmail/tt-gmail.png" alt="Send Gmail" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://eduardominguez.es/blog/2011/09/27/solucion-a-ambiguous-target-en-scp/&amp;title=Soluci%C3%B3n+a+%E2%80%9Cambiguous+target%E2%80%9D+en+scp&amp;summary=Cuando+alguna+de+las+rutas+%28origen+o+destino%29+del+comando+scp+contiene+espacios+en+blanco+%28aun+%22escapandolos%22+con+la+barra+invertida+%5C%29%2C+falla+most...&amp;source=minWi blog" title="Post to LinkedIn"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/linkedin/tt-linkedin.png" alt="Post to LinkedIn" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://eduardominguez.es/blog/2011/09/27/solucion-a-ambiguous-target-en-scp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eliminar snapshots fantasmas en VMware ESX</title>
		<link>http://eduardominguez.es/blog/2011/09/27/eliminar-snapshots-fantasmas-en-vmware-esx/</link>
		<comments>http://eduardominguez.es/blog/2011/09/27/eliminar-snapshots-fantasmas-en-vmware-esx/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 07:46:55 +0000</pubDate>
		<dc:creator>minWi</dc:creator>
				<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://eduardominguez.es/blog/?p=135</guid>
		<description><![CDATA[Puede ocurrir que por diversas causas (fallo de conectividad en el momento exacto, falta de espacio en disco,&#8230;) queden snapshots &#8220;fantasmas&#8221; de máquinas virtuales. El procedimiento oficial de VMware es el que aparece relatado en esta KB: http://kb.vmware.com/kb/1002310]]></description>
			<content:encoded><![CDATA[<p>Puede ocurrir que por diversas causas (fallo de conectividad en el momento exacto, falta de espacio en disco,&#8230;) queden snapshots &#8220;fantasmas&#8221; de máquinas virtuales.</p>
<p>El procedimiento oficial de VMware es el que aparece relatado en esta KB:</p>
<p><a href="http://kb.vmware.com/kb/1002310">http://kb.vmware.com/kb/1002310</a></p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/share?url=http://eduardominguez.es/blog/2011/09/27/eliminar-snapshots-fantasmas-en-vmware-esx/&text=Eliminar+snapshots+fantasmas+en+VMware+ESX&via=minWi" title="Post to Twitter"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://eduardominguez.es/blog/2011/09/27/eliminar-snapshots-fantasmas-en-vmware-esx/&amp;t=Eliminar+snapshots+fantasmas+en+VMware+ESX" title="Post to Facebook"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="https://mail.google.com/mail/?ui=2&amp;view=cm&amp;fs=1&amp;tf=1&amp;su=Eliminar+snapshots+fantasmas+en+VMware+ESX&amp;body=Link:+http://eduardominguez.es/blog/2011/09/27/eliminar-snapshots-fantasmas-en-vmware-esx/%0D%0A%0D%0A----%0D%0A+Puede+ocurrir+que+por+diversas+causas+%28fallo+de+conectividad+en+el+momento+exacto%2C+falta+de+espacio+en+disco%2C...%29+queden+snapshots+%22fantasmas%22+de+m..." title="Send Gmail"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/gmail/tt-gmail.png" alt="Send Gmail" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://eduardominguez.es/blog/2011/09/27/eliminar-snapshots-fantasmas-en-vmware-esx/&amp;title=Eliminar+snapshots+fantasmas+en+VMware+ESX&amp;summary=Puede+ocurrir+que+por+diversas+causas+%28fallo+de+conectividad+en+el+momento+exacto%2C+falta+de+espacio+en+disco%2C...%29+queden+snapshots+%22fantasmas%22+de+m...&amp;source=minWi blog" title="Post to LinkedIn"><img class="nothumb" src="http://eduardominguez.es/blog/wp-content/plugins/tweet-this/icons/en/linkedin/tt-linkedin.png" alt="Post to LinkedIn" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://eduardominguez.es/blog/2011/09/27/eliminar-snapshots-fantasmas-en-vmware-esx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

