<?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>David Markley &#187; hostd</title>
	<atom:link href="http://www.davidmarkley.com/tag/hostd/feed" rel="self" type="application/rss+xml" />
	<link>http://www.davidmarkley.com</link>
	<description>Official Website of Me</description>
	<lastBuildDate>Wed, 01 Sep 2010 16:58:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>VMware Server 2 on CentOS 5.4</title>
		<link>http://www.davidmarkley.com/vmware/vmware-server-2-on-centos-5-4</link>
		<comments>http://www.davidmarkley.com/vmware/vmware-server-2-on-centos-5-4#comments</comments>
		<pubDate>Fri, 20 Nov 2009 14:47:04 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[5.4]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[crashing]]></category>
		<category><![CDATA[glibc]]></category>
		<category><![CDATA[glibc-common]]></category>
		<category><![CDATA[hostd]]></category>
		<category><![CDATA[vmware server]]></category>

		<guid isPermaLink="false">http://www.davidmarkley.com/?p=84</guid>
		<description><![CDATA[Well, I&#8217;m sure that there are many people that are running VMware Server 2 on CentOS 5. After all, it&#8217;s one of the major Host OSes that VMware recognizes. Popularity notwithstanding, there is a major bug that can bring your VM screamer to a hault. CentOS 5.4 has a new glibc package that essentially breaks [...]]]></description>
			<content:encoded><![CDATA[<p>Well, I&#8217;m sure that there are many people that are running VMware Server 2 on CentOS 5. After all, it&#8217;s one of the major Host OSes that VMware recognizes. Popularity notwithstanding, there is a major bug that can bring your VM screamer to a hault.</p>
<p>CentOS 5.4 has a new <em>glibc</em> package that essentially breaks VMware Server&#8217;s <em>hostd</em> process. There are many posts out there regarding the issues, and various means of fixing them. However, I am just going to summarize info I&#8217;ve found out there on the net, and hopefully you should be able to follow very easily and get your VMs back up and running.</p>
<h2>PROBLEM:</h2>
<p>VMware Server 2 (<em>hostd</em>) crashes on CentOS 5 after upgrading to the latest releases of <em>glibc</em> and <em>glibc-common</em></p>
<p><strong><span style="text-decoration: underline;"><span style="color: #0000ff;">NOTE ON SOLUTIONS:</span></span> </strong>There are two methods to solve this. The first requires downgrading the libraries system-wide. This should be fine if you only use the CentOS host as a VMware Server Host and nothing else. However, if you are in doubt whether your other applications, etc. on that host will run on a slightly older version of glibc, please use SOLUTION METHOD 2 as it will only affect VMware, and essentially tell VMware Server where to look for the correct libraries it needs.</p>
<p><em><strong><span style="color: #ff0000;">Disclaimer:</span> </strong></em>I am not responsible for you rendering your server useless. When in doubt, don&#8217;t upgrade to CentOS 5.4&#8230; Although, you probably already did that, and this is why you&#8217;re here.<em><strong><br />
</strong></em></p>
<h2>SOLUTION METHOD 1:</h2>
<p><strong>Step 1:</strong> Go to /etc/yum.repos.d and copy the file CentOS-Base.repo to CentOS53-Base.repo</p>
<p><strong>Step 2:</strong> In <em><span style="text-decoration: underline;">CentOS53-Base.repo</span></em>, rename all the packages to reflect the 5.3 version. So, change:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>base<span style="color: #7a0874; font-weight: bold;">&#93;</span> --<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #7a0874; font-weight: bold;">&#91;</span>base53<span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span>updates<span style="color: #7a0874; font-weight: bold;">&#93;</span> --<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #7a0874; font-weight: bold;">&#91;</span>updates53<span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span>addons<span style="color: #7a0874; font-weight: bold;">&#93;</span> --<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #7a0874; font-weight: bold;">&#91;</span>addons53<span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span>extras<span style="color: #7a0874; font-weight: bold;">&#93;</span> --<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #7a0874; font-weight: bold;">&#91;</span>extras53<span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span>centosplus<span style="color: #7a0874; font-weight: bold;">&#93;</span> --<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #7a0874; font-weight: bold;">&#91;</span>centosplus53<span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span>contrib<span style="color: #7a0874; font-weight: bold;">&#93;</span> --<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #7a0874; font-weight: bold;">&#91;</span>contrib53<span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></div></div>

<p><strong>Step 3:</strong> In <em><span style="text-decoration: underline;">CentOS53-Base.repo</span></em>, replace all instances of <strong><em>release=$releasever</em></strong> with <strong><em>release=5.3</em></strong></p>
<p><strong>Step 4:</strong> Now, downgrade the glibc and glibc-common libraries by running the following commands:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">yum downgrade glibc glibc-common</pre></div></div>

<p><strong>Step 5:</strong> To avoid any problems with future upgrades/updates, it would be best to exclude them from the list of available updates on yum. Add the following to your /etc/yum.conf file:</p>
<p style="padding-left: 30px;">
<pre>exclude=glibc glibc-common glibc-devel glibc-headers glibc-utils nscd</pre>
<p><strong>Step 6:</strong> Reboot the server, and now re-run /usr/bin/vmware-config.pl to reconfigure with downgraded glibc libraries.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>vmware-config.pl</pre></div></div>

<p><strong>Step 7:</strong> (Optional) Run the following command to make sure future upgrades/updates will not download the updated glibc* libraries.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">yum list glibc<span style="color: #000000; font-weight: bold;">*</span></pre></div></div>

<p><span style="color: #0000ff;"><strong>Now,</strong> if you have other applications installed on CentOS, and you don&#8217;t want to worry about any issues with future use of glibc on your server, please follow the next method to manually link VMware hostd process to use the older glibc libraries.</span></p>
<h2>SOLUTION METHOD 2:</h2>
<p>(Make sure you are logged in as root for these steps)</p>
<p><strong>Step 1:</strong> Install the latest 2.0.2 VMware Server package and run the configuration. It will crash, but just ignore this for now.</p>
<p><strong>Step 2:</strong> Run the following command, and make note of the response.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">arch</span></pre></div></div>

<p><strong>Step 3:</strong> Run the following commands, and replace any instance of {ARCH} with the result of Step 2:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> ~<span style="color: #000000; font-weight: bold;">/</span>vmwareglibc
<span style="color: #7a0874; font-weight: bold;">cd</span> ~<span style="color: #000000; font-weight: bold;">/</span>vmwareglibc
<span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>mirror.centos.org<span style="color: #000000; font-weight: bold;">/</span>centos<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">5.3</span><span style="color: #000000; font-weight: bold;">/</span>os<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>ARCH<span style="color: #7a0874; font-weight: bold;">&#125;</span><span style="color: #000000; font-weight: bold;">/</span>CentOS<span style="color: #000000; font-weight: bold;">/</span>glibc-<span style="color: #000000;">2.5</span>-<span style="color: #000000;">34</span>.<span style="color: #7a0874; font-weight: bold;">&#123;</span>ARCH<span style="color: #7a0874; font-weight: bold;">&#125;</span>.rpm
rpm2cpio glibc-<span style="color: #000000;">2.5</span>-<span style="color: #000000;">34</span>.<span style="color: #7a0874; font-weight: bold;">&#123;</span>ARCH<span style="color: #7a0874; font-weight: bold;">&#125;</span>.rpm <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cpio</span> <span style="color: #660033;">-ivd</span>
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>vmware<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>libc.so.6
<span style="color: #c20cb9; font-weight: bold;">mv</span> lib64<span style="color: #000000; font-weight: bold;">/</span>libc-<span style="color: #000000;">2.5</span>.so <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>vmware<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>libc.so.6<span style="color: #000000; font-weight: bold;">/</span>libc.so.6</pre></div></div>

<p><strong>Step 4:</strong> Open the VMware <em>hostd</em> process script for editing.</p>
<pre>vim /usr/sbin/vmware-hostd</pre>
<p><strong>Step 5:</strong> At line 372, before the program is called, insert two empty lines and add the following:</p>
<pre>export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libc.so.6:$LD_LIBRARY_PATH</pre>
<p>Before Example:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #ff0000;">&quot;@@VMWARE_NO_MALLOC_CHECK@@&quot;</span> = <span style="color: #000000;">1</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
     <span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">MALLOC_CHECK_</span>=<span style="color: #000000;">2</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">eval</span> <span style="color: #7a0874; font-weight: bold;">exec</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$DEBUG_CMD</span>&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$binary</span>&quot;</span> <span style="color: #ff0000;">&quot;$@&quot;</span></pre></div></div>

<p>After Example:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #ff0000;">&quot;@@VMWARE_NO_MALLOC_CHECK@@&quot;</span> = <span style="color: #000000;">1</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
     <span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">MALLOC_CHECK_</span>=<span style="color: #000000;">2</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LD_LIBRARY_PATH</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>vmware<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>libc.so.6:<span style="color: #007800;">$LD_LIBRARY_PATH</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">eval</span> <span style="color: #7a0874; font-weight: bold;">exec</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$DEBUG_CMD</span>&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$binary</span>&quot;</span> <span style="color: #ff0000;">&quot;$@&quot;</span></pre></div></div>

<p><strong><span style="color: #0000ff;">NOTE: </span></strong>In Step 3, the wget command may in the future be this as 5.3 repositories are taken off of the main CentOS Mirrors:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>vault.centos.org<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">5.3</span><span style="color: #000000; font-weight: bold;">/</span>os<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>ARCH<span style="color: #7a0874; font-weight: bold;">&#125;</span><span style="color: #000000; font-weight: bold;">/</span>CentOS<span style="color: #000000; font-weight: bold;">/</span>glibc-<span style="color: #000000;">2.5</span>-<span style="color: #000000;">34</span>.<span style="color: #7a0874; font-weight: bold;">&#123;</span>ARCH<span style="color: #7a0874; font-weight: bold;">&#125;</span>.rpm</pre></div></div>

<p>Either method you use should get you the desired end result: VMware Server 2 running on CentOS 5.4</p>
<p>Be sure to comment if this helped you. Thanks.</p>
<p><strong><span style="color: #ff6600;">2/11/2010 UPDATE:</span></strong> A bug exists to where if you&#8217;re on the VMware Host server and trying to access the VMware Web Access UI with HTTPS via Firefox you will simply see a blank screen. Instead, use http://&lt;HOST_IP_ADDRESS&gt;:8222/ui</p>
<p><span style="color: #ff6600;"><strong>2/12/2010 UPDATE:</strong></span> Firefox 3.6 does not work with the Remote Console Plugin &#8211; you must use 3.5.7 or earlier, Internet Explorer, or use the VI Client. &#8211; <a href="http://communities.vmware.com/message/1475897#1475897" target="_blank">VMware Communities Thread</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidmarkley.com/vmware/vmware-server-2-on-centos-5-4/feed</wfw:commentRss>
		<slash:comments>36</slash:comments>
		</item>
	</channel>
</rss>

