Request a topic or
contact an Arke consultant
404-812-3123
April 2008

Arke Systems Blog

Useful technical and business information straight from Arke.

About the author

Author Name is someone.
E-mail me Send mail

Recent comments

Archive

Authors

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2024

Hyper-V and Branching Virtual Machine Snapshots

So I have discovered what is potentially the coolest feature in Hyper-V.  So by now, you should be aware of the ability to make snapshots of your virtual environments.  This in and of itself is really nice.  However, there are some really awesome options with what you can do with these snapshots that make Hyper-V even more functional.

Imagine that you're doing a high-risk deployment to a production virtual machine. Things should go fine, but there's that chance that it doesn't.  How hard is it right now to clean up all those changes and revert?  Well, instead of doing that, take a snapshot of the VM right before you deploy.  If the deployment goes sideways, revert to the old snapshot and you're back in your old production environment in less than a minute. That's a lifesaver to someone like me. 

Let's take it a step further.  Let's do this in the development VM, but when things go sideways, let's also take a snapshot of the failed deployment before we revert.  Now make configuration changes and try to deploy again.  Let's say the deployment keeps failing, and you keep snapshotting.  You now have a branched set of snapshots that you can compare.  Maybe there's a common thread you overlooked before, but now you can track down. Better yet, you can almost instantly swap between all of your snapshots without having to take down the VM each time.

The fact that you can now branch snapshots of your VMs is a massive help to development environments, but also is great for IT.  Being able to set multiple configurations of a testing server allows infrastructure wonks really optimize new servers and services before they ever get into production.

So let me know, how do branching snapshots help you and your environment?


Posted by Wayne Walton on Wednesday, April 30, 2008 10:10 AM
Permalink | Comments (0) | Post RSSRSS comment feed

Auto Generate Sequence Diagrams from a .NET DLL

I just ran across a very useful Reflector.NET add-in and just wanted to spread the word about SequenceViz.  It's still beta and the comments on their page indicate there are some bugs but I was able to get it working right away and this tool is really helpful.  I hope you find it useful also...

http://www.codeplex.com/sequenceviz/Wiki/View.aspx?title=ReflectorPlugin

SVReflector.png


Posted by eric stoll on Tuesday, April 29, 2008 12:35 AM
Permalink | Comments (0) | Post RSSRSS comment feed

Moving Virtual Machines to Server 2008 and Hyper-V

Now that we've upgraded our VM infrastructure to Hyper-V, I thought I'd write up some of our experiences.  Trenton has already gone over some of the more technical details, like getting Debian configured, but I thought I'd start with the biggest potential hang-up I saw.  Simply put, if you're moving some old Virtual Server 2005 VMs to Hyper-V, there's to things you need to take into account:

  1. Uninstall the VS 2005 extensions from the client VM.
  2. Be prepared to reactivate Windows on the client VM.

Really, those are the only two things I found that are really important.  Everything else is really details.  Even though it's only in Release Candidate status right now, Hyper-V is already immensely better over Virtual Server 2005.  The VMs are faster, they're easier to manage, pretty much everything works better.


Posted by Wayne Walton on Tuesday, April 15, 2008 10:30 AM
Permalink | Comments (0) | Post RSSRSS comment feed

Installing Debian and Subversion on Hyper-V (DRAFT) - Updated

Part 1: Setting up the Hyper-V VM

 

The network adapter was the tricky part.  I mentioned the fix in this previous post:  http://arkesystems.com/blog/post/2008/04/Hyper-V-Miscellaneous.aspx

 

Part 2: Installing Debian - Lenny

  1. Start the Debian install
  2. When it asks for you to create a user DO NOT use the same username as your AD account, this will just be confusing.  Use something else, or something like 'defaultdebianuser'.
  3. When it asks for software selection choose the following:
    • Standard System
  4. Now wait while it finishes the initial install.
  5. Reboot
  6. Login as root
  7. Install sudo  #>aptitude install sudo
  8. Setup your network settings:
    • #> sudo nano -w /etc/network/interfaces
    • Create a static entry such as:

      allow-hotplug eth0
      iface eth0 inet static
      address 192.168.1.57
      netmask 255.255.255.0
      gateway 192.168.1.254

      auto eth0

    • Save and exit
    • #> sudo nano -w /etc/resolv.conf
    • Update the domain, search and nameserver fields
    • Save and exit
    • Restart the machine and re-login
  9. install the ssh server #> aptitude install ssh
  10. You can now ssh into the machine so you don't have to be on the actual box in order to finish setting subversion up.
