<?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>Java Tuning &#187; virtualization</title>
	<atom:link href="http://www.javatuning.com/category/virtualization/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.javatuning.com</link>
	<description>Software Development, Java, and some more.</description>
	<lastBuildDate>Tue, 29 Nov 2011 13:26:07 +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>“Hypervisor edition” – what’s that?</title>
		<link>http://www.javatuning.com/hypervisor-edition-whats-that/</link>
		<comments>http://www.javatuning.com/hypervisor-edition-whats-that/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 19:50:04 +0000</pubDate>
		<dc:creator>Gili Nachum</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[a glimpse into the future]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[operating system]]></category>
		<category><![CDATA[OVF]]></category>
		<category><![CDATA[Websphere]]></category>

		<guid isPermaLink="false">http://www.javatuning.com/?p=251</guid>
		<description><![CDATA[WebSphere have announced  WAS hypervisor edition. You get an OVF package with a ready to use WAS profile running on Linux. The OVF package can be deployed on VMWare ESX/ESXi and IBM&#8217;s cludeburst appliance. Websphere also say that they carried out WAS best-practice tuning for the OS. Not sure how mattering this tuning is considering&#8230;]]></description>
			<content:encoded><![CDATA[<p>WebSphere have announced  <a href="http://www-01.ibm.com/software/webservers/appserv/hypervisor/features/?S_CMP=rnav" target="_blank">WAS hypervisor edition</a>.</p>
<p>You get an <a href="http://en.wikipedia.org/wiki/Open_Virtualization_Format">OVF</a> package with a ready to use WAS profile running on Linux. The OVF package can be deployed on VMWare ESX/ESXi and IBM&#8217;s <a href="http://www-01.ibm.com/software/webservers/cloudburst/">cludeburst</a> appliance.<br />
Websphere also say that they carried out WAS best-practice tuning for the OS. Not sure how mattering this tuning is considering the generic nature of WAS (different application=different tuning), and the generic drivers that a VM uses.</p>
<div id="attachment_252" class="wp-caption alignnone" style="width: 220px"><a href="http://www.javatuning.com/wp-content/uploads/2010/04/installing.jpg"><img class="size-full wp-image-252 " title="Joys of installation" src="http://www.javatuning.com/wp-content/uploads/2010/04/installing.jpg" alt="" width="210" height="210" /></a><p class="wp-caption-text">Joys of installation</p></div>
<p>I wonder how enterprise IT administrators would accept an OS different  from what they usually roll with.</p>
<p>important to mention that similar zero-install pre-configured WAS  environment are available on the <a href="http://www-180.ibm.com/cloud/enterprise/beta/dashboard" target="_blank" class="broken_link">IBM test cloud</a> (in Beta).</p>
<p>The real <a href="http://www.ibm.com/developerworks/websphere/techjournal/0811_col_willenborg/0811_col_willenborg.html" target="_blank">important message made here by IBM</a> is that the WAS hypervisor edition is only a first bird. Although naked manual WAS installation is not a biggy, IBM products running on WAS are. As the OVF standard matures and virtualization becomes the default production hosting environment, we will be seeing complex WAS based products (say Portal, and Process Server) shipped as ultra consumable OVF packages. Even a complete topology consisting of many servers can be delivered as a single OVF package.<br />
This delivery mode is quite similar to VMWare&#8217;s <a href="http://www.vmware.com/appliances/" target="_blank">software appliances</a>, only applicable to more than one Hypervisor when packaged as OVF (theoretically).</p>
<p>Bad news to professional services people and install manager software developers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.javatuning.com/hypervisor-edition-whats-that/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>NAT in VMWare vSphere/ESX – In a nut shell</title>
		<link>http://www.javatuning.com/nat-in-vmware-vsphereesx-in-a-nut-shell/</link>
		<comments>http://www.javatuning.com/nat-in-vmware-vsphereesx-in-a-nut-shell/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 19:00:40 +0000</pubDate>
		<dc:creator>Gili Nachum</dc:creator>
				<category><![CDATA[network]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[appliance]]></category>
		<category><![CDATA[NAT]]></category>
		<category><![CDATA[operating system]]></category>
		<category><![CDATA[router]]></category>

		<guid isPermaLink="false">http://www.javatuning.com/?p=219</guid>
		<description><![CDATA[This post is about NATing an ESX VM, but first, why do I need NAT: The SIP protocol is not NAT oblivious. To traverse NAT our application has to replace the DNS in the SIP message contact header to the external FQDN that the message receiver will be sending responses to (A NAT with static&#8230;]]></description>
			<content:encoded><![CDATA[<p>This post is about NATing an ESX VM, but first, why do I need NAT:</p>
<p>The SIP protocol is not NAT oblivious. To traverse NAT our application has to replace the DNS in the SIP message contact header to the external FQDN that the message receiver will be sending responses to (A NAT with static routing configured).<br />
Therefore I needed to test our software in a NAT topology.</p>
<p>In the past, when we used VMWare player/workstation, it had a build-in NAT network. But, unfortunately, <strong>the ESX hypervisor does not provide a NATed network option.</strong><br />
Seeking alternatives at <a href="http://www.vmware.com/appliances/">VMWare&#8217;s appliance marketplace</a>, I found and downloaded the Vyatta&#8217;s community edition (VC5) router appliance (also downladble from <a href="http://sourceforge.net/projects/vyatta/" class="broken_link">sourceforge</a>), <a href="http://www.vyatta.org/getting-started/vyatta-editions">and comes under the GPL license</a>.<br />
After 3-4 hours &#8211; guided by the official <a href="http://www.vyatta.com/downloads/documentation/VC5.0.2/Vyatta_QuickStart_VC5_v03.pdf" class="broken_link">quick start guide</a> -  I had a working NAT configuration in the ESX. Hurray!<br />
Overall, not a hard <em>nut</em> to crack <img src='http://www.javatuning.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> , though I wish VMWare will wise up and just add an build-in NAT option to vSphere.</p>
<p>Left to do:<br />
Obtain some static IPs, so the config won&#8217;t break each time the vm reboots and the DHCP lease expires.<br />
Tip #1:<br />
If you want want to access your NATed VM by RDP/VNC, without setting up extra NAT routing rules, consider adding the VM an additional un-NATed NIC, but when doing so, make sure that the OS routing tables are set to route through the NIC that is NATed.<br />
Tip #2:<br />
This short <a href="http://kneew.com/node/32">vyatta user installation report</a> also helped me a bit.</p>
<p>Here&#8217;s the complete configuration script I ended up feeding to the appliance console (network topology is similar to the one presented in the <a href="http://www.vyatta.com/downloads/documentation/VC5.0.2/Vyatta_QuickStart_VC5_v03.pdf" class="broken_link">Vyatta&#8217;s getting stated guide</a>):<br />
Where:<br />
1.2.3.4 is your department&#8217;s DNS server<br />
192.168.1.199 is the VMs NATed private IP address (provided by the DHCP).<br />
The script contains a NAT forward rule for VNC (port 5900)</p>
<pre><code>
configure
set system host-name vyatta-nat
set interfaces ethernet eth0 address dhcp
set service ssh
set service https
commit;
save;
# restart the appliance to switch from console remote desktop to SSH:

#login with user and password
configure
show interfaces

set interfaces ethernet eth1 address 192.168.1.254/24

commit;

delete service dhcp-server
set service dhcp-server shared-network-name ETH1_POOL subnet 192.168.1.0/24 start 192.168.1.100 stop 192.168.1.199
set service dhcp-server shared-network-name ETH1_POOL subnet 192.168.1.0/24 default-router 192.168.1.254
set service dhcp-server shared-network-name ETH1_POOL subnet 192.168.1.0/24 dns-server 1.2.3.4
commit;
show service dhcp-server

set service nat rule 1 source address 192.168.1.0/24
set service nat rule 1 outbound-interface eth0
set service nat rule 1 type masquerade
commit;
show service nat
save;
exit
show nat rules
configure
set service nat rule 20 type destination
set service nat rule 20 inbound-interface eth0
# use a negative fake address to so that all incoming communication will be nated
#set service nat rule 20 destination address !192.168.50.0
#Forward traffic to address 192.168.1.199
set service nat rule 20 inside-address address 192.168.1.199
set service nat rule 20 protocol tcp
set service nat rule 20 destination port 5900
commit;
save;
exit
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.javatuning.com/nat-in-vmware-vsphereesx-in-a-nut-shell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ESX Server tuning – quick tour</title>
		<link>http://www.javatuning.com/esx-server-tuning-quick-tour/</link>
		<comments>http://www.javatuning.com/esx-server-tuning-quick-tour/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 20:08:28 +0000</pubDate>
		<dc:creator>Gili Nachum</dc:creator>
				<category><![CDATA[performance]]></category>
		<category><![CDATA[virtualization]]></category>

		<guid isPermaLink="false">http://www.javatuning.com/?p=162</guid>
		<description><![CDATA[Our VMWare ESX server does us a great job. Running on an IBM X3650 HW, with 24GB RAM and 2&#215;4 cores, it can simultaneously run up to 25 virtual machines, each VM is configured with around ~1.5 GB of RAM. After reaching  the 25 running VMs mark, we started noticing increasing sluggishness when additional VMs&#8230;]]></description>
			<content:encoded><![CDATA[<div id="attachment_164" class="wp-caption alignleft" style="width: 160px"><img class="size-full wp-image-164" title="vmware_esx_server_video_package" src="http://www.javatuning.com/wp-content/uploads/2009/07/vmware_esx_server_video_package.jpg" alt="esx" width="150" height="200" /><p class="wp-caption-text">esx</p></div>
<p>Our VMWare ESX server does us a great job.<br />
Running on an IBM X3650 HW, with 24GB RAM and 2&#215;4 cores, it can simultaneously run up to 25 virtual machines, each VM is configured with around ~1.5 GB of RAM.</p>
<p>After reaching  the 25 running VMs mark, we started noticing increasing sluggishness when additional VMs were turned on.</p>
<p>Of course, we did the trivial stuff of making sure that all screen savers are disabled, antivirus agents are not correlated to run at the same point in time, and making sure that all of the VMs are running the latest VMWare tools agent.<br />
It was time to dig in deeper to find out where is the bottleneck we came across.</p>
<p><img class="alignleft size-medium wp-image-167" title="SLKNB_A" src="http://www.javatuning.com/wp-content/uploads/2009/07/SLKNB_A-300x264.jpg" alt="SLKNB_A" width="177" height="162" />Someone told me that the stats that the reliability of the performance indicators that the graphic VI console shows is questionable and it&#8217;s recommended using the terminal utilities.So, I SHHed to the service console VM and ran the top utility. Immediately, I understood that what I&#8217;m actually doing is surveying the service console VM processes, rather than the overall ESX hypervisor activity. A quick dig up made me realize that the hypervisor is visible through the <em>esxtop</em> command, which is also executed from within the service console VM.</p>
<p>even for those of you that knows your way through the output of <em>top</em> and linux&#8217;s sysstat package, the data shown by<em> esxtop</em> is rather cryptic.<br />
This <a href="http://communities.vmware.com/docs/DOC-9279">great esxtop tutorial</a> did me a great service with understanding the esxtop output.</p>
<p>I started more than 30 machines to reproduce the problem, and quickly went through the list of usual suspects: CPU, memory and IO:</p>
<ul>
<li>CPU<br />
I&#8217;ve verified that it&#8217;s not a CPU problem since the &#8220;<strong>CPU load average&#8221;</strong> was around 0.2. and <strong>PCPU</strong> was much the same.</li>
<li>Memory<br />
Then I&#8217;ve switched to the memory display and verified that it&#8217;s not a physical memory issue. I saw the &#8220;<strong>high state</strong>&#8221; marker which was a good sign + there were almost 17GB <strong>ursvd </strong>(unreserved memory) in the <strong>VMKMEM/MB </strong>line.<br />
<strong>SWAP </strong>(~3GB) seemed OK.<br />
VMWare&#8217;s ballooning and memory sharing does miracles in broad day light.</li>
<li>I/O<br />
I didn&#8217;t see any queues forming. read/write rates seemed pretty low.</li>
</ul>
<p>So, the 25 VMs performance limit will remain a mystery until I&#8217;ll have proper time to analyze it more throughly, or even better, I&#8217;ll find someone from IT to do that for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.javatuning.com/esx-server-tuning-quick-tour/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VMWare: converting a hosted VM to a hypervisor VM &#8211; Linux troubleshooting</title>
		<link>http://www.javatuning.com/vmware-converting-a-hosted-vm-to-a-hypervisor-vm-linux-troubleshooting/</link>
		<comments>http://www.javatuning.com/vmware-converting-a-hosted-vm-to-a-hypervisor-vm-linux-troubleshooting/#comments</comments>
		<pubDate>Sat, 28 Jun 2008 12:48:48 +0000</pubDate>
		<dc:creator>Gili Nachum</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[operating system]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://www.javatuning.com/?p=26</guid>
		<description><![CDATA[When using the VMWare convertor utility to convert between VmWare player/Workstation/server VM images to an ESX image, if the VM you are converting is Linux you might run into boot problems (&#8220;kernel panic&#8221; message) due to SCSI drivers problems. I found a couple of resources about the problem but none fully worked for me, here&#8230;]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="text-align: left; direction: ltr; unicode-bidi: embed">When using the <a href="http://www.vmware.com/download/converter/download.html">VMWare convertor</a> utility to convert between VmWare player/Workstation/server VM images to an ESX image, if the VM you are converting is Linux you might run into boot problems (&#8220;kernel panic&#8221; message) due to SCSI drivers problems.</p>
<p class="MsoNormal" style="text-align: left; direction: ltr; unicode-bidi: embed">I found a couple of resources about the problem but none fully worked for me, here is my special recipe:<br />
The configuration I used was: RHEL 5.1 VM, and ESX 3.x server.</p>
<ol>
<li>Use the converter to load the image to the ESX</li>
<li>If you will start the converted image on the ESX you will see a kernel panic message</li>
<li>Go to VMWare infrastructure client -&gt; ESX server -&gt; vm props -&gt; hardware -&gt; SCSI controller -&gt; change from buslogic to LSI Logic</li>
<li>Load the vm CD-ROM drive with RHEL5 install disk (also serves as a rescue disk)</li>
<li>Boot the VM from the CD -&gt; when prompted, enter: linux rescue</li>
<li>The rescue disk should identify the linux partition and mounts it on <em>/mnt/sysimage</em></li>
<li>After getting a prompt enter: <em>chroot /mnt/sysimage</em></li>
<li>Backup, and then edit <em>/etc/modules.conf</em>, add this line: <em>alias scsi_hostadapter BusLogic</em></li>
<li>Backup the current ramdisk file: <em>cp /boot/init-[version].img /boot/init-[version].img.bak</em></li>
<li>Rebuild with new module and overwrite existing:  <em>mkinitrd -f -v /boot/initrd-[version]-img [version]</em></li>
<li>Reboot the OS.</li>
<li>Boot from the hard drive &#8211; The system will start normally</li>
</ol>
<p class="MsoNormal" style="text-align: left; direction: ltr; unicode-bidi: embed">
<p class="MsoNormal" style="text-align: left; direction: ltr; unicode-bidi: embed" dir="ltr">Weird that VMWare do not bother with their official proper documentation.<br />
Kudos to the vmware user community!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.javatuning.com/vmware-converting-a-hosted-vm-to-a-hypervisor-vm-linux-troubleshooting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;m changing the hostname. Deal with it!</title>
		<link>http://www.javatuning.com/im-changing-the-hostname-deal-with-it/</link>
		<comments>http://www.javatuning.com/im-changing-the-hostname-deal-with-it/#comments</comments>
		<pubDate>Sat, 21 Jun 2008 05:36:41 +0000</pubDate>
		<dc:creator>Gili Nachum</dc:creator>
				<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[a call for action]]></category>
		<category><![CDATA[autonomous computing]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[operating system]]></category>

		<guid isPermaLink="false">http://www.javatuning.com/?p=24</guid>
		<description><![CDATA[Lately, I&#8217;ve been crossing paths with too many enterprise-level server products that, once installed, can&#8217;t tolerate any change to the local machine&#8217;s hostname. Don&#8217;t get me wrong, I&#8217;m not spoiled to dare wishing that a hostname change will be handle in run-time, without a restart. I&#8217;m not even suggesting that the change would be automatically&#8230;]]></description>
			<content:encoded><![CDATA[<p>Lately, I&#8217;ve been crossing paths with too many enterprise-level server products that, once installed, can&#8217;t tolerate any change to the local machine&#8217;s <a href="http://en.wikipedia.org/wiki/Hostname">hostname</a>.<br />
Don&#8217;t get me wrong, I&#8217;m not spoiled to dare wishing that a hostname change will be handle in run-time, without a restart. I&#8217;m not even suggesting that the change would be automatically detected and processed on the next product restart. I much more modest that that, Just having a documented working procedure on how to do that offline would make me a happy man. The current, glum, state of affairs is that some products would have to be completely re-installed if the hostname were to change.</p>
<p><a title="hostname" href="http://www.javatuning.com/wp-content/uploads/2008/06/computer-name.jpg"></a></p>
<p style="text-align: center"><a title="hostname" href="http://www.javatuning.com/wp-content/uploads/2008/06/computer-name.jpg"><img src="http://www.javatuning.com/wp-content/uploads/2008/06/computer-name.jpg" alt="hostname" /></a></p>
<p>Some of the reasons for changing a machine&#8217;s hostname might be:<br />
(1) You want to clone a new server from a, best practiced already installed, server template, each cloned copy should have a unique computer name (very useful in test environments, especially handy when making a vm duplicate of a template virtual machine).<br />
(2) You have an existing server which changed its business role &#8211; you plan to install a  new application module (EAR), but want to keep the existing middleware infrastructure (JEE AS).<br />
(3) You no longer want the server to be reachable by it&#8217;s original name (without making use of DNS administration, and aliases tricks).<br />
(4) You want to implement a new server naming convention in your production environment.</p>
<p>Now Programmers, how hard can it be to live in peace with a dynamic hostname?<br />
(1) If you are sure that the target network resource is the local machine then just use the localhost loopback interface instead of a hostname, when addressing it.<br />
(2) Query the OS when retrieving the machine&#8217;s hostname, instead of relying on static, sometimes binary, stale, configuration files.<br />
(3) Keep all application network resources is a centralized configuration repository. Provide an offline API for the admin to access it.</p>
<p>As a side note:<br />
IBM WAS ND 6.X now has, a long awaited, offline API for updating the hostname of a machine.<br />
If you know and care about other products that support or don&#8217;t support hostname updates, please place your comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.javatuning.com/im-changing-the-hostname-deal-with-it/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

