Windows SMB 卷驱动¶
https://blueprints.launchpad.net/cinder/+spec/hyper-v-smbfs-volume-driver
目前,Cinder 卷驱动利用网络附加存储文件系统,例如 GlusterFS 或 NFS。此蓝图的目的是添加一个支持基于 SMB 的卷后端的卷驱动。
此驱动将支持 Windows Server 2012(包括 R2)。
问题描述¶
SMB 是一种广泛使用的协议,尤其是在 Microsoft 世界中。它的简单性以及 SMB 3 引入的重大改进使得这种类型的卷后端成为一个很好的替代方案。
SMB 3 带来了诸如透明故障转移、使用多个网卡的通道、加密通信和 RDMA 等功能。
此驱动将向后兼容,支持旧版本的 SMB。它将支持使用任何类型的 SMB 共享,包括
从 Scale-Out 文件服务器到基本的 Windows 共享;
Linux Samba 共享;
供应商特定的硬件导出 SMB 共享。
用例¶
提议的变更¶
此驱动将包含 Juno 版本所需的所有功能。它将与其他网络附加文件系统驱动程序具有相似的流程,将托管在 SMB 共享上的镜像作为卷进行管理。
它将支持 vhd 和 vhdx 镜像,这些镜像将托管在 SMB 共享上。该驱动将支持基于密码的身份验证来挂载 SMB 共享。
快照管理将以类似于 Gluster 驱动程序的方式进行,使用一个额外的“.info”文件,其中包含快照 ID 与其实际路径之间的映射。这是必需的,因为路径可能会随着时间的推移而改变(例如,当从链中删除快照时,备份文件将被更改)。将使用差异 vhd/vhdx 镜像作为备份文件。
此驱动将基于适用于 Linux 发行版的 SMB 卷驱动。
备选方案¶
无
数据模型影响¶
无
REST API 影响¶
无
安全影响¶
无
通知影响¶
无
其他最终用户影响¶
无
性能影响¶
该驱动将定期确保选择的共享已挂载,并检索诸如可用空间或总分配空间等信息。
某些卷相关操作需要同步。
其他部署者影响¶
用户将提供一个 SMB 共享列表,卷可以在其上驻留。此列表将放置在 Cinder 配置文件中配置的路径上的文件中。此共享列表可以包含 SMB 挂载选项,例如标志或凭据。
配置文件还将包含 Samba 配置文件的路径。也可以配置超额提交和已用空间比率。
用户可以选择使用 vhd 或 vhdx 镜像。卷类型可以在创建卷时作为额外的规范进行解析。
开发人员影响¶
无
实现¶
负责人¶
工作项¶
提供使用托管在 SMB 共享上的镜像的卷相关操作支持。
覆盖特定于平台的 Linux SMB 卷驱动方法。
依赖项¶
- Libvirt smbfs 卷驱动蓝图
https://blueprints.launchpad.net/nova/+spec/libvirt-smbfs-volume-support
- Hyper-V smbfs 卷驱动蓝图
https://blueprints.launchpad.net/nova/+spec/hyper-v-smbfs-volume-support
- Linux smbfs 卷驱动蓝图
https://blueprints.launchpad.net/cinder/+spec/smbfs-volume-driver
测试¶
Cinder CI 将测试 SMB 相关功能。
文档影响¶
将记录使用 SMB 后端的内容。
参考资料¶
无