Blog ala Vidar

SQL, AppFrame and other cool technologies

Tag Archives: Hyper-V

NNUG and MTUG Haugesund User Group Meeting in English

The countdown to AppEd has started. ARE YOU READY TO RUMBLE?!

Thursday evening, September 30, we’ll start off with NNUG (.NET) and MTUG (Microsoft Technology) Haugesund user group meeting. First, Fredrik Kalseth, which is a well known speaker in Norway, will talk about ASP.NET MVC 2 and the news in MVC 3. After his talk we’ll have some pizza, and then Morgan Simonsen, which is also a very well known speaker, will talk about Windows 7 SP1 and System Center Virtual Machine Manager 2008 R2. And the best of all, all sessions are in English, so everyone’s welcome! Please sign up for this at http://www.nnug.no/Avdelinger/Haugesund/Moter/NNUG-and-MTUG-Haugesund—September-2010/

Home Server

I was asked by one of my co-workers, Jan-Børge, what I recommended for a home server. This lead me to give a little talk about what I’ve done in my home-network yesterday. I’m guessing Jan-Børge isn’t the only one wanting to have a server at home to play with, so here’s my recommendations. I’m recommending two servers; one for plain home-server (backup all your PCs, have one place to put your music, videos and pictures etc) and one virtual-hosting server where you can create several virtual servers to test what ever you want. I’ve done the last one myself, where I’ve now got 5 virtual servers; Active Directory, Exchange, Home Server, Web Server and SQL Server.

First of, you of course need legal Windows licenses. The cheapest way to do this is buying your own TechNet Standard subscription. This costs $199 the first year and $149 the next years. With this you can download and install Windows 7, Office 2010, Windows Server 2008 R2, SQL Server, Exchange +++. You got 10 licenses for each OS. Now, the reason why Microsoft has this offer is for IT pro’s (and developers) to get to know Microsoft technology for testing-purposes, before buying it in the company they’re working in. Most of what I’ve tested is either already in use in Omega, or we’re planning on supporting it in some way.

Home Server Vail

If you’re going to buy a server and install Home Server, buy a 64 bit machine, and install the beta of VAIL (Home Server 2.0). It’s being released later this year, but I’ve used the beta a while now and I haven’t run into any issues yet. For hardware I’d recommend a 64 bit processor. Doesn’t matter how fast it is. The minimum requirements for RAM is 1 GB, but I’d put in 2 GB. Make sure the main board has graphics and network integrated. Other than this, just buy the cheapest you can get. I’ve got 2 x 2TB disks, but how much disk space you want is of course up to you. If you suddenly run low on disk space, just order more and plug it in. You need to click ONE button after installing the new disk(s), and it adds it to both backup-space and shared folders. Pretty neat!

After you’ve installed the server you need to connect all your computers to the server. This is done by visiting http://name-of-your-home-server/connect. After this is done, you’ll get three icons on the desktop, and the server will take backup of your computer every night. It will also check all computers if anti virus is installed and updated, anti-malware protection is on and firewall is on.

By double-clicking the Dashboard, you get to administer your home server. Here you can create new shared folders (defaults are Documents, Music, Pictures, Recorded TV, Users and Videos), do manual backups of your computers, find deleted files from your computers, administer the home server web-site and much more.

Virtual Hosting-Server

If you are going to run several virtual servers on one physical server, you need much RAM and CPU cores. The speed of each core isn’t really that important, but I’d recommend 8 GB RAM and Quad core if you’re having 4-5 virtual servers. I would also recommend big disks, and a powerful PSU, so you can add many disks etc. Other than this, buy the cheapest you get.

When it comes to software, I really recommend Windows Server 2008 R2 with Hyper-V. Managing virtual servers with Hyper-V is like eating ice-cream. It’s very easy, and everyone loves it!

