August 18, 2019 Vignesh Sathiyanantham

In my previous blog, I discussed how to set up the ZFS File system in Ubuntu 18.04 and setup ZVOL for Microsoft SQL Server Databases In this post let’s discuss on how to set up the Disaster recovery plan for the Microsoft SQL Database with the ZFS replication, For that, I set up the Ubuntu 18.04 Instance in us-east-1 in availability zone us-east-1c , and ssh into the instance using the pem file Then I followed my post on ZVOL for MS SQL Database to install the ZFS on the AWS Linux Instance And then with the new volume, I…

August 18, 2019 Vignesh Sathiyanantham

When I am setting up the Disaster recovery plan for the MS SQL Databases in ZFS Volume, I faced permission issue while running ZFS send/receive command from a non-root account root@vigneshzfs:/home/vignesh# sudo zfs send sql-pool/disk1@aug18 | ssh ubuntu@10.7.8.25 zfs recv aws-pool/sql-pool-aug18 ubuntu@10.7.8.25’s password: cannot receive new filesystem stream: permission denied So my sender is vignesh and the receiver is ubuntu both are a non-root account On the sender side, I used these permissions sudo zfs allow -u vignesh send,snapshot,hold sql-pool And on the receiver side sudo zfs allow -u ubuntu compression,mountpoint,create,mount,receive aws-pool After setting up this permission I can send…

August 18, 2019 Vignesh Sathiyanantham

I created a Ubuntu 18.04 Instance in AWS, then I connected to the instance using the pem file using ssh -i pemfile ubuntu@public-IP sudo passwd ubuntu Changing password for user ubuntu. New password: Retype new password: I set the password for the account, then enable the password authentication in the SSH config file sudo nano /etc/ssh/sshd_config Find the PasswordAuthentication no and set it to yes PasswordAuthentication yes sudo service ssh restart Reference: https://aws.amazon.com/premiumsupport/knowledge-center/ec2-password-login/

August 15, 2019 Vignesh Sathiyanantham

RAID with any filesystem / Storage array or with JBOD it comes with three main benefits. PerformanceCapacityIntegrity Performance is how fast you can access the data / write the data into the filesystem and it is measured with Input / Output per second aka IOps and usually measured in megabyte per second and millisecond of latency Capacity is how much it can hold your data, usually GBs to PBs Integrity is how many disks can fail before you lose all the data, The main problem of the RAID is you cannot get all the three benefits, to get one you…

August 15, 2019 Vignesh Sathiyanantham

In this post, we will see how to install ZFS on Ubuntu and present a ZVOL through iSCSI protocol to a Windows Machine for SQL Database First I created a Linux Ubuntu x64 Virtual Machine and installed the Ubuntu 18.04 Server using the server iso file available in the Ubuntu website After installing the Ubuntu, configured the static IP and installed openssh-server sudo apt-get install openssh-server Then I proceed to install the ZFS File system in my mint ubuntu Install Software properties common sudo apt-get install software-properties-common First, you have to make sure that main, restricted, universe and multiverse software…

August 15, 2019 Vignesh Sathiyanantham

I have good hands-on building REST services using Java Play Framework / Spring Boot / Spark We build multiple microservices most of them are client-server architecture and in these scenarios apart from gRPC we use REST services for the microservice communications If you ask me do we need all 70 Status provided by HTTP standards, the answer is NO, We don’t need ’em all for all Situations I Architected the REST APIs for our Cloud Data Protection software Nimesa, I didn’t use them all, we use only 10 of them and it serves our purpose 200 – OK – Everything…

August 13, 2019 Vignesh Sathiyanantham

In this post will see how to secure the REST API using Basic Authentication with Spring security features. In this example, we will be using Spring boot to avoid basic configuration I will describe only the security part of Spring REST and how to test with Postman Basic Authentication in REST API Basic authentification is a standard HTTP header with the user and password encoded in base64 : Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==.The userName and password are encoded in the format username: password. This is one of the simplest technique to protect the REST resources because it does not require cookies. session…

August 8, 2019 Vignesh Sathiyanantham

I have created my own annotation with default values set overriding the existing defaults In request parameters @RequestParam you can set the required parameters, I am implementing the Get Users and Get User by Name APIs Legacy way of implementing @RequestMapping(value = “/user/{name}”) public String getUsers(@PathVariable String name) { return service.getUsers(name); } @RequestMapping(value = “/user”) public String getUsers() { return service.getUsers(); } Instead of duplicating the APIs and overloading the method we can use the Java 8 Optional Parameter @RequestMapping(value = {“/”, “/{username}”}, verb = RequestMethod.GET) public ResponseEntity<List<User>> getUsers( @PathVariable(value = “username”, required = false) Optional<String> username) { if (username.isPresent())…

July 18, 2019 Vignesh Sathiyanantham

If you have a large datacenter having too many VMs, you may find it difficult to filter the VMs, using the super powerful tool vSphere PowerCLI you can get the VM with filters To get the VM where the tool is not installed, run the below script after connecting with VI-Server Get-VM -name windows-* | ?{$_.extensiondata.guest.toolsstatus -eq ‘toolsNotInstalled’}

July 13, 2019 Vignesh Sathiyanantham

We have planned to do interoperability testing of our product Nimesa Cloud Data Protection with vSphere 6.7, In my lab, I had one ESXi 6.5 which I planned to upgrade to ESXi 6.7 In this blog, I am explaining about how I upgraded my ESXi 6.5 to ESXi 6.7 using ESXCLI via SSH To begin with, I set the ESXi to maintenance mode, all my powered on machines are migrated to another ESXi in the cluster, then removed the node from the cluster Enable SSH service in the ESXi Configuration and advanced settings Connect to ESXi via SSH through management…