Auto Deploy Configuration in vSphere 6

Auto deploy is used for PXE booting/installation of Esxi over the network. When a host is deployed using Auto Deploy the state information is loaded to memory upon boot, the state is not permanently stored on the physical host by default.

We can use Host Profiles with Auto Deploy to customize your ESXi host state. Also from Esxi host advanced configuration menu, we can configure host for stateless or stateful booting.

In this post we will learn how to configure auto deploy and use it to provision Esxi hosts. Configuring Auto Deploy is a 3 step process which includes:

1: Enabling Auto Deploy in vCenter/vCSA.

2: Configuring DHCP and TFTP

3: Creating Auto Deploy rules using PowerCLI

Lets walk through each section one by one.

Enabling Auto Deploy in vCenter/vCSA

In my lab I am using windows based vCenter installation. Steps for enabling auto deploy are pretty much same for vCSA deployments as well.Read More

Automating Esxi Deployment Using PXE Boot and Kickstart

I have read long back about numerous posts on unattended Esxi installation but never tried it in my lab. Recently I started preparing for VCAP exam and there again mention of scripted install was there and it motivated me to finally try this in lab.

My first interaction with kickstart was 3 years back where in my previous organization our kickstart server died (running on really old hardware), but fortunately we had backup of the server and my boss handed over a task to me to build the server from scratch.

That was the time when I was so amazed by this wonderful piece of software and once I got the server up and running back in production, I setup an identical instance on my local system to play around options and enhance the pre/post installations script.

Like any other OS, ESXi can also be automatically deployed via PXE. PXE is a way to boot an operating system over the network using Ethernet card (PXE must be supported by the NIC card present in server and by the BIOS).Read More

RabbitMQ Clustering

In the last post of this series, we learned how to install/configure RMQ for vCloud Director. This post is an extension of my last post where I will be adding one more node to my RMQ setup to form a cluster for high availability.

What data is replicated in an RMQ Cluster?

All data/state required for the operation of a RabbitMQ broker is replicated across all nodes. An exception to this is message queues, which by default reside on one node, though they are visible and reachable from all nodes. To replicate queues across nodes in a cluster, see the documentation on high-availability

Note: Before proceeding with cluster formation, please ensure the following:

1: Use the same version of Erlang and RMQ server rpm which is installed on the master node.

2: RMQ nodes address each other using domain names, either short or FQDNs. Therefore hostnames of all cluster members must be resolvable from all cluster nodes, as well as machines on which command line tools such as rabbitmqctl might be used.Read More

VM replication state going to ‘Not Active’ as soon as vm is configured for replication

After a long back I dived into my lab yesterday and was working again on setting up DR to vCloud Air.I have wrote few blog posts in past on vSphere Replication and DR to vCloud Air using VR. If you are interested in reading those posts, you can read them from below links

1: Replicating and Recovering VM’s using vSphere Replication

2: Disaster Recovery with vcloud Air

3: Replicate VM to vCloud Air using vSphere Replication

This time in my lab I noticed that all my VM’s replication state were going to ‘Not Active’ as soon as its configured for replication. This was a brand new setup and I was sure that I followed all required steps in deploying and configuring the replication appliance. This was strange as I never faced this issue before.

repn-1.PNG

in hms.log on my on-prem VR appliance I was seeing the same messages about replication not active

hms.logRead More

Learning Apache Cassandra-Part-5-Getting Familiar With Nodetool

In last post of this series we learnt about how to add nodes in a cassandra cluster. If you have missed earlier posts of this series

then you can read them from below links:

1: Introduction to Cassandra

2: Understanding Cassandra Read/Write Mechanism

3: Installing Cassandra on RHEL6

4: Adding Node To Cassandra Cluster

In this post we will explore nodetool and will see how we can manage a cassandra cluster using nodetool utility.

What is nodetool?

The nodetool utility is a command line interface for managing a cluster. It provides a simple command line interface to expose operations and attributes available with cassandra.

There are hundreds of options available with nodetool utility and in this post I will cover only those which ae used more often.

Note: This post is suitable for those admins who are not sevrice owners of cassandra nodes/cluster but have to interact with cassandra day in day out in their infrastructure.… Read More

Learning Apache Cassandra-Part-4-Adding Node To Cassandra Cluster

In last post of this series we learnt how to install cassandra on Rhel 6. In this post we will look into additional configuration parameter that is needed to configure in order to facilitate other nodes to join the cassandra cluster.

If you have missed earlier posts of this series then you can read them from below links:

1: Introduction to Cassandra

2: Understanding Cassandra Read/Write Mechanism

3: Installing Cassandra on RHEL6

At the moment we have one node cassandra cluster. Before going ahead and installing cassandra on other nodes, we will first perform following configuration changes in cassandra.yaml file.

