About
You arrived at the weblog of Geert Baeke. I am the technology manager for a company called Xylos (Belgium). I mostly work with Microsoft technologies such as Windows, Active Directory, Exchange, Sharepoint, MSCS, and more. I am also actively busy with VMware's products, focussing on VMware ESX.

Sections
Search






XBOX 360

RSS Newsfeeds
baeke.info Main RSS Feed Main Page RSS
View Article  Snapshot LUNs and ESX 3

For a test lab with two servers we currently have running, I requested two test LUNs. One LUN coming from an IBM DS and the other from an HP EVA. The SAN team gave me the LUNs and I could see them on both servers.

The output from esxcfg-mpath -l, a new command in ESX 3 to list paths, shows the following for a server.

Disk vmhba0:0:0 /dev/cciss/c0d0 (69459MB) has 1 paths and policy of Fixed
 Local 4:1.0 vmhba0:0:0 On active preferred

Disk vmhba0:1:0 /dev/cciss/c0d1 (140006MB) has 1 paths and policy of Fixed
 Local 4:1.0 vmhba0:1:0 On active preferred

RAID Controller (SCSI-3) vmhba1:0:0  (0MB) has 2 paths and policy of Most Recently Used
 FC 12:1.0 10000000c9576168<->50001fe1500157fd vmhba1:0:0 On active preferred
 FC 12:1.0 10000000c9576168<->50001fe1500157f9 vmhba1:1:0 Standby
Disk vmhba1:0:1 /dev/sda (512000MB) has 2 paths and policy of Most Recently Used
 FC 12:1.0 10000000c9576168<->50001fe1500157fd vmhba1:0:1 Standby  preferred
 FC 12:1.0 10000000c9576168<->50001fe1500157f9 vmhba1:1:1 On active
Disk vmhba1:0:2 /dev/sdb (512000MB) has 2 paths and policy of Most Recently Used
 FC 12:1.0 10000000c9576168<->50001fe1500157fd vmhba1:0:2 Standby  preferred
 FC 12:1.0 10000000c9576168<->50001fe1500157f9 vmhba1:1:2 On active

No problem here so I created two VMFS volumes: ESXSAN01 and ESXSAN02.

When I refreshed the volumes on the second server, the VMFS volumes did not show. The vmkernel log file showed the following:

Sep 29 10:11:44 xs401551 vmkernel: 7:01:44:48.051 cpu3:1038)LVM: 5670: Device vmhba1:0:1:1 is a snapshot:
Sep 29 10:11:44 xs401551 vmkernel: 7:01:44:48.051 cpu3:1038)LVM: 5676: disk ID: <type 2, len 22, lun 1, devType 0, scsi 3, h(id) 14189849040130868952>
Sep 29 10:11:44 xs401551 vmkernel: 7:01:44:48.051 cpu3:1038)LVM: 5678: m/d disk ID: <type 2, len 22, lun 2, devType 0, scsi 3, h(id) 14189849040130868952>  

The second server refuses to mount the VMFS volume because it is detected as a snapshot. A volume is detected as a snapshot when the LUN IDs are different among servers. In this case, LUN1 on the first server was LUN2 on the second.

This is actually some new behaviour introduced with ESX 3.0. In ESX 2.x, having different LUN IDs was not an issue. To revert back to ESX 2.x behaviour, set LVM.DisallowSnapshotLUN=0. The option is set with the VI Client, in the Configuration page of a server, Advanced Settings.

From the moment you set the above option and refresh your storage, you will see the VMFS volumes on the second server.

This new behaviour was introduced because it is now possible to present a SAN snapshot of a LUN back to the same server. The new resignature feature will write a new signature to the snapshot LUN and give it a new volume name. This is handy in recovery scenarios but you have to set another advanced option to enable the feature. See the SAN guide for more info.

As a best practice, you should actually present the same LUN IDs to each server. How this is done depends entirely on your SAN and its configuration.

NOTE: when you revert to ESX 2.x behaviour using the option described above, do not present a snapshot LUN to ESX. Unless you want to test your DR procedures of course. :-)

View Article  Backing up VI3 virtual machines with esXpress 3.0