Here you see my virtual servers. If I for some reason needed more RAM for the SQL Server, or maybe more CPUs, I just shut it down, right click, properties, and change memory from 1024 to 4096, and change a dropdown box from 1 CPU to 4 CPUs. Then I just click save and turn it on again. Same goes for hard disks. I can create a new file on the physical server (with the .vhd file extension) and add it to the properties of the server. VERY easy.

Nordnes.Me

A couple of weeks ago I looked in the mirror. What did I see? I saw a guy that used most of his spare time on Xbox games. So, what did I do? Well, I had to find something else to do. What else? Build a new server! Yeah yeah, I could go outside having some fresh air etc., but fresh air also comes through the windows, at least if you open them. ANYHOW! I bought two domains; nordnes.me and nrdn.es and though I’d have some fun. A while back I bought a Quad Core AMD CPU for my HDPC, but I bought a new Intel CPU for that, so the AMD processor with the main board was just lying around without being used. I bought 8 GB RAM for it, and 2 x 2TB disks. I’ve also got a Microsoft TechNet subscription, which allows me to download almost any Microsoft product for free to use in a testing environment. What’s more testing environment than my home network? 😉

Now, everything is up and running and here are the specs.

Physical server
vs – Hyper-V Server

Virtual servers, all running with 1GB RAM (2-4 while setting them up):
vsAD – Active Directory, DNS and similar
vsHS – Home Server 2003 (not running. Will probably be deleted soon)
vsLINUX – Debian. Not running, but installed in case I need to test some Linux-stuff
vsMAIL – Exchange Server 2010 (hosting vidar@nordnes.me)
vsSQL – SQL Server, running 5 instances (2005, 2008, 2008R2, Express etc)
vsVAIL – Home Server VAIL
vsWEB – Web server, hosting Nordnes.me and nrdn.es

Home Server

I’ve learned a whole bunch of stuff in the process of installing and configuring everything. Today I finished moving over to the new home server (VAIL) which based on Windows Server 2008 R2. It’s awesome! One of the new features is that you can stream your videos via web (using Silverlight). Oh, while I’m talking about home server. If you’ve got more than one computer at home (or at the office), you might want to think about buying one. It makes sharing videos, music, backing up your computers and making sure all computers have updated antivirus etc. a whole lot easier. But wait till VAIL is released! VAIL will only run on x64 bit, while the old version only runs on x86.

One thing worth mentioning: DO NOT add your Home Server to AD. You will be able to do it, but it causes so many problems. The reason I wanted to do it was to use the same username and password as on all my other machines (both physical and virtual). Also, joining machines to the home server should be done on a wired network, not on wireless. When joined, you can put them back on wireless without any problems, but I haven’t been able to join any of my computers while on wireless. Have no clue why though, since my wireless router is set up as an AP (Access Point).

Active Directory

The main reason I installed AD is that I wanted to use the same username and password on all computers, but also to play around with group policies. Also, Exchange is pretty meaningless, if not impossible, without AD.

Web

This is the server I’ve played most with. I installed SharePoint, played with Office Web Apps and most recently Nordnes.me and nrdn.es. The last one (nrdn.es) is my own test-project for bit.ly/tinyurl.com-like sites. If you’re interested I can send you the project for this one, but there’s no rocket science here. I’ve also built Nordnes.me using Master pages in ASP.NET. This is actually my first site ever in ASP.NET!

Nordnes.me is just a place where I’ve gathered all my public feeds (blog, twitter etc) into one stream. I’m using a windows service to poll all the feeds every 15 minutes or something and then using LINQ to XML (which btw is AWESOME!) with ASP.NET to display them.

Exchange

Since Omega just moved over to Exchange, I felt I had to get some more knowledge about this. It would be interesting anyways since 99% of our customers use it, so I would probably eventually “have to” build something that communicated with Exchange. Before starting the installation I was convinced that this was just another “next next next next finish” project, and I was right. At least to get it up and running. To get it to send and receive mail took a couple of hours though. I am still not able to connect to Exchange outside my network although testexchangeconnectivity.com says everything is working as it should be. Since it’s working locally it’s very hard for me to test outside my network, so I might have to pick someone up from Microsoft and get them home to see my server-collection 😀

