Blog ala Vidar

SQL, AppFrame and other cool technologies

Tag Archives: Exchange

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.

My Vacation

This weekend is the last in my vacation which basically means that I’m coming to Ølen again after 3 weeks of vacation. So, what have I been doing the last weeks? A lot of things! First on the priority list was the World Cup of soccer and Tour de France, but there’s a lot of “free time” from these events, especially after the World Cup was finished. I’ve of course used my vacation to be the perfect uncle, babysitting my soon to be 1 year old nephew, visiting family etc., but I’ve also used A LOT of time in front of the computer. First I reinstalled my server, playing some more with Exchange, but when that was done I had to find something else to keep me busy; Mentor

Mentor is a website that focuses on connecting people who want to learn something with people who want to teach something. We’re first focusing on .NET, SQL and related Microsoft technologies, but it would be cool if oracle and java guys were using this too! Basically what we’re trying to do is to make a site where people can register which topics (“tags”) they’re interested in and then connecting them with other people of these topics. This has been (and will be) a great opportunity for me to learn ASP.NET MVC. WAIT! Did you read wrong? Vidar doing web-development? Has hell frozen over? Not yet. I’ve just found out that MVC actually makes web-development pretty easy. If you’re interested in this topic I really recommend you watching this great session about ASP.NET MVC2 Basics Introduction by Scott Hanselman. Actually all sessions with this guy is worth recommending, because he’s a real code ninja, and he’s hilarious.

I registered Mentor at CodePlex, and got joined by Jan Leon and Arild. But with CodePlex (which is GREAT for open source projects) you don’t have full access to TFS (Team Foundation Server) and you have to publish your project within 30 days. I don’t want to publish this project as an open source project, since I don’t see the big win on this, although if anyone wants the source code I won’t mind sending it. I’ve been participating on several open source projects, and I really like the idea, but I don’t see why I should publish this. Anyhow, this is another discussion. If you REALLY want me to, contact me and we’ll discuss it. Using TFS on CodePlex whet my appetite for it, so I installed it on a server internally in Omega. I would really recommend using this instead of SVN (for the core parts of AppFrame, custom projects etc.). You can also connect to TFS using SVN with the help of SvnBridge.

Other than this I’ve created PowerPoint slides for my sessions at AppEd, and done other AppEd-planning things. I’m currently thinking of a great way of recording each session, without the session being interrupted because of the recording (software failure, people having to talk into a microphone etc.). Thinking of using Camtasia, but not sure yet. Oh, did I mention we’ve got several surprises for those attending AppEd? One clue for one of these surprises is already in this blog post; “Code Ninja”.

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.

Outlook tips and tricks

Now that it’s official that Omega’s running Exchange I can share a couple of tips and tricks I’ve found useful. First, let’s start with how to integrate with TeamDocuments. There’s a TeamDoc called “Outlook-plug-in”. If you don’t got access to it, just let me know and I’ll add you. Under Build, you’ll find a 2007 version, which also works on 2010. Install it and then open Outlook. You’ll notice you’ve got a couple of new icons in the “Add-Ins” tab. Press Config, and choose what settings you want. Here you can select calendars to sync, if to enable TeamDoc inside Outlook and to sync contacts. After clicking “OK”, just click on the connect button and it will start to synchronize!

Twitter
There’s a plug-in called TwInbox that you can use to get tweets inside Outlook. It’s pretty easy to set up, but be aware; if you’re following many people (like I do), it can get really naggy, so I’ve unchecked “Home” in preferences, so I only get mentions, directs etc. If I got spare time I only just go to twitter.com 🙂

LinkedIn
There’s also a plug-in for LinkedIn. This is not like TwInbox where you get the messages as mails or similar, but it integrates nicely in contacts and in for example mails showing the profile-pictures of those you’re connected to etc.

RSS Feeds
At the moment I’m subscribing to 218 RSS feeds. I thought it would be a great idea to get them inside Outlook, but found it to be not as good as Google Reader. The main problem was that although I marked a feed as read, it came with the same items over and over again. Pretty annoying. So, therefore I removed all subscriptions (don’t worry, I exported an OPML file from Google Reader) and right clicked the “RSS Feeds” folder, Properties, Home Page and there I put http://www.google.com/reader/ as the address. Now I can at least get Google Reader inside Outlook 🙂

Exchange 2010

Have you heard the big news? We’re changing from our own mail-system to Exchange 2010! This means everyone in Omega will be able to use Outlook to everything. And by everything I mean not just mail, but calendar, contacts +++. After what I’ve heard it might already be up and running within a couple of weeks. There will be an integration with our Persons-form (with all our contacts) which will be synced to AD so everyone’s got read-only access to them. In addition you can of course create your own personal contacts.

Mail will still be integrated in TeamDocuments, but I’m counting on that will be the OWA (Outlook Web Access) interface.

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!

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?