Introduction

esXpress (www.esxpress.com) is software to backup virtual machines running on ESX. The current version (2.x) can be downloaded for free from their website. With the free version, you can take full backups of your running virtual machines. When you buy an additional license, you can also take differential backups and encryption is also included.

Version 2.x does not run on ESX 3.0. This is the case for many ESX 2.x versions of add-ons (e.g. Leostream P>V, vizioncore esxRanger, ...). For version 3.0, you will need esXpress 3.0. That version is currently in beta but you can register to try it out yourself.

This post discusses the beta version of esXpress 3.0. Not all features have been enabled yet but in its final form, it promises to be a very complete package with automated backups, many backup transports, easy restores, a web interface and more. Because it is a beta, this post does not discuss pros and cons but will show you how the product works.

How it works

VMware has recently published a whitepaper that talks about third-party software in the service console. Running applications with heavy load in the service console is not recommended. The esXpress developers followed VMware's advice and changed the architecture of esXpress to comply with VMware's recommendations.

Instead of performing the backup from within the service console, the backup is actually performed by a helper virtual machine called a Virtual Backup Appliance or VBA. When you backup a virtual machine, a VBA is started that backs up the disks of that virtual machine. From within the VBA, the backup is encrypted, compressed and sent to its backup destination. Multiple VBAs can run concurrently.

Of course, you still need some software in the console to actually initiate backup jobs and provide the user with an interface to backup and restore. However, that piece of software is very lightweight and has virtually no impact on the resources of the service console.

Let's get started showing you how the product is installed and how you perform a basic backup.

Installation

Installation is very simple. You need two files. At the time of this writing, the files were:

  • esxpress-3-0Beta-8-esx-i386.rpm
  • esxpressVBA-3.0Beta-1.esx.i386.rpm

Transfer those files to the ESX server, logon as root with a ssh client and install with “rpm –i”. First install esxpressVBA and then the other one.

Configuration

Configuration is straightforward using the phd command. When you run the phd command, you will see the text-based menu interface:

You first need to go into the Configuration Options and configure esXpress. As a basic minimum, you need to:

  • Configure FTP settings
  • Configure Virtual Helpers

FTP is the only transport supported in this beta. In subsequent betas, many more transports will be added like NFS, SMB, etc...

To configure FTP settings, in the Configuration Options menu, select Configure FTP.

You will see the FTP configuration screen. Just type the host name or IP address of an FTP server, the user name and password and the port and folder. The FTP server can of course be running on anything (e.g. Windows). Just make sure that writes (ftp put) are enabled.

Note that you can specify multiple FTP servers. If the first one is unavailable, the second one will be tried, and so on... Note that you do not need to enable ftpClient within the ESX firewall. This is because it is the helper VM (VBA) that is doing the FTPing, and not the console.

Next, configure the virtual helpers. From the Configuration Options, select Configure Virtual Helpers.

As stated earlier, the helpers are virtual machines. You need to tell esXpress the network that you want them to connect to. The helpers can get their IP settings using DHCP. Be sure to specify the HELPER_DEFAULT_VMFS because that is where the helper virtual machine will be created. The helpers do not need network connectivity to the virtual machines that you backup.

A helper virtual machine will show up in the ESX or VirtualCenter inventory.

Performing a backup

Manually performing a backup can be done from the menu. Start phd and select Backup ONE VM Now.

A list of VMs will be shown. Select a VM from the list.

Select OK. EsXpress will perform an INDEX backup (only the changes). If there is no previous backup, a FULL backup will be taken.

You are back in the main menu. Use the Tail Backup Log option to follow the process.

In the process, the VBA helper will be started and perform the backup. Below is a screenshot of the console of the helper.

As you can see in the above screenshot, the backup is taking place. Reading, compressing and copying with FTP is done at the same time to improve performance.

In the backup log, you can also follow the progress:

On your FTP server, the following directories are created:

The two folders for newtech-dc are from previous backups. The folder for newtech-SQL is the current backup. Inside the newtech-SQL folder, you will find:

When the backup is complete, the TMP extension will be removed.

Note that when your backup is complete, a dummy DELTA backup is taken of the same VM so, on your FTP server, you will end up with:

Restoring

Because automatic, menu based restores were not in the beta yet, I do not discuss them. It is possible to restore the disks manually.

Conclusion

esXpress 3.0 promises to be a welcome addition to the list of products that can do snapshot backups of virtual machines on VI3. It promises to be a very complete product and is well thought out. I especially like the use of helper VMs and their delta technology. Check it out for yourself and let me know what you think!

View Article  Installed Windows Vista RC1 on my HP nw8000

After some colleagues told me that they installed Windows Vista RC1 on their laptop without any real issues, I installed it as well on my laptop. My laptop (from work) is an HP nw8000 mobile workstation. I did not have a good experience with Windows Vista in the beta stages so I was curious about the result.

I did a completely fresh install and did not have any issues. Almost all hardware was recognized except the wireless LAN. The nw8000 has an Atheros chipset which Vista does not recognize (yet). I downloaded some drivers from HP (for XP) and installed them. I did not install them with the setup.exe but used device manager. They work but I guess I will have some standby/hibernate issues.

The Bluetooth hardware was also recognized so I could connect Bluetooth hardware such as a Bluetooth mouse, my phone, etc...

Something that did not work was the integrated memory card reader. Because I am not really using that, I did not bother to try to get it to work.

With 1GB of memory in the laptop, Vista runs quite well although it is not terribly fast. All things considered, I am pleased with the results and will keep it on my laptop for now.

View Article  What to choose: Intel "Tulsa" 71xx or AMD Opteron?

When you are doing a virtualization project, the hardware platform is always a tough choice. The customer I am working with at the moment has standardized on servers from HP and typically uses the DL380 and the DL580. For their virtualization project, they would like to use the DL580 because it is a 4-way system.

The DL580 has recently gone from G3 (generation 3) to G4. The G3 will be available to order until end 2006. From that moment, HP will just sell what they have left in stock.

The successor to the DL580 G3, the G4, can be equipped with an Intel Xeon 70xx series CPU or an Intel Xeon 71xx series. They are all 64-bit CPUs and have 2 cores. The top processor is the 7140M which runs at 3.4 Ghz and has a whopping 16MB L3 cache.

The problem with the DL580 G4 is that it is still based on Intel's NetBurst architecture which will be phased out. The shared front-side bus, slower access to memory, the power requirements, heat generation, and so forth make this architecture less than compelling. Especially when you compare this to the Opteron platform.

My choice for a good 4-way platform has always been Opteron. In HP's range, that is the DL585 G1. That one will soon be replaced by the G2 which introduces Opteron Rev. F, DDR2 memory and other improvements. This platform is more optimal because of its NUMA architecture, on-chip memory controllers, HyperTransport, etc... ESX has optimizations for NUMA which makes it even more interesting.

When you compare some benchmarks of Opteron versus Xeon on ESX 3.0, you can really see the advantage of Opteron. For example, check out these benchmarks. Quite a performance lead to say the least.

To make the choice harder though, Intel has published some benchmarks comparing their 7140M CPU with AMD's Opteron. You can check them out here. When you look at those benchmarks, the Intel 7140M has a lead over the AMD Opteron 885 (2.6 Ghz, dual core). It remains to be seen if Intel chose those benchmarks because they benefit the most from the 16MB L3 cache and what the 16MB L3 cache does for more heterogeneous workloads. Will there always be a performance lead (good for virtualization) or only for some specialized workloads? Difficult to say right now because there is almost no information about that.

Anyway, for 4-way systems, I would still go with Opteron and in this case the DL585 because it is a proven and stable platform. Especially with Rev. F (includes hardware virtualization support), DDR2 and later quad-core, you can't go wrong with that. Just my 2 cents!

View Article  Run a paravirtualized OS with VMware Player

From virtualization.info, I learnt that VMware has released a technology preview of a platform that allows you to run a paravirtualized OS. VMware uses its own VMI specification so it is not based on Xen or other initiatives.

Paravirtualization requires some changes to the guest OS in order to avoid overhead from virtualization. In general, a paravirtualized guest should see improvements in performance.

