Replace defective cards on Dual 8GB MicroSD with RAID1 - andreoidb64/VMware GitHub Wiki

Replace defective cards on Dual 8GB MicroSD with RAID1


Should you like to replace a defective device "HP Dual 8GB microSD", saving your OS setup instead of perform a fresh new setup, first of all, you must check the system ROM version:


You should have the version v2.20 or later.

Mark your SD old cards (1 and 2) using a pencil before to proceed, in order to remember the original slot position.

(Optional) Make a backup of the old SD cards using a linux box - scrubble your toolbox for a USB portable distro like TinyCore, Knoppix, Slax, Puppy ... - then use the "dd" command e.g.:

# dd if=/dev/sdX |gzip > BackupSD1.dd.gz


Replace one SD of the NEW Dual 8GB MicroSD with the old SD card e.g.:

      NewUSB = NewSD1 + OldSD2
                  A        A
This_is_empty-----|        |----This_contains_your_esxi_OS


Here is the HPE operation sequence to configure the RAID1 ( from HPE Dual 8GB MicroSD - User Guide )

  1. Power on the server.
  2. Press the F9 key to enter System Configuration.
  3. Select System Health, and then press Enter.
  4. Select View System Heath, and then press Enter.
  5. Select System BIOS, and then press Enter.
  6. Highlight Configuration required and then press Enter. The HPE Dual MicroSD configuration menu appears.
  7. Select the Primary SD Card Selection menu, and then select SD1 Primary or SD2 Primary based on which slot contains the primary card from the old device.
  8. Press F10 to save changes and exit the configuration menu.
  9. Reboot the server.
  10. Upon reboot, the device will be reconfigured and your original boot option will appear.


Wait until the sync is completed and the drive status changes from "degraded" to "OK":



Then shutdown the server and replace the old SD with the new one:

                  NewUSB = NewSD1 + NewSD2
                               A        A
This_contains_your_esxi_OS-----|        |----This_is_empty


Repeat the steps 1 to 10 as above.

Once all new devices are set, I suggest you to open a ssh connection to esxi os in order to check volumes and partition table.

First of all, you should identify the device names as known by the operating system. There are different ways to do this on linux-based os, but esxi has some limitations compared to the usual linux set of commands.

For instance, common base linux commands such as "mount" or "blkid" are not available on esxi because of architectural differences; also the "/proc" filesystem has a special structure. Even if most of OS informations are available, the way to gain thems could not be standard compared to std linux OS.

A simple way to discover the device name where the esxi OS is installed, would be to use "vmkfstools -P /bootbank" command:



This will return the device partition name among other informations.
Now you're able to retrieve the name of device and partitions, simply listing the "/dev/disks" filesystem:



The command "partedUtil" is commonly used to manage the esxi GPT partitions table. (see also: Using the partedUtil command line utility on ESXi and ESX ) The partedUtil command line only is supported for disk partitioning from ESXi 5.x.
NOTE: The command line utility "fdisk" does not work with LUNs formatted with VMFS5. The command is still available but you can safely use for OS disk only with "-l" option (list disk partitions).




Run "partedUtil" without parameters to retrieve the lists of available arguments:



Run the command "partedUtil getptbl DeviceName" to identify the MSDOS volumes:



The highlighted GUIDS in above pictures (called "Basic Data" in human readable language) contains MSDOS partitions.
To get the full list of GUIDS vs "Partition Type" description, just run "partedUtil showGuids":



(Should you see errors in partition table geometry, use the "fix" or "fixGpt" option):

# partedUtil fixGpt /dev/disks/mpx.vmhba32:C0:T0:L0


Finally, check the MSDOS volume(s) using the command "dosfsck". Here is the list of available option:



Here is an example of "dosfsck" session:

⚠️ **GitHub.com Fallback** ⚠️