VMware vSAN 6.6是***款在hypervisor内包含超融合加密的软件定义的存储产品。vSAN 6.6在vSAN内核中创建了静态数据加密,并在集群范围内启用,在vSAN数据存储中对所有对象进行了加密。
这一全新的特性被称为vSAN加密。 对大多数企业来说网络安全是头等大事,因此vSAN加密功能很受欢迎。IT管理员一直不乐意在操作系统层部署加密或者允许应用所有者对应用、数据进行加密。静态数据加密通过对位于vSAN数据存储上的数据进行加密解决了上述问题。
vSAN加密与硬件无关,这意味着管理员能够选择他们想要的存储硬件设备,不需要购买昂贵的自加密驱动。
VSAN加密 VS. vSphere 虚拟机加密
vSAN加密可以在混合环境以及全闪存配置环境下使用,需要一个与密钥管理互通协议1.1兼容的KMS才能与vCenter Server进行通信。vSAN加密使用xor-encrypt-xor-based tweaked-codebook模式采用AES-256 XTS密码对缓存层以及存储层进行加密。vSAN加密同样与vSAN全闪存效能功能兼容,比如重复数据删除、加密以及纠删码;这意味着其交付了高效、安全的存储。在数据进入缓存层时对其进行加密,离开缓存层时对其进行解密。***,数据进入存储层时删除重复数据并压缩,并再次对其进行加密。
vSAN加密的加密机制与vSphere 6.5虚拟机加密类似,都使用同样的由KMS提供的加密库。实际上,你可以针对vSAN加密及虚拟机加密使用同样的KMS。但除此之外没有其他相似之处。虚拟机加密通过用于I/O过滤的vSphere API对虚拟机进行加密,而vSAN加密对整个数据存储进行加密。
另一个主要的不同之处是vSAN加密采用的是二层加密。它使用KEK加密DEK。DEK是一个随机生成的key,在每个磁盘上对数据进行加密。每个vSAN主机存储加密的DEK但不在每个磁盘上存储KEK。如果主机需要KEK,需要向KMS申请。
vSAN加密工作原理
当vCenter Server从KMS请求AES-256 KEK时,vSAN加密便粉墨登场了。vCenter Server仅存储KEK的ID,并不存储key。ESXi主机使用行业标准的AES-256 XTS模式对磁盘数据进行加密。每个磁盘有一个唯一的随机生成的DEK。每台ESXi主机然后使用KEK加密DEK并在磁盘上存储加密的DEK。主机并不在磁盘上存储KEK。如果主机重启,那么要使用相应的ID从KMS请求KEK。主机能够按需解密DEK。
主机使用主机key加密核心转储而不是数据。在同一个集群中的所有主机使用相同的主机key。VSAN加密生成一个随机key在收集支持捆绑时重新加密核心转储。加密随机key时要使用一个密码。
当加密的vSAN主机重启时,不会挂载磁盘组直到其收到KEK,这意味着该过程可能需要花费几分钟。而且加密过程很消耗CPU资源。AES-NI显著改善了加密性能,因此要在系统的基础输入/输出系统中启用AES-NI。
加密过程
使用vSAN加密对数据加密,首先要在vCenter Server中增加KMS并与之建立一个受信的连接。不要在试图加密的数据存储上部署KMS,因为如果出现故障,vSAN集群内的主机必须与KMS通信。
选择你希望部署KMS的vCenter Server,在配置标签下,选择键值管理服务器并添加KMS详细信息。
图1显示了在vCenter、ESXi主机以及KMS之间建立受信连接的选项。一旦选择了上述选项之一,就可以在vSAN集群中启用加密了。
图1.选择数字证书与KMS建立信任
开启vSAN加密非常简单。只需要选择vSAN集群并进入配置标签。在vSAN下,选择通用。点击编辑按钮并勾选“打开vSAN”、“加密”复选框。一定要选择合适的KMS集群。
图2.编辑vSAN设置
这个页面,你应该还会看到“在使用前清除磁盘”以及“允许减少冗余”选项。“在使用前清除磁盘”选项在加密时清除存储设备上的现有数据。一定要意识到这会增加磁盘格式化时间。
如果vSAN集群已经部署了较多的虚拟机,而且你意识到没有足够可用的容量在加密前用于迁移数据,“允许减少冗余”选项减少了虚拟机的保护级别为执行加密空出了存储空间。该方法不会将数据迁移到集群中的其他数据;仅仅移除每个磁盘组,升级磁盘格式然后再将磁盘组添加回来。所有对象仍旧可用但减少了冗余。
一旦点击了确定,vSAN将会重新格式化磁盘组中的所有磁盘。vSAN每次移除一个磁盘组,转移磁盘组中的数据,将每块磁盘格式化为on-disk 5.0格式,重新创建磁盘组并继续对下一个磁盘组进行处理。这可能相当花时间,尤其是如果vSAN需要在重新格式化期间迁移大量的数据,时间就更长了。
注意如果在任何时点,选择禁用vSAN加密,vSAN将会执行类似的重新格式化过程移除磁盘加密。
如果需要重新生成加密key,可以在vSAN配置用户界面下完成。重新生成key有两种方式。***种是使用全新的KEK加密现有的DEK。另一种方式是使用KEK和DEK完全重新加密所有数据。后一种方法需要很长时间,因为所有数据必须使用新key重新加密。
为生成全新的加密key,单击配置标签。在vSAN下,选择通用然后单击生成全新的加密key。这会打开一个窗口,你可以生成全新的加密key,同时重新加密vSAN集群中的所有数据。为生成一个全新的KEK,单击确定。DEK将会使用全新的DEY重新加密。为生成全新的KEK和全新的DEK,并对vSAN集群内的所有数据重新加密,需要选择复选框“同时使用新key对存储上的所有数据重新加密。”