2016年7月6日 星期三

Oracle on Nutanix ABS (Acropolis Block Service)


     Nutanix already release 4.7 last week when .NEXT event.  There are some new features that AOS 4.7 announced. Today , I upgrade my Nutanix NX-1465G4 AOS to version 4.7. The most exciting function I want to test is ABS. 

      I worked for EMC for 7 years. I knew all about SAN, iSCSI, NAS storage. When I was in EMC solution center , I need to maintain all demo environment. I have two brocade SAN switches, two MCdata and one MDS SAN switches. What’s trouble me is the zoning configurations . I need to maintain hundreds of zoning configuration. I need to check WWPN by myself. If something wrong , my demo servers won’t see its’ LUNs. Some of the demo environments will be infected . 

     After iSCSI storage come out , thing’s got easier. I didn’t need to maintain zoning information again. But I still need to take care about multi-path.  I need redundant paths to prevent one of the NICs failed. If I have two NICs in my server and I also have a iSCSI storage with two controller with two front-end ports . One LUN I may get 4-8 paths. So I need some MPIO to help me to manage those paths.  In EMC , will use Powerpath to manage multi-path. 

     Everything seems good , we have multiple path solutions ? But sometimes customers will ask do not install any software (Powerpath, DMP ….) on my servers. Then just one way to resolve this issue , using Native MPIO. 

   This issue just view from the front-end side . In the backend , VNX or other storage . They have active/passive configuration for a LUN. So you need to rebalance the LUNs in the back-end . When I was in VMware , I went an customer site in China . They complained about performance is sucks in VMware. When I check their EMC storage , I found all of their LUNs just using SPA as active , and SPB is standby. 

    Those issues are traditional SAN/iSCSI problem. Until now, traditional storages design still like this. 
   When Nutanix come out the ABS (Acropolis Block Services), I’m wondering why my company go back to support iSCSI SAN solution? Everyday we talked the disadvantage about SAN , and we go support physical servers connect to Nutanix.  After I check Josh Odgers blog ( http://www.joshodgers.com/2016/06/15/whats-next-2016-acropolis-block-services-abs/ ) article about ABS.  We made all iSCSI connections easier and simple then before.  All the ABS internal working knowledge are there. If you have any interesting in ABC, please go Josh Odgers blog.

   My role in Nutanix is BCA (Business Critical Application) , my responsibility is make sure all BCA can run well in Nutanix platform .  The first come to my mind is “high availability” . Most of my customers when they migrate their BCA to Nutanix , the first question is HA. Do Nutanix ABS provide high availability protection ? When the node failed, do Nutanix ABC can failover its LUNs to another node ? The answer is yes . 

   So I did this testing and using Oracle database as my critical application.  
Here is my testing spec- 
   - Nutanix NX-1465G4 with 256 GB RAM each node (Total 4 Nodes)
   - Oracle Linux 6.7 with Oracle 12c Installed
   - Oracle database using ASM configuration 
   - Nutanix AOS 4.7 
   - Swingbench (generate Oracle database loading) 

Scenario 1- Simulated one node failed (failover)
   I was running Swingbench with 300 users connection to generate load. When swingbench TPS keep stable running, then I shutdown Node D. You can see following video , there is no any error generate from swingbench . All the connections are still working fine. There is a short CPU IO wait when failover just few seconds. Node D’s LUN failover to Node A.


Scenario 2 - Simulated fail node back to cluster (failback) 
 Using scenario 1, I power-on the Node D. Simulate the Node D is repaired and join cluster again. You will see ABS will automatic fail back LUN from Node A to Node D. The loading will rebalance between nodes.


Conclusion- 
    ABS make iSCSI simple, and support physical machines connect. It reduce the multi-path issue in traditional iSCSI storage and also automatically load balance between nodes. 
When I shutdown Node D, it’s LUN failover to Node A. This make node A more loads. So you can see the response time and CPU IO wait is changed . But after Node D join back , the performance running as before. That means we can scale-out when your BCA need more I/O or more quick response time. Not like traditional storage , when you have bottleneck in controllers , you need to replace all the storage. Nutanix ABS will be your best iSCSI storage for your critical application. Make simple is the key to success !!

 Albert Chen 2016/07/06  

2016年4月25日 星期一

How to use Nutanix Prism deploy Business Critical Application


How to use Nutanix Prism deploy Business Critical Application


          Recently , Nutanix had announced a new NOS release 4.6 . One of the function is customized script to deploy your virtual machine .
In the Windows guest environment is very easy to prepared . We can use sysprep to deploy Windows guest OS . In Linux guest OS , we using cloud-init package to deploy.
         You can reference Chris Rasmussen site .
http://digitalformula.net/articles/nutanix-vm-customisation-with-cloud-init/
          Most of the steps are same, but some of configuration must be noted.
I use Oracle database and Oracle linux as a example . Oracle version is 11.2.0.4 , Oracle Linux is version 6.7.  Nutanix Acropolis Prism is 4.6.0.2 and we use Acropolis Hypervisor (AHV).


Step 1: Prepare your template image -


      First , we need to create a OS template that for deployment in your environment .  You can install a clean Linux OS environment or just clone from virtual machine. due to Linux OS always assign a new virtual NIC to new virtual machine. So you need to delete the /etc/udev/rules.d/70-persistent-net.rules .  Otherwise , you will have eth1,eth2 ,eth3 ... everytime you clone you get increase number . If you removed this file, after you clone virtual machine  . Linux OS will not increase the ethx number , will keep using eth0 .
     Secondary , you need to install the cloud-init package. Every Linux installation methods maybe not same . Some will use apt , some will use yum . Here is a example that install cloud-init package in Oracle Linux or RedHat, Centos .

  example :

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh epel-release-6-8.noarch.rpm

yum install cloud-init




After installation , just leave everything default . Do not need to configure any setting .Because Nutanix Prism will help everything we need . Simplified cloud-init package setting .
The you need to put your Oracle installation binary in the OS , and also prepare auto-install script .  I create a simple one, and you can reference this. ( Not only Oracle have automatic installation , but also all Business Critical Application have it's owned automatic/silence installation method , you can script them easily)


From my example  - The script I created is called install_demo.sh. After steps , you can shutdown the virtual machine , and start put it into image service .

Step 2 : Create Image for deployment 


Nutanix Acropolis 4.6 provide upload image , you can upload image from the Prism GUI. 


            But if your virtual machine is on the AHV, you don't need to export and import again . Just using single commend to put your image into image service . We will use acli commend to put image into repository. command like this :
image.create autodeploy_oracle clone_from_vmdisk=vm:Goldmaster:scsi.0
** autodeploy_oracle is template name 
** Goldmaster:scsi.0 mean Goldmaster VM it's first scsi disk .







This command is take 1 second to finish . Go back to Prism check the image is successful installed.

Step 3: Deployment your Business Critical Application ( Oracle for ex , others same method)

     First you need to create a new VM- In the Prism , select the VM tab, and start to create a VM.


Give the CPU and Memory values - 


Add disk - Choose Operation , select "CLONE FROM IMAGE SERVICE" ,and select the image "autodeploy_oracle" the template we created.


Add the new NIC -


The key is "Custom Script" , Here are three options we can choose.  "ADFS" or "upload a file" or "Type or paste script". This time we use "Type or paste script". Because we need to change hostname and run the customized scripts. 


Type those text in the text box .

#cloud-config
disable_root: 0
ssh_pwauth:   1
hostname: Oracle112
runcmd:
- [/root/install_demo.sh,once-per-instance] 




Click Save , and wait for 100% create process . Must wait for 100 % ,otherwise you will get a failed ....








Step 4: Power on your VM - 


Just select power-on your Virtual Machine, also open your console . you will see the cloud-init is running. That means will change my hostname , and also automatic install Oracle binary and create database for me . 


I also put all process avi in this blog , you can reference . 




Conclusion :

   
    From my 19 years IT experience , when I talked to customers, they don't want a complicated solutions . They just want some simple and handle their daily job. 
   Some software they create too many object like blueprint , endpoint .. Really complicated solution. Some vender also mentioned they can deploy 10000 VMs in 10 minutes.  I think , in real world , we don't need this kind of software , because we didn't need deploy 10000 VMs everyday or need very complicated processes to deploy a VM .  Nutanix Prism already can help on your daily job to deploy those application for you. Make your life easier.