SQL

All SQL geeks with self-respect should have at least 5 instances running at home. I’m only using 2008 R2 at the moment, where I’ve got mainly two databases. One for the tiny URLs (nrdn.es) and one for polling twitter. The reason I’m polling twitter is to gather very much data, so I can start playing with SSAS (SQL Server Analysis Services). There are two arguments for polling twitter for this; it’s public and there’s A LOT of data being generated (by people) every second.

Home servers

As a part of the Christmas presents to myself, I bought some new hardware for my server. I had a main board laying around with a quad core AMD processor. Yes, I hate AMD, but it’s better to use it than just having it laying around.. Anyhow, I bought 8GB RAM and 2x2TB disks for it. I’m running Windows Server 2008 R2 on it with Hyper-V, so it’s running 7 virtual servers, including Active Directory, SQL, Web etc.

Over you can see how good I am in Visio! This is a bit outdated since I’ve now bought a Gbit switch to put in my living room so my HDPC, PS3 and my soon to arrive Xbox will all be connected. Hyper-V has a cool feature which enables me to add an internal network between the servers. This is running on 10 Gbit! It’s used for backup, service-monitoring etc. So, why do I need 7 virtual servers? For testing! I’m generally VERY interested in technology, and this enables me to do almost what ever is possible. For instance, I’ve never had the time to check out SharePoint. I know it’s some kind of web-server-thingy, but that’s about it. Also, I want to check out Exchange 2010 and some cool features related to AD in 2008 R2, including Direct Access. The SQL Server is of course running 6 instances (2005, 2005Express etc). I’ve also installed BizTalk on vsWEB. What’s BizTalk? Have no idea! That’s why I’m doing this 🙂

So, to sum up. I’m going to test out SharePoint, Exchange, BizTalk, System Center Operations Manager, AD and of course play a bit with some SQL features I haven’t used too much time with: Analysis Services and Reporting Services. I’ll hopefully get to blog about my findings, if I’m not TOO exited when getting my Xbox. If there’s something in particular you want me to blog about, please let me know!

Holiday times

Instead of taking vacation in the summer I’ve chosen to do it now since it’s so close to Christmas. So, what does Vidar do when he’s on vacation? Travel, work in the garden, renovate the apartment? No no no. I just ordered a new phone, HTC Touch HD2 as well as 8 GB RAM and 4TB disk etc for my server. I’m going to set up a Hyper-V server with 7 virtual servers. I’m going to run my own AD controller, SQL Server (with 6 instances, for testing purposes), Exchange, BizTalk and SharePoint. And last but not least, home server. I’ve been running this before, but now they’ve finally got real support for windows 7, so I’m going to run it again. So, why am I doing this? Well, now that I’m not in the technology department anymore, I’m “limited” to do research on my spare time. I still haven’t touched SharePoint or BizTalk. I’ve installed Exchange before, but never played with it. Will it be useful? Probably not, but I’ll definitely learn much and maybe get some great ideas on how to improve our systems.

In addition to my new server, I’m playing around in Visual Studio 2010 Beta2. I’ve now learned to LOVE XAML. I’ve played a bit with Silverlight, but mostly with WPF. I hope we’ll soon get over to this. Maybe CR4? 🙂 So, this blog post is just a notice that “be aware of a series of blog posts!”.

Oh, I almost forgot. Get ready for some cool sessions at NNUG next year. First of will be how to create an application running Azure, SQL Azure, Silverlight and WCF RIA Services.

Virtualization

This is a very popular topic in the IT industry nowadays. Some believe it’s because of the global warming “wave”, but I tend to think it’s more than just that. Let’s dive into it!

My first meeting with this technology was about 8-10 years ago. I was running Linux, but wanted to have the possibility of also using Microsoft applications without having to do a reboot. I installed VMware and created a virtual machine inside it running Windows. I also remember the IT administrator at high school telling me that another high school was running Linux with multiple VMware machines, running Windows Server.

