vSAN最小要求3台主机做一个vSAN Cluster,可能会出现一种情况就是:3台死掉2台,因此,这里,我们就想讨论讨论,如何在仅有一台vSAN节点的情况下恢复;
- Z( M7 G) z* b0 v
步骤如下:

1、首先,需要在修改在ESXi Host上缺省的vSAN Storage Policy,执行如下2个esxcli命令来激活Force Provisioning:

  1. esxcli vsan policy setdefaut -c vdisk -p "((\"hostFailuresToTolerate\" i1) (\"forceProvisioning\" i1))"' y! `4 T) M; b+ Q

  2. esxcli vsan policy setdefault -c vmnamespace -p "((\"hostFailuresToTolerate\" i1) (\"forceProvisioning\" i1))"

复制代码

上面的相关命令可以通过如下命令来获取:

  1. ~ # esxcli vsan policy getdefault* J6 y, O7 \& d, o/ a6 J

  2. Policy Class  Policy Value

  3. ------------  --------------------------------------------------------& ^! C2 U; W! N' T0 P

  4. cluster       ((“hostFailuresToTolerate” i1))  K( s9 o" n" y. x* ~

  5. vdisk         ((“hostFailuresToTolerate” i1) (“forceProvisioning” i1))

  6. vmnamespace   ((“hostFailuresToTolerate” i1) (“forceProvisioning” i1)). R0 @7 b- W  c

  7. vmswap        ((“hostFailuresToTolerate” i1) (“forceProvisioning” i1))

复制代码


2、如下图所示,可以开始关闭ESXi Host,当关闭之后,vCenter所存放的vsanDatastore就不见了:
 

3、接着,需要执行如下命令来确认将被用作vSAN Datastore的第一台ESXi Host主机的设备信息:

  1. esxcli stoarge core device list

复制代码

上面的命令可以帮助我们看到相关的设备信息,例如SSD或HDD之类的,如果想要查看特定设备的信息,可以在后面加上-d的参数,如下图所示:  K# E2 i5 Q( Q- R3 O6 z+ G, h
 

4、在开建vSAN Datastore前还需要建立一个vSAN Cluster,然后,还需要vSAN Cluster的UUID信息,所以,执行如下Python命令来生成一个UUID信息:

  1. python -c 'import uuid;print str(uuid.uuid4());'

复制代码


5、接着,执行如下命令加上-u跟上UUID参数,来创建vSAN Cluster:

  1. esxcli vsan cluster join -u UUID

复制代码


6、完成之后,可以执行如下命令查看这个新创建的vSAN Cluster信息:1 i( m( ?% `' `! ^+ K

  1. esxcli vsan cluster get

复制代码

' K; S7 D) M( I. {1 v
7、接着就是需要将ESXi Hosts的磁盘添加到单节点vSAN Datastore里,利用如下命令:

  1. esxcli vsan storage add -s SSD_Disk_ID -d HDD_Disk_ID

复制代码

如下图所示:
 

8、然后,可以执行如下命令查看第7步命令的结果:4 J% o9 i$ Y" H, T9 i  S( Z" ?* ?) a( Q

  1. esxcli vsan storage list

复制代码


9、还需要配置一个for vSAN的vmkernel接口类型,命令如下:7 O' E  C" ]* @8 ]! W

  1. esxcli vsan network ipv4 -i vmk-vsan

复制代码

! M6 ]) ?0 u1 h1 e
10、之后就可以看到下图所示的vSAN情况是否可用了:
 

11、然后就可以参照部署虚拟机的方式来恢复VCSA虚拟机了……