Monday, November 9, 2020

How to Learn

Before you start on your long and tedious journey of making yourself employable for the foreseeable feature, you must know how actually to study and digest data.

Believe me; there are tons of resources to study one topic, and a majority of time will be gone window shopping the courses, notes, blogs and whatnot. At the end of the day, productive time to study will be lost and end up in a failure.

So two things are important.

- How to study and retain what you studied.

- What resources are the best to study a Topic and then trust that resource to help you achieve your goal.

As a First step, you should know how to retain what you studied, and the best way to do it is by taking meaningful notes. 

As per research, people have figured out that the Cornell Note Taking system is the best.  This system was devised by Professor Walter Pauk of Cornell University in the 1940s. Yep, the 40's but trust me this is the best system yet for notetaking.  

So before you set foot on your journey or if you have already started your journey, please review this notetaking once. Makes life easier and better.

There is a public course, a very short one, offered by Cornell University on this Notetaking. Please spend a few minutes on this course to get a view of what's in store.  

Link is here -> https://canvas.cornell.edu/courses/1451

Happy Learning

Sunday, November 8, 2020

Learn Terraform

 Before you start on your long and tedious journey of making yourself employable for the foreseeable feature, you must know how actually to study and digest data.


Believe me; there are tons of resources to study one topic, and a majority of time will be gone window shopping the courses and notes and blogs and whatnot. At the end of the day, productive time to study will be lost and end up in a failure.


So two things are essential.


Terraform comes under the Infrastructure as Code category. You can perform CRUD operations on cloud platform using TF and the underlying cloud API's.


How to start learning?


- udemy has some good courses on TF. One by Zeal Vora is very good. You can enrol to the course and start learning. 


- if you are already familiar with puppet or ansible, learning TF should be easy. 


-  Terraform Course


- This is not a promotion, and I am not associated with the course in any form.


PS: We will start learning TF from tomorrow. It will be my own take on TF and How to learn it. 

Road to SRE and beyond

Hi there, what's up with modern IT engineer jobs?


- Yes, IT as an industry is undergoing a foundational change.


- You need to be an expert in more than one skill to have a decent job in the next three years.


- Line between ops and Dev is disappearing, slowly but surely.


- Combo of Ops and DEV called as SRE (site reliability engineer) will become the norm.


- Amazon, Microsoft, Google will rule the world with Infrastructure and application offerings making in-house IT redundant and less attractive.


- if you do not know how to code, job prospects look bleak.


- if you are doing only support and working in shifts, solving incidents and working changes, beware your jobs are online.


- if you are building servers only, your jobs are online.


So Skill up and be relevant.


- Learn to code. Start with Python and then Go. These two are essential languages for cloud-native and Infrastructure applications.  


- Learn Cloud Platform of your need and choice. Better to have at least two certs AWS/Azure or AWS/GCP.  


- Learn Infrastructure as code tool like Terraform. Terraform will be the tool doing all the cloud and container deployments in the future.


- Learn Container orchestration tool like Kubernetes. Kubernetes is the next Linux. So, scale-up and skill.


- As with any platform, learn SQL and one DB like oracle or Postgres or MySQL.


Below skills are non-negotiable.


- Python, Go

- AWS/Azure/GCP any two out of three.

- Terraform

- Kubernetes

- Postgresql/Oracle/Mysql/PL-SQL


Once you acquire above skills, you can to apply for modern era jobs.  


In future posts, we will see how to acquire the above skills.

Duplicate PV in Linux

As stated in one of my previous post, I have lost password for word press blog.  So, I decided to repost articles from wordpress  to  Blogger.   

In the first of the articles that I am reposting, this is on Linux LVM.

Often we have seen people coming up with duplicate PV issues in lvm.  Wondered what this exactly means ?

This message is related to LVM filter.  Now comes the question what is LVM filter?   

LVM filter can be considered as a pattern of devices that can be searched as a part of the LVM scan.  From the Man Page "Patterns are regular expressions delimited by any character and preceded by a (for accept) or r (for reject). The list is traversed in order, and the first regex that matches determines if the device will be accepted or rejected (ignored). Devices that don't match any patterns are accepted"

- When using device-mapper-multipath or other multipath software such as EMC PowerPath or Hitachi Dynamic Link Manager (HDLM), each path to a particular logical unit number (LUN) is registered as a different SCSI device, such as /dev/sdb, /dev/sdc, and so on. 

- The multipath software will then create a new device that maps to those individual paths, such as /dev/mapper/mpath1 or /dev/mapper/mpatha for device-mapper-multipath, /dev/emcpowera for EMC PowerPath, or /dev/sddlmab for Hitachi HDLM. 

- Since each LUN has multiple device nodes in /dev that point to the same underlying data, they all contain the same LVM metadata and thus LVM commands will find the same metadata multiple times and report them as duplicates

This is only a warning message and does not indicate a failure in LVM operation. Rather, system alerts the administrator that only one of the device is used as a PV and rest are being ignored.

To avoid this situation, a filter with only the needed devices should be included.

For example, to allow the internal disks in HP arrays and any EMC Powerpath devices, the filter would like


filter = [ “a|/dev/cciss/.*|”, “a|/dev/emcpower.*|”, “r|.*|” ]

After applying the filter

# rm -rf /etc/lvm/cache/.cache/

# pvscan

# vgscan

# lvscan

Do a #vgs -vv to cross check as well.

There are scenarios where a working filter may have failed and you may see duplicate entries which should not be visible…

- Device names and the filter patterns for the devices in lvm.conf

- Any changes made to the lvm.conf and the initrd not recompiled to reflect the changes.