So, what is virtualization? According to Wikipedia, virtualization is “a broad term that refers to the abstraction of computer resources” and a virtual machine is “a software implementation of a machine (computer) that executes programs like a real machine”. I would describe it as making it possible to utilize more of the physical hardware available. Virtualization is a broad term, and is used for Application Virtualization (remote desktop-like) etc, but we’ll focus on hardware virtualization in this blog post. In fact, most of the servers out there are idling most of the time. I’m not thinking of the servers hosting Microsoft.com, Google.com etc but any other not that heavily used. In Omega we’ve got about 20-25 physical servers. What do they do? Domain controllers, DNS, mail, database, backup, web etc. Between 8 and 16 there’s some load on these servers, but how much of the actual hardware do you think is being used when most of Omegas employees are at home? Why should they then use the same amount of power, producing the same amount of heat etc as when we’re actually working? A couple of years ago we bought our first “hosting server”. If I remember correctly it was running 8 CPU cores and 16GB RAM. We installed VMware on this to run our test-servers in the technology department. In here we had our own Domain controller, web servers etc. After a while we bought several “hosting servers”, and now we’ve converted all of them to Hyper-V, Microsoft’s virtual servers. Today we got over 20 virtual servers. Most of them are test-servers, like SQL, web, XP (to test IE6) etc, but also some production servers. There are several reasons why we do this.

  • Reduce the cost of having to buy multiple servers.
  • Less power consumption which leads to less head and lower electrical bills.
  • Less administrative work because we can log on to the physical box if a virtual server crashes, instead of going to Ølen in the middle of the night to reboot a computer.
  • Enables us to add more “juice” if needed

You might think “isn’t this like putting all your eggs in one casket? Well, yes and no. Of course, many of the servers are running on the same hardware, so if one physical server crashes we got a bigger problem than if one of them crashed as a physical server. But, the quality of these servers tend to be much better than cheaper servers, and we’re able to run RAID10 on all servers, so if one disk crashes, the server’s still running. Also, in Windows Server 2008 R2 there’s a new feature called “live migration” which enables you to automatically move virtual servers between the hosting servers.

So, what should run as virtual server and what should still be on “bare metal” (physical box)? SQL Servers with heavy load should not run as virtual servers, because of the heavy disk IO. SQL Server love RAM, you should feed it like a hungry baby. AD controllers and exchange servers should also run as physical boxes, but there’s no reason why for example web-servers should run on physical servers. By the way, did you know that Omega only runs web servers on virtual servers? For example, TeamDoc have been running on a virtual server for several months.

I’ve had several discussions with people that are skeptical to virtual servers, and I do understand them, but remember one thing. If you have ordered a 2 CPU server with 4 GB RAM, and suddenly figure out that this server isn’t good enough. What do you do? Well you probably have to order a NEW server because 32 bit servers only support 4 GB RAM. You would have to go for one new motherboard, CPUs, more RAM etc. What would you do if it was a virtual server? You’d call the administrator: “could you add 2 GB more RAM to my server? And while you’re at it add 2 more CPU cores.” The administrator then would go into his Hyper-V manage, right click the server. Shut down. Right click it again, Settings and add more RAM and CPU, and then start the server. It would take about 2 minutes compared to ordering a new server from Dell, which would take about 2 weeks, and would cost A LOT more. When we create new virtual servers, we normally add 1 CPU and 1 GB RAM. Then, if needed, we add more and it would only take a couple of minutes. Shouldn’t that be the way to go?

Btw, did you know that most of Microsoft.com, TechNet and MSDN are running on virtual servers?

Knowledge week

This has been a VERY busy week. Started with publishing a new build of R3. I wish I had more time to test before it was published, but now everything should be fixed at least! Next time we’re planning a freeze two weeks before the build where we’re only going to test and fix bugs. Monday – Wednesday I was at work for a total of 40 hours, to make sure everything should go as planned on TechNet, NNUG, AppEd and with the upgrade of SQL3.

