How to change SCSI controller from LSI Logic SAS or Parallel to VMware Paravirtual
Environment
- Red Hat Enterprise Linux 9
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 7
- Red Hat Enterprise Linux 6
- VMware vCenter
Issue
- How to change the LSI Logic Parallel controller to VMWare Paravirtual controller in RHEL 6, 7, 8 & 9?
- We are migrating VMs with LSI controllers to Paravirtual controllers, but reboot fails due to boot disk being Paravirtual.
- Anytime we update the controllers from LSI to Paravirtual, system will not boot due to drivers/pathing in the bootloader.
Resolution
There are two solutions, one online and one offline.
Solution 1 - Case when the system cannot be taken offline immediately
-
Connect to deployed RHEL7 VM using LSI Logic Parallel controller
-
Backup the existing initramfs, then rebuild the initramfs for the running kernel as a generic initramfs to include all kernel drivers:
# dracut -Nvf
Alternately, you may just add the new driver:
```
# dracut -fv --add-driver vmw_pvscsi
```
-
Power down the virtual machine
-
In VMWare vCenter, Right-click on the virtual machine and choose Edit Settings...
-
Click SCSI controller 0
-
Click on Change Type
-
Select VMWare Paravirtual and click on OK button
-
Power on the virtual machine
-
Once booted, rebuild all the initramfs in host-only mode
# dracut -vf --regenerate-all
Solution 2 - Case when the SCSI controller has already been changed to VMWare Paravirtual and system cannot boot anymore
-
Boot with the RHEL DVD in Troubleshooting mode
-
Enter the chroot
(rescue) # chroot /mnt/sysimage (chroot) # -
Rebuild the all the initramfs files
(chroot) # dracut -vf --regenerate-all -
Exit from the chroot and reboot
(chroot) # exit (rescue) # exit
System booting to "Operating system not found" error
If after re-generating the ramdisk mentioned in solutions 2 still shows the above error message. Verify that the BIOS boot order is correct at the hypervisor level.
Root Cause
By default, initramfs files are built in host-only mode, which ends up having only kernel drivers for the SCSI controller currently active, explaining why switching to VMWare Paravirtual in VMWare vCenter without rebuilding the initramfs files first makes the system fail on boot.
Additionally, with RHEL 8, the LSI Logic SAS and Parallel SCSI drivers are not supported anymore. Details at: RHEL8 and RHEL9 fails to install on VMware guest using scsi controller of type 'LSI Logic SAS' OR 'LSI Logic Parallel'
It's hence necessary to switch to VMWare Paravirtual prior attempting an in-place upgrade.
Additional information is also available in VMware knowledge base article Content from kb.vmware.com is not included.Configuring disks to use VMware Paravirtual SCSI (PVSCSI) adapters (1010398).
Warning: The above link is to a source that is not authored by Red Hat directly. As such, Red Hat support cannot verify its accuracy and content.
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.