Straighten up with a new UBER tool : Presenting UBERAlign

NOTICE: For more info on UBERAlign Advanced (API / CLI / Powershell) features also read the new post here: http://nickapedia.com/2011/11/07/for-advanced-users-uberalign-api-cli-powershell/

You know how in cartoons they show a small snowball rolling down a hill until it grows into a massive beast of a snow boulder?

Well, that is kind of how my most recent UBER project has gone. I know it is a been a little while since I have released a tool for the community and I am hopefully making that up with my newest creation: UBERAlign.

The idea of creating this came from the lack of a decent free alignment tool out there for VMware admins. Most every other one at there was either something you had to purchase or you had to be a customer of the vender to get access to it. And even after getting access these tools were either (in my opinion) limited in what they did, how they did it, or had become obsolete in a console-less vSphere 5 architecture.

For those they don’t know, alignment with Virtual Machine disks on top of Storage Arrays has been a performance issue for a long time. I won’t go into long detail explaining the problem or the benefits to alignment. There are great posts by Duncan (http://www.yellow-bricks.com/2010/04/08/aligning-your-vms-virtual-harddisks/) and Kevin(http://www.blueshiftblog.com/?p=300) on what the issues are and some of the tools available.

So my goal in creating UBERAlign was to once and for all create a free and powerful tool resolve this issue for everyone in the VMware community. Along the way I ended up probably overdoing the way I went about it. Turns out there are issues with aligning Windows boot disks, drive letter mappings getting lost on changes, current tools requiring copying of the whole disk, and tools frying NTFS metadata. I ended up deep in the weeds learning more than I have wanted to about NTFS, MBR/GPT, and disk logical formats. I also ended spending days writing data movement algorithms on my whiteboard over and over and I tried to solve specific problems with aligning a VM. And along the way I realized I had an opportunity to solve another issue that did not have a good universal answer.

So let me cut the background story down and get right to the details.

Presenting UBERAlign, a tool for VMware Virtual Machine alignment and Space Reclamation3

Features:

  • Allows for fast alignment checking of virtual machines with detailed logging.
  • Can perform alignment to any offset you want. Even the crazy ones that you shouldn’t choose.
  • Works with both Windows 2000/XP/2003/2008 (NTFS) and Linux Distros (EXT2/EXT3/EXT4).
  • Is able to work on NTFS boot drives perfectly. It does this by rewriting NTFS Metadata (the right way).
  • Auto detects Windows 2008 and Windows 7 native installs (alignment not needed). Will not touch a System Reserved Partition (important for Windows 2008).
  • Preserves all Windows drive mapping (AFAIK only one to do so). This means no having to remap drive letters and complete support for non “C:”  system drives with some Windows builds (some Citrix stuff).
  • Doesn’t trash the NTFS and Boot mirrors like other tools.
  • Handles Primary and Extended partitions like it is no big deal on both Windows and Linux.
  • Has the ability to handle multiple disks for a VM.
  • Multiple disks + Multiple Partitions + Multiple types (primary, logical) + Multiple file systems (NTFS, EXT#) =  no problem
  • Also allows for optional Space Reclamation on both NTFS and Ext! That’s right: you can choose to do space reclamation at the same time as an alignment or as a option to itself. This means you can retrieve space no longer used on Thin VM’s using UBERAlign.
  • Operational model allows for completely CONCURRENCY with processing VMs. You can run up to 6 simultaneous jobs per Console and as many Consoles as your VCenter can handle. This was designed to allow people with big environments to process through a large set of VM’s.
  • Options to check, align, or reclaim any choice of disks in a VM.
  • Powerful very simple to use graphic console and easy to deploy OVA’s.
  • Orchestration for batch operations allowing you to process groups of VM’s with just a couple clicks.
  • Getting started is simple with just entering VCenter credentials/IP and pointing at a vAligner.
  • Space Reclamation should also help with possibly speeding up defragmentation of some NTFS file systems after. Your mileage may vary.
  • Space Reclamation can help you turn a thick VM into a thin one and actually get the space back!
  • Does all operations IN-PLACE! My first big goal was this. No more having to copy disks using the ESX command line(especially since ESX is going away). This will process a VM’s disks in-place.
  • Automatically makes a snapshot before running for failback. If you turn on your VM to check it and see anything you don’t like you can simply revert to the UBERAlign snapshot and be right back. (You should always have a backup and test also, see prereqs)
  • Automatically rolls the snapshots back if it sees an error. UBERAlign has the ability to do health check throughout the jobs and if it sees something wrong it will roll back it’s own snapshots for you.
  • Automatically enables CHKDSK scanning on each NTFS volume on the next boot.
  • Completely Storage Array agnostic. That’s right: if it connects to vSphere and host storage UBERAlign will work with it. This includes local disks (see prereqs below) and arrays other than EMC. Don’t say that the EMC vSpecialists don’t love all VMware users.
  • Completed tested against vSphere 4.1 / 5 environments.

So as you can see UBERAlign got to be a bit of a beast along the way.

2UBERAlign comes in two pieces. The UBERAlign Console which is a graphical interface meant to be run on a Windows XP/7/Server system with .Net 4.0 or greater. And the UBERAlign vAligner vAppliance which is deployed from OVA into a vSphere environment. The console connect to the vSphere via SOAP and to up to 6 vAligners via REST interface. The way it works is: each vAligner can process VM’s on the storage the vSphere Host it lives on has access to. So you should spread vAligners across clusters and make sure one is on any vSphere Host that has local storage you want to access.

These features are meant to make the life of a VMware admin much easier when taking on this kind of task. But, let me cover some prereqs and how-to information.

Prerequisites/Tips/Caveats:

  • All VM’s must be turned off to run any operation on. I won’t go into detail on why in-place + on is risky but suffice to say I wasn’t going to give it to you Smile
  • Console has been tested on Windows 7 SP1 and Windows 2008 R2. You need the very latest .Net 4.0 updates also.
  • As said above: only VM’s powered off and residing on storage visible to an attached vAligner will be selectable. You don’t have to restart the console but it may take up to 60 seconds for you to see a newly turned off VM.
  • Only vAligners managed by the VCenter you connected will be useable. One VCenter per console.
  • Concurrency is based on the VM level. Which means each vAligner can handle and process through different VMs. But, a single VM with multiple disks will not be split across multiple vAligners. They will process in a linear fashion one at a time.
  • If UBERAlign detects an error on a VM disk when a previous disk was processed it will revert the previous jobs also. This is because snapshots are handled at a VM-level.
  • When doing multi-disk Windows VM’s it is recommended to align them all and to use the same offset. When the System disk is processed it assumes all the disks will be done and at the same offset. You don’t HAVE to do this but you may have to remap drive letters otherwise (not a huge deal, just annoying).
  • In order for Space Reclamation to work you must boot VM (check that it is healthy), delete all snapshots, svMotion to a different datastore while specifying that you want it thin (important). Another option is to clone the existing VM from a power off state to a new VM on another datastore while 1specifying Thin for the disk format.
  • By default *Natively* installed Windows 2008 and Windows 7 installs don’t need alignment. Upgrades from Windows 2003 do. But Space Reclamation works on all of them.
  • Space Reclamation does make alignment jobs take about 15-20% longer. It all depends on the speed of the storage underneath.
  • You need to have at least 20% free space on any NTFS volume to safely align/reclaim. This can be less on a very large volume but is a safe rule to follow. If you have to, expand a drive to make a little extra room. The alignment check reports information you can use to check.
  • vAligners currently pick up a DHCP address. You can view what the address has become by looking at the info pane in VCenter. Or you can set an IP manually. The vAligners are running Ubuntu and the login is root/UBERAlign.
  • I have tested the console over WAN (Texas –> North Carolina) and it works very well.
  • LVM’s are NOT supported. Long story but #1 the test cases for this are crazy and difficult to QA and #2 technically LVM gives you its own options.
  • UBERAlign is aware of how much storage space is used/available within a datastore. It keeps track and will not start jobs if there is a possibility it could cause an out of space error.

*DISCLAIMER*
Ok, before I go any further I want to mention one important thing. UBERAlign is an experimental tool and carries no support from EMC Corporation or myself (Nicholas Weaver). It is being released in beta state and while it does have functions that allow for failback you should only perform operations on Virtual Machines for which you have a solid backup. Also, I recommend you test in your lab thoroughly to make sure you understand it fully. You accept full responsibility when you use this tool.
*DISCLAIMER*

Ok, now that that is out of the way here are a few videos showing off the console and some of the cool things you can do (these are some quick/rough cuts):

.

And now for the downloads:
(New links are HTTP, no more FTP issues)

UBERAlign Console 1.1 – FTP

UBERAlign vAligner OVA (~500 MB) – FTP

This was a long process for me. It was something I started in June and had to delay because of VMworld 2011 and side projects. It is my last tool as a vSpecialist (more on my move here) and I hope it helps the VMware community somehow. The good news is this was designed from the beginning to be hypervisor agnostic so watch for a Hyper-V and Xen version in the future.

I also want to thank Larry Whitlock (EMC vSpec) who was the primary tester during the harder part of this. Without his help I would not have gotten anywhere.

Questions, comments, and critisism are all welcomed.

.nick

EMC Tools VirtualAppliances

137 Comments Leave a comment

  1. Hmmmm….the console crashes.

    I add the vCenter, that works.
    I add the vAligner, that works.
    I press the Continue button, I get another screen and then the console crashes.

    Jim

  2. Same thing when I run on the Windows 2008 R2 vCenter. Just downloaded the newest .NET 4 framework from MS and it wasn’t installed previously.

    I can add the vCenter and the vAligner, but after I return from adding the vAligner and then press Continue, the console crashes.  I am using the 1.1.1 version of the console.

    So sad….I was looking forward to trying this out.

    Jim

  3. Went to Windows Update, found a few updates for .NET 4 Framework, installed them.

    Still no joy.  BTW…workstation is 32 bit Windows 7, Server is 64 bit Windows 2008 R2.

    😦

    Jim

    • Ok, I tried on a Windows 2008 R2 VCenter server also. Working good.

      Will need some crash details to narrow down. Sorry man.

    • I just reuploaded a slightly different version with a couple bits different. Let me know if that works. It should at least maybe throw a more detailed error.

      • That last one was from my Windows 7 workstation.  Here is the crash problem output from the Windows 2008 R2 vCenter server:

        Problem signature:
          Problem Event Name:    CLR20r3
          Problem Signature 01:    uberalignconsole.exe
          Problem Signature 02:    1.0.0.0
          Problem Signature 03:    4eb3427a
          Problem Signature 04:    UBERAlignLib
          Problem Signature 05:    1.0.0.0
          Problem Signature 06:    4eb34277
          Problem Signature 07:    5c
          Problem Signature 08:    2d
          Problem Signature 09:    System.NullReferenceException
          OS Version:    6.1.7601.2.1.0.274.10
          Locale ID:    1033
          Additional Information 1:    0a9e
          Additional Information 2:    0a9e372d3b4ad19135b953a78882e789
          Additional Information 3:    0a9e
          Additional Information 4:    0a9e372d3b4ad19135b953a78882e789

      • What happens if there are NO machines that are turned off that match the criteria that your vAligner is looking for?

        Could that be it?

        Jim

      • Just thought you would like to know that I solved it.

        I completely uninstalled .NET 4 Framework from my machine, and then rebooted.

        Then I installed the .Net 4 Client Profile Standalone (http://www.microsoft.com/download/en/details.aspx?id=24872) – I have not yet installed any updates.

        Then I was able to run your UBER-Align console without a hitch.

        Interestingly, prior to doing this, I found a .Net 4 Verification tool (http://blogs.msdn.com/b/astebner/archive/2008/10/13/8999004.aspx), and it said everything in my installation was good – so I don’t know what the root cause is.

        Jim

  4. Hmmmm….wonder what is different with your systems and mine?

    I downloaded the console.  I still get the crash.

    Here are the problem details:

    Problem signature:
      Problem Event Name:    CLR20r3
      Problem Signature 01:    uberalignconsole.exe
      Problem Signature 02:    1.0.0.0
      Problem Signature 03:    4eb3427a
      Problem Signature 04:    UBERAlignLib
      Problem Signature 05:    1.0.0.0
      Problem Signature 06:    4eb34277
      Problem Signature 07:    5c
      Problem Signature 08:    2d
      Problem Signature 09:    System.NullReferenceException
      OS Version:    6.1.7601.2.1.0.256.48
      Locale ID:    4105
      Additional Information 1:    0a9e
      Additional Information 2:    0a9e372d3b4ad19135b953a78882e789
      Additional Information 3:    0a9e
      Additional Information 4:    0a9e372d3b4ad19135b953a78882e789

  5. Hi Nick, This Ricky (@rickyelqasem) over at http://www.virtualizeplanet.com developer of the vDisk Informer tool. I do think my tool is better at reporting alignment/disk reclaim however major major kodus in coding a tool to align/reclaim the disks. Congrats man. I may even link back from my tool post to this cool tool.

  6. Just a quick note to anyone setting a static IP and being overrun with “I/O error, dev fd0, sector 0″ messages.  It appears Ubuntu is looking for a floppy controller/drive.  You can disable that by using the following (credit to poster ‘Dan” from http://superuser.com/questions/141770/ubuntu-login-takes-15-seconds-i-o-error-dev-fd0-sector-0).  Run the following and reboot.  After that it’s simply a matter of modifying /etc/network/interfaces to set your static IP.
    echo “blacklist floppy” | tee /etc/modprobe.d/blacklist-floppy.conf && rmmod floppy && update-initramfs -u

    • Thanks Evan – this was supposed to have been in the build but I missed it. I will get that fixed. Awesome catch.

      • Thanks Nick! Your UBER 3.2 “SRM 4.1” and UBER VNX “SRM 5” work great for home lab SRM testing.  Downloading uberalign now.  I hope someone picks up the torch as you transition to your new role.  Good luck and I hope it is everything you wish it to be.

    • You can also go into the VM Guest BIOS settings and set the Legacy Diskette A to disabled on the main screen, and disable the floppy controller in I/O device configuration on the Advanced page.

    • Another way to do this is to edit /etc/default/grub and modify the line starting with “GRUB_CMDLINE_LINUX_DEFAULT=” to end with “floppy.allowed_drive_mask=0” (make sure it’s inside the quotes.  Then run “update-grub” and reboot.  🙂

  7. I have closed the console while a job was active. When restarting the console I have to connect the vAligner again but it cannot be added: “is busy or has an error”. Have I to wait for the job completion?

    Hermann
    P.S.: greatest tool for vms since a very very long time!

  8. Alignment Check job fails with insufficent disk space.
    The vSphere Console reports that a snapshot was created successfully but then it reports

    Reconfigure virtual machine vm_test   The operation is not supported on the object.
    Am I missing something? Is there a logfile with more details? 

    • What is the available free space within the file systems on the disk your are submitting?

      For the second error can you send the .vmx (and just that) to me at nicholas.weaver (.at.) emc.com?

      On the vAligner the detailed log file is: /opt/uberalign/bin/valign.log – send that to me also

  9. @lynxbat

    Many thanks for this utility it will help us allot. I have a few questions below maybe you can help?

    What speeds you are getting when doing the alignment? I have been looking for an alignment utility that can go as fast as possible as we have quite a few 2TB VMs. I also noticed valigner vCPU at about 80% used during the alignment process. Will adding more vCPUs speed it up?

    Maybe others can post there speeds? from esxtop, press v, look at MBREAD/s and MBWRTN/s for the valigner machine during an alignment.

    When the snapshot that is taken, do you have estimates on how large the deltas would grow too? Could you estimate at least +80% delta size if most data in the aligned disk was used and is being moved? Just thinking out aloud on how we would align with snap on larger VMDKs +1TB on vSphere 4.1 on VMFS datastores with 2TB limit.  Any option planned to not do the VM snapshot prior to alignment? We would like to use array based snaps as then we don’t have to merge snap delta  back into source VMDK. I was also thinking of manually changing the VM snap working dir as outlined in http://bit.ly/aypNKl (VMware KB) alternatively a 2TB+ NFS volume could be used with some storage vmotions prior to alignment to do large VMDK files.

    RegardsLuke

    • Adding CPU’s won’t help as it is very single threaded. You cannot move blocks ahead of the others.

      Speed is going to be very dependent on the underlying storage. I had peak MB/s of 140-250 depending on which of my datastores I worked on. I was using a VNX 5700 with FAST/FAST Cache enabled. On my local SSD I got pretty close to the same. The underlying operation moves at the offset difference chunk size so if you want to speed up you can actually specific alignment to a large offset (4096 instead of 2048) and this may speed things up a bit if it is an IO and not MB/s limit of the array.

      Because this program is written to be agnostic to the storage all I could do is be sure that it is pushing whatever is underneath as munch as possible. It is really up to your environment.

      Definitely do not turn on Reclaim as this adds to it. I recommend testing a smaller VM on the same datastore and seeing what the results are. They should be very linear and can be estimated.

      .nick

    • On the subject of snapshots:

      Currently the console application will always require snapshots. You can however run straight against the CLI or use the API to do it outside of the UBERAlign Console. This was part of the plan from the beginning but I am still working on that post which should go up this week. It will show you how you can use array snaps or backups and avoid the snapshot.

      Currently the UBERAlign Console is aware of both the available space and the snapshot space that a job will consume. It tracks this across multiple jobs and will not let a job start that might drain a datastore to a critical level. So in this case UBERAlign will likely not even let you start aligning a VM that big on a datastore. If you could move it to an NFS datastore temporarily that would help.

      But if you can be patient a little longer I will have the answer for you

      .nick

  10. Awesome utility, thank you for your donation to the community.

    You stated:
    LVM’s are NOT supported. Long story but #1 the test cases for this are crazy and difficult to QA and #2 technically LVM gives you its own options.

    I have hundreds of CentOS5 VMs that were created with the default bad alignment with two partions, a boot partition and then the root LVM partition.

     Device Boot      Start         End      Blocks   Id  System/dev/sda1   *           1          13      104391   83  Linux/dev/sda2              14         391     3036285   8e  Linux LVMWe have been unable to find an easy somewhat automated way to align these.  You mention that LVM gives its own options,  could you elaborate on that?

    • Tyler,

      Actually the boot partition should be ok to align. If it is EXT2/3/4 then it will be picked up and worked. The LVM (type 8e) will be ignored.

      As for LVM tricks. You can actually LV around. You could possibly add a disk and my the LV to the PV. Here is a link I found on Foskett’s blog: http://blog.fosketts.net/guides/walkthrough-logical-volume-manager-linux/

      I am by no means an LVM expert. The reason LVM isn’t in UBERAlign is because it is itself another abstraction and was beyond the scope this time around because the multitude of possible scenarios.

      .nick

  11. Hello Nick,

    Thank you very much for the tool. If you’d like, here is my feedback after playing with it for several hours today:

    It did not work with Windows 2008 R2 VM – the VM was upgraded (apparently) from Windows 2003. After running the tool on VM’s C (system/boot) drive it does not boot saying that boot disk does not exist. Apparently the Service Partition/MBR (small 100MB partition at the beginning of the virtual disk) is corrupted as a result of the operation. The same situation happens after running Netapp’s mbralign tool. So I’m still looking for a tool which will allow me to align this VM.

    There were two additional virtual disks – D and E, 500GB but only 100GB data utilized on each. I got message that there is insufficient disk space to check alignment.

    Read/write speed on Aligner VM during the alignment process is appx 20MB/sec read, 10MB/sec write, it took considerable amount of time to perform alignment on above mentioned VM. VMs are located on NFS storage accessing thru 2 10G Ethernet interfaces on ESX server. The array itself is composed from 96 15K FC disk, so the bandwidth is sufficient.

    The aligner VM (Ubuntu) consumes appx 2.4Ghz pCPU/75-80% vCPU utilization when running. Underling ESX has 2 Quad-core CPUs, each CPU running at 2.93Ghz.

    If there is a need to delete existing jobs in queue one has to select them one by one and click delete – selecting multiple jobs do not work.

    Several times when attempt to connect to the Aligner VM from the console was not successful – there was a message that VM is not located on that VC server (it was there obviously). Closing the console and opening it again usually fixed the problem.

    Hope this feedback would be used. Please do not consider it as a criticism – just wanted to let you know first hand experience.

    • Irakli,

      Upgrading from Windows 2003 will never create a SRP. This must have been a naively installed over an existing installation. And as stated above align operations do not run on a Windows 2008 native(they don’t need to).

      Even more important: if you first partition is SRP then your next one has to be starting on (2048×101) sector line and doesn’t need aligning anyways.

      The insufficient message is if the datastore is too small to hold the snapshot. You may try moving it to a large datastore (even one disk at a time). But, given the info above I would run check alignment on all of them and post the results here.

      .nick

    • About 80% CPU means you are hitting likely an IO limit more than a bandwidth (MB/s) limit.

      And I am sure your 96x15K are carved up into smaller volumes that are actually presented as datastores?

      As I stated in another comment: check what the offset difference is when you check alignment. The smaller that number the more IOP vs. Bandwidth intensive it will be. You can move to a higher number to test if fewer IOPs helps your speed. In the end this moving a partition is an intensive operation. The program doing the work is written in C and not the bottleneck as much as the workload.

      .nick

    • With vAligner connect issue: did some pretty strong testing with that but I am wondering if something in your environment is causing a new bug on my side.

      Do you have VCenter in linked mode? How many VM’s do you have? Hosts count?

      thanks

      .nick

  12. Nick, Tried your tool on a Windows 2003 VM with four drives needing aligning. Everything according to the log files completed successfully, however on booting, only Drive C: was available.

    The other three drives appeared in Disk Manager, and readding Drive letters brought them back, but only one of the drives had valid data on, the other two were corrupt.

    • Shoot me an email to nick ( at ) nicholasweaver.com

      A few people(you and one other) are having an issue where their mounted devices are not being fixed correctly. I am trying to nail this one down.

      .nick

    • Yeah same as  above  even when we tried align VM with 2 disk  with differest offset value set C drive  is comleted with successfull but D drive  will throw error as NTFS voluem corrupted and D drive  will appear as unpartioned drive within OS…

  13. While most of my environment is Server 2008 (which does not require alignment) I still have a few Server 2003 templates for legacy applications. The alignment tool worked great on the templates (single disk, 50GB, 2003 R2 32bit & 64bit). It took about an hour or so to complete, then when powered on I got the “new device detected” balloon tool-tip, did a quick reboot, and was ready to rock. The GUI was very simple to navigate.

    One suggestion: It would be nice if the tool remembered the vAligner vAppliances between sessions.

    Excellent job, Nick. This is an amazing contribution to the virtualization community and helps everyone regardless of their storage choice.

    • Thanks Chris.

      I decided to not have it remember the vAligner and instead go for simple single name install. Next version may allow putting multiple names divided by semicolon for a quick mass add.

  14. @lynxbat:disqus 

    I am not sure what it is but I think it stems from VMs created on an older version of vSphere. When trying to attach Windows XP disks to the valigner machine manually so alignment can be  done from the cli it wont allow the disk to be added while the valigner is powered on. Its like it wont add IDE disks. I have tried it on my LAB with vSphere 5 and it works fine there but not on our production system with 4.1.

    Any ideas?
    Luke

  15. Can you go into more detail of when you would use the “Perform zero/reclaim” function? Should this be with any thin provisioned VM so the data move you perform to align partitions does not fill up the full size of the drive, or is it for a different circumstance?  Will it thin the drive automatically or once complete do we use svmotion to make it thin on a different datastore?

  16. Hello Nick –

    This is a fantastic tool.   We have quite a large VMware View 4.6 environment with Windows XP VMs – and we are going to use your tool to align all the VM disks.   The backend storage (NetApp) does have a tool called MBRAlign, but that tool requires command-line execution to the ESX Host that will be too time consuming.   

    I just used Uberalign to fix a 17GB thick disk – and it took about 90 minutes.   Unfortunately – we have about 80-90 VMs to align!   

    Are these speeds expected?   Is there anything you could think of that might help speed up the alignment process?

    • 1) Use the concurrency of 6 valigners (90min / 6 = 15 min each)
      2) It is dependent on the underlying storage. If using multiple valigners doesn’t help then you are probably bottle-necking on the storage. It is an intensive process.
      3) Don’t use Reclaim
      4) Choose and even larger target offset (4096 instead of 2048 sectors). This cut’s the total IOPs in half for the job.

      .nick

      • Thanks Nick!   If you could please could take another moment:

        I have two additional questions:

        1.  I now have 6 helper aligners, but I don’t see how I can use all 6 concurrently to speed up the alignment of a single virtual disk in the GUI.   When the alignment process is performed it assigns a single Helper VM to perform the alignment.  Did I miss something? 

        2.  I’m now struggling to get UberAlign working again.  My first two attempts on Windows XP Virtual Machines were successful, but now I can’t seem to get a successful alignment since.   The Alignment Check completes as normal (see Screenshot1).  But then the actual alignment process reports as “Completed Successfully” and then reports the NTFS volume as corrupt (see Screenshot 2).   Booting the VM result in an  error (Screenshot3) and I have to revert to the Snapshot.   I’m using the default Alignment and there are no previous Snapshots on the VM.  What could be happening?

      • The assumption is that with 80-90 VM’s, six aligners would speed you up a lot. As it is stated in the blog post, I can’t make the storage array any fastr for a single VM. Unfortunately moving file systems around is a pretty intense operations.

        I can’t tell from here what is wrong. But if it worked before then perhaps something is corrupted with the VM’s.

        Booting into them beforehand and running a chkdsk to be sure is a first step.

  17. Hello, just found this tool and am very exited to try it, so downloaded the .ova file and load into my test vsphere5 host. When booting I get the following error: Host SMBus controller not enabled.
    Same error in Vsphere4 and VMware workstation 8.

    See attached screenshot

    What am I doing wrong here?

    Peter

    • These are red herring errors and can be ignored. They come from a floppy drive that was removed before packaging in OVA. You can find the fix lower in the comments if you want to remove it but it does nothing to the operation of the  vAligner.

      New version will come fixed.

      .nick

    • These are red herring errors and can be ignored. They come from a floppy drive that was removed before packaging in OVA. You can find the fix lower in the comments if you want to remove it but it does nothing to the operation of the  vAligner.

      New version will come fixed.

      .nick

  18. Hi,

    nice tool so far as I tested already. I’ve one question because I have seen a “insufficient space”-error trying to align some vm’s. Can you estimate the needed space on the datastore for running the align job? I already checked that there is enough space > 20% inside the vm (NTFS).

    Is there probably a problem with .vmdks that contain more than one partition?

    • No, as long as each partition has >20% you should be fine.

      This is also the defacto message if it runs into something labeled NTFS but for some reason not something it can understand.

  19. I like that there is a tool available to check alignment now.  Great idea!  I have goie through some trial and error to get it working though.  Apparently the alignment tool virtual machines can not be put into a vApp pool and they can not see guests within vApp pools.  Normal resource pools don’t seem to be a problem.  (Running under vSphere 4.1)

  20. Hey Nick. Finally got some time to check this out in the lab.  I’m having some issues trying to initiate align on RHEL5 guest with standard EXT3 FS.   The scan is saying ‘ERROR: There is not enough free space in the NTFS volume to align’  I assume this means VMFS volume.  Tools requires 20% free space are you looking at actual free or are you checking provisioned space vs capacity.   
    Example: I have 1TB volume that has 1.3TB of provisioned space and 300GB free? Should this work or is that generate error? I have moved test VM around to other VMFS volume not over provisioned and at least 20% free buyt get the same error above. Would appreciate any tips you may have. Thanks –ken s.

    • That message is wrong. It should say “EXT” and will be fixed in the next version.

      Are you showing 300GB free space *inside* the file system? What is important is that the Ext3 file system on you partition has enough space free so it can be moved inside the partition.

      If you do a ‘df -kh’ you should see the free space % for the FS.

      • Yeah no free space issue inside of the guest:
        Filesystem            Size  Used Avail Use% Mounted on
        /dev/sda1             7.5G  4.1G  3.0G  58% /
        /dev/sda5             1.3G   46M  1.2G   4% /tmp
        /dev/sda3             2.5G  109M  2.3G   5% /var
        /dev/sda6             1.3G   35M  1.2G   3% /var/tmp
        tmpfs                 1.9G     0  1.9G   0% /dev/shm

      • Yeah standard RHEL root disk nothing special that comes to mind:
        # fdisk -l /dev/sda
        Disk /dev/sda: 19.3 GB, 19327352832 bytes255 heads, 63 sectors/track, 2349 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes   Device Boot      Start         End      Blocks   Id  System
        /dev/sda1   *           1        1006     8080663+  83  Linux
        /dev/sda2            1007        1677     5389807+  82  Linux swap / Solaris
        /dev/sda3            1678        2012     2690887+  83  Linux
        /dev/sda4            2013        2349     2706952+   5  Extended
        /dev/sda5            2013        2180     1349428+  83  Linux
        /dev/sda6            2181        2349     1357461   83  Linux

      • So the issue is that there are multiple partitions but not all of the have enough space to align.

        You could move some of the files to the first part to make enough space and then move them back. Or you can change the type (from another OS) on the extra ones if you don’t want them aligned. Just change to something other than NTFS or EXT.

  21. Pingback: Schulenburg-IT
  22. HI Nick,
    Firstly – thats for the tool. Very Cool!. 🙂 Just a couple of usability suggestions? 
    1) Is there any way of doing a ‘Report’ on what’s alligned and what is not – so far it seems we need to look at the log of each job to see alignment. Would be handy to run a ‘alignment’ check once every 6 months and mail it to an admin. Or can we perhaps grep some logs on the vAligner to collate the data?
    2) The system seems to take snaps even when checking for alignment. While this is a good precautionary step, can we automate the removal after 7 days, or perhaps have a button to ‘Clean Up’ snaps to ensure they are not left behind to cause space issues?

    Tony. 

  23. First off, THANK YOU for a cool tool to do this.  I recent acquired a NetApp and am now the officialy alignment monkey.  While some VM’s that I import using the standalone converter 5 get aligned in flight, some already existing VM’s needed a whack.

    Some feedback, with the preface that your tool is amazingly great as it is, much easier to implement (and faster than) NetApps mbralign tool, but that being said, almost anything can always be improved, if only from the perspective of one user:

    I posted a reply to a comment below that fixed the fd0 error by modifying the grub loader rather than changing devices etc.

    I also recommend replacing the Flexible nic with a VMXNET3 nic, which should help improve throughput for ESX hosts and storage with greater than 1Gbps connectivity (FC or 10GbE iSCSI/NFS).

    I’d like to second the recommendations for a couple items, and maybe a couple new ones:

    – Allow remembering of previous settings for vCenter and Aligners.

    – Report “aligned” or “not aligned” result in the job queue list upon completion (rather than having to click through to job results).  On a VMDK with multiple partitions, it could just report “not aligned” if any of the partitions need alignment.

    – Rather than roll back all aligned disks if one of them doesn’t have enough space, have it stop processing that VM, or simply skip that disk.  Some VMDKs could take several hours to process and having to redo them is painful.  Like the previous comment, having “not enough space” in the alignment check run would be great.

    – Reporting throughput (MB/s) and estimated completion time (based on total size and throughput) would be amazingly useful, if only as a placebo, in the status on the job queue.  

    THANK YOU!

%d bloggers like this: