VMware | AVS: Content Library or Non vCenter objects on VSAN produces unassociated but valid objects


Summary:

Creating or Subscribing to a Content Library on vSAN is typical practice, but the annoying side effect?  Objects created on vSAN datastore that show up as "unassociated" objects and guess what, they simply inherit the Cluster's default VSAN policy at time of import.  Yeah, dumb right?  Also, by vSAN Operations Guide Standards section 6721 subsection 4, you shouldn't do this.

So then what?

In Azure VMware Solution(AVS), you have a couple of options.  You can do what the operations guide tells you that you shouldn't do or you can do something better.  Regardless of these options, the one thing you should do, is create a global content library.  

  1. Create Global Content Library: here are instructions to create one on an Azure blob store.
    1. You should do this, makes life easier if you can.
    2. Also a fun little experiment to play w/ Azure Functions
    3. Centralized Storage of your ISO/OVF's etc.
  2. Attach external storage (Not necessary, but I'll explain why you should)
    1. Azure NetApp Files (ANF)
    2. Pure Cloud Block Store for AVS
    3. Elastic SAN (ESAN)
  3. Subscribe to Global Content Library
    1. Subscribe and attach to an external datastore
      • This is preferable for couple of reasons:
        • If you need to scale up or down your AVS SDDC, you no longer would be tied to VSAN limitations related to storage policies that might require more than (x) numbers of hosts.
        • Content library repository contents in VSAN would be tied to the cluster that vsandatastore is attached. Meaning cluster-2 cannot direct attach ISO's.
        • Whether you create a global Azure blob based library or local library, you have to have a target datastore to pull down the data into.  If you choose VSAN, then you are basically running into the same problem of unassociated objects and cluster access limitations.
        • Another benefit w/ this model, if for whatever reason you want to get space back, you can just delete the content library subscription and re-subscribe to pull on-demand again.
    1. If an external datastore is not an option for you:
      • The subscription model to each vsan datastore is still beneficial because:
        • Easy to delete and recreate content library subscriptions
        • Still a single source for your 'content'
        • Scale scenarios where, let's say you set RAID-5 at one point as cluster default, that cluster would have issues scaling down to 3-nodes because it would be impossible to meet RAID-5 requirements on 'unknown' objects.  In this case, just delete the content library and resubscribe.
        • Slightly more annoying because now you have a content library for each cluster.
        • No avoiding "unassociated" objects in vSAN health check
Additional Notes:
  1. Must be a publicly accessible blob
    1. DNS issue here that needs to be addressed
    2. You can limit blob access to Azure sources in the very least

References:

https://core.vmware.com/resource/vsan-operations-guide#sec6721-sub4

https://vskeeball.com/2022/03/31/vsphere-content-library-on-azure-blob/

https://docs.vmware.com/en/VMware-Cloud-on-AWS/services/com.vmware.vmc-aws-operations/GUID-EC51751C-796A-4FFD-9455-BB178D1A3EBF.html



Comments

Popular posts from this blog

NSX-T: Release associated invalid node ID from certificate

Azure VMware Solution: NSX-T Active/Active T0 Edges...but

NSX-T: vCenter and NSX-T Inventory out of Sync (Hosts in vSphere not showing up in NSX-T)