On Thursday we went to Stavanger. We were 12 people, some went to MSDN and some to TechNet. I went to TechNet, where the red thread was Microsoft Virtualization with mainly Hyper-V but also a bit about Virtual PC and Virtual Server. Virtualization is something we’ve already started using in Omega and we’re expanding weekly! Less physical servers means less hardware-failures, easier maintenance and of course reduced cost! We learned some tricks and tips about virtualization. We also met one of my heroes, Jon Jahren. We showed him our plan about hardware setup for the new SQL3, and got some tips about how to improve it. For example, we had planned to split up the MDF to several RAID-arrays. According to him, there were no point in this. He recommended putting the MDF on ONE RAID-array, using RAID 10. He also mentioned that tempdb should have it’s own array (as we already planned), and of course the LDF-file should have one. Making several MDF-files on the same RAID-array was good though. One pr CPU! Jon also had a “competition”. The person who asked him a question he couldn’t answer, got a SQL Server 2008 jacket. I asked him a question which he actually didn’t answer, but he apparently forgot about it or something, so he made a new competition. “Hvor mange indianere får en plass til i et hult tre?” ….. En stamme. “How many Indians can you fit into a hollow tree?” … “One tribe”.. Tribe in Norwegian (“stamme”) is the same word as for a tree-trunk. Leif was the first to answer correctly, so he got the jacket. And, yes. I’m REALLY jealous! I’m going to send Jon a mail about it!

After MSDN/TechNet we went to Ølensvåg to have a NNUG meeting. The topic was “C# 3.0 and .NET 3.5, news and best practices” with Jan Ove Halvorsen. It was a great session! We will upload his powerpoint to NNUG’s website. After that, Johnny had a zip-talk about CR3, and everyone seemed to be very impressed. There were people from Hatteland, Ecciti, Ølen Betong and Bouvet (and Omega of course) there.

On Thursday evening we went to “Løo”. This is a nice place to get to know people. We sat up till 2am, chatting!

AppEd started on Friday morning, with a keynote from Johnny and some guidelines. After that we had a “Tell us where it hurts” session, where we got some input about what, and how, we could do things better. We discussed documentation, builds, reporting issues and a couple of other things. I think it’s great to have sessions like this, where we can discuss and get to know problems that we might not be aware of. Torgeir continued with ReportingDX where I learned a couple of new things 🙂 Johnny had a little session about what we’ve made in PIMS R3.

After lunch, we split up in two where Arild had a (very interesting) session about SSIS and Johnny had one about AppFrame Security Model. After that there were two sessions going at the same time: CR3 Development and CR3 Hardcore. I participated at hardcore. I’m amazed by how much cool words Jan Leon, Peter and Torgeir knows. Serialization, delegates, proxy object, surrogate etc. I know some cool words in SQL Server, but not that many! In these sessions I started feeling sick. Not of the session, but there’s been some problems with the water in Ølen, and some has been sick (vomiting etc). I had to get home, so I couldn’t participate at “Løo” where they had dinner etc. We planned a quiz, where we were going to elect “Norgesmester i AppFrame”. Norwegian Champion in AppFrame. Of topic: You may have noticed I’m writing AppFrame, and not Appframe. This is the new way to write AppFrame.
ANYHOW! Arild Røksund won and got a T-shirt saying “AppFrame Developer Hero”, a mouse he can connect to a USB-port that cycles on a bicycle. The faster you type on your keyboard, the faster the mouse cycles. In addition he got the title “Norgesmester i AppFrame” and 50.000 advantage points. Semion Larin and Aleksander Birkeland got second and third place. They also got the t-shirt and cycling mouse.

