对于 NDMP 中的集群感知备份, LIF 的选择顺序是什么?
不可不使用
适用场景
- ONTAP 9.
- NDMP
- 数据管理应用程序(DMA)= 备份应用程序
- 集群感知型备份 (CAB)
问题解答
使用CAB配置的NDMP备份使用两种类型的通信: 控制连接 和 数据连接。
控制连接:
- DMA (备份应用程序)建立的初始连接、用于协商备份设置、参数和CAB配置。
- 在NDMP日志中、这是以下通信
- DMA<<S or DMA>> S
- S <配置文件
- 此通信始终使用DMA选择的接口。
- 即、 DMA使用特定IP地址将NDMP主机作为备份目标。
- 只要将端口配置为侦听端口10000上的NDMP请求、就可以建立此关系。
- 端口是否能够侦听此通信取决于拥有此LIF的SVM 以及同一SVM是否启用了NDMP:
数据连接:
- 这是为了将备份数据(转储的数据)发送 到初始控制通信期间由DMA指定的远程地址而建立的连接。
- NDMP调试日志示例:
Wed Dec 21 2016 10:10:32 +00:00 [kern_ndmpd:info:5123] [46049] DEBUG: DMA>>S V4 sequence=10 (0xa)
Wed Dec 21 2016 10:10:32 +00:00 [kern_ndmpd:info:5123] [46049] DEBUG: Time_stamp=0x585a5525 (Dec 21 10:10:45 2016)
Wed Dec 21 2016 10:10:32 +00:00 [kern_ndmpd:info:5123] [46049] DEBUG: message type=0 (NDMP4_MESSAGE_REQUEST)
Wed Dec 21 2016 10:10:32 +00:00 [kern_ndmpd:info:5123] [46049] DEBUG: message_code=0x40a (NDMP4_DATA_CONNECT)
Wed Dec 21 2016 10:10:32 +00:00 [kern_ndmpd:info:5123] [46049] DEBUG: reply_sequence=0 (0x0)
Wed Dec 21 2016 10:10:32 +00:00 [kern_ndmpd:info:5123] [46049] DEBUG: error_code=0 (NDMP4_NO_ERR)
Wed Dec 21 2016 10:10:32 +00:00 [kern_ndmpd:info:5123] [46049] DEBUG: addr_type=1 (NDMP4_ADDR_TCP)
Wed Dec 21 2016 10:10:32 +00:00 [kern_ndmpd:info:5123] [46049] DEBUG: tcp_addr len=1 (0x1)
Wed Dec 21 2016 10:10:32 +00:00 [kern_ndmpd:info:5123] [46049] DEBUG: tcp_addr[0] ip_addr=0xc0a8002a [192.168.0.42]
Wed Dec 21 2016 10:10:32 +00:00 [kern_ndmpd:info:5123] [46049] DEBUG: tcp_addr[0] port=4477
Wed Dec 21 2016 10:10:32 +00:00 [kern_ndmpd:info:5123] [46049] DEBUG: tcp_addr[0] addr_env_len=0 (0x0)
注意: DMA用于设置初始控制通信的LIF并不总是用于数据连接的LIF。
此data_connect操作将使用什么数据LIF?
- 无法明确设置用于数据连接的接口、但可以将其隔离到一组可能的特定接口。
- 这会带来一些挑战、因此应了解这一点、以便最好地隔离和保证使用所需的接口:
根据您最初与之进行控制通信的SVM、您将根据相应的首选接口角色使用此SVM的接口:
cm2520-ams::> vserver services ndmp show -vserver cm2520-ams -fields preferred-interface-role
vserver preferred-interface-role
---------- -----------------------------------
cm2520-ams intercluster,cluster-mgmt,node-mgmt
- 此处定义的顺序是使用相应SVM所拥有的接口的顺序。
- 集群间
- 如果集群间发生故障或不存在、请使用cluster-mgmt,
- 如果集群管理失败或不存在、请使用节点管理
- 最初通过数据SVM进行控制通信时、数据连接只有两个可能的接口:Data、Intercluster
cm2520-ams::> vserver services ndmp show -vserver iscsi -fields preferred-interface-role
vserver preferred-interface-role
------- ------------------------
iscsi intercluster,data
- 由于CAB会检查卷相关性(卷所在的节点)、因此CAB将始终使用同一节点上的接口。
- 如果节点中不存在首选接口、则会选择下一个首选接口。
- 特殊情况:可通过首选接口角色选择多个接口。
- 根据所选的首选接口角色、该特定节点上通常会有多个可用于该特定角色的接口。
示例: 使用数据接口:
- 问题:可能需要 在端口e0e上使用"iSCSI_NDP_ADMIN"进行NDMP通信。
- 无法配置接口的选择顺序,但我们可以根据LIF使用 的当前端口和的输出确定首先使用哪个接口
ifconfig -a
。 - 接口的使用顺序取决于接口在的节点运行输出中的显示顺序
ifconfig -a
。
- 无法配置接口的选择顺序,但我们可以根据LIF使用 的当前端口和的输出确定首先使用哪个接口
cm2520-ams::> node run -node cm2520-ams-02 ifconfig -a
- 因为
e0c
显示在e0e,
LIF的前面iscsi_lif_n2
&iscsi_nfs
将首先用于data_connect。 -
iscsi_ndmp_admin
要使用第三个LIF、前两个LIF上的data_connect必须失败。 - 由于所有这些生命 周期都驻留在同一子网中、因此第一个或第二个生命周期可能会成功。
- 共享子网和接口可能会干扰现有生产数据连接。
- 注意:最佳做法是,在不同子网中将备份流量与生产流量分开,以防止拥塞和干扰,在这种情况下,LIF选择错误。
- 如何解决这一问题?
iscsi_ndmp_admin
在隔离的子网中配置现有LIF和BKUP目标、前两个接口无法访问该子网。- 这样可以确保使用所需的接口。
- 将现有LIF移动
iscsi_ndmp_admin
到端口e0a
可确保在data_connect期间首先选择此LIF。 - 最好利用集群间LIF来减少备份期间可能尝试的LIF数量。
- 如果现有的集群间LUN因网络限制而无法访问备份目标、则 可能需要在新的IP空间中配置新的集群间LUN。
- 在新IP空间中配置新的集群间lifs后、现有集群对等关系不会受到影响。
- 在这种情况下、如果
e0a
默认 IP空间中的新集群间LIF或现有集群间LIF正在使用、则在将SVM配置为首先查找集群间LIF时、将首先选择该LIF:
追加信息
有关NDMP如何与非默认IP空间中的LIF配合使用的详细信息、请参阅"当LIF或SVM位于非默认IP空间中时、NDMP集群感知型备份无法同时使用集群间LIF"
注意:中的VLAN顺序 ifconfig -a
取决于创建顺序
注意: 如果首选接口角色为集群间、请确保集群间LIF类型托管在托管要备份的卷的集群的所有节点上