通过调整PV的服务端连接位置信息,优化Pod中计算资源和存储资源的连接信息,一方面可以提升数据的读写性能,另一方面也可以提升连接的可靠性和容错能力。
前提条件:HBlock的存储池级别为room,rack,server,才能调整PV的服务端连接位置信息。
调整的步骤如下:
停止PV关联的所有Pod。
kubectl delete -f pod1.yaml -f pod2.yaml -f podN.yaml
调整PV的服务端连接位置。
如果是第一次调整PV的服务端连接位置,使用下列命令:
kubectl annotate pv pv-name faultDomains=faultDomain1,faultDomain2,faultDomainN
如果先前已经调整过PV的服务端连接位置,使用下列命令:
kubectl annotate pv pv-name faultDomains=faultDomain1,faultDomain2,faultDomainN --overwrite
pv-name:需要调整服务端连接位置的PV名称。
faultDomains:卷的服务端连接位置信息。根据存储池的故障域,修改Target所在服务器的列表(仅集群版支持),LUN关联的Target优先从该服务器列表中选择所在服务器。例如存储池为rack级别,其拓扑图涵盖rack1、rack2、rack3、rack4中的节点,且faultDomains指定rack1、rack2,那么修改LUN的Target时,LUN关联的Target优先从rack1、rack2所包含的此存储池的服务器列表里进行选择,每个rack限选一个服务器。
注意
对于同一 PV,其faultDomains的取值必须限定在HBlock集群的同一存储池内。
faultDomains的取值应低于或等于HBlock集群存储池的故障域等级。例如,若存储池default的故障域等级为rack,则faultDomains只能配置为rack或server等级的节点,不得配置高于rack等级的节点,如room1。
不得配置重复节点。例如:rack1,rack1, 或者server1,rack1:server1。
启动PV关联的所有Pod。
Kubectl apply -f pod1.yaml -f pod2.yaml -f podN.yaml