Skip to main content

ESXi Partition - Lets break it down!


I bet you have installed ESXi multiple times by now, have you ever noticed that we do not get any option to modify the partition layout? this is because ESXi Partitions are automatically set by the installation process. 

Quick run thru on the history, Once upon a time, long before the coming of ESXi and when there was only ESX. Taking into account the native behavior of Linux architecture in addition to the ESX specific characteristics, partitioning best practices evolved. While not every administrator will agree on the exact size a given partition should be, a pattern in how ESX is properly partitioned is fairly evident, plus or minus the partition size variance that fits the personal taste of the administrator or perhaps company baseline policies or standards. Right there is a good a reason as any to partition manually ,hence Partitioning became Automatic while installation.

Now let us take a deep dive, First of, What are the ESXi partition, take a look a the below picture.


ESXi partitions description :

    Partition 1: systemPartition -> Bootloader Partition (4MB )  -> This Partition is needed for Booting
    Partition 5: linuxNative  -> /bootbank (250MB)  -> The hypervisor image is located on this Partition
    Partition 6: linuxNative -> /altbootbank ( 250MB) -> After ESXi upgrade, the current image is copied from the bootbank partition.
    Partition 7: vmkDiagnostic  -> First Diagnostic Partition (110MB) -> For PSOD crash.
    Partition 8: linuxNative  -> /store (286MB) -> This is the product locker which contains the VMtools.
    Partition 9: vmkDiagnostic -> Second Diagnostic Partition ( 2.5 GB) -> This is the vmkDiagnostic partition
    Partition 2: linuxNative  -> /scratch (4GB) -> This is for the ESXi logs ( non-presistant)
    Partition 3: VMFS datastore -> For datastores ( only created if installation is done on non-flash memory)

The partition table format is GPT from 5.x and previously it was traditional MBR table.

How to find the partition details on an ESXi:

First get the disk on which the ESXi is installed, you can run # ls /dev/disks -lh to get the disk details. Then you can use # partedUtil  getptbl /disk -> this will give an output like the below:

A screenshot of a cell phone

Description automatically generated

Why do I have to know about ESXi partitions:

You get a better understanding of the ESXi configuration and also while troubleshooting based on PSOD crashes, Scartch partition setup or while consulting customers on best practices these information would give you a hand. Also you can be confident when you know which partition is used for which operation.  



Comments

Popular posts from this blog

Error [403] The maximum number of sessions has been exceeded in the H5 client during login or logout

  Symptoms In virgo log, you see messages similar to: [2020-05-19T07:25:45.285Z] [ERROR] http-nio-5090-exec-130 72026859 142953 501051 com.vmware.vise.security.spring.DefaultAuthenticationProvider logout failed for sessionId 142953, clientId 501051 java.lang.IllegalStateException: The specified cardinality of 1..1 for osgi:reference implementing com.vmware.vcenter.apigw.api.ApiGatewaySessionManager in bundle com.vmware.h5ngc requires that exactly one OSGI service satisfies the filtering criteria but no such service was found.         at com.vmware.o6jia.context.ExternalServiceTargetSource.getTarget(ExternalServiceTargetSource.java:99)         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:192)         at com.sun.proxy.$Proxy159.logout(Unknown Source)         at com.vmware.vise.security.spring.DefaultAuthenticationProvider.logoutInternal(DefaultAuthenticationProvider.java:548)         at c

Investigating virtual machine file locks on ESXi

      Details Adding an existing virtual machine disk (VMDK) to a virtual machine that is already powered on fails.                 Failed to add disk scsi0:1. Failed to power on scsi0:1   Powering on the virtual machine results in the power on task remaining at 95% indefinitely. Cannot power on the virtual machine after deploying it from a template. Powering on a virtual machine fails with an error: Unable to open Swap File Unable to access a file since it is locked Unable to access a file <filename> since it is locked Unable to access Virtual machine configuration In the /var/log/vmkernel log file, you see entries similar to: WARNING: World: VM xxxx: xxx: Failed to open swap file <path>: Lock was not free WARNING: World: VM xxxx: xxx: Failed to initialize swap file <path>   When opening a console to the virtual machine, you may receive the error: Error connecting to <path><virtual machin

"Performance data is currently not available for this entity" viewing the performance tab

  Symptoms While accessing the performance tab and navigating to Overview, you see: No data available   The data for Real time, but fails to retrieve it for past 1 day, week, month or year.  While selecting the advance parameter in performance tab, you see: Performance data is currently not available for this entity Cause This issue is caused by the vCenter Server database (Postgress) containing a stale/future time stamp reference for the ESXi host when the data was collected. For vCenter Servers using SQL, see  "Performance data is currently not available for this entity" error after updating rollup in vSphere Resolution Backup the vCenter database. For more info