Need a proof? Here you go...
Folks, long time no entry. I've really missed my personal goal of blogging more about my topics. Anyway. Now is the time to write about an exciting news: We (Sun Microsystems) broke the world-record and lead the VMware VMmark results as of today with the Sun Fire X4600 M2!! For a detailed report click here.
What's so exciting about this news? Pretty simple: we are showing by this result, that the Sun Fire X4600 M2 is the first choice for VMware ESX virtualized environments leaving other vendor systems (eg. HP ProLiant DL785 G5 or IBM System x3950 M2) far behind it. If you take a closer look at the VMmark results you see that other vendors within the 32 core area will also achieve the same number of VMmark tiles (19 tiles equals 19 x 6 virtual machines equals 114 virtual machines), but the Sun Fire X4600 M2 will give the customer a higher bandwith with the same workload.
If you also take a look at the HP Proliant DL785 G5 VMmark result and compare it to our world-record result you will recognize that our systems was tested with "just" 128 GB RAM compared to 256 GB of RAM that was used by HP. Beside this world-record result the Sun Fire X4600 M2 beats HP Proliant DL 785 G5 in different ways:
- 4 Rackunits (Sun Fire X4600 M2) vs. 7 Rackunits (HP Proliant DL 785 G5)
- 2-, 4-, 6- and 8-Socket configurations (Sun Fire X4600 M2) vs. 4- and 8-Socket configurations (HP Proliant DL 785 G5)
- 4 onboard GBE NICs (Sun Fire X4600 M2) vs. 2 onboard GBE NICs (HP Proliant DL 785 G5)
Comparing our result to the IBM System x3950 M2 VMmark result there are some more differences:
- IBM uses Intel Xeons vs AMD Opteron
- IBM used an older version of ESX Server (Update 2 vs. Update 3)
Ok. There might be some performance impacts using a more current ESX version. But I'm pretty sure that this is not the reason why IBM can just start 18 tiles (18 tiles equals 18 x 6 virtual machines equals 108 virtual machines). I think the reason for the far lower VMmark result is because of the system architecture. IBM System x3950 M2 scales up to 32 processors - but not within on box. They using some proprietary chipset (IBM X3 architecture) within there system to interconnect up to 8 chassis acting as one large system. The Intel Xeon architecture was not build for systems with more than 4 sockets and IBM tried to cirumvent this limitiation by building there own chipset. AMD has an architicture that will scale very well up to 8 socket systems since some days now. Compared the system side-by-side, you can see the following advantages of the Sun Fire X4600 M2 against IBM System x3950 M2:
- 4 Rackunits (Sun Fire X4600 M2) vs. 6 Rackunits (2 chassis of IBM System x3950 M2)
- PCI-Express I/O (Sun Fire X4600 M2) vs. PCI-X I/O (IBM System x3950 M2)
- 4 onboard GBE NICs (Sun Fire X4600 M2) vs. 2 onboard GBE NICs (within one chassis of IBM System x3950 M2)
- 512 GB RAM (Sun Fire X4600 M2) vs. 64 GB RAM (within one chassis of IBM System x3950 M2)
Posted at 03:24PM Mrz 11, 2009 by Tobias Esser in Sun | Kommentare[0]
VirtualBox 1.6 on OpenSolaris (Build 85)
I'm using VirtualBox on OpenSolaris very often. VBox allows me to start other guest OS (eg Windows XP) in a really simple way and in addition using some great features of solaris natively. One of this features is ZFS. Think about running a VBox guest OS within a ZFS volume. With all the extra stuff like encryption or compression. Sounds good?
The first build of VirtualBox for OpenSolaris was released in Feb 08 and was version 1.5.51. This version worked really good, but some features were not in, eg raw disc access. But to get some expertice with VBox, I've started building some VMs without using that raw disc access feature. I've built just some plain Windows XP VMs using VirtualBox default file format „vdi“. I was impressed about the really good speed of Windows XP running within a VM. Sometimes I thought it runs faster within a VBox VM than running natively on the same metal of hardware (my Toshiba Tecra M5).
Anyway. In May 08 Sun released version 1.6 of VirtualBox. This version left the beta state (1.5.51 was a beta version) and comes with mostly all needed features that I need to work. Basicly this raw disk access was fixed.
In this entry I want to write about
„How to upgrade your system to VirtualBox 1.6 and convert a plan VDI based VM to a ZFS volume“
First download VirtualBox 1.6 from here:
http://www.virtualbox.org/wiki/Downloads
There are two version for OpenSolaris:
AMD64 and i386. To make sure you are getting the right one, use
# isainfo -k
amd64
„amd64“ is what I'm running on (not really myself, but my laptop :)
Before you start with the upgrade, make sure you have read that advice on the download page:
Warning: saved states and snapshots are not compatible between different versions of VirtualBox. Merge all snapshots, restore all saved states and shutdown all VMs properly before attempting to upgrade.
Please: do it!
Next you can uninstall the beta version. Become root and remove the package.
# pkgrm INNOvbox
Unzip and extract the download of VBox 1.6.
# gunzip < VirtualBox-1.6.0-SunOS-amd64.tar.gz| tar xvf -
Install the package.
# pkgadd -d VirtualBox-1.6.0-SunOS-amd64.pkg
The installation took some time on my laptop (around 5 minutes). It seems that the pkgadd postinstall script hangs up on a call of /usr/sbin/devlinks. After this the script finished fine without an error message.
Now we are ready to start migrating the VDI based disk to a ZFS volume. First create a ZFS volume.
# zfs create -V 10G zfs/zvol_WinXP
This command will create a ZFS called „zvol_WinXP“ within the ZFS filesystem „zfs“ with a volume size of 10 gig.
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
zfs 14,2G 17,3G 4,23G /zfs
zfs/zvol_WinXP 10G 27,3G 16K -
As you can see from this output ZFS will just allocate a very small piece (16K) on disk, when creating a ZFS volume.
Solaris will create automatically the following devices for you
/dev/zvol/dsk/zfs/zvol_WinXP
/dev/zvol/rdsk/zfs/zvol_WinXP
If you are working on you daily business as a non-root user (as I do), you must make sure that this user will be the owner of that devices.
# chown <your-user-id> /dev/zvol/rdsk/zfs/zvol_WinXP
Next we create the VMDK file with raw disk access. I do this with my normal user account (not root).
$ cd /opt/VirtualBox/
$ ./VBoxManage internalcommands
createrawvmdk -filename /zfs/VMDKs/zvol_WinXP.vmdk -rawdisk
/dev/zvol/rdsk/zfs/zvol_WinXP>
[..]
RAW host disk access VMDK file /zfs/VMDKs/zvol_WinXP.vmdk created successfully.
This command will create a file called /zfs/VMDKs/zvol_WinXP.vmdk, which basically just points to that raw disk /dev/zvol/rdsk/zfs/zvol_WinXP.
Here is how my VMDK looks.
$ cat /zfs/VMDKs/zvol_WinXP.vmdk
# Disk DescriptorFile
version=1
CID=02a81820
parentCID=ffffffff
createType="fullDevice"
# Extent description
RW 20971520 FLAT
"/dev/zvol/rdsk/zfs/zvol_WinXP"
# The disk Data Base
#DDB
ddb.virtualHWVersion = "4"
ddb.adapterType="ide"
ddb.geometry.cylinders="16383"
ddb.geometry.heads="16"
ddb.geometry.sectors="63"
ddb.uuid.image="04832894-c688-4daf-ceb6-303fcc207a7d"
ddb.uuid.parent="00000000-0000-0000-0000-000000000000"
ddb.uuid.modification="00000000-0000-0000-0000-000000000000"
ddb.uuid.parentmodification="00000000-0000-0000-0000-000000000000"
To use this VMDK file as a disk for guest OS you need to register it against VirtualBox.
$ ./VBoxManage registerimage disk /zfs/VMDKs/zvol_WinXP.vmdk
You can list all your registered virtual disks by using the VBoxMange command.
$ ./VBoxManage list hdds
[..]
UUID: 46bdc3bb-b375-41da-2581-bd1676a48266
Storage type: Virtual Disk Image
Path: /zfs/WinXP/hdd0.vdi
Accessible: yes
Usage: WinXP (UUID: b0890587-9637-46bd-4ba5-7f062e2be51b)
UUID: 04832894-c688-4daf-ceb6-303fcc207a7d
Storage type: unknown
Path: /zfs/VMDKs/zvol_WinXP.vmdk
Accessible: yes
As you can see, I've got two registered virtual disks. One is the plain VDI file (/zfs/WinXP/hdd0.vdi ) and the other one is the newly registered VMDK file. You may also notice that the VDI file is used by a VM called „WinXP“.
But how can we transfer data from VDI to VMDK? Google'ing around some minutes gives you some ideas how to do it. Here is a my summary of approaches.
Create a new VM with both virtual disks attached (VDI and VMDK). Next attach a mini linux distro iso image to it and fire it up booting the iso. Use dd to do the transfer between disks. The transfer will be done inside the guest OS.
Cut away the VDI related stuff from the VDI file and extract the file system related blocks with dd. This approach will do the transfer from the host OS.
Let's start with the first approach.
We need to detach the VDI file from the WinXP VM first.
$ ./VBoxManage modifyvm WinXP -hda none
Create the transfer VM. I will give it a really „talking“ name: tempVM.
$ ./VBoxManage createvm -name tempVM -register
[..]
Virtual machine 'tempVM' is created and registered.
UUID: fa253d62-015a-4ede-02ad-6b02acae2b12
Settings file: '/zfs/Machines/tempVM/tempVM.xml'
Now attach both disks to tempVM. The VDI virtual disk should be connected as „hda“ and the VMDK based virtual disk (raw disk) should be connected as „hdb“. I will use the UUIDs of the virtual disks (see output of „VBoxMange list hdds“).
$ ./VBoxManage modifyvm tempVM -hda 46bdc3bb-b375-41da-2581-bd1676a48266 -hdb 04832894-c688-4daf-ceb6-303fcc207a7d
The iso image for booting this tempVM is in my case a GParted Live CD (version 0.3.6-7). Register this iso image for using it for a guest OS.
$ ./VBoxManage registerimage dvd /share/Images/gparted-live-0.3.6-7.iso
Sneak out the UUID of that virtual DVD device.
$ ./VBoxManage list dvds
[..]
UUID: d595a411-19a6-47cc-e8af-15672a7555ce
Path: /share/Images/gparted-live-0.3.6-7.iso
Accessible: yes
Attach that UUID to the VM and define the boot order.
$ ./VBoxManage modifyvm tempVM -dvd d595a411-19a6-47cc-e8af-15672a7555ce -boot1 dvdDo some fine tuning of the tempVM. Define the guest OS as „debian“ (GParted is based on Debian) and give the VM a piece of virtual memory.
$ ./VBoxManage modifyvm tempVM -ostype debian -memory 256M
Now it is time to fire it up :)
$ ./VBoxManage startvm tempVM -type gui
When the VM came up, just wait until the text based console start and enter
$ sudo su -
# dd if=/dev/hda of=/dev/hdb
This step takes some time...go and get a beer or two or a coffee or just get well informed and read the VirtualBox User Manual for the actual version. It's your choice. I will take the beer...
http://www.virtualbox.de/download/1.6.0/UserManual.pdf
After dd finished you can shutdown the VM with a
# shutdown -h now
It's time for some house cleaning now. Detach virtual disks and dvd and unregister „tempVM“.
$ ./VBoxManage modifyvm tempVM -hda none -hdb none -dvd none
$ ./VBoxManage unregistervm tempVM -delete
Checking the result is the final part of this entry. First we need to attach the VMDK file to the old WinXP VM.
$ ./VBoxManage modifyvm WinXP -hda 04832894-c688-4daf-ceb6-303fcc207a7d
And final power on the VM.
$ ./VBoxManage startvm WinXP -type gui
Voila! You now have a ZFS volume based Windows XP virtual machine running on the best operating system ever. :)
If you've finished testing the VM you can clean up the rest with the following commands.
$ ./VBoxManage list hdds
[..]
UUID: 46bdc3bb-b375-41da-2581-bd1676a48266
Storage type: Virtual Disk Image
Path: /zfs/WinXP/hdd0.vdi
Accessible: yes
UUID: 04832894-c688-4daf-ceb6-303fcc207a7d
Storage type: unknown
Path: /zfs/VMDKs/zvol_WinXP.vmdk
Accessible: yes
Usage: WinXP (UUID: b0890587-9637-46bd-4ba5-7f062e2be51b)
$ ./VBoxManage unregisterimage disk 46bdc3bb-b375-41da-2581-bd1676a48266
$ ./VBoxManage list dvds
[..]
UUID: d595a411-19a6-47cc-e8af-15672a7555ce
Path: /share/Images/gparted-live-0.3.6-7.iso
Accessible: yes
$ ./VBoxManage unregisterimage dvd d595a411-19a6-47cc-e8af-15672a7555ce
Posted at 03:35PM Mai 08, 2008 by Tobias Esser in OpenSolaris | Kommentare[3]
XING OpenSolaris Group is growing
| Today we welcome our 700th member at the XING OpenSolaris Group! I've initiated that community along with my fellow Roland Schopp
on March 2005. The main intention of this (mostly german) community was
to build a platform for discussing new technologies of OpenSolaris and
to be able to exchange experiences regarding OpenSolaris. |
Posted at 08:37PM Mrz 20, 2008 by Tobias Esser in Sun | Kommentare[1]
GUUG FFG 2008
Last week my workmate Matthias and myself held a presentation about our personal view of next generation datacenter infrastructures at the GUUG FFG 2008. For those of you, who don't know the meaning of GUUG and FFG, here is a short annotation of these two abbreviations:
- GUUG stands for German Unix User Group and is a consortium of german unix users
- FFG stands for Frühjahrsfachgespräch (in english: spring expert talk)
The main reason for doing that presention at the FFG was to show the attendees possible future datacenter architectures concerning server virtualization and unified network approaches. Well, we know that our approach is not an "one-size-fits-all" solution. But it is an approuch our customer just loved, because we meet most there requirements.
We had some pretty interesting conversations after the presentation with some attendees. Most of them like the idea behind it:
- no local disks
- no dedicated network for storage access
- virtualization of Solaris and Linux based services
- virtualization of network entities (eg. Routers, Firewalls, Loadbalancer)
But there was also some other (critical) statements about our presentation. One of them was an article of a german publication called Linux Magazin (you can read it here - in german).
To be clear:
I love to
- get feedback on things I do
- get constructive criticism
- get controversial views
So why do I write this blog entry? Because I don't like the way the author of this article is giving us feedback. Just writing an article on a paper without giving us a chance to make things clear is not the way we are working. Giving us comments and feedback right after the presentation would be a much better way from my point of view.
Anyway. If you like to give us feedback on that presentation, feel free and drop me a comment.
Posted at 03:00PM Mrz 20, 2008 by Tobias Esser in xVM | Kommentare[0]
Sun/Microsoft IC @ Redmond
I've found some pretty interesting stuff about the Sun/Microsoft Interoperability Center at Pierre Reynes's Weblog. Pierre hat some trips to Redmond and took some really nice pictures of the IC at Microsoft's main Campus.
Here are some links:
Posted at 12:53PM Feb 13, 2008 by Tobias Esser in SunAndMicrosoft | Kommentare[1]
Hello world
I think this is the right place for saying "Hello" to everybody.
For those of you, who do not know me: My name is Tobias Esser. I'm currently 31 years old and working within Sun since 6 years. I've started at Sun as a trainee within Sun's delivery organization (the old name of that unit was "Sun Professional Services"). Currently I work as a technical architect within the local Systems Practice in germany. I'm technically focused on Sun x64 servers and virtualization technologies for x64 and SPARC based systems.
The main objective of this blog is to deliver some technical best practices regarding Sun's x64 Systems and virtualization technologies in general to the community.
Posted at 02:30PM Feb 07, 2008 by Tobias Esser in Personal |