0

I've been testing native vhd boot on several servers. It seems to be pretty transparent in terms of deployment and with my seat of the pants testing I have not noticed any difference in performance. The main reason that I want to boot vhd is due to their transportablility between different hardware and to hyper-v servers.

the following roles will be installed.

dfsr
dhcp
iis
application server
dc <- haven't tested this yet but see no reason why it won't work.

With the above low impact (in terms of performance) roles do you thing booting from VHD is appropriate.

thx

Oskar Duveborn
  • 10,760
  • 3
  • 33
  • 48
tony roth
  • 3,884
  • 18
  • 14
  • why the down vote? – tony roth May 25 '10 at 17:41
  • I'd be nice if they forced you to leave a comment when you downvote, but then everyone would know *who* downvoted. But my first guess is that the question title isn't very descriptive... – Chris S May 25 '10 at 17:42
  • maybe it should not have been a question, mabye a wiki or what ever. – tony roth May 25 '10 at 17:59
  • can we find out who down voted this – tony roth May 25 '10 at 18:39
  • No you can't find out who down voted it. Besides, what difference would it make if you did know? – Ben Pilbrow May 25 '10 at 21:13
  • 1
    yes knowing who is a waste of time but why they down voted would be interesting – tony roth May 25 '10 at 21:32
  • 1
    This seems like more of a discussion item, and I'm not sure if it's a question that can be answered. (Looking at the suggestions at http://stackoverflow.com/faq ). The title is poorly phrased, and you don't explain what "native vhd boot" is. Use some links, don't assume that everyone who reads this knows what VHD and dfsr are. Perhaps you should try some more relevant tags to direct the question. – Stefan Lasiewski May 25 '10 at 21:39
  • thanks appreciate the response. Part of me thinks that if you don't know (and I'm not say you don't know) what native vhd boot is then you should not respond, thus weeding out the inaccurate responses. – tony roth May 25 '10 at 21:49
  • 1
    Agree with you Stefan, this is a poorly constructed question. – Chopper3 May 25 '10 at 21:52
  • @Tony: It's not all about answering the question, it's also about learning about things in more detail - i definatly go into questions i don't know anything about to see what they are about and give me a starting place to researching if i'm so inclined later. – Zypher May 25 '10 at 22:24
  • @zypher, ok good to know. – tony roth May 25 '10 at 22:27
  • 1
    Fishing for opinions is not the same things as asking a question. Even the title makes no sense. This should either be made wiki or be closed. – John Gardeniers May 26 '10 at 02:11
  • I read this question several times throughout the day and almost voted to close it myself. It is inarticulate and unclear. Only now do I understand it, as I dedicated the extra time to read past the poor grammar. I am surprised to see the quality of responses, which I would largely attribute to the community and not the question. Notice noone even bothered to vote it neutral in its current state. – Warner May 26 '10 at 03:45
  • @warner, you know I went back and reread the question and yes it did not make sense. I re-edited it but I don't think the responses will be any different – tony roth May 26 '10 at 14:26
  • VHD boot isn't hardware transparent anymore than regular disk deploys are. – Oskar Duveborn May 26 '10 at 14:56
  • you are correct its just easier to move. – tony roth May 26 '10 at 15:14

3 Answers3

4

No, no i wouldn't. There is no reason to add even more complexity for no good reason (and Microsoft saying "this is the future" does not qualify as a good reason) Why make life more difficult by adding another layer to the stack with little to no benefit?

Zypher
  • 37,405
  • 5
  • 53
  • 95
  • well the benefits can actually out way the negatives quite nicely so I'll leave it at that. Yes complexity kills so that worth noting, but I'm not sure yet if its more complex. – tony roth May 25 '10 at 21:58
  • @tony roth: Can you please point out some good uses for this in production, all I've ever been able to find are as others have said dev/test/demo situations that would be a good fit. And absolutely it is more complex you're adding a visualization layer on top of everything else. – Zypher May 25 '10 at 22:20
  • there is no "visualization" (just having fun with u) layer. Its a file system just like ntfs is a file system, it just happens to run on top of ntfs. – tony roth May 25 '10 at 22:26
  • @tony: ok ... lets not call it "visualization" (i can be a good sport - spell check fail) ... lets call it an interpretation layer. You need something to read the vhd container from the file system (ntfs driver) then interpret that output in such a way that the OS thinks it's a disk (vhd driver) and now you need to call you ntfs driver again to read the ntfs file systems inside of the vhd container... if that's not adding complexity to "read file from disk with ntfs driver" i'm not sure what is. – Zypher May 25 '10 at 22:37
  • @tony: The read from disk and interpret may be the same driver, but that is still a much more complex driver than our trusty old ntfs driver, that does one thing and one thing well. – Zypher May 25 '10 at 22:37
  • For the sake of arguement, let's say there is no performance hit; you still have the overhead of setting it up in the first place, and there's no way around that. So there is at least some cost to adding this, even if it's minimal, it's still there. – Chris S May 26 '10 at 18:35
  • @chris, given san boot deployment techniques and or even wds I have seen no overhead added to setup. – tony roth May 26 '10 at 18:57
2

The abstraction does add overhead, particularly if you end up with a fragmented dynamically growing VHD.

If the VHD becomes corrupted, it's more likely you lose the whole thing. If part of a HD becomes corrupted it's less likely you lose the whole thing.

It's an added complication (cost) with no benefit in 99.99% of situations.

Chris S
  • 77,945
  • 11
  • 124
  • 216
  • I've been told by internal MS guys that this will be the way of the future. I'm not concerned with fragmentation since the physical disk would be used exclusively for the boot vhd file. I create the vhd as a fixed disk also. I like the ability to do offline image maintenance, things like add remove features/roles install hotfixes. Even djoin.exe works nicely with vhd files. Thus without even powering up the server I can do 90% of the maintenance work. Also if I san boot these I can use flexclone/mirror as my deployment method. I've tested all of the above and it works nicely.. – tony roth May 25 '10 at 15:26
  • Now your issues surrounding corruption does make me wonder a little! – tony roth May 25 '10 at 15:29
  • If the HD is intenal to the machine, you still have to power it up to do image maintenance. All the offline tools like DSIM work on an offline HD (if you say PXE boot); but these are production servers anyway, how often are they offline. Fragmentation still happens unless it's fixed size disk, which you have already considered. If you're SAN booting them, why not just use the disk? Why have double the file system overhead? It's still easy to create an image from the LUN, or to copy it over to another LUN. I don't see much problem with doing this, but I still see almost no benefit. – Chris S May 25 '10 at 17:41
  • both dsim and djoin works offline or online and can work against an offline vhd file. Also with san boot very fast p2v's can happen, this process takes a matter of a couple of minutes vs 30+ doing a traditional p2v. And its not "double the FS overhead" its maybe 3-5% overhead and since the c: drive should only be used for booting, nothing else is there not even program files the overhead is unnoticeable as far as I can tell. Believe me I appreciate your comments on this, cuz this is what I'm up against with some of the local IT guys and I'm trying to reinforce my solutions – tony roth May 25 '10 at 17:56
  • also offline image maintenance via dism is so that your not starting a server thats not up to the correct patch level. Not a huge issue if your on a build network but stuff happens, right? Offline djoin is so that GPO settings get applied on the 1st startup of the server. – tony roth May 25 '10 at 18:03
  • 1
    With the patch issue, you can always start a machine to WinPE via PXE (or CD, USB HD, etc) and offline prep the image for the patch; no VHD or WIM files required. But we're still talking about production servers that run 24/7, so they shouldn't be offline in the first place. – Chris S May 25 '10 at 21:53
  • 1
    @tony: I would suggest updating the question with some of the benefits you see from vhd boot. That might go a long way to a better answer from people (for or against you) if what you are really after is a good answer and not just fishing for an answer to backup the ideas you already have. – Zypher May 25 '10 at 22:25
  • @chris s this is not about patching servers that are already running this is about servicing offline images. And yes both dism and djoin will work with vhd's or hardware. – tony roth May 26 '10 at 15:17
  • @Tony, but your question is about production servers, not offline images. But as other have said, we're not seeing the benefits, just costs. It would help us if we knew what benefits your specific situation gets from using VHDs. – Chris S May 26 '10 at 18:33
  • @chris S. Your correct the original question was about production servers. Then people brought up the complexity issue, which to me brought up the deployment issue then it all went downhill from there! I appreciate all the responses, its been educational! – tony roth May 26 '10 at 18:53
2

Boot from VHD was never meant to replace traditional image deployment. For best performance you should deploy an image directly to the target hardware. Booting from VHD is meant to allow testing and development in situations where the developer or tester does not have access to virtualization technology (which in this day and age is fairly rare). VHDs should be sysprepped before the first poweron (so offline joins aren't a big help here) so that the system detects the new hardware.

I would certainly not support any applications running on a VHD image rather than the default filesystem. Note that you are dependant on the host filesystem in order to run the VHD. The boot entry "lives" on the parent OS (which also needs to be maintained)

According to this Microsoft Virtualization Team Blog Post One of the goals of native VHD support is to "1.Simplify the experience of creating, managing, and deploying Windows images across both physical and virtual machines using a single image format and common tools. "

This is a great idea in a hyper-v environment where I may have to perform rapid deployment of a machine with unforseen and immediate high cpu or ram requirements. When my virtual machine needs more resources than my hypre-v environment can provide you can use this to rapidly deploy the image to another machine already running server 2008 or windows 7 and repurpose the system. In the case of this question this scenario does not apply, see this link for common VHD usage scenarios. In the case of physical machines the library of images should be maintained in WIM format as it will be more space efficient and be simple to maintain. Should there be a decision to deploy to a VHD, a WIM image can be applied at any time.

There are additional caveats when using VHDS, from the VHD FAQ

Store all critical data outside the native-boot VHDs. When you store critical data outside the VHD that contains the Windows boot image, it is easier to recover the data if the VHD becomes unusable.

Create VHD files with a maximum size that is larger than the minimum disk requirements for the operating system. - note that this means image storage requirements are huge vs a multi instance WIM file

backups are also a concern as you should backup a VHD while it is detached. VSS does support creating snapshots of volumes on a VHD

Jim B
  • 24,081
  • 4
  • 36
  • 60
  • Like I said before MS has stated this will be the future of ms deploys, its already supported with r2's wds server. Have you actually used any of these technologies, like native vhd boot, dism or djoin or are you just speculating on how things work? – tony roth May 25 '10 at 21:31
  • Do you have any links where MS is pushing this as the future? I'd be interested in reading up on this. Everything I've seen is pushing this for development, demoing, and validation. – Chris S May 25 '10 at 21:52
  • I'll try to find some links that support this argument, the problem is the email I was sent from MS was probably NDA but since r2 has been released I should be good to go. http://blogs.technet.com/b/virtualization/archive/2009/05/14/native-vhd-support-in-windows-7.aspx is a good start, its old at this point, notice that the discusion around demo,testing and development is just a scenario, nothing more. – tony roth May 25 '10 at 22:15
  • @Tony, those scenarios are specifically mentioned because they demand very temporary installations of software and rapid redeployment. So using VHDs has a specific benefit to justify the administrative overhead. – Chris S May 26 '10 at 01:29
  • "Goals for Native Support for VHDs in Windows Server 2008 R2 and Windows 7 1) Simplify the experience of creating, managing, and deploying Windows images across both physical and virtual machines using a single image format and common tools." So goal #1 has nothing to do with demo/testing etc.. – tony roth May 26 '10 at 14:31
  • @tony Great point I'll address it in my edited answer – Jim B May 26 '10 at 16:16
  • In reality I'll keep the base image a vhd not a wim file all of the offline image maintenance tasks work basically the same wether its a wim file or vhd. I'll use san technologies to deploy the vhd's and to support instant\quick V2V and P2V. – tony roth May 26 '10 at 16:50
  • What P2v and V2V technology are you planning on using? If WIM and VHD are (in your eyes) equivalent to maintain what (if any ) are the potential benefits for increasing the amount of storage required and increasing server complexity? Your onlystated goals are fulfilled by using a standard WIM image and deploying as needed (and if you use WDS you can deploy on demand) – Jim B May 26 '10 at 17:41
  • backup's are a concern, in this case volume level snapmirroring will cover this. I know that its not super useful for people that don't have this capability! – tony roth May 26 '10 at 17:44
  • 1
    I'm pretty sure that similar to vmware vmdks, san snapshots are no guarantee of data availability – Jim B May 26 '10 at 18:42
  • @jim B, I just put wds in there to show that MS has plans for its use. If you want a simple p2v process the basics are clone the lun present the clone to your hyper-v r2 server. At this point u have two options just use the clone as a passthru or if u want to convert it to a vhd then run disk2vhd against the clone then boot the result. – tony roth May 26 '10 at 18:43
  • @tony so there are a couple of flaws that come to mind. In your P2v process you cannot just present a lun to the hyper-v server (presuming the vhd is on that lun) as the machine needs to be sysprepped (at a minumum the integrated Vm additions need to be detected) which means certain roles/apps etc will be invalidated. Running disk2vhd presumes that you will not be mounting that particular VHD on that machine ever (or you will get a signature collision). Again this entier uidea seems to be a lot of work for no return – Jim B May 26 '10 at 20:42
  • @jim B. well I'm to lazy to go in to exact details here. The only item that you brought up thats valid is the IC's. Not sure why you'd sysprep a server that you were p2v'ing. I would not mount the vhd to the host os thus no collison. – tony roth May 26 '10 at 21:25
  • @jim B, actually I was in a fog when I wrote this, even the IC issue is not valid! – tony roth May 26 '10 at 23:37
  • since I see confusion around deployment vs run time vs p2v/v2v issues, I think I should break these out into seperate responses. Does anybody care if I even do this? – tony roth May 26 '10 at 23:57
  • Sysprep is the only supported method of moving machines (either physical or virtual) between hardware platforms – Jim B May 27 '10 at 02:24
  • ok your confusing deployment vs just moving a vhd file amongst servers, both p2v and v2v don't require sysprep. Now if your deploying a vhd then the vhd image has to have been sysprepped. – tony roth May 27 '10 at 04:09
  • You cannot simply move a VHD among servers, that's why they have these things called virtualization platforms- so you that you *can* – Jim B May 28 '10 at 14:23
  • all of our physical servers are identical and even on the ones that are not they are driver identical. I copy native boot vhd's between these just fine. – tony roth May 28 '10 at 17:13
  • also I'm not really interest in v2v with native boot mostly just p2v. – tony roth May 28 '10 at 17:21