Recently, I had to add some hardware to an HPE ProLiant DL380 server. Ok, it wasn’t me because this server runs in a location about 3600 miles away from me. But the engineers on-site completed this task. The engineers added some memory and more disks to the server. My task was to add the newly installed disks to the existing ESXi datastore. This was (still is) a standalone ESXi server, as we say a black box server. It’s a standard HPE ProLiant server with local disks and an SD-Card as ESXi boot disk and it is centrally managed in a vCenter. Local IT persons have limited access to vCenter just to manage their workloads on that specific ESXi black box. There isn’t running much on these black boxes, most of all an SCCM distribution point because lacking enough bandwidth. But anyway, that’s not the topic here.
I want to show you what steps I’ve missed in the first attempt and how I’ve managed to fix it.
As there is not much running on this black box server, it was easy to schedule a maintenance window to shut down the workloads and also the ESXi server, so the engineers onsite were able to install the hardware (memory and disks). Through the iLO interface, I’ve started the server and accessed the Smart Storage Administrator, which is part of the Intelligent Provisioning tool kit on servers of Gen9 and later. It was easy to add the unassigned disk to the already existing RAID array. It took some hours to rebuild all the data because all data had to be redistributed over all disks, with parity and everything needed.
After the server was up and running again, I tried to increase the VMFS datastore capacity. It didn’t work as expected. I didn’t see any device nor LUN which I could extend. That made me curious.
Well then, back to the drawing board…
It wasn’t easy this time to schedule a maintenance window, but I’ve asked the responsible person if he could suggest one. In the meantime, I was digging through the internet to find out what’s wrong or what I’ve missed. I’ve found out that just adding the new disks to the existing RAID doesn’t solve that issue alone. I also had to expand the logical drive. That was the key! So ok, could this be done without another downtime? Thankfully yes!
But before we go deeper here, please, always take a backup of your workloads first. Just in case. Better safe than sorry!
It is indeed possible to expand the logical drive on an HPE ProLiant server without downtime. I’m talking here of a maybe easy, not so complex task. It’s not like I’m going to create new arrays or change the RAID mode. No, just expanding the logical drive.
First, I connected to that ESXi server with SSH to see if the HPE tools were installed. And they were. It’s highly recommended that you use the custom VMware ESXi ISO image to install your server when they come from a vendor like HPE or DELL. These images include all the necessary drivers for your hardware, like network or storage controller, and most of all, they include also some nifty tools as well.
In my case, I’m using the tool “hpssacli”. This tool is just the command line version of the Smart Storage Administrator (HP SSA CLI => Smart Storage Administrator CLI). Nice, isn’t it? 😉
Take me to the CLI, please!
I’ve needed only a few commands to get the things in order. Let’s go into it!
First, I’ve checked the logical drives on the controller:
/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 ld all show status
Mostly, the controller is installed in slot 0. I’m talking here about the P440ar which is on-board when I’m not wrong, so definitely on slot 0. With “ld all” it will display all logical drives configured on that controller.
Next, as I’ve got now the logical drive ID, I’ve checked the details for that logical drive:
/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 ld 1 show
This gave me an overview of that logical drive and I saw that it was just half of the expected size because disks have been added here.
Just to make sure, I’ve checked the controller to see if all disk drives were assigned:
/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 show config
The output showed me that all installed drives were assigned and that there were no unassigned drives. As this controller only had one logical drive, all disk drives were assigned there.
Ok, so then it should be possible to extend the logical drive. And it is, with the following command:
/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 ld 1 modify size=max forced
This command extends the logical drive, so it is going to use the whole disk space as defined in the RAID.
After that, I was able to increase the VMFS datastore capacity through the vSphere web client without problems.
2 thoughts on “Expand your logical drive to extend a VMFS datastore”
Ok, how brave do I feel? I have followed these instructions and I have got to the last step, the modify command.
What will happen when I do this – it’s a production server where the existing datastore is around 5TB. Is it going to take the datastore offline and is the data at risk?
When I did these steps, there was one datastore configured, and I did it “live” on a production server. It was only low risk because there was only one VM running on that ESXi server for testing.
I would not recommend to do this in real production environments. Always make sure you have a backup of the virtual machines running on that datastore. Or at least move them onto another datastore on the same ESXi server, if possible.