LUN设备问题:
https://blog.51cto.com/ccchencheng/738194
VDDK SAN传输模式:
https://blog.csdn.net/oZhuZhiYuan/article/details/77814937
磁盘传输模式总结:
VMware磁盘数据的传输方式主要有本地文件读写、基于LAN的NBD及NBDSSL(具有加密的NBD)、LAN-free的SAN和SCSI HotAdd四种,开发人员可以通过VDDK对VMware虚拟机的磁盘数据进行访问。
其中本地文件读写方式不支持网络传输,必须将使用VDDK的应用程序运行在ESXi主机上才能对虚拟机磁盘文件进行读写,因此几乎没有备份软件会使用该种传输方式;NBD以及NBDSSL属于LAN-based的方式,所有磁盘数据的传输,都会经过ESXi主机来发送,会增加ESXi主机的压力,传输效率较低;SAN和HotAdd都是LAN-free的方式,不需要ESXi主机的参与,所以传输效率较高。
- 本地文件
开发人员可以自己编写程序直接从ESXi主机的目录 /vmfs/volumes 下对磁盘数据进行读写,此文件访问方法内置在VixDiskLib中,该方式始终可用于本地存储,但不支持网络传输,因此很少用于vSphere备份。 - SAN
2.1 简介
SAN通过光纤通道、iSCSI或者SAS连接读写磁盘数据,这种方式要求备份代理服务器被部署在生产端的存储区域网络内。
如图1所示,这种方式非常高效,备份代理直接从SAN存储中读取数据,整个数据的读写过程都不用ESXi主机参与。但是运行备份代理的服务器必须是一台物理机。
在SAN传输模式下,虚拟磁盘库从ESXi主机获取有关VMFS LUN的布局信息,并使用此信息直接从虚拟磁盘所在的存储LUN读取数据。这是部署在连接到SAN的ESXi主机软件的最快传输方法。
SAN存储设备可以包含SATA驱动器,但是目前在VMware硬件兼容性列表上没有SATA连接的SAN设备。
通常只要这个存储设备可以映射成LUN(不支持诸如NTFS或EXT的文件系统),就可以使用 SAN传输方式。在SAN模式中,LUN必须能作为一个裸设备被访问。当前SAN模式支持基于光纤通道,iSCSI和SAS建立的存储阵列(SAS是串行的SCSI)。
VMware的vSAN(通过直接连接设备的存储网络)不支持SAN方式的传输。因为vSAN使用的方法和模式与SAN不兼容。一旦VDDK检查到正在使用vSAN则VDDK将不会使用SAN方式,而是去选择其它的高级传输方式。
2.2 限制条件
使用SAN传输的限制条件为:
- 备份软件必须运行在物理主机上;
- 备份软件能够访问存储目标磁盘文件所在的LUN。
2.3 不支持SAN传输的情况 - 诸如NTFS或EXT的文件系统不支持SAN传输;
- VMware的vSAN(通过直接连接设备的存储网络)不支持SAN传输。
- HotAdd
3.1 简介
HotAdd传输即通过热添加的方式来读写磁盘数据。热添加是VMware虚拟机的一大特点,热添加(HotAdd)的意思就是可以在虚拟机运行过程中动态添加设备。VMware虚拟机除了能热添加SCSI硬盘之外,还能热添加CPU和内存。
如果备份软件运行在vSphere的虚拟机之上,备份软件通过对目标虚拟机打快照,创建一个到目标虚拟机的链接克隆,然后将“链接克隆”的虚拟机磁盘副本添加到运行备份软件所在虚拟机,备份软件就可以对目标虚拟机磁盘副本读取,从而完成对目标虚拟机的备份。备份代理(运行备份软件的虚拟机)只是将目标虚拟机的磁盘副本热添加到备份代理,因此在备份过程中,目标虚拟机仍然可以继续运行。
VixTransport负责生产临时的磁盘副本以及将磁盘副本添加到备份代理所在虚拟机。VixTransport可以将目标虚拟机的磁盘副本添加到备份代理,就能像本地磁盘VMDK一样对它进行数据读取。Hotadd只支持SCSI接口和SATA接口的硬盘不支持IDE接口硬盘。Hotadd也支持存在NFS的磁盘文件。
HotAdd是将虚拟磁盘数据从虚拟机获取到备份设备(或备份代理),从而发送到媒体服务器的较理想方式,图2显示了怎样使用Hotadd添加磁盘。
HotAdd传输与SAN传输方式相比,占用更多的ESXi主机资源,但对于存储在本地磁盘的虚拟机仍然可以使用HotAdd进行数据传输而不使用局域网的方式。
3.2 限制条件
使用HotAdd的限制条件:
- 备份软件必须运行在vSphere的虚拟机上;
- 目标虚拟机的磁盘必须是SCSI或者SATA接口;
- 运行备份软件的虚拟机必须拥有SCSI控制器;
- 运行备份软件的虚拟机必须能够访问到存储目标虚拟机磁盘文件的datastore;
- 运行备份软件虚拟所在的datastore与目标虚拟机所在的datastore,VMFS版本号与块大小必须相同。
3.3 不支持HotAdd传输的情况 - 如果备份服务器运行的虚拟机存储在VMFS-3的文件系统上,对于被挂载的磁盘有最大容量限制。如表1所示,能HotAdd的最大磁盘容量与文件系统的块大小有关。超过这个将不能进行HotAdd;
表1 VMFS-3 HotAdd 备份服务器挂载磁盘容量
VMFS Block Size Maximum Target Disk Size
1MB 256GB
2MB 512GB
4MB 1024GB
8MB 2048GB
- 如果一开始将独立的ESXi主机添加到受保护环境,后来又将该ESXi主机添加到vCenter进行管理,那么HotAdd也将失败;
- 对于独立磁盘HotAdd是没有用的,因为独立磁盘不支持打快照;
- 一个SCSI控制器最多能挂载15块硬盘,当同时运行多个备份/恢复任务的时候,如果控制器的槽位用光了,那么后面的任务就不能使用HotAdd对磁盘数据进行读写;
- 在独立主机模式下,只有运行备份服务器的虚拟机与目标虚拟机在同一主机的时候才能进行HotAdd。如果运行备份服务器的虚拟机与目标虚拟机不在同一个集群那么HotAdd也有可能失败;
- IDE磁盘不能使用HotAdd进行数据传输。
- NBD/NBDSSL
4.1 简介
NBD(network block devcie)或NBDSSL(加密过的NBD)传输方式是基于局域网的传输方式。NBD是一种类Linux内核模式, 将远程ESXi主机上的存储视为块设备。NBDSSL与NBD类似,区别在于先将要传输的数据使用SSL进行加密,然后再使用TCP协议进行传输。这种传输方式是VDDK内置的,因此始终可用。
如果备份代理和目标虚拟机都被部署在一个私网,使用不加密的NBD。因为与NBDSSL相比,NBD更快需要更少的资源。但是对于敏感信息即使在私网进行数据传输,VMware建议还是使用NBDSSL。NBD传输方式的数据流向如图3所示。
这种方式下,ESXi主机首先从存储中获取数据然后通过局域网发送到备份服务器。当磁盘容量很大时可能需要花费很长时间才能将数据传完。这种传输模式与hotadd和SAN比最大的缺点是,它将占用大量的局域网带宽。但是NBD也有优点, ESXi能使用任何的存储,包括本地存储、SAN和NAS存储;备份软件可以部署在虚拟机上,这样的话可以将备份代理加入到一个低优先级资源池,将备份过程对生产端的影响减到最小。
如果使用NBD方式打开一个非快照磁盘的话,将会选择目标虚拟机所在主机进行数据传输。如果使用NBD方式打开一个快照盘,那么VDDK将发送磁盘所在datastore给vCenter,然后vCenter将查询哪些ESXi主机可以访问该datastore,并生产一个访问列表,vCenter将选择这个列表中的第一台ESXi主机。由于vCenter生产的访问列表时无序的,因此传输磁盘数据的ESXi主机并不一定是目标虚拟机所在的主机。
4.2 NBD的性能优化
NBD方式进行数据传输的时候,VDDK发送的是同步请求。也就是请求发出去以后会一直等着,知道服务器收到服务器的响应。ESXi主机首先将数据从磁盘读入内存,然后再通过网络发送给VDDK的调用者。在请求响应的这段时间内,没有其它数据的传输。在某种程度上,可以同时使用多路流来读取一个或者多个磁盘来克服这个限制。
5 总结
除本地文件读写外的三种传输各有优劣如表2所示,SAN效率最高,但是备份软件必须部署在物理机上,,HotAdd效率次之,且备份软件必须部署在虚拟机,NBD/NBDSSL最低,但是NBD/NBDSSL可以使用本地磁盘、SAN及NAS等多种存储,且备份软件部署在物理机和虚拟机上均可,当其它方式不可用时,可选择该方式。
表2 三种传输方式对比
传输方式 部署位置 支持的目标虚拟机磁盘接口 支持的ESXi存储类型 传输效率
HotAdd vSphere虚拟机 SCSI,SATA 本地磁盘,SAN,NAS 较高
SAN 物理机 SCSI,SATA,IDE SAN 最高
NBD/NBDSSL 任意位置 SCSI,SATA,IDE 本地磁盘,SAN,NAS 低