Part 3: Connecting to the Active Domain

We have our base install of Debian now, and it's available via ssh.  We now need to install the necessary components for connecting to the Windows Domain.

  1. Modify the sources list accordingly
  2. #> sudo apt-get update
  3. #> sudo aptitude install libkrb53
  4. #> sudo aptitude install krb5-config
    • Asks for the AD server's hostname 
  5. #> sudo aptitude install samba
  6. #> sudo aptitude install winbind
  7. #> sudo aptitude install ntpdate
  8. #> sudo apt-get install ntp-server
  9. The previous items may ask for some configuration options, you can fill them in if you know them otherwise we'll be modifying the configuration files later...
  10. #> sudo /etc/init.d/samba stop
  11. #> sudo /etc/init.d/winbind stop
  12. #> sudo /etc/init.d/ntp stop
  13. #> sudo nano -w /etc/krb5.conf
    • Under the [realms] section add your AD controller's Hostname (if it's not already filled in from the configuration)

      REALMNAME {
      kdc= ARKEDC

      }

    • Look for the default_realm parameter and set it equal to your domain name.  The domain name MUST BE IN ALL CAPS.  For example, ARKESYSTEMS not arkesystems or arkesystems.com
    • Save and Exit
  14. #> sudo ntpdate <ip of the time or AD server>
  15. #> sudo nano -w /etc/ntp.conf
    • Add a server like:
      • server <ip of the time or AD server>
    • Save and exit
  16. #> sudo /etc/init.d/ntp start
  17. check to see if this is working so far by:
    • #> ntpq -p
    • If it has your server in the list you good to keep going.
  18. #> sudo nano -w /etc/samba/smb.conf

      realm = ARKESYSTEMS.COM
      workgroup = ARKESYSTEMS
      security = ads
      idmap uid = 10000-20000
      idmap gid = 10000-20000
      template shell = /bin/bash
      template homedir = /home/%D/%U
      winbind use default domain = yes

    • Save and quit
  19. #> sudo nano -w /etc/nsswitch.conf
    • Add the winbind flag to the passwd and group field:

        passwd: files winbind
        group: files winbind

      1. In Lenny it will look like

      passwd: compat files winbind
      group: compat files winbind

  1. #> sudo ldconfig
  2. What we've done in the last few steps is synced the debian box with the time server.  They both need to be within a few seconds of each other in order to properly authenticate on the domain.  We then setup our user folders and samba authentication.  Finally we added the ability of Debian to validate against the AD for users.  We're now ready to attempt to join this machine to the domain. .
  3. ... But first add an entry for this machine in the Active Directory ...
  4. #> sudo net ads join -U "DOMAINADMIN"
  5. #> sudo /etc/init.d/samba start
  6. #> sudo /etc/init.d/winbind start
  7. use the getent passwd and getent group commands to check to see if they're listing the users and groups from your domain.  If they are not, double check your config files.
  8. Next we're going to configure PAM (Pluggable Authentication Module Subsystem)  This allows programs in the Linux environment to authenticate through the domain. We've got to update three configuration files to use the winbind extensions

      # sudo nano -w /etc/pam.d/common-account
      account sufficient pam_winbind.so
      account required pam_unix.so

      # sudo nano -w /etc/pam.d/common-auth
      auth sufficient pam_winbind.so
      auth required pam_unix.so use_first_pass

      # sudo /etc/pam.d/common-session

      session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
      session sufficient pam_winbind.so
      session required pam_unix.so

  9. Now we need to edit our skeleton files for users who logon to debian for the first time.
    • #> cd /etc/skel
    • #> sudo mkdir .ssh
    • #> sudo nano -w .ssh/authorized_keys
    • Save and Exit
    • #> sudo chmod -R 744 .ssh
    • #> sudo nano -w .bashrc
    • add the line: umask 007 at the bottom, save and exit
    • #> sudo nano -w .bash_profile
    • change the umask to 007, save and exit
