TCP/IP Fundamentals This was kind of buried in a post but worth sharing. Mastering PowerShell resident older book on powershell, some outdated info but lost of good stuff. A classic i suppose
Now after hashing through the past and considering the future let’s check out some “practical” things to learn some stuff and come up with a scenario where we use virtual machines and we have to update them and drain roles so that we can understand the TCIP traffic flow and all those sorts of good things. Maybe this will lead to a functioning level of understanding DNS and TCP/IP traffic which still seems like nothing short of wizard magic at this point in my understanding of computer architecture. However that may be changing thanks to this newly (to me) unearthed document from Microsoft explaining TCP/IP, its only 500 pages long is it should be a quick read Hopefully I’ll learn more about the alchemical science of internet traffic wizardry though.
At least that was my initial intent however the real world of studying technology, or any subject for that matter, never works out that way. So somehow this allegedly organized thought process turned into a less than organized stream of conscience writing where everything should connect nicely but they don’t all point the right direction or align just perfectly but I guess that’s learning. So maybe this blog is more of a conceptual learning blog instead of something helpful? Maybe that’s just this post though or it could be that I’m just over analyzing and I know I’m writing this thing for myself not really to use as a reference guide for others. I should get an editor or something. Who knew that learning was so less than linear and imperfect? Personal notes aside from personal experience this also appears to be a problem for text book authors as well. So any way, here are a few random topics and some explanations that are continued from the previous post and again my structure of these went something like this, read materials, list bullet points, regurgitate information from the internet.
Drain roles w/ TCP/IP explanation and types of network adapters
So I don’t understand why we have two network adapters what’s the technological barrier with the “modern” adapter that won’t let it PXE boot? Is this just fluff for fun? What’s the true benefit of PXE booting and if I do PXE boot can I switch over to a modern adapter once the machine is built? Isn’t is just as easy to launch a Hyper-V machine from a ISO file? Well here’s some instructions and im guessing its got more to do with RM stuff than anything which is still possibly illogical. I mean that’s the only reason the legacy adapter is there from what I can tell. It doesn’t make any logical sense to have an option for a legacy and a regular adapter if the only difference is in the initial boot sequence especially if the “modern” adapter is higher performing. What’s up with this? The internet isn’t talking about it. Maybe pirate bay has some info?
Drain roles is like rad though, I mean I can just seamlessly pull stuff of one server and have another pick up the traffic from the application or service in a manor that’s transparent to the end users? That’s amazing. The other amazing thing is that I sort of understand the philosophy behind what’s happening, not like when I turn a light switch on in my house and the light bulbs glow because they have suddenly become infused with the blood of Thomas Edison or something. Anyway more info on that situation here . It tells you how to flush the proverbial toilets known as servers in case you need to intentionally restart them.
That aside there are still some more bullet points to cover with switches.
External Switch
External virtual networks are used where you want to allow communications between
Virtual machine to virtual machine on the same physical server
Virtual machine to parent partition (and visa-versa)
Virtual machine to externally located servers (and visa-versa)
(Optional) Parent partition to externally located servers (and visa-versa)
Hyper v and creating replica hyper vs sever back ups
So this a question I have about what is more efficient in terms of backups, live cluster nodes or hyper-v machines. I feel kind of like a high school kid asking questions about safe sex and googling stupid things like should I wear two condoms. I did come across this in my sails across the goggle seas, I did use a slightly more appropriate and work safe search term though and it seems to have some good information. This PowerShell cmdlet is interesting:
So I guess this is how I build a new cluster in PowerShell? Sorry I’m knew here, I still don’t understand all this stuff. I did figure out what quorum was though. So that’s good but It took me a while to understand though. My current emotional state has quickly progressed, im now feeling freshly divorced middle aged dude trying to date and having no clue how to talk to women. Akward. That hapened in my actual life since the last time we chatted microsoft certs.
Anyway, given that with either option you can literally store backups anywhere, like thumb drive but that isn’t exactly a secure option. There are benefits and restrictions to both. Ok so here is some info on conversion if you’re the evangelical type when it comes to virtualization. There some options here so I guess thats good. The links surrounding the first one seem a bit hokey.
So with these tools its really easy to back up your physical boxes to a virtual machine and return it to the same state it was running in. now this is a real benefit of virtualization. This may be slightly more complicated to convert to an MSI file and then have to reinstall on a physical box.
So how do server state backups compare? Obviously it’s a little more complicated in that you can’t have services and things in the middle of running because it might mess up your SQL groove or your SQL groove might mess up your return state groove. Im assuming that’s the same for VM snapshots that are basically the same thing but the goal was more to figure out what’s more efficient cause that’s like you know gonna save you like proverbial horsepower and I like fast cars. My dad got me into that as a young man.
Ok so now that we have read up a little on both topics and understand that WBadmin is not exactly the same thing as a Hyper-V replica we have established that this is a less than perfect comparison. So there isn’t really an answer to the efficiency question here. But maybe we know how to create a Hyper-V replica and use WBadmin.
Dynamic memory and live adjustments
One good thing about hyper V machines is that you can do cool things with them while they are running so if they are looking like this:
and feelin all resource starved/hungarian for ram. Then maybe you can get them at least lookin like this slightly unenthused gorilla if you throw in some more ram
I wonder if we can add additional logical cores to a running VM so that we could get our running environment beefed up and looking like this guy
So obviously this is going to require a search to see what else is actually “dynamic” in this case meaning a parameter that you can adjust live.
Ok so we learned that dynamic processor adjustment does not exist at this point but we did a get a slew of new links about logical processors. Or whatever you would like to call them, the process remains the same. So I guess it is cool that you can actually add ram it without shutting off or restarting the machine, given that you have extra ram in the machine and if that’s the case well….uha you would have had free ram if it was just one instance and not bogged down by multiple copies of the same instance so whatever. I guess this is also another one of those dev benefits in that if you’re testing out software it could prove to be really helpful but with a thought out implemented plan in a production environment it’s hard for me to envision a need for this but again, I’m not exactly a professional.
Cluster aware updating
Ok so these two posts where initially just going to be about cluster aware updating then we ended up hunting rabbits and I fell into some kind of pit and my short story turned into a rambling novel or diary entry or something. So does this work with physical machines as well as virtualize environments? It seems like it should but im not real sure. I get the concept that the machines are basically like hey guys lets run some patches and they kind of take turns. If I understand it right, this there’s a very strong possibility that I don’t. But that’s basically what this says right?
CAU is an automated feature that enables you to update clustered servers with little or no loss of availability during the update process. During an Updating Run, CAU transparently performs the following tasks:
Puts each node of the cluster into node maintenance mode
Moves the clustered roles off the node
Installs the updates and any dependent updates
Performs a restart if necessary
Brings the node out of maintenance mode
Restores the clustered roles on the node
Moves to update the next node
The terminology used is a little confusing because “node” is a term that I typically associate with virtualization however if you keep reading it would appear that its talking about a physical machine. So maybe it applies to both and it basically like when the armed forces people do those training exercises in terms of what happens in case of failure?
Live migration benefits
Ok so this is actually just concerning virtualized machines. Got it. Now, wtf is it and why do I tim curry about it? Clearly we are going to need moor links! uhhaaaa stop saying this because it confuses me: “This consolidation is a key focus of virtualization.” How on earth is virtualization consolidation? Its not at all in most cases! Also the images in this article are fascinating. Anyway, I guess its cool to be able to move a “live” machine from one box to the next. But is it actually still running while your host swapping? That doesn’t seem possible, I just picture that max headroom guy talking to me and then getting sucked down into a computer toilet or something. So logically im going to say that the machine cant actually be turned on unless your migrating a replica vm. Lets verify that assumption with Technet!
“Live migration allows you to transparently move running virtual machines from one node of the failover cluster to another node in the same cluster without a dropped network connection or perceived downtime.”
Ohhhhh ok so its just got to be a part of a failover cluster and you can actually live migrate without the whole max headroom scenario, got it.
“Hyper-V in Windows Server 2012 makes it possible to move virtual machine storage while a virtual machine is running.” Ok this is believable since its coming from msft. Basically its just moving the drive a vhd/x is stored on while the vhd/x is active.
“In Windows Server 2008 R2, you can move a running instance of a virtual machine using live migration, but you are not able to move the virtual machine’s storage while the virtual machine is running.”
Another important note, curious about the PowerShell commands to move a storage device, this sounds complicated. https://channel9.msdn.com/events/TechEd/Australia/2012/VIR314
Virtual switch manager
I don’t know where this came from I don’t think it’s a real tool. but we could talk again about Networking benefits and the layers of virtualized networking and switches I just don’t think there are any benefits to this situation outside of dev shit. Thanks brill
Mega tyte video about this: how to make a switch
and here is the supporting MSFT documentation
this is rael long but kind of kewl maybe? Early on he discusses the benefits of virtualization and this is my reaction:
So my take on this is its sort of like a hybrid car? So virtualization is like trying to build a hybrid car that’s actually more efficient than a regular petrol car which hasn’t really happened yet when you actually run the full numbers on cost to benefit ratios. Nor do I think the battery technology is available to make it more efficient and what about the pollutants caused by power plants and the manufacturing and disposal of batteries? Ok maybe I’m reading too much into it because he’s not exactly “directly” saying these things, it just seemed implied. So thanks for validating my concerns and at this point im taking mass transit which isn’t exactly cost effective but either way im out of the hybrid car debate.
Favorite part 59.20ish get-netvirtualizationlookuprecord –virtualsubnetid (insert id) sets up a virtual domain? Seems like theres more to this as well. Going to have to do some more digging on this topic because im interested but that might be for another day once I have little more knowledge of PowerShell and Hyper-V structure. Starting around 52 mins bro sets up a dc and creates a subnet then pulls all the info for what’s on that subnet, if I understood it correctly but theres for sure a need to recreate the scenario to get the concept of it actually functioning. Most of this was over my head because I’m not really sure what he’s doing or what he’s showing. It’s like he’s setting up a network and then he’s testing things that he did prior to setting up the network configured? Either this is designed to confused nubs or im not very perceptive when it comes to networking in general. Current status:
So towards the end of this he mentions something called message analyzer? Is this like a parket snuffer? Thanks bro that’s just what we needed. so now that we know it’s a packet sniffer what does this have to do with building virtual machines other than pwning MSFT tech, using MSFT tech, so you can figure out what’s going across between machines. So uha were encouraging black dev type stuff to build more efficient topology’s/protocols with in our networks and systems? That actually makes sense because if you want something be efficient you need to know how it works in a complete sense. Like you should understand it well enough to almost be able rebuild it to suit your specific needs and in the case of building servers and server traffic that stuff gets complicated so its not exactly for the feint of heart. The last thing mentioned that I took note of was the concept of an SDN or software defined network which is really kind of working backwards as this should have been discussed before we get into packet sniffers? Im not really clear on what hes talking about other than the idea of a virtualized network and the layers of where it can break when sending traffic to another virtualized environment across physical hardware. Man its like that dune quote where that one worm guy or what ever is all like “I see plans within plans” is this what we are talking about:
Any way it turned out to be a pretty bad ass video (the one about the computer stuff, dune is obviously “a badass video”) with layers of intricacy that where above my head but it for sure helped me to put together a more complete picture of virtualization and dune is my favorite movie film so any time I can conjure up a dune reference im pumped.
So this is cool technology that has nothing to do with the relative usefulness of mass implementation of virtualization however it does enable you to be swift on your feet with the demands of dynamic environment. So if you are for some reason getting a whole lot of traffic on one machine or you’re doing something more resource intensive you can adjust the machines ram while it’s live instead of having to do a restart. In the gui you just punch in some numbers on the Hyper V manager and in PowerShell you use the command:
For more detailed info with screen shots and more complicated scenarios such as using the | command and setting multiple machines check out these links
Obviously there are some limitations with this like if you adjust start up ram it’s not going to affect performance, unless you restart the machine. Also you can’t assign more ram than your machine currently has. You can only a lot a certain amount of physical ram.
Get-VM -ComputerName SOURCE_HOST | Out-GridView -Title "Select one or more VMs to Live Migrate" -PassThru | Move-VM -DestinationHost DEST_HOST -DestinationStoragePath DRIVE:FOLDER