In this post, we are going to change the Virtual Storage Controller from LSI Logic Parallel to VMware Paravirtual for a CentOS 7 based Virtual Machine that is running on VMware vSphere. This blog post will contain step-by-step guidance for performing the operation.
In my case the virtual machine was built in VMware Workstation and after some time migrated to VMware ESXi. The VMware Paravirtual Storage Controller is not supported in VMware Workstation. That is why the virtual machine came over with the “wrong” storage controller.
My 24×7 Lab environment is running shared iSCSI based storage and all virtual machines are thin provisioned. The Virtual Machine that came over from VMware Workstation is installed with CentOS 7.
Why VMware Paravirtual?
Why should you want to migrate from an LSI Logic Parallel to a VMware Paravirtual SCSI Controller? Two simple reasons and they are two good ones:
- Lower CPU utilization
- Higher Throughput
Personally, I have a third reason to add… compliance. All my virtual machines should be compliant with the VMware Best Practice and my personal Home Lab standard. In my Lab environment, this means using the VMware Paravirtual where ever possible/supported.
VMware Official Statement 1:
VMware Official Statement 2:
Procedure
The most important step in the process is to make sure you have a valid backup! After that, it is just following the steps described below:
- Create a virtual machine snapshot or backup before you begin.
- Power-off the virtual machine.
- Add the VMware Paravirtual Controller to the Virtual Machine. Do not change the disk controller assignment yet, only add the storage controller to the VM (screenshot 01).
- Power-on the virtual machine.
Login with an account on the virtual machine (account must be able to obtain root access).- Start rebuilding the initial ramdisk image (screenshot 02):
mkinitrd -f -v /boot/initramfs-$(uname -r).img $(uname -r) - Power-off the virtual machine.
- Assign disks to the new storage controller and remove the old storage controller (screenshot 03).
- Power-on the virtual machine.
- Validate that everything is working and disks are mounted (screenshot 04).
- Remove the virtual machine snapshot or backup after you are done.
Screenshots
Here are some screenshots from the procedure:
Conclusion
At this point, I have swapped out three virtual machines from the LSI controller to the VMware Paravirtual SCSI Controller. The machines have been running now for about two weeks without any problems. So everything is compliant again ;).
If you encounter any problems or have any questions about this subject please feel free to contact me on Twitter or the Reply option below.
Source
Here are some interesting related articles that I used for creating this blog post:
- VMware: Configuring disks to use VMware Paravirtual SCSI (PVSCSI) adapters (1010398)
- VMware: Which vSCSI controller should I choose for performance?
- RedHat: Move RHEL boot disk from LSI to VMware paravirtual in RHEL 7
Thank you for your post – this was very helpful to me in resolving this very specific issue!