Part 4: Installing and Configuring Subversion
  1. #> sudo apt-get install subversion
  2. **THE FOLLOWING IS ONLY IF YOU WANT WEB ACCESS**
  3. #> sudo apt-get install apache2
  4. #> sudo a2enmod dav_fs
  5. #> sudo /etc/init.d/apache2 force-reload


Categories: Server 2008
Posted by Trenton Adams on Tuesday, April 15, 2008 12:11 AM
Permalink | Comments (3) | Post RSSRSS comment feed

Hyper-V Miscellaneous

So I've been working on getting 2 VMs setup in Hyper-V today, a Windows 2003 server and a Debian Server.  Below are the issues I ran into and how to solve them.

 

Windows Server 2003 Standard

The main issue I ran into here was the inability to run the full Microsoft Update web site.  Basically when I clicked on Custom update, it would process for a while then end with an 0x80072ee2 error.

To fix this you have to disable TCPIP offloading.

  1. Run->regedit
  2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  3. Add a REG_DWORD key/value pair:
    1. DisableTaskOffload = 1

Restart and you'll be able to access Microsoft's updates again.

 

Debian 4.0R3

The problem I ran into here, is that Debian does not detect the default Hyper-V virtual network adapter.  To fix this you'll need to go to you're VM's Settings page.

  1. Select the network adapter and delete it
  2. Select the Add Hardware option
  3. Add a new Legacy Network Adapter
  4. Modify settings on this as needed

You'll now be able to install Debian on the VM, and the installer will detect the network adapter

 

kick it on DotNetKicks.com

Posted by Trenton Adams on Friday, April 11, 2008 3:58 PM
Permalink | Comments (0) | Post RSSRSS comment feed

Web Developer Tools now support Firefox 3.0

For those of you like me that use Chris Pederick's Web Developer Tools on the regular, you should be happy to know that 1.1.5 is out, and supports Firefox 3.0.  This makes me happy, as I have migrated to 3.0 everywhere except on my work machine, becuase I was waiting on support for a few extensions. 

Apparantly I was a bit behind the power curve on this one,  as he released it a couple weeks ago.


Posted by Wayne Walton on Thursday, April 3, 2008 1:14 PM
Permalink | Comments (0) | Post RSSRSS comment feed

SharePoint problems, copying from old content management systems

Different content management and versioning systems have different methods on how they track versions.  So when migrating from one system to another, you can run into issues.  We recently experienced this when moving some data from an old CVS tracking system to a new SharePoint system (though this also affects old Novell systems). 

 The quickest way to move a large number of file to SharePoint is, of course, through the Explorer window.  That way you don't have to manually make all your folders and everything else you might need.  However, this can lead to problems, such as these errors:

Error 0x8007011A: The mounted file system does not support extended attributes.  

or

Invalid MS-DOS function

Both of these indicate that the old CMS has some extended file attributes that SharePoint doesn't handle.  Stripping them is the only reliable way to allow SharePoint to manage these files.
You can let the web interface do this for you, but that means making all your own folders.  Not terribly quick when you're dealing with large moves.  There is a quick workaround that I used, and that is to move the files to a neutral location, zip them up, and then unzip them.  Archiving them that way actually strips those extended attributes, and Zip doesn't support them.  So now you have clean files you can copy over to SharePoint (sans any versioning from the old system).

Right now, we're also looking at building an app to automate this process, and possibly add some intelligence to it.

Also, does anyone know of any tools that can examine this kind of extended data?  That would make our lives a lot easier.


Categories: SharePoint
Posted by Wayne Walton on Thursday, April 3, 2008 12:51 PM
Permalink | Comments (0) | Post RSSRSS comment feed