[SOLVED] PVE/Ceph and Windows Clustering - working! Also, Ceph functionality discussion

Jan 24, 2020
13
11
8
41
After a lot of trial and error, I was finally able to get Windows Clustering working under PVE with Ceph as the backend storage

The way I was able to get this to work is using Storage Spaces Direct (I know this is a Datacenter only feature) but there were a couple things I had to do to allow storage spaces direct to provision the storage properly:
  • Add the disks as SATA disks. SCSI disks presented an incompatibility which caused storage spaces to refuse to use the disks.
    • You'll need a minimum of 4 disks of equivalent size added for this to work. You can have up to 6 sata disks (sata0-sata5)
  • Add a 'serial' parameter that is unique to each disk in the cluster on each node. To do this you have to manually edit the KVM config file in /etc/pve/nodes/{NODE_NAME}/qemu-server/{VM_ID}.conf like this:
    • vmcfg.png
  • Once the storage is added you can create the cluster. Once the cluster is created it needs to have storage spaces direct enabled and all of your disks added. Run the following powershell command to do this:
    • Enable-ClusterS2D -SkipEligibilityChecks -Verbose
  • Once storage spaces direct has been enabled you can proceed to add a volume and set up the rest of the cluster.

Now that we've gone through how this works, I wanted to go over a few things I tried that ultimately didn't work, and why it didn't work, to hopefully spur some discussion around how Proxmox/KVM could improve to support this in a way that works in Windows Server Standard, as Storage Spaces Direct is a Windows Server Datacenter only option

Failed Attempt 1: Shared Ceph Disk

The first method I tried was creating a ceph disk in one VM, then manually adding that disk to another VM's config file. This allowed the disk to show up in both VMs, however when I attempted to add the disk in the cluster I was informed that it could not be done because SCSI persistent reservations were not supported. After some exhaustive research I determined the SCSI adapter options in KVM simply don't support persistent reservations unless you're directly passing a SCSI disk through to the VM.

Failed Attempt 2: Ceph iSCSI

I've gotta admit this one looked promising. I installed the ceph-iscsi package and fought with the scripts enough to get everything set up like so (as shown from gwcli):
gwcli.png

I added the iSCSI storage to Windows and it got a little further in the storage verification, meaning it appeared that the iSCSI service appeared to support persistent reservations, but when the cluster verifications actually attempted to use it, it failed.

When I started digging into this I found that the PetaSAN project has overcome this obstacle. Their platform runs on Ceph and is able to share iSCSI to Windows Clusters with support for SCSI persistent reservations.


The reason I'm posting the failures is that I'd like to gauge the PVE team and community's desire to add additional functionality on top of the existing Ceph infrastructure builtin into PVE. I know PVE's primary purpose is virtualization and containerization, but with the Ceph platform underpinning PVE's hyperconvergence it would be nice to have the capability of utilizing some of the more advanced features available with the use of Ceph. Some examples:
  • iSCSI sharing of Ceph storage for use with other Hypervisors like HyperV and VMWare, as well as high availability clustering services in Windows and Linux
    • These all require persisitent reservations to function properly
    • This could allow for an easier conversion path to PVE
    • See: PetaSAN, they have a kernel modification that allows persistent reservations using Ceph
  • Multi-Server NFS sharing
    • See: PetaSAN
  • Future: Multi-Server CIFS sharing/scale-out file server
    • Samba hasn't yet implemented the necessary SMBv3 protocol magic to enable scale-out file server yet, but it has been funded for development
    • Samba already has Ceph support
 
Last edited:
  • Like
Reactions: xavimaes

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!