Because the technology preview is based on VMware Player for Linux, you should not see I/O performance improvements. You should see CPU improvements so CPU intensive applications should get a boost.

It will become more interesting when ESX 3.0 is able to run a paravirtualized OS because we should then see improvements from the I/O side as well. All in all, it looks very promising. Now if only the industry could agree on a common paravirtualization standard!

Get the technology preview here.

View Article  Creating connectable web parts with the Son Of SmartPart

If you have to develop web parts for SharePoint, you have probably heard of the SmartPart. If you want to create web parts with Visual Studio 2005 and ASP.NET 2.0, you can use the Son of SmartPart. The SmartPart and the Son of SmartPart can be downloaded from GotDotNet. This post walks through the steps to create connectable web parts created with Visual Studio 2005 and the Son of SmartPart.

Why use the SmartPart at all? The reason is quite simple. Without it, you have to create web parts completely in code without a designer. If you are not a developer (and even if you are), that is quite frustrating. The SmartPart allows you to easily pick an ASP.NET user control and host that in a web part. The advantage of an ASP.NET user control is that you can use the full power of Visual Studio and create your web part UI with dragging and dropping controls. Although it is possible to use user controls in web parts without the SmartPart, it is more complicated. The SmartPart takes care of some of the plumbing for you so that it even becomes easy to create connectable web parts.

This post is targeted at beginners with some development experience that have not created connectable web parts yet (with or without the SmartPart).

Let's get started. First of all, make sure your SharePoint sites are using ASP.NET 2.0. On a box that's already running Windows SharePoint Services 2.0 SP2, perform the following tasks:

  1. Install the .NET Framework 2.0.
  2. Using IIS Manager, open the properties of the web site that's extended with SharePoint. This is usually Default Web Site. Click the ASP.NET tab and switch to ASP.NET 2.0.
  3. Run the following command: stsadm -o upgrade -forceupgrade -url http://yoururl
  4. If step 3 fails, run the stsadm.exe program from the following path: C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\BIN. Also, this is only possible with SP2 of Windows Sharepoint Services.

The next step is to install the Son Of SmartPart on the server. Use the instructions that come with the download.

Now, let's build the connected web parts. We will display the list of employees from the SQL Server Northwind database. When the user selects an employee, the orders created by that employee are shown. Fire up Visual Studio 2005 and let's get started:

  1. In Visual Studio 2005, create a new web site using File / New / Web Site...
  2. In the New Web Site dialog, select ASP.NET Web Site and select File System as location.
  3. Use an appropriate path. I used C:\Documents and Settings\<username>\My Documents\Visual Studio 2005\WebSites\SmartPart.
  4. For language, I chose C#.
  5. When you click OK, you will have a new project with a Default.aspx page. You can now start to add user controls.

Create the employee user control. This user control will be used in the Employees web part that will act as the provider. It provides data to the Orders web part.

  1. In the Solution Explorer, right click the project name and select Add New Item...
  2. Select Web User Control and call the file Employees.ascx.
  3. From the toolbox, drag and drop a SqlDataSource on the canvas.
  4. Click the little arrow in the top right corner of the SqlDataSource and select Configure Data Source...
  5. You will now get a wizard to connect to the database and configure your select statement. I will not go through all the answers here because it is quite straightforward. I only selected the following fields: EmployeeID, LastName and FirstName.
  6. Now drag and drop a GridView on the canvas and connect it to the SqlDataSource you configured in step 4 and 5. You can again use the little arrow in the top right corner to do that.
  7. Make sure you select Enable Selection in the GridView Tasks.
  8. Switch to code view by right clicking the canvas and selecting View Code.
  9. Add references to Microsoft.SharePoint.dll and SonOfSmartPart.dll. You do this by right clicking your project in the Solution Explorer and selecting Add Reference... Microsoft.SharePoint.dll you can select from the .NET tab. SonOfSmartPart.dll you will need to select by browsing to it on your file system.
  10. You need to implement the SonOfSmartPart.ICellProviderUserControl interface. Put the cursor behind System.Web.UI.UserControl and type the following: ,SonOfSmartPart.ICellProviderUserControl
  11. You will see a line under the letter S (of SonOfSmartPart). Hover the mouse over it and then click the icon that appears. Choose to implement the interface. Some code will be added automatically.
  12. The property ProviderMenuLabel can be used to return a string that the user will see while connecting the web parts in SharePoint.
  13. The method GetProviderData should return a string. That string will be passed to the connected web part (the consumer). Simple isn't it?