I didn’t feel too good when I woke up, so I waited till after lunch to get to Ølen. Before that, they had hands on labs (to play with CR3), setting up R3 and R3 web. When I got to Ølen, me and Arild had a three hour session about Database Development. We went through new features in 2005 and 2008, Service Broker, Indexing and Statistics and Query Tuning. Håvard Ravatn showed me a thing I didn’t know about CROSS APPLY. I thought you could only use it for UDF’s, but no… You can also use it for queries 🙂

Because I was sick, and JanCB also was sick, we did not upgrade SQL3 this weekend. I’m still looking forward to get it up on SQL Server 2008. The plan now is after the salary payment is done.

I’ve already started planning AppEd 2009 😀 I hope you think the same as me, that it was a big success! I also hope we can expand it, so more people can attend!

Happy times!

I can’t wait to get back home. I really like it here in Bonn, but I’m REALLY looking forward to the next week. Actually the whole year!

For starters, NNUG Stavanger is having a meeting on Wednesday. I don’t think I’m able to participate there, but it would be fun. Thursday morning it’s MSDN/TechNet. I’m going to TechNet. It’s from the morning till about 15:00. MSDN’s having a great list of subjects, like Silverlight 2, ASP.NET Dynamic Data, IE8 etc. You can find the whole list here. TechNet has a high focus on Hyper-V (server virtualization) this time. Click here to get the session list.

After I’ve been to TechNet, I’m driving like a crazy back to Ølen, to host a NNUG meeting where Jan Ove Halvorsen is talking about .NET best practices etc. The day after, AppEd starts. There’s already about 35 people attending, and I’m REALLY looking forward to it! Here’s the schedule for AppEd.

On the night between Saturday and Sunday, we’re planning to upgrade Omega’s main SQL server to Windows Server 2008 and SQL Server 2008. We’re also installing a new disk cabinet!
It’s going to be a wonderful week 🙂

It sounds hard to top this, but it’s actually possible… In the end of September, I’m going to Oslo to participate at MSDN Live there, and also my first meeting with the people from the other NNUG branches. There’s a VERY special person coming to MSDN in Oslo, so if you have the possibility, I really recommend coming! Sorry, dudes. I can’t tell you his name.

In November, we’re 17 guys(!) from Omega going to TechEd. That’s also going to be really really nice. As you probably already know, I was there last year and it was like putting a child in the Euro Disney or similar! Here‘s the current list of sessions for TechEd Developers this year. This will change ALOT till we’re traveling, so don’t start planning what you’re going to yet.

So, it sounds even harder to top this one… Well, actually. It’s possible 🙂 I just got a mail from Microsoft that I’m being nominated for MVP (Most Valuable Professional). I will be nominated tomorrow or Friday. Rune (my Microsoft contact) thought that I would have a good chance the next cycle, which is January 1st. Cross your fingers and toes for me!

I’m glad I got the chance to start in Omega, because I’ve developed a lot since I started here! Big thanks goes to my favorite boss, Johnny, my technology God, Torgeir and also my "master" Trygve for being patient with me from day one 🙂

Various

Jon Jahren visited Omega at Wednesday. After that, we were at Hatteland to have a look at their server-park (a bit bigger than ours :-P), and then we had our first NNUG meeting.
Torgeir have written about the biggest points, so I’m not going to bore you with the same information.

We’ve started using windows server 2008 and IIS7 in Omega. First server out was AFS14, which is running service.marketmaker.no (the web-service site for CR3).
TVS1 (virtual host-server, for virtual training servers) is now also running 2008, with Hyper-V, instead of VMWare.
TVS2WEB4 hosts test.teamdocuments.com, and is running 2008 with IIS7. Seems to work very good 🙂

Now we’ve started converting SQL servers to (windows) 2008 too. The server that are going to run the Pims-databases (CMS, Cost, DC etc) is 2008.
I think this is a good progress, and we’re converting servers every week.

SQL Server 2008 RC0 is out, so I’ve installed that on TVS2SQL1 for testing. When the release comes (31. July), we’re going to convert our SQL Servers to 2008. I’m looking forward to that! 😀