5 August 2017 | Written by Nicolas Michel | Published in Data Center
Cisco eased our job by releasing a pre installation spreadsheet and it is very important to read that document with great attention. It will allow you to prepare the baseline of your HC infrastructure. The installation is very straightforward once all the requirements are met. The HX infrastructure has an important peculiarity, it is very very very (did I say very) sensitive …. if one single requirement is not met, the installation will stall and you will be in a delicate situation because you could have to wipe the servers and restart the process. As a result, you could lose precious hours.
Cisco has a way to automate the deployment and to manage your HX cluster.Finally, The HX installer will interact with the Cisco UCSM, the vCenter, and the Cisco HX Servers.
It is especially relevant to note that the Cisco HX servers are tightly integrated with all the components described in the picture below:
As usual with this kind of deployment, you have to make sure that every version running in your environment is supported. We will run the 2.1(1b) version in our lab and will upgrade to 2.5 at a later time. We need to make sure that our FI UCS Manager is running 3.1(2g).
You cannot install less than 3 nodes in a Cisco HyperFlex Cluster. Because the HX solution is very sensitive, it is mandatory to have some consistency across the nodes regarding the following parameters:
First of all, the HyperFlex solutions require several subnets to manage and operate the cluster.
We will segment these different types of traffic using 4 vlans:
We also need to assign IP addresses for the UCS Manager Fabric Interconnect that will be connected to our Nexus 5548:
It is a best practice to use DNS entries in your network to manage your ESXi servers. Here we will use 1 DNS A records per nodes to manage the ESXi server. The vCenter, Fabric Interconnect and HX Installer will also have one.
The list below will show all the DNS entries I have used for this lab:
This sounds very basics and as a consequence, it is CRITICAL that these steps are performed PRIOR any deployment otherwise you will waste a lot of time trying to recover (at some point you would have to wipe your servers and reinstall a custom ESXi image on each one).
Finally, In the next blog post, I will show how to install the vCenter, The Fabric Interconnect and the HX installer needed for the HyperFlex deployment.
In conclusion, do not hesitate to leave a comment to let me know if you encountered any issue while planning your deployment.
Thanks for reading!
17 July 2017 | Written by Nicolas Michel | Published in Data Center
Recently I was lucky enough to play with Cisco Hyperflex in a lab and since it was funny to play with, I decided to write a basic blog post about the hyper-converged infrastructure concept (experts, you can move forward and read something else 🙂 ). It has really piqued my interest. I know I may be late to the game but better late than never right? 🙂
Back in the days, you had to have separate silo to maintain a complete infrastructure (it is still true by the way, but it tends to become more and more frequent that networks, servers, and storage are progressively forming a single IT platform …. sorry I meant “cloud”):
You had to install and maintain multiple sub infrastructures in order to run the IT services in your company.
If you wanted to deploy a greenfield infrastructure for your data center, here is a brief summary of what you needed:
In the late 2000s, famous manufacturers saw an opportunity to simplify the complexity of the complete data center stack and converged infrastructure was born.
With the emergence of cloud applications, EMC and Cisco created a joint venture Acadia that will later be renamed VCE for (VMware, Cisco, EMC). The purpose of that company was to sell converged infrastructure products. Vblock was the flagship product. As you know, you could buy an already provisioned rack that was customized according to your preferences. The vBlock was composed of the following individual products:
VCE was in charge of configuring (or customizing I should say) the vBlock according to your need and preference.
Once the network was delivered, you “just” had to plug it in your data center networking infrastructure and everything should be connected. Servers were ready to be deployed.
Going that way, you could save time and trouble. Agility is also a big selling point for these kinds of architectures.
Hyper-converged is a term that has been rolling since 2012. The main difference between converged and hyper-converged infrastructure is definitely the storage
Hyper-converged system has the ability to be adaptable. The way it scales is horizontal while reducing the footprint by a significant amount. If you just want to try it, just perform a setup with few hosts and if the solution works for you, just add nodes to the cluster horizontally and you will increase your performance and redundancy. This way, you can consolidate your compute and storage infrastructure.
Horizontal scaling is a familiar concept for many network engineers (Clos Fabrics anyone?)
In my opinion, it is a natural evolution of the Data Center compute and storage infrastructure.
My next post will be about deploying a Cisco Hyperflex infrastructure.
Thanks for reading !
I recently relocated to the US from France/Switzerland and I have been so busy the past 2 years working on that process. Yes, It is that long!
I have been asked about career advice twice this week and I wanted to share my thoughts about it.
I think we all agree on the fact that the networking field has been very static for the past 15 years. One of the ways to provide a better network experience to the users/applications was to add more bandwidth (or invest in WAN optimization). OSPF/BGP/EIRGRP/MPLS and spanning tree haven’t changed much since 2002 right?
Every device had a specific function in the network for example (which is still true at some point). Engineers were doing was vendors told them to do and they had to standardize their deployment (Access – Distribution – Core). It was a safe bet to design to design a network using the 3 tiers architecture mentioned previously.
Some networking engineers are self-educated up to a certain point and one of the ways to learn networking back in the days was to read a Cisco Press book, buy some hardware (2950 – 3600) on eBay and do some labs on your own or using a third party training company. For these engineers, the way to get a job was to climb the traditional certification pyramid (CCENT – CCNA – CCNP – CCIE). While this is still kinda relevant, the CCIE does not automatically open doors for any jobs anymore. Matt Oswalt published a quote that makes total sense “vendor certs are basically a way of putting the vendor in control of your career. On the other hand, fundamental knowledge puts YOU in control”.
I have a dual CCIE and studied very hard to get where I am today but the journey is far from being over (hopefully). I need to be a little less focused on proprietary certification and get some open source knowledge as well. (Damn CCDE you are tempting but I need to resist !)
Linux/Python skills were definitely not mandatory in any of the job descriptions back in the days. But as you can guess it becomes more and more a requirement nowaday.
I’ve been invited to a very interesting dinner with CIOs of Fortune 100 companies recently. They are all aware of the ongoing networking transition. They admitted it was not an easy plan to embrace this evolution but they are already preparing their teams for that.
Speaking of technologies, which technologies are we talking about? Do we need to know everything in IT? the answer is obviously “No” but it is valuable to at least understand how all the systems are interconnecting to each other.
Here is what a job description looked like back in the days (2008):
I am doing this blog post is because our field is changing and our skills need to evolve with the networking trends. Engineers are the core of the networking industry. We all have a critical function in every organization that is willing to undertake their “business digital” transformation. We need to prepare how to evolve with the upcoming technologies.
I am willing to create a blog post series on how to tackle your own networking evolution. Please do not get me wrong, we still need to understand bits and bytes of all the networking protocols in order to provide connectivity. This statement will never go away (hopefully) and there is no working overlay if the underlay as been designed carefully. What needs to evolve is the way we are able to provision services for our customers/users/applications. When was the last time you heard that the networking team was taking too long to provide connectivity between A and B?
Short story long, network engineers have to stay relevant throughout the years.
Today it would be a bit different, it is definitely expected to know everything that is above right (except maybe Cisco Works and CatOS 🙂 )
Himawan Nugroho made a great Cisco Live presentation that I attended in Milan: BRKSDN-4005 – CCIE Skill transformation to SDN kungfu. The most interesting slide for me is the following one:
He confirmed what I was explaining above. You still have to be an expert at traditional routing/switching but also have a broader knowledge of the following technologies: Linux and Operating Systems, Scripting, Overlays (proprietary and standards) and network virtualization.
We see plenty of blog post related to the eternal question: Should we learn how to script/code:
My take on this is that you should be able to automate your network and most of your tasks. You should not consider going too deep (for now). We are not required to become a full-time developer.
Some of the following items you will find on this list are not necessarily new but it is something that the network engineers can’t avoid to be aware of anymore. This is by no means an exhaustive list but it gives you an indication of what the current trends are in our industry. Feel free to drop a comment if you think something valuable should be added.
Acquiring all of these skills do not happen overnight so I will publish quite a few blog posts about how I am preparing my own evolution. Let me know in the comments below what you liked, disliked or if you have any question.
18 August 2015 | Written by Nicolas Michel | Published in Unified Communications
One of my customer told me that one of its end user was not appearing in its CUCM database. I think it is worth to make a blogpost about it.
There are already plenty of resources on the subject (Example) but I will mainly focus on the troubleshooting section here.
There are 2 ways to configure your users on a Cisco CUCM, you can either configure them statically or you can synchronise your CUCM with your Active Directory Domain.
If you want to make sure that your AD – CUCM synchronization is working, you first need to check that the DirSync Service is activated on the CUCM Publisher:
Then you need to select which AD Attributes will be used as the USERID field within the CUCM. The best logical choice to me is the sAMAccountName since it will be used by the users to authenticate themselves. (Browse to System => LDAP => LDAP System)
Now you need the following:
I would advise you to use the AD “mail” field as the Directory URI CUCM field. This will be used by as a SIP URI that will be linked to the user extension. You can change this on the go if you are running 10.5.2. Otherwise you have to create a duplicate LDAP sync and then remove the old and obsolete one.
Now I can check if my users are created but I noticed that indeed, one of them was missing and I would like to understand (and fix) why !
If I want to troubleshoot this, I need to activate the debugs into the CUCM serviceability menu.
From here you have 2 options : RTMT or CLI.
I’m not an RTMT fan so I will show you the CLI way to find DirSync logs into CUCM.
The logs are located into /cm/trace/dirsync/log4j
admin:file list activelog /cm/trace/dirsync/log4j * date det
28 Mar,2015 16:28:56 0 DirSyncThreadDump.log
14 Aug,2015 14:45:55 36 dirsync_err.bin
14 Aug,2015 15:09:16 36 dirsync.bin
14 Aug,2015 16:46:43 69,418 dirsync00002.log
==== We will look at dirsync00002.log which is the only log file available ====
==== .After you type the next command, go back to the LDAP directory menu and click on "Perform Full Sync Now". ====
==== This will trigger the Sync and we will see the logs ====
==== I will simplify the logs for the sake of clarity ====
file tail activelog /cm/trace/dirsync/log4j/dirsync00002.log
[DSLDAPSyncImpl] Manager DN=cn=cucmservice,ou=Service Accounts,dc=customer,dc=local
[DSLDAPMain] security.Log4jEncLogger (Log4jEncLogger.java:29) - Entering decryptPassword
[DSLDAPMain] security.Log4jEncLogger (Log4jEncLogger.java:29) - Use Dkey to decrypt data
[DSLDAPMain] security.Log4jEncLogger (Log4jEncLogger.java:29) - CCMENC::ERROR : Dkey decryption failed. Use recovery mechanism to decrypt data.
[DSLDAPMain] security.Log4jEncLogger (Log4jEncLogger.java:29) - Using static key to decrypt data
[DSLDAPMain] security.Log4jEncLogger (Log4jEncLogger.java:29) - decryptPassword was successful
[DSLDAPMain] ldapplugable.DSLDAPSyncImpl (DSLDAPSyncImpl.java:236) - LDAPSync(97c6023b-f0fb-c14b-2a35-9d924020123c)[DSLDAPSyncImpl] Directory type=1
2015-08-14 15:10:28,911 INFO [DSLDAPMain] ldapplugable.DSLDAPSyncImpl (DSLDAPSyncImpl.java:2252) - [createDBAttrVector] DB attribute names= uniqueidentifier,userid,firstname,middlename,lastname,manager,department,telephonenumber,mailid,title,homephone,mobile,pager,ocsprimaryuseraddress,directoryuri,discoveryuseridentity,
==== You can see above what are the synchronised field ====
Now you have to search for “roy” into your debugs to find why the user is being rejected:
DSDBInterface.updateUserInfo For User :roy DB ERROR: MailID entered for EndUser already exists.
DSDBInterface.updateUserInfo LDAP data discarded: Missing LDAP attribute: Attribute Count=5 AgreementId=97c6023b-f0fb-c14b-2a35-9d924020123c
[userid, firstname, mailid, uniqueidentifier, discoveryuseridentity]
DSDBInterface.setUserInactive Found 0 users in database needing update
ldapplugable.DSLDAPSyncImpl (DSLDAPSyncImpl.java:433) - LDAPSync(97c6023b-f0fb-c14b-2a35-9d924020123c)[Run] Successfully completed full sync
You can see that there is another EndUser that has the same MailID field so the CUCM does reject the synchronisation for the real user named “Roy”.
There are many other reason why the CUCM can reject a user from the synchronisation process. The most common one is when you do not enter one of the mandatory field: FirstName of LastName.
Also I recommend to read some really important LDAP Design considerations from the Cisco 10.x SRND Design Document
If you have any comments or questions, do not hesitate to post a comment.
There are many (very good) links about that specific subject but I wanted to give my own opinion as well :). Here is a list (incomplete for sure) of the people that have blogged about their CCIE DC lab experience :
I have shared my journey towards the CCIE RS in 2011 and I wanted to share it again with you. I passed the CCIE DC lab exam one month ago and it was tough, long, hard,arduous, baffling, difficult, exacting, exhausting, hard (yeah I already used it on purpose 🙂 ), intractable,perplexing, puzzling, strenuous, thorny, troublesome, uphill.
As soon as I failed my CCIE Voice exam, my frustration went so high and I needed a break from the Voice exam a little bit. The Data Center exams were released by Cisco and I always wanted to be involved in a Data Center infrastructure project. I immediately decided to jump into the DC field and start to climb the (infinite) ladder.
At this time my DC infrastructure background wasn’t enough to pass the CCIE DC Written, I decided to spend a year reading books and solidify my knowledge.
First and foremost the CCIE DC blueprint is like any CCIE DC, it is VERY large. As an expert that will face customers and other experts, you definitely have to dig very deep to understand what’s going on in every section of your infrastructure (Compute / Storage / Infrastructure).
In my previous CCIE Journey post I used this expression from Brian McGahan: “a CCIE journey is not a short race, it is a marathon”. 4 years after, this applies even greater today. If you have a family, you better have to have a very supportive wife/husband. My wife is the most supportive person I’ve ever met.
We had our 3rd baby 10 months ago and my daughter couldn’t sleep at night. My wife was taking care of all 3 children 24/7 while I was studying. She even stayed at my parents home for several weeks to make my study time more efficient. After all, I can say that we are both CCIE RS-DC right now :).She deserves the title as much as I do … I am pretty sure that the CCIE exam is easier than taking care of the children. What I am trying to say here, is that you have to be dedicated to this exam.
I already mentioned before but I read LOTS and LOTS of books. I will give you my list very soon but first I would like to start with one of the best technical book I have read in my entire career.
Data Center Virtualization Fundamentals written by Gustavo Santana is definitely the best Data Center book out there. If you have some Routing and Switching Skills, you probably read the very famous Routing TCP/IP Books (Volume 1 covers IGP and Volume 2 covers BGP,Multicast and IPv6). All I can say is that Santana is as awesome as Doyle. I don’t want to overemphasize but I really enjoyed every words of the book.
The others books are the following:
I also read some free ebooks written by EMC and IBM. To me these 2 books regarding Storage Area Networks are great free resources:
I was almost ready to sit the CCIE DC Written exam but I decided to solidify all the theory I have gained throughout the year. In order to do that I gave a look at CCIE Training vendors.
I have a very good experience with all the main vendors and this is probably the most frequently asked question so far : “Which vendor did you use for your preparation”
First I never really picked up a vendor. I tend to prefer to choose an instructor. I went with INE and Micronics Training for my CCIE RS because I heard from close friends that Brian McGahan and Narbik were top notch instructors (and they are). For my voice studies, I went with IPX because Vik Malhi is the best Voice Trainer I’ve ever met (Since that time, Vik has its own training company CollabCert, you should definitely give it a try if you are interested in collaboration). So in my opinion, students should not pick a vendor, they should pick an instructor and an instructor that meets your personal requirements. Maybe McGahan, Kocharian and Malhi are not the best for you but I can tell you from my personal experience that they are the best for me.
Choose wisely ! A training vendor business is to make your studies time efficient.
I bought an All Access Path from INE and decided to enroll myself into the CCIE Data Center Written Bootcamp. If you want to have a look of the teaching style:
There is another useful (free) resource available for you guys: Cisco Live Portal. This place is the place to watch deep dive videos regarding every Cisco topic! For the DC stuff there are many listed by Brian McGahan on its “how to pass the CCIE DC” blogpost.
I passed my CCIE DC written exam on my second try. It was a really tough exam …
In order to track my studies during the journey, I have used trello and I love this app. Here is an example of how I managed my tasks
The lab is a complete different story and I didn’t really relied on any vendors regarding the workbooks. I used INE and IPX for my online bootcamp but I will cover that later.
So regarding the workbooks, I didn’t really use any of them … I just did a few lab here and here from both vendor but I didn’t really like it. I just wanted to read the config guide, build the infrastructure and then run every show command I could.
For CCIE RS and Collaboration, it is very easy to host a rack in your home or at work. For the DC track, things can get more tricky since you will need a N7K (with VDCs you slice your switch into multiple virtual switches, don’t worry it is part of the blueprint 🙂 ), 2x N5K ,2x Nexus 2232 PP (in order to run FCoE), 2x MDS (9222 is my choice) and a small JBOD (I will make a separate post to show you how to build the cheapest JBOD ever 🙂 ).
INE and IPX racks can be very busy if you want to book the racks with UCS … I also recommend to use the Cisco UCS Platform Emulator on your own laptop (run on ESXi as well if you have a virtualization lab). You can do almost everything with it (except booting your favorite Operation System / Hypervisor).
My local Cisco SE (Vincent, thank you so much !) was kind enough to let me borrow 2x N5K with some FEX and 2x MDS 9222i. I have built a cheap jbod and I could test 100% of the storage feature for the lab exam.
There are so many labs and hardware there (sometimes fully booked of course) than you can spend countless hours of labs … Joel Sprague (which is an MVE [Most Valuable Engineer] I met during my studies) did a very good job by posting all the valuables labs that you can do with the Cisco PEC. I didn’t do ALL of them but the vPC / Fabricpath / UCS / N1000v are definitely mandatory … The UCS is one of the best because you can boot from SAN and the UCS is yours for 8 hours and for free.. Nothing can beat that !
Even if you are studying for the CCIE LAB exam and that you know that you are going to spend 8 tough hours configuring weird things, you still need to read a lot in order to configure your infrastructure.
I would recommend to read almost all the configuration guides related to the blueprint for the Nexus. For UCS and MDS, You can periodically check but there is no need to read everything like you should do for the nexus part.
I have watched both INE and IPX videos regarding the CCIE lab exam, McGahan and Rick Mur videos are perfect ! McGahan for INE was in charge of storage and Nexus while Snow was in charge for UCS.
I also attended 2 CCIE online bootcamp from INE (McGahan Again) and IPX with Jason Lunde. Both did a great job.
McGahan is definitely the big player here, his complete set of videos (Nexus – Storage – Lab Cram Session) are simply awesome. It covers way more than you need for the CCIE DC exam
Here is a preview of its DC lab cram session:
I decided to book the CCIE the day before my vacations started because I didn’t want to go in vacations with the CCIE still in mind 🙂
So I went to Brussels on July 10th and I was very pleased by the proctor (if you read me, I would like to thank you. The experience was great). The exam is fair, it is hard but fair. There are no second guess like I had in voice. Questions were very precises and if I didn’t understand everything in the question, the task title made me clicked in my head : “Gotcha”.
You have to CAREFULLY read the tasks. If Cisco is asking for an ACL named MYCCIEDCLAB, you will not get the point if you configure it MYCCIEDCLAb. Even if your configuration is correct, they will look for the right naming convention. If you want to prevent all sorts of easy mistakes, your best weapon is the CTRL+C , CTRL+V. I can tell you this is the best thing you will ever need in the lab. Notepad is so useful as well !
During your daily job you would still do it right ? What if you want to configure vlan 100,200,300,400,500,600 in all your devices (let’s assume VTP is bad … wait a minute … it is bad .. in my opinion 🙂 ) You would open a notepad, type your commands , and paste into all devices right ?
My advice is to do the same for your CCIE Labs.
As Brian McGahan said, I did my happy dance when you see the UCS-B series booting ESXi 🙂
Finally I left the building and asked the proctor when can I expect the results to be delivered. He told me : “within few hours” . I thought he was making fun of me but he was right.
I went to the airport to meet a friend from Belgium and I received the score report notification.
Was thrilled to see the results : “PASS”
The exam can be tought but again it is doable. During my studies I have met a much better DC engineer than me, he failed the exam twice 🙁 . So please be sure to read slowly and try to understand what they really want…
So what’s up to me now that I am a double CCIE. In the beginning of the post I said that I started to climb the infinite ladder, what does that really mean ? It doesn’t mean that now that I am a CCIE, I can rest and that I can live like that and that my knowledge will stay at the same level through my career. People who think they are done with learning are wrong.
Knowledge has to be sustained ! I still have to work on every protocol if I want my knowledge to be intact. I also have to learn new emerging technologies like Dev-Ops (not new but still new to me) / ACI / NSX etc etc in order to become a better engineer !
I hope you enjoyed the blogpost and in the meantime, if you have some questions, you can leave a comment below.