原文:http://cormachogan.com/2013/12/13/vsan-part-12-spbm-extensions-in-rvc/

注明:本文内容基于 VMware VSAN beta 版本撰写,请访问http://www.vmware.com/products/virtual-san/获得有关正式版本的更新信息。



      在 Virtual SAN (VSAN) beta 更新版中,我们发布了很多新的 Ruby vSphere 控制台 (RVC) 命令,用于检查基于存储策略的管理 (SPBM) 设置。那些曾经参与测试版计划的用户都知道,要在 VSAN 中部署虚拟机,需要为该虚拟机创建存储策略,并在该策略中规定虚拟机磁盘的镜像副本数量(允许的故障数目)或 VMDK 的条带宽度。SPBM这种基础技术就是为了对 VSAN 的这一方面进行控制的。在这篇文章中,我们会探讨 RVC 中的这些新SPBM 扩展。


      首先,我们来说说 SPBM 扩展。RVC 中总共有 8 个扩展。下面这些名称都是不言自明的:

spbm.check_compliance
spbm.profile_apply
spbm.device_add_disk
spbm.profile_create
spbm.device_change_storage_profile
spbm.profile_delete
spbm.namespace_change_storage_profile
spbm.vm_change_storage_profile


      在 RVC 中导航到一个虚拟机之后,您就可以对各个虚拟机和设备使用这些命令了。

      警告:在 RVC beta 更新版 (v1.3.2)中,有一些 SPBM 扩展并不能正常运行。我们在VSAN beta 更新版下载网站上以 RPM 的形式提供了更高版本的 RVC (v1.3.3-1)。您可以将该软件包下载到 VCVA,然后使用rpm -Uvh命令更新 RVC 版本。


      使用 RVC 1.3.3-1 版,便可成功运行SPBM 命令了。我们来看一些例子:

/localhost/CH-Datacenter/vms>ls

0Discovered virtual machine/

1VMware vCenter Operations Manager:cpu 0.00/-0.00/normal, mem 0.00/-0.00/normal

2win1:poweredOn

3win2:poweredOn

4win3:poweredOn

5win4:poweredOn

6win5:poweredOn

7win6:poweredOn

8vSphere Data Protection 5.5:poweredOn

/localhost/CH-Datacenter/vms>spbm.check_compliance 2

+-----------------+---------+------------+

|VM/Virtual Disk | Profile | Compliance |

+-----------------+---------+------------+

|win1            |FT=1    | compliant  |

|  Hard disk 1   | FT=1    | compliant  |

+-----------------+---------+------------+


Numberof 'compliant' entities: 2

/localhost/CH-Datacenter/vms>


      下一步是应用新的配置文件。配置文件位于 ~/storage/vmprofiles 中。在此示例中,我提供了两个配置文件:

/localhost/CH-Datacenter>ls storage/vmprofiles/

0FT=1

1FT=1, SW=2


     现在,我会使用命令spbm.vm_change_storage_profile将一个虚拟机上的配置文件从“FT=1”(允许的故障数目=1)更改为“FT=1, SW=2”(允许的故障数目=1,条带宽度=2),如下所示:

/localhost/CH-Datacenter/vms>ls

0Discovered virtual machine/

1VMware vCenter Operations Manager:cpu 0.00/-0.00/normal, mem 0.00/-0.00/normal

2win1:poweredOn

3win2:poweredOn

4win3:poweredOn

5win4:poweredOn

6win5:poweredOn

7win6:poweredOn

8vSphere Data Protection 5.5:poweredOn

/localhost/CH-Datacenter/vms>spbm.vm_change_storage_profile 2 -p ~/storage/vmprofiles/FT=1,\ SW=2/

ReconfigVMwin1:success

/localhost/CH-Datacenter/vms>

     

     当然,重新配置需要花一点时间。我们可以看到,执行命令spbm.check_compliance后,我们刚刚修改过存储策略的虚拟机中的硬盘会变得不合规:

/localhost/CH-Datacenter/vms>spbm.check_compliance 2

+-----------------+------------+--------------+

|VM/Virtual Disk | Profile    | Compliance   |

+-----------------+------------+--------------+

|win1            | FT=1,SW=2 | compliant    |

|  Hard disk 1   | FT=1, SW=2 | nonCompliant |

+-----------------+------------+--------------+


Numberof 'compliant' entities: 1

Numberof 'nonCompliant' entities: 1

/localhost/CH-Datacenter/vms>


      当然,我们可以使用一个非常有用的vsan.resync_dashboard命令,看看在重新配置过程中有多少数据仍在同步:

/localhost/CH-Datacenter/computers>ls

0CH-Cluster (cluster):cpu 86 GHz, memory 45 GB

/localhost/CH-Datacenter/computers>vsan.resync_dashboard 0

2013-12-1216:56:58 +0000: Querying all VMs on VSAN ...

2013-12-1216:56:58 +0000: Querying all objects in the system from 10.20.177.18 ...

2013-12-1216:56:59 +0000: Got all the info, computing table ...

+------------------------------------------------------------------------------+-----------------+---------------+

|VM/Object                                                                   | Syncing objects | Bytes to sync |

+------------------------------------------------------------------------------+-----------------+---------------+

|win1                                                                        | 1              |              |

|    [vsanDatastore (1)]9a3f9352-346a-f78d-3360-1cc1de253de4/win1-000001.vmdk|                | 48.00 GB      |

+------------------------------------------------------------------------------+-----------------+---------------+

|Total                                                                       | 1              | 48.00 GB      |

+------------------------------------------------------------------------------+-----------------+---------------+

/localhost/CH-Datacenter/computers>

     

     您可以反复运行此命令,当“Bytes To Sync(要同步的字节数)等于 0 时,表示所有内容都已完成同步。我相信,您也一定同意有些命令十分有用吧。


     最后需要注意的是,如果您要使用的 SPBM 命令要求使用“device”参数,则必须使用 ~/vms/device/...disk... 中的磁盘。


      您可以从这里查看我的所有 VSAN 博文。

      欢迎在微博上关注我,这样在我发布博客文章后您就会收到通知,并可以让您了解更多有关 VMware 存储的信息:@VMware中国


————————————————————————————————————————————


作者:Cormac Hogan

CormacHogan 现任VMware R&D 的集成工程团队存储架构师。他是爱尔兰科克郡 EMEA 总部的首批 VMware 员工之一(该总部于 2005 4 月成立),曾在 VMware 技术营销与支持部门任职。他撰写过大量关于存储的白皮书,还发表了许多关于存储最佳实践和新功能的演讲。