Keith Matthews

I wear lots of hats, checkout these projects!


Project maintained by kmatthews123 Hosted on GitHub Pages — Theme by mattgraham

The process of breaking some proxmox servers out of their raid configuration

The goal

Get the raid large pools we created for proxmox on the hosts mss1 and mss2 broken out without breaking everything.

Why?

I would like to start using ceph inside the cluster and raid arrays don’t mix with ceph. I think setting up ceph will help as we scale up the cluster to make our storage more widely available. Also, one of our servers is setup with its operating system on a raid-0 which is not great.

OK, so how?

We will start with mss2. things we will need to do include…

OK Smart guy, whats the backup plan?

A back out plan should not be necessary so long as no vm’s get lost and no data is lost. in the case the disks that used to be in the bulk raid array don’t show up, Ill likely have to get back into the raid card to sort it out. It is highly unlikely that proxmox gets wiped off the mss2 system since we will not be touching the raid that holds the disks with proxmox on them. the worst case here is that the drives will be passed though ONLY with the RAID card being setup in HBA mode. that would be a major bummer. we’ll probably want to decide if its worth the performance hit to go software raid for the OS and ceph for the rest of the drives. I have a feeling this cluster will never get big enough to justify that trade-off.

extra info

We have a PERC H730 integrated Raid controllers in both dells here are the documents for them

On Mss2 we have a total of 8 drives with drive 0 and 1 setup in a raid 1 for the boot operating system. the remaining drives 2 - 7 are all 1TB and can be added to the ceph pool, they are currently in a raid 5

On mss1 we have a total of 8 drives with drive 0 and 1 setup in a raid 0 (this is not ideal) for the operating system. drives 2-7 are in a raid 5 and all have 1 TB of capacity

Crash only has 2 drives available. one for the operating system and one spare that’s currently in use by ceph. this is fine. It may be a good idea to balance the drives in the cluster a bit. we can do that later

mss1 test

mss2 test

So how did it go with mss2?

Well it ended up going well! A few things we learned…

Alright so how do we do the thing with mss1?

  1. Migrate all Virtual machines off of mss1 (this was more dificult than strictly nessicary since a HA task was setup for zugzug. I turned it off (probably) by removing its uspace group temporarily)
  2. remove the OSB from the ceph pool that lives on MSS1
  3. Migrate/duplicate the metadata Managment service from mss1 to mss2
  4. Ensure the migration tasks have succeeded
  5. Check that you have serial access to he server via the idrac ( do have this! Its super cool I’ll write more later)
  6. shut down mss1
  7. install usb thumb drive for a live ubuntu desktop iso image. this is just a place holder so we can have all drives unmounted while the system is turned on. I may be able to do this with a virtual ISO which would be rad as hell
  8. Turn on the system using the idrac and boot into the thumb drive. Or virtual drive
  9. Access console via vnc to ensure your access and that all drives are disconnected.
  10. Once verified, get into the idrac again.
  11. Remove the raid 6 virtual disk, this will take a good couple minutes.
  12. Next you select the virtual disk (currently the raid 0 disks) and select reconfigure
  13. You will be prompted to add drives that are available to create a raid 1 and the data shoullllld transfer over
  14. The transfer will take a few hours.
  15. Check with your running live mounted system that disks have been copied over and reconfigured correctly.
  16. After that Ill need to take all drives that are unused and set them up as non raid disks. Will need to check with Garth if he cares about the boot disks being in specific slots.
  17. Once all reconfig tasks are done reboot the system and boot into the raid 1 virtual disk to confirm proxmox functionality.
  18. If that functions, the raid 0 virtual disk can be formated, wiped and unmounted from the proxmox os and you can break the raid in the idrac console. Once they are in non-raid mode, go ahead and add them to the Ceph pools

So we paused the migration due to the wind storm that was happening on 11/4 and I went ahead with the migration on mss1 here’s how that went…


So how did it go with mss1?

Not as well as I would have liked. There were two things I misunderstood. the first was how simply DD-ing the raid array from one drive to the other wouldn’t work well. Maybe there is a way I could have completed this but it would have involved messing with the grub configuration as well as additional changes. It is likely a worthwhile thing to try doing this on a test system in the future but at the time I was unable to complete things without wiping out all the drives. the other issue was that when converting a raid 0 array to a raid 1 array using the dell idrac tools and the raid controller, there’s no way to change the array cleanly from one to the other. what it does instead is convert the whole array to a raid 10 which is a lot of drives and there isn’t enough of a performance bump for us to justify this. What I ended up doing was deleting all drives and starting fresh. The nice thing here was that no critical data was lost. All virtual machines had been moved off of mss1 prior to starting the switch over and re-installing mss1 was a very simple task. all I really had to do was to make sure to set the IP address correct, set the root password the same as what we had previously and then re-add mss1 into the proxmox cluster. There were some things I had to do to ceph to get it working correctly again, basically I uninstalled everything and started fresh with ceph. Now, we have 12 terabytes of ceph storage available accost the cluster. Crash really probably should have some drives moved onto it and we probably need to get some faster networking on that system to make the whole cluster act a bit better. load balancing small ceph clusters is critical and ours is somewhat poorly optimized at the moment.

In all I learned a whole bunch about getting access to the dell servers IDRAC interfaces, how to shuffle data around and I learned a bit about coming up with reasonable back-out plans. This whole episode really showed how excellent proxmox’s clustering tools work.