已索引
存储控制器
SCSI:
- BusLogic Parallel
- LSI Logic Parallel
- LSI Logic SAS(默认的 SCSI 控制器,完全虚拟的,不是半虚拟化的,一个控制器可接16-1=15个磁盘)
- VMware Paravirutal SCSI (推荐这个,性能更好,能挂接的磁盘也更多,一个控制器可接 64-1=63个磁盘)
- AHCI SATA controller(SATA盘用这个,只有完全虚拟化的接入模式)
- Virutal NVMe(SSD用这个,6.7之后添加的控制器类型)
磁盘模式
- 从属模式:支持快照,是磁盘模式的默认设置
独立模式:不支持快照,可将不做快照的磁盘设置为独立模式
- 独立-持久:写入持久模式的磁盘的所有数据都会永久性地写入磁盘
- 独立-非持久:关闭或者重置虚拟机时,在非持久模式下对更改将丢失,比如虚拟桌面应用场景
磁盘置备模式
- 精简置备(Thin-Provisioned): VMs use storage space as needed.
厚置备(Thick-Provisioned): uses all the defined disk space at the creation of the virtual disk.
- 立即置零(eager zeroed): every block is prefilled with a zero
- 延迟置零(lazy zeroed, 默认): every block is filled with a zero when data is written to the block. (先分配指定大小的空间,使用多少,置零多少)
精简置备就是不立即分配指定大小的磁盘空间,使用多少分配多少,厚置备就是立即分配所有空间。
对于精简置备如果大量虚拟机突然发生大量读写,实际使用空间需求可能会超过数据存储的大小,此时选择厚置备更好,厚置备不存在超分的问题。另外,由于精简置备写的比较分散,它的读取效率没有厚置备好(写没有影响,直接写就行了)。如果虚拟机变化不大,选择精简置备。
精简置备磁盘空间回收
上层虚拟机删除的文件,在磁盘上只是被标记为删除,实际上并没有释放空间,这对精简置备是一个比较严重的问题(对于厚置备问题不大)。VMFS 5.0 的时候,需要手动运行 unmap 命令来回收那些已经标记为删除但是没有清空的磁盘空间。VMFS 6.0 开始会自动回收。
思考:unmap是否会回收那些已经分配但未使用的空间?
unmap 是为精简置备而设计,对于精简置备,使用多少分配多少,所以,不存在分配但未使用的空间,不用考虑这个问题。
通过 unmap 手工回收空间的方法:
注意:如果您是在 ESXi 6.5 中使用 VMFS6,则该方法不适用。
要回收精简置设备的 VMFS 数据存储上的未用存储块,可运行以下命令:# esxcli storage vmfs unmap --volume-label=volume_label|--volume-uuid=volume_uuid --reclaim-unit=number
--reclaim-unit指定每次迭代 UNMAP 的 VMFS 块数。该参数为可选项。如果未指定此参数,则该命令使用默认值 200。
如果 UNMAP 操作中断(例如由于按下 CTRL-C),可能会在 VMFS 数据存储的根位置留下临时文件(不会超出 --reclaim-unit 的大小)。但当针对数据存储再次运行该命令时,如果该命令成功完成,临时文件将被删除。
修改磁盘置备模式
点击虚拟机的磁盘文件(就是那个大的 vmdk 文件),然后点击 "Inflate" 按钮,可把虚拟机的磁盘从原来的精简置备变成立即置零后置备。也可以通过迁移来把厚置备变成精简置备,或者把精简置备变成厚置备。
RAC 配置 RDM 共享磁盘
先在节点1上操作:
1、添加一个新的 SCSI 控制器
类型:LSI Logic SAS
SCSI 总线共享:物理
默认的 SCSI 控制器是 SCSI 控制器0,自己新建的为 SCSI 控制器1.
2、添加新设备 > RDM 磁盘
选择为其分配的 LUN
虚拟设备节点:为其选择刚新建的 SCSI 控制器1。
添加完成后,可以看到磁盘文件的路径,记下该路径,后续节点会用到。
在其它节点上操作:
1、添加一个新的 SCSI 控制器
类型:LSI Logic SAS
SCSI 总线共享:物理
默认的 SCSI 控制器是 SCSI 控制器0,自己新建的为 SCSI 控制器1.
2、添加新设备 > 现有磁盘
根据上面记录的路径选择磁盘。
虚拟设备节点:必须跟第一个节点的 SCSI 控制器和编号保持一致。
关于 Raw Device Mapping (RDM)
RDM gives a VM direct access to a physical LUN.
The mapping file (-rdm.vmdk) that points a VM to a LUN must be stored on a VMFS datastore.
RDM磁盘不能做快照,也没有磁盘模式的设定。
映射文件不占用DataStore容量,该文件仅包含描述映射到LUN的磁盘信息,真正的数据存储在LUN上。
RDM兼容模式:
物理兼容模式:数据直接从OS到LUN,不支持Snapshot, Clone, FT, 最大可设置64TB,文件名是 *-rdmp.vmdk。
虚拟兼容模式:数据从OS经过VMK到LUN,支持Snapshot, Clone, FT, 最大可设置62TB,文件名是 *-rdm.vmdk。
