Archive for the ‘VMWare’ Category
Customizing the toolbar is one of the things that I’ve found important in using VMWare Fusion to test various Linux distributions. It’s nice they put Suspend by default on the toolbar but it would be nicer still if they put Shut Down. I got tired of looking for the PID to manually kill the virtualization from the Terminal command line. It is so much easier to add a Shut Down widget before trying to install VMWare Tools because that’s where some distributions hang.
Here are the steps to customize the toolbar:
1. Right click on the toolbar before running the VMWare instance, and you’ll see this context menu. Choose the Customize Toolbar… choice from the list.
2. The prior step lets you customize the toolbar though the following menu option dialog. Just click on the icon you want and drag it on to the toolbar. I’d suggest dragging Shut Down and Full Screen on to the toolbar.
I prefer putting the Shut Down to the left of the Suspend button, like this:
Hope this helps somebody.
It seemed like a good day to test VMWare Fusion 2.0.1 on my Mac, but while it works well with Microsoft Windows XP VM, it doesn’t work as well with Ubuntu 8.04.1 or 8.10 VM. It wasn’t too surprising to see that VMWare Tools (
VMwareTools-7.9.3-128865.tar.gz) don’t work with Ubuntu 8.04.1. There’s a mismatch between the
gcc compiler and the kernel. You need
gcc 4.2.3 to compile the kernel but
gcc 4.2.4 to compile the modules for VMWare Tools.
You see it right away when the VMWare Tools script prompts you to compile the
vmmemctl modules, like this:
None of the pre-built vmmemctl modules for VMware Tools is suitable for your running kernel. Do you want this program to try to build the vmmemctl module for your system (you need to have a C compiler installed on your system)? [yes] Using compiler "/usr/bin/gcc". Use environment variable CC to override. Your kernel was built with "gcc" version "4.2.3", while you are trying to use "/usr/bin/gcc" version "4.2.4". This configuration is not recommended and VMware Tools may crash if you'll continue. Please try to use exactly same compiler as one used for building your kernel. Do you want to go with compiler "/usr/bin/gcc" version "4.2.4" anyway? [no]
At this point, upgrading Ubuntu appears ideal. Upgrading was tedious, and resulted in two failures. The first failure requires you shut down the instance by using the VMWare Fusion menu – Virtual Machine, Shut Down Guest. Don’t expect it to work as fast as it did in 2.0.0, at least with Ubuntu.
The second failure is that
vsock.o can’t be made due to missing header files. That’s really as good as it gets because a fresh install produces the same error. The failure shown is:
Using 2.6.x kernel build system. make: Entering directory `/tmp/vmware-config0/vsock-only' make -C /lib/modules/2.6.27-7-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules make: Entering directory `/usr/src/linux-headers-2.6.27-7-generic' CC [M] /tmp/vmware-config0/vsock-only/linuxaf_vsock.o CC [M] /tmp/vmware-config0/vsock-only/driverLog.o CC [M] /tmp/vmware-config0/vsock-only/util.o /tmp/vmware-config0/vsock-only/linux/util.c: In function 'VSockVmciLogPkt': /tmp/vmware-config0/vsock-only/linux/util.c:157: warning: format not a string literal and no format arguments CC [M] /tmp/vmware-config0/vsock-only/linuxaf_vsock.o LD [M] /tmp/vmware-config0/vsock-only/vsock.o MODPOST 1 modules WARNING: "VMCIDatagram_CreateHnd" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCIDatagram_DestroyHnd" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCIEvent_Subscribe" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCI_DeviceGet" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCIEvent_Subscribe" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCIDevice_Get" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCIMemcpyFromQueueV" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCIQueuePair_Detach" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCI_GetConextID" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCIDatagram_Send" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCIQueuePair_Alloc" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCIEvent_Unsubscribe" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCIMemcpyToQueueV" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! CC /tmp/vmware-config0/vsock-only/vsock.mod.o LD [M] /tmp/vmware-config0/vsock-only/vsock.ko make: Leaving directory `/usr/src/linux-headers-2.6.27-7-generic' cp -f vsock.ko ./../vsock.o make: Leaving directory `/tmp/vmware-config0/vsock-only' Unable to make a vsock module that can be loaded in the running kernel: insmod: error inserting '/tmp/vmware-config0/vsock.o': -1 Unknown symbol in module There is probably a slight difference in the kernel configuration beetween the set of C header files you specified and your running kernel. You may want to rebuild a kernel based on that directory, or specify another directory. The VM communication interface socket family is used in conjunction with the VM communication interface to provide a new communication path among guests and host. The rest of this software provided by VMWare Tools is designed to work independently of this feature. If you with to have the VSOCK feature you can install the driver by running the vmware-config-tools.pl again after making sure that gcc, binutils, make and the kernel sources for your running kernel are installed on your machine. These packages are available on your distribution's installation CD. [ Press the Enter key to continue.]
Wouldn’t it be nice if they pointed to a specific file. It didn’t take much effort to find them, after all it’s Linux. I found that they’re defined in the
vmciGuestKernelAPI.h files. Those files are found inside the
vsock-only.tar file. You can find the
vsock-only.tar file in the
vmware-tools-distrib/lib/modules/source directory. You can read more about the Virtual Machine Communication Interface on VMWare’s web site.
The only pre-built VMWare Fusion 2.0.1 pre-built tool modules for Ubuntu are compatible with the listed kernels. Unfortunately, as noted above they don’t work because of a
bld-2.6.24-16-i386generic-Ubuntu8.04 bld-2.6.24-16-i386server-Ubuntu8.04 bld-2.6.24-16-i386virtual-Ubuntu8.04 bld-2.6.24-16-x86_64generic-Ubuntu8.04 bld-2.6.24-16-x86_64server-Ubuntu8.04 bld-2.6.24-19-i386generic-Ubuntu8.04.1 bld-2.6.24-19-i386server-Ubuntu8.04.1 bld-2.6.24-19-i386virtual-Ubuntu8.04.1 bld-2.6.24-19-x86_64generic-Ubuntu8.04.1 bld-2.6.24-19-x86_64server-Ubuntu8.04.1
The only question I’m left with is do I troubleshoot this or downgrade VMWare back to 2.0.0? I’m inclined to the latter given the lack of energy in the VMWare forum.
Ultimately, this was fixed with the next release of VMWare. They simply lag a bit in getting the libraries straight. In fact, I ran into a similar problem with Ubuntu 9.04 and the page.c file. I hacked it and got everything working but really, you should probably just use the last release of Ubuntu a little longer because VMWare looks to lag release by about 4 months.
Now that I’ve organized the blog a bit, I can start posting new information. VMWare Fusion is a great tool but I fat fingered a few installs before i mastered it. You need a customized set of settings to create an effective virtual machine to run Oracle 11g. You need to allocate enough memory and pre-allocate disk space before you do the install or it takes much longer. You may also fragment a base operating system unless you setup a separate mount point (true also for VMWare Workstation for Linux).
You’ll find the steps to create a customized virtual machine for a Red Hat AS 4 installation in the Configure Custom VM blog page. It’s more or less the same thing for Oracle 10g or the Oracle eBusiness suite, except you’ll need to pre-allocate more disk space.
I was doing yet another install of Red Hat AS 4 in VMWare Fusion and ran into a new error. It’s the following: The virtual machine is unable to reserve memory.
The only way I found to fix this involves opening a terminal and killing the process manually. Killing without prejudice (cleanly shutdown the process and dependents) didn’t work. I had to kill it with prejudice (shutdown the process notwithstanding anything), then click the Abort button. The next error message says the peer process is missing and allows you to exit VMWare Fusion. Then, you reboot the Mac OS X.
The steps for find the process and killing it are:
1. Open a Terminal and run the following command:
# ps -ef | grep vmware
It returns something like this:
0 90 1 0 0:00.00 ?? 0:00.00 /Library/Application Support/VMware Fusion/vmnet-dhcpd -cf /Library/Application Support/VMware Fusion/vmnet8/dhcpd.conf -lf /var/db/vmware/vmnet-dhcpd-vmnet8.leases -pf /var/run/vmnet-dhcpd-vmnet8.pid vmnet8 0 98 1 0 0:00.00 ?? 0:00.00 /Library/Application Support/VMware Fusion/vmnet-dhcpd -cf /Library/Application Support/VMware Fusion/vmnet1/dhcpd.conf -lf /var/db/vmware/vmnet-dhcpd-vmnet1.leases -pf /var/run/vmnet-dhcpd-vmnet1.pid vmnet1 501 160 115 0 1:44.12 ?? 3:15.87 /Applications/VMware Fusion.app/Contents/MacOS/vmware -psn_0_77843 0 322 1 0 0:00.07 ?? 0:00.29 /Library/Application Support/VMware Fusion/vmware-vmx -E en -D ZjTtGrJgANADRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -# product=1;name=VMware Fusion;version=2.0;buildnumber=116369;licensename=VMware Fusion for Mac OS;licenseversion=6.0 build-116369; -@ pipe=/var/folders/fi/fiepDOKbFJeE42RxGcDBgU+++TI/-Tmp-//vmware-mclaughlinm/vmxd9641b5487a98f78;readyEvent=24 /Volumes/Disk2/Red Hat Enterprise Linux 4 Oracle.vmwarevm/Red Hat Enterprise Linux 4 Oracle.vmx 501 397 303 0 0:00.00 ttys000 0:00.00 grep vmware
2. Kill the VMWare Fusion process by using the following syntax:
# kill -9 322
3. Reboot the operating system.
You’ll need to right click on the VMWareTools icon and manually extract the file. If you don’t and double click the icon instead, it’ll raise an exception that one already exists. After you manually extract it to your desktop, run the command as follows (replacing your user name of course):
# sudo /home/username/Desktop/vmware-tools-distrib/vmware-install.pl
I wrote this when it seemed like a good idea. I subsequently discovered that all upgrades aren’t as good as you’d like. Sometimes, a fresh install recommends itself when the virtual machine is Red Hat AS.
I’d already upgraded my Windows x86 instances to 2.x on my Mac Book Pro but hadn’t got around to Ubuntu until today. The upgrade went fine, and VMWare Tools compilation succeeded and kernel reports were normal. Unfortunately, CUPS (Common Unix Printing Service) fails to start correctly and there doesn’t appear to be any way to fix it without changing the VMWare Fusion libraries. It appears to be a bug introduced by VMWare Tools. I’ve updated my Ubuntu VMWare printer set up steps to note it. If you’ve got a fix for the problem, let me know.
As I mentioned before, working in the virtual machine is a great solution when you need to work in multiple operating systems. Setting up printing is a step that goes with the operating system. It is very easy to configure in Ubuntu running in VMWare on a Mac OS X machine.
I found that the standard printer in the virtual machine wouldn’t work. I tried it in both VMWare 1.x and 2.x but without any luck. It did work ineffectively in VMWare 2.x but it embedded characters in simple documents that shouldn’t be there. Finally, I pursued this course. It has the benefit of working like you’d expect! It lets you print your native Ubuntu documents when you’ve configured the VMWare machine in NAT or bridged networking mode. The only difference is that a bridged network doesn’t require you to share the printer on the Mac OS because it directly accesses it.
The first step using a NAT network requires that you share you printer setup on the Mac OS. You do that by launching System Preferences, then click on Sharing. In Sharing, you enable print sharing by chosing the network printer …
After you’ve enabled sharing on the Mac OS, you can take the following steps in Ubuntu:
1. Click the System menu choice, choose Administration. and Printing, as shown in screen shot:
2. You’ll then see the following screen but not gray scaled. If you don’t, you’ll also see the following form. a gray scaled version indicates that you’ve run VMWare Tools before updating the Ubuntu OS CUPS service:
As mentioned, this means there’s a problem with a disabled service – typically cups (Common Unix Printing Service). You can click the Help, then Troubleshoot to further diagnose the problem. In the first screen click the Forward button to continue. In this screen, click the Not Listed (because it should be an empty list), and then click the Forward button to continue. You most likely will see the following dialog box, which tells you that the cups service is stopped (a general occurrence when you upgrade from VMWare Fusion 1.x to 2.x).
There’s a temptation to follow the instructions, and I yielded to it without a positive outcome. What you’ll find is that the cups (cupsys) service is enabled but if you use the VMWare Fusion menu, you’ll find that it isn’t, as shown:
If you stop here and check in a terminal session, you’ll see that life isn’t rosy after the upgrade. Even if you check it and restart the VM, the printing problem won’t resolve. This appears to be a part of the recompilation of cups by the VMWare Tools. It appears to happen when you opt to compile Ubuntu CUPS while running the VMWare Tools. You’re only prompted to compile these if you’re not on the most current CUPS release by Ubuntu.
You use the following command to check the status of the printer service:
# sudo /etc/init.d/cupsys status
You will most likely get something like this if you have a problem:
Status of Common Unix Printing System: cupsd is not running but /var/run/cups/cupsd.pid exists.
This is where it becomes obvious that the VMWare Fusion 2.x upgrade can introduce the problem. It is simple to avoid the problem by ensuring that the Ubuntu OS is patched to the most current CUPs version before running the VMWare Tools. I fixed the problem by reinstalling Ubuntu from scratch, and patching it to the current level. Then, you won’t have a failure of the CUPS process.
When you fix any errors from the upgrade or provided you’re on VMWare Fusion 2.x, you should click the Show printers shared by other systems check box, then click the Refresh button to display any network printers if they don’t refresh automatically.
3. You click on the desired network printer, which displays the following screen. Click the Make Default button after you click the Print Test Page button.
If you caught my post on doing this in a Microsoft Windows environment, isn’t it stuning how easy Ubuntu is compared to the “user-friendly” Windows interface (unless you’re upgrading). If you need the Windows instructions, you can find them here.
Sometimes there are products that run in Windows that don’t have a clone on the Mac, like Microsoft Visio. Working in the virtual machine is the solution but printing is tedious to setup when you’re using a NAT network model. The following instructions show you how to setup a networked printer inside a VMWare instance that uses NAT networking. You can also use it when configuring it in a bridged network configuration. It is more or less the ordinary way for the Windows XP platform.
I found that the standard printer in the virtual machine wouldn’t work. I tried it in both VMWare 1.x and 2.x but without any luck. It did work ineffectively in VMWare 2.x but it embedded characters in simple documents that shouldn’t be there. Finally, I pursued this course. It has the benefit of working like you’d expect! It lets you print your native Windows documents when you’ve configured the VMWare machine in NAT. The same steps work when you’re using a bridged networking. In a bridged network, you don’t have to share the printer on the Mac OS because it directly accesses it.
The first step requires that you share you printer setup on the Mac OS. You do that by launching System Preferences, then click on Sharing. In Sharing, you enable print sharing by chosing the network printer …
After you’ve enabled sharing on the Mac OS, you can take the following steps in Windows:
1. Click the Start button, then choose Printers and Faxes. You’ll get the following screen where you should click the link to Add a printer. It will launch the Add Print Wizard.
2. You should install the printer drivers if they’re not already installed before launching the Add Print Wizard. You click Next In the first screen.
3. The default radio button is for a locally attached printer. Click the network printer radio button before clicking the Next button.
4. Click the Next button because the default browses for a network connected printer.
5. You shuold see the Microsoft Windows Network, and the default workgroup. Click on the Workgroup to display the possible machine names. If your machine doesn’t show in the list, it’s most likely because your printer wasn’t known in when Windows XP was released. The solution here is to insert the HP disk when you’ve connected it to the virtual machine, and then you simply follow the prompts, as shown in this newer post.
6. Click the appropriate machine that represents the hosting Mac OS (your machine that’s running VMWare). After you click it, you’ll see the target printers that are available through the external Mac OS connectivity and sharing. Click the Next button to proceed.
7. The last activity triggers a warning error. It asks you to confirm that you can trust your Mac. Click the Yes button to proceed (it’s a boring message but click on it if you want to read it).
8. Choose the printer as a default printer by clicking the Yes button. You can choose the No button if you’ve got more than one network printer.
There are problems when you forget to install the hardware first, so make sure you get the hardware installed first.
I’ve added the Windows static IP networking steps to the How to configure Mac OS X as an Oracle Client. I’ll try to get back and update the entry for a couple Linux distros (distributions) next week.
If you get the DNS configuration wrong but everything else right, you’ll be able to connect to Oracle. Unfortunately, you won’t be able to make a call out of the VM with the browser.
Key Note and News:
There were two big announcements today. The one that I liked the most was what Andy Mendelsohn said, that there will be an Oracle Database 11g Express Edition. You can read the full report in the NY Times. You’ll also find that no date for 11gR2 is available but the beta code must be very close since they’re seeking beta testers.
The second announcement was the big “X” secret alluded to for Larry Ellison’s key note. Larry basically announced the HP Oracle Exadata Storage Server and HP Oracle Database Machine. There seems to be some cynicism about it, but it sounds interesting.
The general idea is to tightly couple hardware and software platforms. Integration of the two components simplifies delivery by reducing complexity, and increases performance for high throughput uses of the Oracle Database. It really makes sense.
For example, if you look at Steve Jobs’ success at Apple (this time around) that’s exactly what he did. He simplified the number of offerings, focused on the quality of hardware and software, and limited the risk of hardware and software incompatibility. Apple seems to clearly dominate the highend market, or at least it made an awesome showing at Oracle OpenWorld 2008 (by my anecdotal eyeballing of machines).
The last point is very close to what Larry’s proposing. By focusing efforts on high load OLTP and data warehouse installations with a one-two punch of integrated hardware and software, Oracle can become more scalable without creating different database engines. More or less, Oracle achieves higher throughput by leveraging hardware with the same product. This means he leverages a great product across new markets (probably IBM’s existing markets), without increasing the number of offerings. He one-ups Steve Jobs because he makes the hardware HP’s problem. Deming (that quality engineering guy) might say Larry risks success by ceding hardware components to a supplier. I don’t think the risk is any greater than the risk Apple has in ceding component manufacturing. The question is: Can HP manage the process as well as Apple now that Carly Fiorina is gone?
Humorous or prophetic, does this shift in platform have a hidden benefit as great as changing from the PowerPC to Intel processor. I don’t see it but this may be a beginning … What I can see immediately, is that configuring a RAC environment may become much easier if everything is prebundled.
As you know from my blog posts, I really like virtualization software. So, … it’s probably not a surprise that I spent some time talking virtual machines with my favorite vendor – VMWare.
While hanging there and collecting more information on options, I met Dave Welch. Dave is a consumate maven of virtualization with Oracle and Oracle eBusiness Suite deployments. He had some awesome performance statistics that I’m still digesting. Basically, he debunked a lot of rubish that’s out there about overhead. He works for House of Brick Technologies out of Omaha, Nebraska. Dave actually demonstrated VMWare Stage Manager and VMWare Lab Manager, and told us about the bundling of these two into a suite. They appear a great soltuion to managing and deploying virtual machines. If you’re wondering were the VMWare folks were, don’t worry they were busy somewhere else.
Probably the coolest feature that I saw was how you could clone an Oracle eBusiness Suite for testing and move it to a virtual subnet without cloning. You can do this because the virtual subnet preserves the hostname, IP, et cetera. However, it’s not a cheap date but they’ve a reduced price for next few months. Isn’t that marketing the rule for products at Oracle OpenWorld?
While I like and use VMWare, Sun Microsystems VirtualBox appears very interesting. It also supports the Mac, which makes it a high priority in my testing queue. I’ll let you know what I find. The RedHat entrant in virtualization is Solid ICE. Another item for my list, oh gosh … it keeps on growing.
I have to give a business acumen prize to Wells Fargo Bank. Having spent the first 10 years of my career at First Interstate Bank working on the evolution of banking systems, I learned the key rule about technology. Technology has to pay for itself by increasing revenue or decreasing costs.
Wells Fargo Bank focused on an API that lets commercial accounts leverage banking services without human intervention. Their focus is to put the technology out there and leave their customers with the implementation costs, customization, and business process engineering. A sharp decision from my perspective but they could have gone one step further. They should have considered placing it in the open source community. The software ultimately has a very short competitive edge, and the return on initial investment would have been higher if they’d capitalized on the creativity of the open source community.
The prize for continuing product evolution through the open source community probably goes to SugarCRM. They place components into their product versions and then into their version of sourceforge (www.sugarforge.org). There, the community can examine, innovate, and improve the software.
I had a chance to catch up with Chris Jones on PHP and open source scripting. Chris and Alice Holloway provide that wonderful book on PHP known as the Underground PHP and Oracle Manual. It’s great to catch up on Oracle’s commitment to Open source. Remember my favorite news of the day – Oracle Database 11g Express Edition is coming. That’s evidence that Oracle sees the open source community as important and PHP and scripting languages as valuable.
In summary, I’d like to thank TUSC for their courtesy in broadcasting Larry’s key note from their demonstration area. They’re truly a class act! Tomorrow, it’s time to go home. Naturally, I gave the party ticket away to somebody who would enjoy it. The last official day of Oracle OpenWorld 2008 must be left to another to report on …