Logical design for my single office. This Design will utilize Veeam as a cloud backup provider with their cloud connect software. We will be using vSAN for storage.
I started making random design’s for different use cases. Pretty much whatever I though about in my own head. That being said this is my first design.
A pretty basic conceptual VDI design that features two office locations (one remote and one main site) with a primary and secondary datacenter ( in a active passive setup)
Got latency on your VM’s? It might be RSC
Let’s say we have two VM’s with the following specs:
Any new latency between these two machines wouldn’t be expected considering they are both within the same physical location and all within the same topology that has been in place for months almost untouched.
After Vmotioning both to the same host, the latency goes away. That would be expected considering VM’s will use the internal networking for VM to VM networking located on the same host. Bypassing the need to go out to the VDS or vSwitch As shown below.
RSC ( Receive Segment Coalescing) is a technology used to help CPU utilization on a server. It achieves this task by taking the payload off of the CPU and giving it to the network adapter, in our case the VMxNet3 VMware adapter. RSC Strips headers from the packet’s, combines those packets, then sends those packets to the right destination. Without RSC the receiver would get 4-5 packets, but with RSC enabled the receiver only has to process the single packet sent with the 5 packets of information stuffed inside.
With VM Hardware version 11 there was a bug introduced that caused the ESXI to not keep the data properly is the PSH flag (PSH Flag explanation ) was not written in the first packet but was written to the packets following. If you read the article below it gives an awesome example of why this is useful.
Imagine you are walking in a line of 5 friends, friend 1 doesn’t have a pass to get in the gate, but friend 2-5 does. Being a gentleman friend 1 lets friend 2-5 go thru while he buys his ticket. But then friend 2-5 are waiting for him while they are already in the park. pretty similar concept to the PSH flags’.
While packet 2-5 have the PSH flag that grants them permission to go to the application, ESXi has a hiccup while waiting for the PSH flag on packet 1 causing it to wait before the packet can be sent and the full information is received. Here is the KB article that has the problem highlighted Vmware KB .
To fix this problem the solution is pretty simple on the OS side you can disable RSC and stop the function, but doing this keep track of the memory use on that box and the box that received a bulk of those packets.
Running the command Will give you the output in below:
Currently, this affects people running ESXI 6.0 build 3568940 or below also running windows 2008 r2 and above. This problem can be solved 1 of two ways. By updating to ESXi 6.0 Update 2 Build 3620759 or above, or by running the above command on your machines affected by the problem.
KB Articles below for reference also for citing sources:
I am taking my design and deploy class next week. i am excited, but the only problem is how do you practice this new found skill without working for an MSP?
I think starting a new career in design and architecture can be kind of daunting. Where do you start? How do you proof it? Do you make mock designs and hand it off to a trusted colleague? i think all of these are good ways to practice design. but the floor is yours…
How do you practice design?
Let me know below in the comments what your idea is. I will update this post and add the good idea’s i get.
I would just like to say this post is in NO WAY insinuating I am a great engineer. I believe that no matter how much you know or think you know, there is always room for improvement and development. That being said these are some things I believe makes a technologist really stand out from the rest of the crowd.
This next post will be about the social aspect of being a great engineer. Being a part of the technology community is an essential a part of someone’s career and growth within IT.
Social networks like twitter are a great place to network and connect with other “Like-minded” people. I’m not gonna lie its sounds kind of creepy when I say “Like-minded” but none the less twitter is a great place to get in touch with some amazing and very smart people. You will find some great bloggers like Duncan Epping ( @DuncanYB ), William Lam ( @lamw ) and Sean Thulin ( @Sthulin ).
You will find some great bloggers like Duncan Epping (@DuncanYB), William Lam (@lamw) and Sean Thulin (@Sthulin ), just to name a few. But twitter is also great for touch with the companies that create these awesome technologies. Vmware (@VMware), IBM (@ibm) Cisco (@Cisco) Dell EMC ( @DellEMC )
Technology forums Like VMTN and VMware Reddit are a plethora of information, i would strongly consider these as social forums you will see a lot of VExperts and VCDX’s on both sites doling out information like they are making money. They are sites that you should take a look at.
It is important to connect with these people for a couple of reasons, the most obvious one is the networking aspect of our jobs. Networking is essential to gaining ground in your career, always having friends in a lot of different places is not only good if you get Laid off or looking for a career move, but is also good when looking for advice. Whether you want to reach out to these contacts for advice on a new product that might be a right fit for your environment or even better if you have an issue and your contact works for that company. The opportunities are endless when you have a great network of people at your side.
I guess the hardest part of this is finding those mentioned people. Some people will find this the hardest part of networking, is breaking the ice. In my experience, I have never had an issue at a local meeting or conference that I was pushed away for ease dropping on a technical conversation. Usually starting with a ” Hey I overheard you talking about (Insert here)” usually is a pretty good ice breaker. Learning to carry on the conversation is key though and i would have to write a whole blog post on that topic. Becuase if you know me you will know that I can keep a conversation going and have no issues with talking to people i don’t know, obviously sometimes to my detriment.
The Last section i have for you tonight is the most important. What makes an engineer stick out is his/her ability to talk about technology with honesty and confidence. Knowing a product is one thing, a lot of people know one technology or another but very few can master that technology and live to tell the tale. Speaking honestly about your experiences is essential to being a great engineer. there is no other community out there that can smell bull shit like IT and most of the time they don’t mind calling you on it. It takes a great engineer to say “I don’t know” it proves that you are humble and understand that you won’t have all the problems solved. But the ability to take that “I don’t know” and make it into a learning experience is key. Being honest to yourself is the most important part. You may not have the answer to every question, but a great engineer knows where to find it.
Confidence is essential for anyone not only in IT but any industry. When you are confident in your beliefs people trust you. Confidence is one of those things that strikes comfort in the heart of people. When you go to a client or manager and say “I know the issues to the problem X,Y,Z, And these are the solutions.” It gives them the perception that you knowing what you are doing, But also makes them feel like you have done this before, even if you haven’t. Comfort from upper management or clients is how decisions get made and how things get fixed potentially. But remember the rule above. YOU MUST BE HONEST! If the task is out of your reach or if you don’t have experience don’t get into a corner you cannot get out of.
I hope you like this blog post. Please comment any suggestions below!
I would just like to say this post is in NO WAY insinuating I am a great engineer. I believe that no matter how much you know or think you know there is always room for improvement and development. That being said these are some things I believe makes a technologist really stand out from the rest of the crowd.
The most important step to becoming an awesome engineer is the ability to learn. Might seem pretty obvious, of course, you have to learn to become an engineer, but the truth is you must have a love of learning and a passion for your trade to not only learn but retain the information that you absorb. This requires patience and practicing your trade even when away from the working environment. This is a pretty easy skill but takes a lot of dedication. Spending 8-12 Hours a day in front of the computer might make you loath technology when you are home, which is fine but Spending time working on your own learning path and interests becomes easier the deeper and more often you dive into it.
Set up your own home lab! Home labs are an awesome way to test, troubleshoot, and/or break technology. They offer you the perfect opportunity to go all out on a test environment for your own sick pleasure, like breaking a perfectly good nested ESXi hosts or seeing what happens when you rip PostGres out of Vcenter. All this can be done in a home lab and also provide awesome learning opportunities without the risk of bringing down production of work environments. Some great articles for home labs can be found on google. But don’t be taken aback by the high prices that are shown on some home labs, you can run an awesome lab on a single host with a lot of memory and CPU. I build my home lab for about 600 dollars and it works just fine for what I use it for.
Social channels are huge in the learning path for any technologist. Networks like twitter offer a fast and current view on new technology releases and news. It’s also great for networking, following your favorite engineers or CEO’s provides you with an opportunity to not only pick their brains on certain things but also connect with them and bring them up in topics you are unsure about. With the various technologies new and old represented on sites like twitter, there are unlimited opportunities to learn. Reddit is another great resource for information and learning. Reddit has become the epicenter for questions and answers on the web. You can find literally anything! Set up your account and starting asking tough questions that have you puzzled. this will hopefully lead to some solids answers. But also beware Reddit isn’t very moderated on some sites and you can get some wrong information, but in that case, it is usually discredited pretty fast.
The one word “Why?” is, in my opinion, the most important word someone can ask. Not only in technology but in any field. “Why?” is that gateway to every question in technology or life for that matter, It opens up a gateway of knowledge. I find this one-word phrase irreplaceable, trying to understand technology isn’t a “Know one, fit all” experience. In order to properly grasp technology and the concept of being a technologist you must understand that one product is not one technology, it is a buffet of many different technologies. Some of those technologies may be bleeding edge and barely touch upon, and some may be two decades old but still running strong. Asking why will bring out the questions that sometimes aren’t easily discovered otherwise. “Why?” is by far the most important question a technologist can ask.
I was talking to a DBA the other day about oracle licensing, so I decided to write a post about it. Not only because it is confusing as hell but it’s a good to know for any potential oracle implementations in the future. But before we begin a couple of terms we need to know and understand for any of this to make even the slightest of sense.
We are going to assume enterprise licensing will be used in this case.
Oracle definition- “Soft partitioning segments the operating system using OS resource managers. The operating system limits the number of CPUs where an Oracle database is running by creating areas where CPU resources are allocated to applications within the same operating system. This is a flexible way of managing data processing resources since the CPU capacity can be changed fairly easily, as additional resource is needed.” – As stated in http://www.oracle.com/us/corporate/pricing/partitioning-070609.pdf
Oracle definition- “Hard partitioning physically segments a server, by taking a single large server and separating it into distinct smaller systems. Each separated system acts as a physically independent, self-contained server, typically with its own CPUs, operating system, separate boot area, memory, input/output subsystem and network resources.” – As stated in http://www.oracle.com/us/corporate/pricing/partitioning-070609.pdf
Now if you had a virtual machine that was running an oracle database you would assume that the partitioning method that would be used is soft partitioning. Because having the ESXi software make software partitions out of a physical socket .
BUT this is not the case. There is a key phrase in that definition that really stands out.
“The operating system limits the number of CPUs where an Oracle database is running by creating areas where CPU resources are allocated to applications within the same operating system.”
Since assigning a vCPU and vCores to a machine doesn’t limit that particular VM to only use only those resources that’s one reason why oracle does not consider VMware a soft partitioning product. (Unless you have CPU affinity enabled)
If you had a box with 4 physical sockets and 8 cores per socket that VM will be able to use any of the 32 cores. Oracle has a simple formula to offer a good insight into how much licensing will cost for a database, it looks something like this.
# of sockets*# of cores*CPU factor*License
So let’s say for a 4 socket intel Xeon system with 8 cores per socket and enterprise licensing. CPU factor chart will be found here http://www.oracle.com/us/corporate/contracts/processor-core-factor-table-070634.pdf
4*8*.5*$47,500= $760,000 Per VM Per host.
That is a lot of money! But it gets more complicated than that. Say this particular VM is in a 3 host cluster. When you introduce VMware technologies like DRS and vMotion is that considered partitioning technology? So does the cluster need to be licensed? There has been more discussion on this in the IT community than there has been about aliens in Area 51. But the short answer is yes. if you have a 3 node cluster with the same specs stated above you will need to have all of those physical machines licensed. Any CPU that the oracle server can touch ( or potentially touch) needs to be licensed under the oracle license agreement.
Here might be a couple of solutions to this issue.
The first solution is to make your own cluster for Oracle database. Make it a 2 node cluster that in the event of a host failure you have it moved to another node. Spec out the physical host configurations to match exactly what you need and not over power it. If you need a 2 socket 4 core setup then just buy 2 of those. Don’t over provision!
The second solution might be to set up CPU affinity. Set the database to only use one particular CPU in the host and make sure it stays there. Now there are obvious downsides to this, one failing over would not happen. This practice has a lot of debate surrounding it. and definitely use it at your own risk. There has been mixed results from Oracle and the team of lawyers they employ.
And the third solution is probably the most painful. Pay Oracle. It’s simple and feels like you need a shot of penicillin after but it is the easiest solution.
-Resources and sources-
Thanks for reading!
I try my best to give the most accurate information possible! But I don’t know everything. If you found something I said not accurate let me know!