The full source code for the Employee user control should be something like:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Microsoft.SharePoint;
using SonOfSmartPart;

public partial class Employees : System.Web.UI.UserControl, SonOfSmartPart.ICellProviderUserControl
{
    public string GetProviderData()
    {
        if (GridView1.SelectedIndex != -1)
        {
            // just return the selected datakey which is EmployeeID
            return GridView1.SelectedDataKey.Value.ToString();
        }
        else { return "-1"; }
    }

    public string ProviderMenuLabel
    {
        get { return "Provide employee to..."; }
    }

}

 

Now you are ready to create the Orders user control. This user control will be hosted in a Son Of SmartPart web part that will act as the consumer. It will consume the string of data (the EmployeeID) from the Employee web part.

  1. Add a new Web User Control and call it Orders.ascx.
  2. Add a SQLDataSource, a GridView and a TextBox. Set the Hidden property of the textbox to true.
  3. The SQLDataSource should again connect to Northwind and this time display the OrderID, CustomerID and OrderDate. You will also create a parameter that takes the parameter value from the (hidden) textbox. You create such a parameter by clicking the WHERE button in the Configure the SELECT Statement page of the Configure Data Source wizard.
  4. Switch to code view and implement the SonOfSmartPart.ICellConsumerUserControl interface. Some code will again be added when you choose to implement the interface.
  5. The ConsumerMenuLabel property should return a string. The user will see the string in the user interface of SharePoint while connecting the consumer web part to the provider.
  6. The SetConsumerData method should be used to receive the data from the provider and do something with it. In this example, the text of the textbox is set to the EmployeeID received from the Employee web part. After that, the GridView's DataBind method is called.

The full source code in Orders.ascx.cs should be:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Microsoft.SharePoint;
using SonOfSmartPart;

public partial class Orders : System.Web.UI.UserControl, SonOfSmartPart.ICellConsumerUserControl
{
    public string ConsumerMenuLabel
    {
        get { return "Consumes employee from..."; }
    }

    public void SetConsumerData(string data)
    {
        // employeeID is in the data string
        txtEmployeeID.Text = data;
        GridView1.DataBind();
    }
}

 

You are now ready to deploy the web parts to SharePoint. Each user control consists of two files: an .ascx file and an .ascx.cs file. Copy those files to the usercontrols folder of the web site root that hosts your Sharepoint site. In my case that is c:\inetpub\wwwroot\usercontrols. If the usercontrols folder does not exist, create it. Make sure you copy the files. That way, they will inherit NTFS security rights properly.

Your usercontrols folder should contain: employees.ascx, employees.ascx.cs, orders.ascx, orders.ascx.cs.

Now open your SharePoint site and add a Son Of SmartPart UC web part to your page twice. The two web parts will need to be configured. Use the link in the web part to open the tool pane to select the user control to use from the list.

When you have added the Employees user control to the first web part and the Orders user control to the second, you can connect them. Put the SharePoint page in design mode and use the web part menu of the Employees web part to connect it to the Orders web part.

If everything went well, you should see the orders of the employee you selected.

View Article  MOSS 2007 Backup Strategies

AvePoint have a whitepaper called "MOSS 2007 Backup Strategies". It contains interesting information about some of the new backup features of MOSS 2007. Not surprisingly, it also discusses AvePoint's backup solutions. AvePoint have interesting backup solutions for Sharepoint (both 2003 and 2007) and are definitely worth investigating if your looking for things like file-level backup and restore, archiving and more.

A direct link to the whitepaper here (pdf).

 

Login
User name:
Password:
Remember me 
This Month
September 2006
Sun Mon Tue Wed Thu Fri Sat
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Networking
View Geert Baeke's profile on LinkedIn

Services

Powered by BlogHarbor
Powered by BlogHarbor
StatCounter