【VMware vSAN】如何删除虚拟机存储策略中的vSAN默认存储策略。
登录vSphere Client,展开左上角设置-策略和配置文件-虚拟机存储策略,可以查看系统默认创建的虚拟机存储策略。这些存储策略由系统自动生成,其中有一部分存储策略仅用于vSAN数据存储,作为vSAN 默认存储策略以应用于,当在部署虚拟机时未进行自定义存储策略时所默认分配的策略。
vSAN 8 中具有以下默认存储策略,这些vSAN 默认存储策略的特性都是无法被删除,默认名称及描述无法被编辑,只能修改其配置参数或基于该策略克隆出一个新的存储策略配置文件进行使用。
- vSAN Default Storage Policy
- Management Storage policy - Encryption
- Management Storage policy - Thin
- Management Storage Policy - Large
- Management Storage Policy - Regular
- Management Storage Policy - Single Node
- Management Storage Policy - Stretched
- Management Storage Policy - Stretched Lite
- Management Storage Policy - Stretched ESA
- vSAN ESA Default Policy - RAID5
- vSAN ESA Default Policy - RAID6
其实大多时候,我们都使用自己定义的vSAN 存储策略,这些默认vSAN存储策略基本都用不到,比如Management Storage policy - XX。那可不可以删除这些用不到的vSAN 默认存储策略呢?答案是可以的。参考我之前的 连接和使用vCenter Server嵌入式vPostgres数据库 这篇文章,下面演示如何在vPostgres数据库中去删除它。
首先,以root用户登录vCenter Server的Shell命令行,使用下面命令连接到vPostgres数据库。
/opt/vmware/vpostgres/current/bin/psql -U postgres -d VCDB
运行 \x 命令开启扩展显示输出,然后使用下面 SQL 命令查找所有基于spbmCapabilityBasedProfileProvider的虚拟机存储策略。
SELECT surr_key, kv_provider, kv_value FROM vc.cis_kv_keyvalue WHERE kv_provider='spbmCapabilityBasedProfileProvider';
运行上面 SQL 命令后,可以获得如下图所示的内容。通过kv_value中的name的值,确定vSAN 默认存储策略的名称,比如这里是Management Storage Policy - Regular,同时需要记住surr_key中的值,比如这里是 11 ,后面需要根据surr_key来删除vSAN 默认存储策略。
根据上面获得的vSAN 默认存储策略的surr_key的值,运行下面的 SQL 命令,删除这个vSAN 默认存储策略。
DELETE FROM vc.cis_kv_keyvalue WHERE kv_provider='spbmCapabilityBasedProfileProvider' AND surr_key=11;
此时,我们再到vSphere Client界面刷新一下,刚刚删除的 Management Storage Policy - Regular 已经不在了。
使用同样的方式,删除其他不需要的vSAN 默认存储策略。当然,除了使用命令行方式,也可以选择使用图形化客户端工具。
注:以上操作不受VMware支持,也不应该在生产环境中使用,所有风险需自行评估并承担可能带来的后果。