Navigate to cassandra.yaml file which is located in cassandra_install_dir/conf folder. Open the file in editor of your choice and look for following options:

  • Listen_address: Address where gossip will be listening to. This address can’t be localhost or 0.0.0.0, because the rest of nodes will try to connect to this address.
Read More

Learning Apache Cassandra-Part-3-Installing Cassandra on RHEL6

In last 2 posts of this series we learnt about Cassandra architecture and understood the cassandra Read/Write process.

If you have missed earlier posts of this series then you can read them from below links:

1:Introduction to cassandra

2: Understanding Cassandra Read/Write Mechanism

In this post we will learn about installing cassandra on Redhat Linux.

Before jumping into lab and start with installation, I want to touch down on few concepts first which will help in understanding installation process.

Bootstrapping

Bootstrapping is the process in which a newly-joining node gets the required data from the neighbors in the ring, so it can join the ring with the required data. Typically, a bootstrapping node joins the ring without any state or token and understands the ring structure after starting the gossip with the seed nodes; the second step is to choose a token to bootstrap.

During the bootstrap, the bootstrapping node will receive writes for the range that it will be responsible for after the bootstrap is completed.… Read More

Learning Apache Cassandra-Part-2:Understanding Cassandra Read/Write Mechanism

In first post of this series we discussed about what is cassandra, what are the benefits of using cassandra. We also discussed a little bit about from where cassandra came and finally we looked at the architecture of cassandra and discussed some important terms like snitch, gossip, data replication, partitioner etc.

In this post we will see how cassandra Read/Write mechanism works.

Let’s discuss about some key components of cassandra first before discussing about Read/Write. Important components of cassandra can be summarized as below:

1: Node – This is the most basic component of cassandra and it is the place where data is stored.

2: Data Center – In simplest term a datacenter is nothing but a collection of nodes. A datacenter can be a physical datacenter or virtual datacenter.

3: Cluster – Collection of many data centers is termed as cluster.

4: Commit Log – Every write operation is written to Commit Log.… Read More

Learning Apache Cassandra-Part-1:Introduction

Cassandra was very new to me when I joined the vCloud Air operations team back in 2015. Over last 1.5 years I have got a bit of understanding about cassandra now and it provoked me to learn this wonderful database technology.

To start my journey with Cassandra, I am following training course from Infinite-Skills and youtube videos along with documentation available from datastax.

As my journey will progress, I will keep writing and sharing my experience of learning about cassandra.

This is very first post of learning cassandra series where I will try to touch down few basic things about cassandra.

What is cassandra?

cassandra is a NoSQL database technology. NoSQL is referred as not only SQL and it means an alternative to traditional relational database technologies like MySQL, Oracle, MSSQL. Apache cassandra is a distributed database. With cassandra database do not lives only on one server but is spread across multiple servers.… Read More

Exploring vSphere 6.5 API-Part 3: Esxi Host

In last 2 post of this series, we learn about digging out info about datacenter,cluster and virtual machines.

In this post we will learn about API options available for Esxi hosts.

If you have missed earlier posts of this series, you can read them from here:

1: Exploring vSphere 6.5 API-Datacenter & Cluster

2: Exploring vSphere 6.5 API-Virtual Machines

Let’s get started with fetching info about esxi hosts.

1: List all hosts present in a vCenter

Following query will list all esxi hosts that are present across all cluster/datacenter which are there in a vcenter.

# curl -sik -H ‘Accept: application/json’ -H ‘vmware-api-session-id: 7c639fb1e988b4c59dd77adef4c5d06c’ -X GET https://vcentersrv01.alex.local/rest/vcenter/host

Output
[code]
{“host”:”host-28″,”name”:”esxi01.alex.local”,”connection_state”:”CONNECTED”,”power_state”:”POWERED_ON”}

{“host”:”host-31″,”name”:”esxi02.alex.local”,”connection_state”:”CONNECTED”,”power_state”:”POWERED_ON”}

{“host”:”host-33″,”name”:”esxi03.alex.local”,”connection_state”:”CONNECTED”,”power_state”:”POWERED_ON”}

{“host”:”host-35″,”name”:”esxi04.alex.local”,”connection_state”:”CONNECTED”,”power_state”:”POWERED_ON”}

[/code]

 

2: List all host in a specific datacenter

You can limit search of esxi host to specific datacenter by using filter.datacenters option

# curl -sik -H ‘Accept: application/json’ -H ‘vmware-api-session-id: 7c639fb1e988b4c59dd77adef4c5d06c’ -X GET
https://vcentersrv01.alex.local/rest/vcenter/host?filter.datacenters=datacenter-2

3: List all hosts in a specific cluster

# curl -sik -H ‘Accept: application/json’ -H ‘vmware-api-session-id: 7c639fb1e988b4c59dd77adef4c5d06c’ -X GET https://vcentersrv01.alex.local/rest/vcenter/host?filter.clusters=domain-c7Read More