01-正文
本章节下载: 01-正文 (2.36 MB)
SeerEngine-WAN是构建广域网的控制组件,可实现WAN承载场景的业务自动化和智能流量调度。
SeerEngine-WAN基于统一数字底盘运行,需要先安装统一数字底盘,作为统一数字底盘的组件进行部署。
统一数字底盘的安装和部署基于Matrix,该平台基于Kubernetes,实现了对Docker容器的编排调度。Matrix主要用于Kubernetes集群的搭建,微服务的部署,以及系统、Docker容器、微服务等的运维监控。
SeerEngine-WAN组件可在Matrix融合部署页面进行安装,部署广域网场景环境的操作步骤可参考表2-1。
|
步骤 |
具体操作 |
说明 |
|
准备服务器 |
根据组网需求,准备1台或3台服务器 |
必选,硬件和软件需求,请参见服务器配置要求 |
|
安装操作系统 |
在服务器上安装操作系统及依赖包 |
必选,具体步骤请参见《H3C 统一数字底盘操作系统安装指导》 |
|
安装Matrix |
安装Matrix |
必选,SeerEngine-WAN基于Matrix页面部署,部署SeerEngine-WAN前需要先部署Matrix,具体步骤请参见安装Matrix |
|
部署统一数字底盘 |
1. 创建Matrix集群 2. 部署Base必选应用包 |
必选,具体步骤请参见部署统一数字底盘 |
|
部署SeerEngine-WAN |
必选,所需安装包详见安装包准备 |
|
|
必选,勾选需部署的应用及其依赖 |
||
|
必选,选择所选应用的安装包版本 |
||
|
必选,根据硬件支持的规模选择资源档位 |
||
|
必选,配置组件部署的节点和网络参数 |
· 安装SeerEngine-WAN时,需要先批量上传安装包并进行批量部署,请提前准备好所需安装包。
· 安装SeerEngine-WAN依赖统一数字底盘的Base包和其他应用包,所需的应用安装包请参见表3-1。
· 安装包的名称格式如下表所示,其中version为版本号。
· “必选”意为:如需正常运行SeerEngine-WAN组件,必须安装的应用包;“可选”意为:可根据需求安装应用包,如不安装,将无该功能。
|
组件名称 |
安装包名称 |
功能说明 |
说明 |
|
统一数字底盘 |
UDTP_Base_<version>.zip |
基础服务组件:提供融合部署、用户管理、权限管理、资源管理、租户管理、菜单管理、日志中心、备份恢复和健康检查等基础功能。 |
必选 |
|
BMP_Common_<version>.zip |
通用服务组件:提供大屏管理、告警、告警聚合和告警订阅等功能。 |
必选 |
|
|
BMP_Connect_<version>.zip |
连接服务组件:提供上下级站点管理、WebSocket通道管理和NETCONF通道管理功能。 |
必选 |
|
|
SeerEngine-WAN |
WAN_SDNC_<version>.zip |
控制组件功能组件 |
必选 |
|
wBGP |
WAN_wBGP_<version>.zip |
wBGP功能组件 |
可选 |
|
Slice |
WAN_Slice_<version>.zip |
网络切片功能组件 |
可选 |
组件支持单机部署模式和集群部署模式,支持物理服务器部署和虚拟机部署。有关硬件配置的详细描述可参考硬件资源计算工具。
登录http://iservice.h3c.com,选择[云端工具>硬件资源计算]进入硬件资源计算页面,输入数据后获取评估结果,该评估结果用于参考。
· 需在服务器上安装操作系统及依赖包,操作系统的支持情况请参见《H3C 统一数字底盘操作系统安装指导》。
· SeerEngine-WAN组件的部署、升级和卸载等需要在Matrix上进行,部署SeerEngine-WAN组件之前需确保Matrix已完成部署。
用户不需要安装客户端软件,使用浏览器即可访问SeerEngine-WAN。推荐使用的浏览器为Google Chrome 96及以上版本。
安装环境请参见表3-2中所示的各个检测项目,确保安装SeerEngine-WAN的条件已经具备。
|
检测项 |
检测标准 |
|
|
服务器 |
硬件检查 |
请检查硬件是否符合要求(包括CPU、内存、硬盘、网卡等) |
|
软件检查 |
请检查系统时间已配置完成,建议配置NTP时间同步,整网使用统一的时钟源同步时间 |
|
|
客户端 |
请确保浏览器版本符合要求 |
|
为了确保业务的正常运行,必须将服务器的CPU供电模式设置为高性能(performance)模式,并关闭RAID卡的PR(Patrol Read,巡读)和CC(Consistency Check,一致性校验)功能(如不支持PRCC,则无需关闭)。具体操作方式请参见服务器/RAID卡相关产品手册,或联系服务器/RAID卡的生产厂家技术支持人员。
上传应用安装包之后,请参见如下命令对软件包执行MD5验证,确保软件包的完整性和正确性。
(1) 查看已上传的安装包。
[root@node1 ~]# cd /opt/matrix/app/install/packages/
[root@node1 packages]# ls
BMP_Common_E7401_x86.zip BMP_Connect_E7401_x86.zip
…略…
(2) 查看安装包的MD5值,以UDTP_Base_E7401_x86.zip为例。
[root@node1 packages]# md5sum UDTP_Base_E7401_x86.zip
c5751a529b7a6f2b34284e8e07df8831 UDTP_Base_E7401_x86.zip
(3) 将上述步骤中获取到的MD5值与发布的软件版本文件MD5值进行比对,若一致,则软件包正确。
需根据不同的业务量和不同的服务器配置需求进行不同的磁盘RAID和分区规划。
请参考资源计算工具中的要求进行磁盘配置和磁盘分区,请勿使用自动分区。
部署控制组件之前,请根据需要提前规划网络。
若需要部署wBGP,其网络规划请参见网络规划-部署wBGP组件。
本章节以集群模式为例进行说明。
控制组件集群在创建过程中,会涉及多个网络,如图4-1所示。
表4-1 网络说明
|
网络名称 |
说明 |
|
容器网络 |
控制组件集群间微服务通信的网络,用于集群系统的内部通信,容器网络的IP对外部不可见 |
|
南向网络 |
用于控制组件和南向设备进行通信,运行NETCONF、BGP等南向协议,控制组件的南向虚IP落在南向网络中,也可称为南向设备管理网络 |
|
北向网络 |
用于用户登录宿主机、控制组件的Web页面访问和云平台对接等,控制组件的北向虚IP落在北向网络中,也称为宿主机管理网络 |
图4-2 组网说明
上述网络主要分为两种类型:Calico和MACVLAN。其中容器网络为Calico类型,南向网络和北向网络为MACVLAN类型。
· Calico
Calico是一个开源的网络和网络安全解决方案,适用于容器、虚拟机和基于主机的本地工作负载。Calico网络为容器间交互所使用的网络,为内部使用。Calico网络所使用的网段为部署Matrix集群时设置的容器IP地址池,默认为177.177.0.0,安装部署组件时无需再配置地址池给Calico网络使用。Calico网络和MACVLAN网络可复用同一个网口。
· MACVLAN
MACVLAN网络用来作为管理网络。MACVLAN虚拟网络技术可以实现一个物理网口绑定多个IP和多个MAC地址的功能。一些应用程序,尤其是遗留应用程序或监控网络流量的应用程序,希望直接连接到物理网络。在这种情况下,可以使用MACVLAN网络驱动程序为每个容器的虚拟网络接口分配一个MAC地址,使其看起来是一个直接连接到物理网络的物理网络接口。物理网口需要能够处理“混杂模式”,即一个物理接口可以分配多个MAC地址。
表4-2 IP地址规划
|
网络类型 |
IP地址类型 |
IP地址个数 |
说明 |
|
MACVLAN(南向网络) |
SeerEngine-WAN南向IP地址 |
3个(IPv4或IPv6) |
SeerEngine-WAN与设备建立BGP-LS邻居的IP地址 |
部署wBGP组件之前,请根据需要提前规划网络。
表4-3 wBGP使用的网络类型和数量
|
组件名称 |
网络类型 |
网络数量 |
说明 |
|
|
wBGP |
管理和业务网络合一 |
MACVLAN(管理网络) |
1 |
既用于wBGP和SeerEngine-WAN之间的互通,又用于承载业务流量 |
|
管理和业务网络分离 |
MACVLAN(管理网络) |
1 |
仅用于wBGP和SeerEngine-WAN之间的互通 |
|
|
MACVLAN(业务网络) |
1 |
仅用于承载业务流量 |
||
图4-3 云数据中心场景(部署wBGP且管理和业务网络分离)
SeerEngine-WAN南向网络与wBGP管理网络属于不同的网段,需要在连接对应网口的交换机上配置路由表项,实现SeerEngine-WAN南向网络与wBGP管理网络的三层互通。
表4-4 网络说明
|
网络名称 |
说明 |
|
管理网络 |
针对控制组件的网络,使用eth1和控制组件的南向IP进行通信,运行NETCONF管理协议 |
|
业务网络 |
在实际部署中,管理网络和业务网络通常分别落在两块网卡上,从而达到管理和业务隔离的效果 |
表4-5 IP地址规划
|
网络类型 |
IP地址类型 |
IP地址个数 |
说明 |
|
MACVLAN(管理网络) |
wBGP附属网络IP地址 |
1个(IPv4或IPv6) |
管理和业务网络合一 |
具体请参考《H3C 统一数字底盘操作系统安装指导》。
(1) 获取软件安装包,并将软件包拷贝至服务器的待安装目录下,或使用FTP等文件传输协议将软件包上传到指定目录。
¡ (推荐)root用户在/root目录下,或在/root下创建目录。
¡ (推荐)非root用户(如admin)在/home/admin下。
· 如果需要使用FTP、TFTP协议上传下载,请选择binary模式(二进制模式)传输,以免损坏软件包。
· 如需安装Matrix的E7105H04及以上版本,或E7302及以上版本,若Docker版本为20.10.24,可直接安装;若Docker版本低于20.10.24,请先安装E7105或E7105H02的Matrix版本,然后将Docker升级至20.10.24,最后再将Matrix升级到E7105H04或E7302及以上版本。
(2) 上传完成后,请参考验证软件包对Matrix的安装包进行MD5校验。
若使用root用户安装软件包,或者使用admin用户安装NingOS操作系统,可直接跳过该章节。
(1) 执行su root命令切换为root用户后,在root用户下确认/etc/passwd配置文件。已配置的非root用户名称是否与配置文件中的名称一致,此处以user为例,如下图所示。如果不一致请修改配置文件中的用户名,其他参数无需修改,保持默认设置即可。
[root@node1 ~]# vim /etc/passwd
…
user:x:1000:1001:user:/home/user:/bin/bash
…
(2) 在root用户下修改/etc/sudoers配置文件。
[root@node1 ~]# vim /etc/sudoers
…略…
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
user ALL=(root) NOPASSWD:/bin/bash
## Allows members of the 'sys' group to run networking, software,
## service management apps and more.
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
user ALL=(root) NOPASSWD:/bin/bash
user ALL=(root) NOPASSWD:/usr/bin/rpm,/bin/sh
…略…
(3) 在root用户下修改/etc/pam.d/login配置文件。
[root@node1 ~]# vim /etc/pam.d/login
#%PAM-1.0
auth substack system-auth
auth [user_unknown=ignore success=ok ignore=ignore auth_err=die default=bad] pam_securetty.so
…略…
(4) 在root用户下修改/etc/ssh/sshd_config配置文件。
若当前环境为统一数字底盘与PolarDB数据库的融合部署,请勿执行此步骤。
[root@node1 ~]# vim /etc/ssh/sshd_config
…略…
#LoginGraceTime 2m
PermitRootLogin no
…略…
(5) 修改完成后,执行systemctl restart sshd命令重启sshd服务。
· 所有节点的安装用户需保持一致,若选择非root作为安装用户,需要在脚本执行命令前添加sudo /bin/bash指令。
· 安装Matrix的用户需与所属用户组名称保持一致。
(1) 进入Matrix软件包(.zip文件)的存放路径,安装Matrix。软件包的名称格式为UDTP_Matrix_version_platform.zip,其中version为版本号,platform为CPU架构类型。下面以root用户、x86_64版本为例进行安装。
[root@node1 ~]# unzip UDTP_Matrix_E7401_x86_64.zip
[root@node1 ~]# cd UDTP_Matrix_E7401_x86_64
[root@node1 UDTP_Matrix_E7401_x86_64]# ./install.sh
…略…
Complete!
(2) 通过命令systemctl status matrix验证Matrix服务是否安装成功。若安装成功,则将在Active字段后显示运行信息为active (running)。剩余节点执行同样操作即可。
(3) 默认为中文界面,若需英文界面,则可通过如下方式修改:
a. 使用vim /opt/matrix/config/navigator_config.json命令进入navigator_config文件,修改defaultLanguage字段值为en(若文件中没有该配置,请直接增加该字段,字段后需要携带英文逗号),配置如下:
[root@node1 ~]# vim /opt/matrix/config/navigator_config.json
{
"defaultLanguage":"en",
"productName": "uc",
"pageList": ["SYS_CONFIG", "DEPLOY", "APP_DEPLOY"],
"defaultPackages": [],
"allowDeployedPackageIds": ["UNIFIED-PLATFORM-BASE"],
"url": "http:””://${vip}:30000/central/index.html#/ucenter-deploy",
"theme":"darkblue",
"matrixLeaderLeaseDuration": 30,
"matrixLeaderRetryPeriod": 2,
"sshPort": 22,
"sshLoginMode": "secret",
"features":{"stopNtpServerBeyondThreshold":"false"}
}
b. 执行systemctl restart matrix命令重启Matrix服务使配置生效,其他节点也依次按a、b步骤配置。
Matrix集群通过SSH连接进行节点的安装、升级、修复等操作,并实现应用部署、监控等功能。各节点上的SSH服务器默认使用22号端口侦听客户端连接请求,双方建立TCP连接后可进行数据信息的交互。
用户可根据本章节修改SSH服务端口号,提高SSH连接的安全性。
· 请确保所有节点都配置为相同的SSH服务端口号。
· 端口范围为1~65535,不推荐使用1~1024之间的知名端口号,禁止使用各方案端口矩阵中已定义的端口号,否则SSH服务可能启动失败。
· 若修改已部署集群中的SSH服务端口号,请确认所有业务组件是否支持。
· 若为非root用户,执行如下命令前,请进行提权操作(在非root用户下执行su root命令即可)。
· 集群各节点/opt/matrix/config/navigator_config.json中的配置必须保持一致,否则会影响集群稳定性。
· 若需修改SSH服务端口号,请参见各产品版本使用指导书中的产品端口占用说明,以避免端口冲突。
· 在PolarDB或Matrix集群部署完成后,禁止修改SSH端口。
(1) 若集群未部署,登录节点后台,使用netstat -anp | grep after_port-number检查指定的端口号是否被占用,若未被占用,则无返回信息;若被占用,则返回如下信息。其中,after_port-number为用户想要指定的SSH服务新的端口号。举例如下:
¡ 12345端口号未被占用,可以修改为该端口号。
[root@node1 ~]# netstat -anp | grep 12345
¡ 1234端口号被占用,不可以修改为该端口号。
[root@node1 ~]# netstat -anp | grep 1234
tcp 0 0 0.0.0.0:1234 0.0.0.0:* LISTEN 26211/sshd
tcp6 0 0 :::1234 :::* LISTEN 26211/sshd
若集群已部署,除上述的检查外,还需要执行以下命令确认环境中是否有业务容器占用该端口(如果还有其他形式的端口占用,请根据实际情况检查)。具体如下:
¡ 12345端口号未被占用,可以修改为该端口号。
[root@node1 ~]# kubectl get svc -A -oyaml | grep nodePort | grep -w 12345
[root@node1 ~]# kubectl get pod -A -oyaml | grep hostPort | grep -w 12345
¡ 1234端口号被nodePort或hostPort占用,不可以修改为该端口号。
[root@node1 ~]# kubectl get svc -A -oyaml | grep nodePort | grep -w 1234
nodePort: 1234
[root@worker ~]# kubectl get pod -A -oyaml | grep hostPort | grep -w 1234
hostPort: 1234
(2) 使用vim /etc/ssh/sshd_config命令进入sshd服务的配置文件,将配置文件中端口号修改为用户想要指定的端口号(以12345为例),且需要删除注释符号。
图6-1 修改前的端口号为22
图6-2 修改后的端口号
(3) 修改完成后,需重启sshd服务。
[root@node1 ~]# systemctl restart sshd
(4) 查看新的端口号是否修改成功。以Master节点为例,若有如下返回信息,则表示修改成功。
[root@node1 ~]# netstat -anp | grep -w 12345
tcp 0 0 0.0.0.0:12345 0.0.0.0:* LISTEN 26212/sshd
tcp6 0 0 :::12345 :::* LISTEN 26212/sshd
(1) 使用vim /opt/matrix/config/navigator_config.json命令进入navigator_config文件,查看该文件中是否存在sshPort字段,若存在,将该字段取值修改为用户想要指定的端口号(以12345为例);若不存在,则需手动添加该字段并为其赋值。下面以x86版本为例进行说明。
{
"productName": "uc",
"pageList": ["SYS_CONFIG", "DEPLOY", "APP_DEPLOY"],
…略…
"matrixLeaderLeaseDuration": 30,
"matrixLeaderRetryPeriod": 2,
"sshPort": 12345
}
(2) 修改完成后,需重启Matrix服务。
[root@node1 ~]# systemctl restart matrix
(3) 查看新的端口号是否修改成功。以Master节点为例,若成功,则日志中最后一条信息如下。
[root@node1 ~]# cat /var/log/matrix-diag/Matrix/Matrix/matrix.log | grep "ssh port"
2022-03-24T03:46:22,695 | INFO | FelixStartLevel | CommonUtil.start:232 | ssh port = 12345.
集群主用Master节点通过SSH连接管理和监控集群中的所有节点,当通过命令行修改某一节点密码后,还需登录Matrix页面修改对应节点的密码,若其它场景也保存了节点密码,则需同步修改(如跳板机、部署在Matrix上的应用),否则将会导致集群异常。整个过程易遗漏、易出错,且需较高的时间和人力成本。
各节点上配置SSH密钥登录后,无需在多处修改节点密码,集群节点间也可进行互相操作。
当前支持root用户和非root用户进行SSH密钥配置。
· 请确保所有节点的SSH登录方式一致(如Matrix服务启动后,修改了某一节点的SSH登录方式,该操作需同步至所有节点。修改完成后请依次重启各节点Matrix服务)。
· Matrix(包括集群和单机模式)部署完成后,若因重建/升级等原因重装节点操作系统时,在操作系统安装完成后、重建/升级操作前,请确保已完成所有节点的SSH密钥登录配置,且所有节点SSH登录方式必须一致(都为密钥登录),否则将会导致操作失败。
· 首次部署统一数字底盘时,无需手动配置SSH密钥登录,系统将在创建Matrix集群时自动完成SSH密钥配置。
依次登录各节点后台进行SSH密钥配置。下面以node1节点为例,进行配置说明。
执行ssh-keygen -R命令时如果出现文件或目录不存在的报错,属正常现象,可忽略。
(1) root用户登录node1节点后台,执行如下命令,通过ED25519加密算法生成SSH对称认证所需的公钥和私钥文件。保存该公/私钥的文件名默认为/root/.ssh/id_ed25519,文件名不允许修改。
[root@node1 ~]# ssh-keygen -t ed25519
Generating public/private ed25519 key pair.
Enter file in which to save the key (/root/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_ed25519
Your public key has been saved in /root/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:GLeq7ZQlnKHRTWvefTwIAlAHyeB3ZfZt0Ovnfbkcbak root@node1
The key's randomart image is:
…略…
(2) 首先清理各节点的旧公钥信息。然后将生成的公钥拷贝至各个节点(包括当前登录的节点)。下面以集群中有三个Master节点并且SSH端口号为默认的22为例进行配置说明。其中,node1 IP地址为192.168.227.171;node2 IP地址为192.168.227.172;node3 IP地址为192.168.227.173。
[root@node1 ~]# ssh-keygen -R 192.168.227.171
[root@node1 ~]# ssh-keygen -R 192.168.227.172
[root@node1 ~]# ssh-keygen -R 192.168.227.173
[root@node1 ~]# ssh-copy-id -p 22 -i ~/.ssh/id_ed25519.pub [email protected]
[root@node1 ~]# ssh-copy-id -p 22 -i ~/.ssh/id_ed25519.pub [email protected]
[root@node1 ~]# ssh-copy-id -p 22 -i ~/.ssh/id_ed25519.pub [email protected]
(3) 登录其它节点后台,执行步骤(1)和(2)命令。
(4) root用户登录node1节点后台,SSH到当前节点及其它节点,验证SSH密钥配置是否生效。下面以SSH到node2并且SSH端口号为默认的22为例进行配置说明。
[root@node1 ~]# ssh -p 22 [email protected]
依次登录各节点后台进行SSH密钥配置。
由于非root用户下部分命令需要以root权限执行,所以非root用户需配置admin到admin用户密钥配置、root到admin用户密钥配置。
执行ssh-keygen -R命令时如果出现文件或目录不存在的报错,属正常现象,可忽略。
(1) 配置admin到admin用户密钥配置
下面以3个Master节点都为admin用户为例,进行配置说明。
a. admin用户登录node1节点后台,执行ssh-keygen -t ed25519命令,生成SSH对称认证所需的公钥和私钥文件。保存该公/私钥的文件名默认为/home/admin/.ssh/id_ed25519,文件名不允许修改。
b. 首先清理各节点的旧公钥信息。然后将生成的公钥拷贝至各个节点(包括当前登录的节点)。下面以集群中有三个Master节点并且SSH端口号为默认的22为例进行配置说明。其中,node1 IP地址为192.168.227.171;node2 IP地址为192.168.227.172;node3 IP地址为192.168.227.173。
[admin@node1 ~]$ ssh-keygen -R 192.168.227.171
[admin@node1 ~]$ ssh-keygen -R 192.168.227.172
[admin@node1 ~]$ ssh-keygen -R 192.168.227.173
[admin@node1 ~]$ ssh-copy-id -p 22 -i ~/.ssh/id_ed25519.pub [email protected]
[admin@node1 ~]$ ssh-copy-id -p 22 -i ~/.ssh/id_ed25519.pub [email protected]
[admin@node1 ~]$ ssh-copy-id -p 22 -i ~/.ssh/id_ed25519.pub [email protected]
c. 登录其它节点后台,执行步骤(a)和(b)命令。
d. admin用户登录节点后台,SSH到当前节点及其它节点,验证SSH密钥配置是否生效。
[admin@node1 ~]$ ssh -p 22 [email protected]
(2) 配置root到admin用户密钥配置
a. admin用户登录node1节点后台,并将用户切换至root用户下。
b. 请依次执行以下操作:生成新的公钥和私钥文件,清理旧的公钥信息,并将新公钥拷贝到所有节点(包括当前登录的节点)。
c. 登录其它节点后台,执行步骤(a)和(b)命令。
d. admin用户登录节点后台,并将用户切换至root用户下。SSH到当前节点及其它节点的admin用户,验证SSH密钥配置是否生效。
[root@node1 ~]# ssh -p 22 [email protected]
(1) 使用vim /opt/matrix/config/navigator_config.json命令进入navigator_config文件,查看该文件中是否存在sshLoginMode字段,若存在,将该字段取值修改为secret;若不存在,则需手动添加该字段并为其赋值。下面以x86版本为例进行说明。
{
…略
"sshLoginMode":"secret"
}
(2) 重启Matrix服务,使SSH登录方式修改生效。
[root@node1 ~]# systemctl restart matrix
(3) 查看修改的SSH登录方式是否生效。
[root@node1 ~]# cat /var/log/matrix-diag/Matrix/Matrix/matrix.log | grep "sshLoginMode"
2022-03-31T20:11:08,119 | INFO | features-3-thread-1 | CommonUtil.start:245 | ssh port = 22, sshLoginMode = secret.
· 对于使用内置NTP服务器的场景,在部署集群之前,需确保所有节点的系统时间和当前时间保持一致。对于使用外置NTP服务器作为时钟同步源的场景,需确保外置NTP服务器的时间与当前时间保持一致。如果NTP服务器网络不通、出现故障或时间不准确时,可能导致Matrix集群部署失败。
· 查看及修改节点系统时间的命令如下:date(查看系统时间);date -s yyyy-mm-dd(修改系统时间的年月日);date -s hh:mm:ss(修改系统时间的时分秒)。
· 在应用部署、升级过程中,不能执行重启Matrix服务、重启节点和断开节点服务器电源操作,否则会造成应用部署数据出现损坏(例如Etcd数据错误、磁盘文件损坏等),造成应用部署、升级失败。
(1) 依次登录各节点后台,执行sudo bash /opt/matrix/tools/env_check.sh命令进行环境检查,并根据检查结果进行相应处理。
· 统一数字底盘支持的所有操作系统都可执行env_check.sh脚本。
· 在CPU频率低于2000MHz的情况下,Matrix的自检脚本(env_check.sh)和健康检查模块会打印CPU频率告警。请检查服务器硬件是否满足要求,并确保CPU供电模式设置为高性能(performance)模式(例如NingOS系统可执行cpupower frequency-set -g performance命令)。
· 可在节点后台执行sudo bash /opt/matrix/tools/env_check.sh -h命令查看帮助,获取更多脚本使用方式。例如:查询Etcd磁盘IOPS性能的命令为sudo bash /opt/matrix/tools/env_check.sh -p -d /var/lib/etcd。
· 集群部署完成后,docker、chrony等服务会自动启动,无需关注其检查结果。
下表中所示的各项未在env_check.sh脚本中进行检查,请手动确认,确保安装Matrix的条件已经具备。
|
检测项 |
检测标准 |
|
网口 |
Matrix单独使用一个网口,不允许在此网口上配置子接口及子IP。 |
|
IP地址 |
· Matrix节点其它网口上的IP地址不允许和本节点Matrix使用的IP地址相同网段。 · 节点与Matrix集群其它节点通信使用的IP源地址,必须为建立Matrix集群使用的IP地址。可以使用命令ip route get targetIP获取主机访问目标IP时使用的源地址,其中targetIP为目标IP。 [root@node1 ~]# ip route get 100.100.5.10 100.100.5.10 via 192.168.10.10 dev eth0 src 192.168.5.10 |
|
时区 |
· 请确保Matrix所有节点的系统时区必须相同(可使用命令timedatectl查看各节点的系统时区),否则将会导致在GUI页面上增加节点失败。 · 若选择中国标准时区,请选择亚洲/上海,不允许选择“亚洲/北京”(未被正式收录)。 |
|
主机名 |
请确保主机名符合如下标准,否则集群将会建立失败。 · 各节点的主机名不能相同。 · 请勿使用默认主机名(localhost、localhost.localdomain、localhost4、localhost4.localdomain4、localhost6、localhost6.localdomain6)。 · 主机名称最长63个字符,仅支持小写字母、数字、连字符和小数点,不能以0开头且全为数字,不能以0x、连字符、小数点开头,不能以连字符、小数点结尾。 |
(2) 在部署统一数字底盘UDTP_Base_version_platform.zip组件前,请在各节点执行cat /proc/sys/vm/nr_hugepages命令检查大页是否开启,如果返回结果不是0,请记录该值,并执行echo 0 > /proc/sys/vm/nr_hugepages命令临时关闭大页。待部署UDTP_Base_version_platform.zip组件完成后,再将echo 0 > /proc/sys/vm/nr_hugepages命令中的数字0改为记录的值,并在各节点执行,以恢复大页配置。
· 可在Matrix上进行如下操作:上传、删除统一数字底盘应用安装包;部署、升级、扩容、卸载统一数字底盘应用;升级、重建集群节点;增加、删除Worker节点。
· 部署集群节点时,要求主机名称不得重复,当集群部署成功后,不允许修改集群节点的主机名。
· 集群部署过程中不支持登录集群各节点进行任何操作,也不支持在其他集群中添加当前集群部署中的节点。
(1) 在浏览器中输入Matrix的登录地址,进入如下图所示登录页面。
a. 若使用IPv4地址,登录地址格式为:https://ip_address:8443/matrix/ui。本文档后续配置均以IPv4配置为例。
b. 若使用IPv6地址,登录地址格式为:https://[ip_address]:8443/matrix/ui。
登录地址中参数含义如下:
ip_address为节点IP地址。
8443为缺省端口号。
采用集群部署模式时,未部署集群之前,ip_address可以是任意一个规划为Master节点的IP地址。
图7-1 Matrix登录页面
(2) 输入用户名和密码(默认用户名为admin,密码为Pwd@12345)后,单击<登录>按钮,默认进入Matrix的集群部署页面,部署双栈集群需要开启双栈按钮。
图7-3 集群双栈部署页面
部署集群节点前,需要先配置集群参数。配置集群参数,各参数的介绍如下两表所示。
|
参数 |
说明 |
|
北向业务虚IP |
集群对外提供服务的IP地址,该地址必须在Master节点所处的网段内。 |
|
Service IP地址池 |
用于为Service分配IP地址,不能与部署环境中的其它网段冲突。默认地址为10.96.0.0/16,一般保持缺省值。 |
|
容器IP地址池 |
用于为容器分配IP地址,不能与部署环境中的其它网段冲突。默认地址为177.177.0.0/16,一般保持缺省值。 |
|
虚IP模式 |
取值为内置虚IP、外置虚IP。内置模式下虚IP由Matrix下发到集群内,并由Matrix管理虚IP在集群节点间的漂移;外置模式下,虚IP由第三方平台或软件下发到集群外,不再由Matrix管理。默认为内置模式。 说明:E0713版本开始,新增该字段。 |
|
集群网络模式 |
· 单子网:集群内所有节点、虚IP必须在相同网段内,否则将无法互相通信。 · 多子网:多子网模式允许节点和虚IP处于不同子网。启用多子网模式前必须完成所有节点的路由配置。 · 单子网-VXLAN:集群内所有节点、虚IP必须在相同网段内,否则将无法互相通信。单子网-VXLAN模式仅支持IPv4网络。 ¡ 如果在集群上联交换机上配置安全策略如ACL,不允许以Service IP地址池和容器IP地址池中的地址为源的报文转发,需要使用单子网VXLAN。 ¡ 在公有云和私有云场景下,因为云上的网络限制,需要使用单子网VXLAN网络。 |
|
CPU厂商 |
请根据实际使用的物理CPU厂商正确选择对应的CPU厂商类型。 应用可能会根据不同CPU厂商的性能差异,自动调整自身的资源使用限制。若选择的CPU厂商与实际情况不符,可能导致应用无法合理调整资源配额,从而影响性能和资源利用效率。 |
|
NTP服务器 |
· 用于保证集群内各节点系统时间的一致性,支持选择内置服务器和外置服务器。选择外置服务器时,需要配置NTP服务器地址,且该地址不可与集群内各节点的IP地址冲突。 · 本文档使用内置服务器作为NTP服务器,则部署集群时会首先进行时间同步,集群部署完成后,三台Master节点会定时同步时间,从而保证集群内各节点的系统时间保持一致。 · 如需部署上下级环境,必须为上级和下级配置相同的NTP服务器,以确保上下级的时间一致。 |
|
外置DNS服务器 |
用于解析K8s集群外部的域名,格式为IP:Port,部署统一数字底盘可根据实际需要配置外置DNS服务器。本文档中不配置此项。 · 容器解析域名时,集群外部的域名无法被内置DNS服务器解析,本平台将把需要解析的外部域名随机转发给一台外置DNS服务器来解析。 · 外置DNS服务器最多可以配置10个,各外置DNS服务器要求具有相同的DNS解析能力,并可以独立满足外部域名解析需求、无主备之分、无先后顺序之分。 · 建议所有的DNS服务器都能够访问根域,可使用命令行nslookup -port={port} -q=ns . {ip}查看是否可以访问。 |
|
自定义虚IP |
通常用于隔离集群网络与管理网络。不能与部署环境中的其它网段冲突。 |
表7-3 双栈集群参数说明
|
参数 |
说明 |
|
北向业务虚IP(IPv4、IPv6) |
集群对外提供服务的IP地址,该地址必须在Master节点所处的网段内,分别分配IPv4地址,IPv6地址。北向业务虚IP至少配置一个IPv4或IPv6,不可同时配置两个相同协议的IP。配置IPv6地址时,请勿以冒号结尾。 |
|
Service IP地址池 |
双栈环境下生效。 用于为Service分配IPv4、IPv6地址,默认IPv4地址为10.96.0.0/16,默认IPv6地址为fd00:10:96::/112,一般保持缺省值。集群部署后不允许更改。 该地址池不能与部署环境中其它网段冲突,否则可能会导致集群异常。 |
|
容器IP地址池 |
双栈环境下生效。 用于为容器分配IPv4、IPv6地址,默认IPv4地址为177.177.0.0/16,默认IPv6地址为fd00:177:177::/112,一般保持缺省值。集群部署后不允许更改。 该地址池不能与部署环境中其它网段冲突,否则可能会导致集群异常。 |
|
虚IP模式 |
取值为内置虚IP、外置虚IP。内置模式下虚IP由Matrix下发到集群内,并由Matrix管理虚IP在集群节点间的漂移;外置模式下,虚IP由第三方平台或软件下发到集群外,不再由Matrix管理。默认为内置模式。 说明:E0713版本开始,新增该字段。 |
|
集群网络模式 |
双栈模式下仅支持单子网模式。 单子网:集群内所有节点、虚IP必须在相同网段内,否则将无法互相通信。 |
|
NTP服务器 |
· 用于保证集群内各节点系统时间的一致性,支持选择内置服务器和外置服务器。选择外置服务器时,需要配置NTP服务器地址,且该地址不可与集群内各节点的IP地址冲突。 · 本文档使用内置服务器作为NTP服务器,部署集群时会首先进行时间同步,集群部署完成后,三台Master节点会定时同步时间,从而保证集群内各节点的系统时间保持一致。 · 如需部署上下级环境,必须为上级和下级配置相同的NTP服务器,以确保上下级的时间一致。 |
|
CPU厂商 |
请根据实际使用的物理CPU厂商正确选择对应的CPU厂商类型。 应用可能会根据不同CPU厂商的性能差异,自动调整自身的资源使用限制。若选择的CPU厂商与实际情况不符,可能导致应用无法合理调整资源配额,从而影响性能和资源利用效率。 |
|
外置DNS服务器 |
用于解析K8s集群外部的域名,格式为IP:Port,部署统一数字底盘可根据实际需要配置外置DNS服务器。本文档中不配置此项。 · 容器解析域名时,集群外部的域名无法被内置DNS服务器解析,本平台将把需要解析的外部域名随机转发给一台外置DNS服务器来解析。 · 外置DNS服务器最多可以配置10个,各外置DNS服务器要求具有相同的DNS解析能力,并可以独立满足外部域名解析需求、无主备之分、无先后顺序之分。 · 建议所有的DNS服务器都能够访问根域,可使用命令行nslookup -port={port} -q=ns . {ip}查看是否可以访问。 |
|
自定义虚IP |
通常用于隔离集群网络与管理网络。不能与部署环境中的其它网段冲突。 |
若NTP服务器不与北向地址相通,可以先不增加NTP服务器。待集群创建完成后,在配置网卡网络时,通过修改集群参数再增加。
单机部署模式下,仅需增加一个Master节点即可部署集群。集群部署模式下,需要增加三个Master节点后,再部署集群。
不支持创建1Master+nWoker(n>0)模式的集群。
(1) 配置集群参数后,单击<下一步>按钮,进入创建集群页面,如下图所示。
图7-4 集群部署页面
(2) 单击Master节点区域的增加图标
,弹出增加节点窗口,如下图所示。
图7-6 增加双栈节点窗口
(3) 配置如下参数:
¡ 类型:显示为“Master”,且不可修改。
¡ IP地址:规划的Master节点的IP地址。支持批量添加Master节点,批量添加模式下,各Master节点的用户名和密码需相同。
¡ 用户名:节点操作系统的用户名。根据安装操作系统时实际选择的用户填写。集群中所有节点的用户名必须相同。
¡ 密码:节点操作系统的用户密码。
¡ SSH端口号:默认为22。
(4) 单击<确定>按钮,完成增加Master节点操作。
(5) 单击<开始部署>按钮,开始部署集群,当所有节点的进度达到100%时,表示集群部署成功。
集群部署成功后,主Master节点会在节点左上角显示标记
,其余未被标记的Master节点为备用Master节点。
(6) 集群部署完成后,配置网络和部署应用的操作可以先跳过,后期根据实际需要再进行配置。
Matrix部署完成后,如需执行kubectl命令,请断开重连当前SSH会话后再执行对应命令,否则kubectl命令无法执行,提示The connection to the server localhost:8080 was refused - did you specify the right host or port?
用户可以选择标准部署模式或代理部署模式。组件安装完成后将无法更改部署模式。
· 标准部署模式:适用于标准架构的系统,以及Server-Proxy架构的Server端。支持部署统一数字底盘所有组件。
· 代理部署模式:用于Server-Proxy架构中的Proxy端。仅支持部署统一数字底盘的Base、Connect、UCP_BasePlat和UCP_CollectPlat组件。
· 使用批量上传功能同时上传应用包时,浏览器部署页面不能关闭,PC不可以进入睡眠状态、不可以断开PC到集群的网络(可以切换浏览器页签、最小化浏览器、锁定PC屏幕),否则会导致部分组件不能正常部署。
· 在部署过程中,概率出现集群资源(CPU、内存)达到使用阈值的情况,会造成部分组件不能正常部署,可稍后尝试部署未部署的组件。
· 批量部署的应用数量较多时,可能存在资源争抢,导致个别应用部署失败,针对部署失败的应用,可以单击页面的<重试>按钮,尝试重新部署。
· Connect组件中的websocket、region、netconf,以及Common组件中的incident应用服务默认不启动。只有在部署依赖这些应用服务的其他组件时,它们才会自动启动。否则,需要根据场景需求在Matrix页面手动开启,手动开启方法请参见如何在Matrix页面开启统一数字底盘组件应用服务?。
· 如果需要将统一数字底盘从E7103版本升级到E7104或更高版本的精简proxy模式,请参见《精简proxy升级工具使用指导》获取具体方法。
· 如需修改部署模式(例如标准模式修改为代理模式),请重装Matrix。仅通过重装Base组件进行修改可能会导致其他组件部署异常。
上传安装包时,需保证浏览器到集群之间的网络连接稳定,且连接带宽不能低于10Mbps,否则会导致安装包上传耗时长或上传失败。
应用包仅支持在Matrix页面进行部署,支持批量上传应用包,但必须先部署Base,再部署其他应用。
(1) 在浏览器中输入“https://ip_address:8443/matrix/ui”,登录Matrix。其中“ip_address”为北向业务虚IP地址。
(2) 单击[部署>应用]菜单项,进入应用部署页面。
图7-8 应用部署页面
(3) 单击<安装包管理>按钮,进入安装包管理页面。
(4) 单击<上传>按钮,在弹框中上传Base应用安装包。
图7-9 安装包管理页面
(5) 上传完成后,单击“返回”链接,返回至应用部署页面。
(6) 单击<安装>按钮,进入应用选择页面。
(7) 部署模式选择“标准”,勾选Base应用。
图7-10 应用选择页面
(8) 单击<下一步>按钮,进入安装包选择页面,选择对应的安装包。选择完成后单击<下一步>按钮。
图7-11 安装包选择页面
(9) 在资源配置页面选择对应的资源档位。选择完成后单击<下一步>按钮。
图7-12 资源配置页面
(10) 单击<修改>按钮,配置Base参数,配置完成后单击<确定>按钮保存配置。
表7-4 Base参数配置说明
|
配置项 |
配置项参数说明 |
|
部署协议 |
可选择http和https。 |
|
HTTP协议端口号 |
缺省值30000。 |
|
HTTPS协议端口号 |
缺省值30443。 |
|
主题 |
可选择white、star。 |
|
语言 |
可选择zh_CN、en_US。 |
|
第三方数据库 |
可选择是否启用第三方数据库。 |
图7-13 参数配置页面
(11) 参数配置完成后单击<部署>按钮。
(12) 在弹框中确认参数信息。确认无误后,单击<确定>按钮,开始部署Base应用。
SeerEngine-WAN作为组件推荐在Matrix部署页面上部署。部署完成后,SeerEngine-WAN以容器的方式部署在统一数字底盘所在的宿主机上。
本章节将介绍在Matrix部署页面部署SeerEngine-WAN的操作步骤。
若部署环境中存在多个版本的应用安装包,为避免不同版本的配置数据存在不兼容的情况,在部署前,请单击<数据注册>按钮注册应用安装包中携带的融合部署相关配置数据,具体操作请参见如何避免不同版本的配置数据存在不兼容的情况?。
(1) 在浏览器中输入“https://ip_address:8443/matrix/ui”,登录Matrix。其中“ip_address”为北向业务虚IP地址。
(2) 单击[部署/应用]菜单项,进入应用页面,如图8-1所示。
(3) 单击<安装包管理>按钮,进入安装包管理页面。该页面支持对安装包进行上传、删除等操作。上传完成的安装包将展示名称、版本、大小和创建时间等信息,如图8-2所示。
(4) 单击<上传>按钮,将SeerEngine-WAN组件安装包上传到系统,应用安装包支持批量上传。
(5) 所需安装包均上传完成后,如图8-2所示,单击
返回,即可返回应用页面。
图8-2 安装包管理页面
此处以同时安装三个组件为例,控制组件功能组件(必选)、wBGP功能组件(可选)、网络切片功能组件(可选),用户根据自身需求安装对应组件即可。
(1) 在应用页面,单击<安装>按钮,进入应用选择页面。
(2) 在应用选择页面,可以在左侧选择“WAN承载场景”,也可以直接在“ADWAN Scenario”下勾选要安装的应用,勾选某应用后会自动勾选其依赖的应用,如图8-3所示。
(3) 应用选择完成后,单击<下一步>按钮进入安装包选择页面。
(1) 在安装包选择页面,可在对应的组件下拉框中按需选择不同版本号的安装包。
(2) 安装包选择完成后,单击<下一步>进入资源配置页面。
图8-4 安装包选择
在资源配置页面,根据硬件支持的规模选择资源档位:
· 设备规模小于200时,推荐使用统一数字底盘及基础网络管理所有业务集的资源档位选择小规模,广域网承载业务集选择小规模。
· 设备规模大于200且小于2000时,推荐使用统一数字底盘及基础网络管理所有业务集的资源档位选择默认规模,广域网承载业务集选择大规模。
选择完成后单击<下一步>按钮进入参数配置页面。
图8-5 资源配置页面
在参数配置页面,可根据各组件需求,配置相关参数。
· 在2. 应用选择章节勾选对应的组件后,此处才会显示对应的参数配置。
· 列表存在Worker节点时,才可以进行节点绑定选择。节点绑定时,请确保所选择绑定的节点状态正常。只能选择1个Worker节点或不限类型的3个节点。
· 部署SeerEngine-WAN,需配置节点绑定和网络绑定。
¡ 节点绑定:列表存在Worker节点时,才可以进行节点绑定选择;没有Worker节点时,系统会根据Matrix集群的集群模式自动勾选。
- 如果Matrix集群是单机模式,则此处只能部署为单机模式。
- 如果Matrix集群是集群模式,勾选任意3个节点则部署集群模式,仅勾选1个节点则部署单机模式。
¡ 网络绑定:选择网络类型、协议类型及网络,会自动带出对应的子网及主机节点信息。
- 网络类型:支持选择macvlan和passthrough两种类型,代表不同的网络接入方式。macvlan可以在同一物理网卡上,为容器创建虚拟MAC地址,每个容器像一台独立的二层设备,适用于同一物理机上运行多业务且需要各自独立IP的场景。passthrough是把物理网卡直接透传给容器使用,绕过宿主机网络虚拟层,适用于对网络性能要求高且业务相对固定的场景。
- 南向单协议:勾选该项后,只需要配置一种南向网络。
- 南向双协议:勾选该项后,需要分别配置IPv4南向网络和IPv6南向网络。
若需新增网络配置,可以单击<网络配置>按钮,在弹窗中单击<创建网络>按钮,选择网络类型后,输入网络名称,并为该网络配置子网信息及主机信息。
图8-6 SeerEngine-WAN参数配置
· 部署Slice,需配置运行节点。
¡ 选择“Master+Worker”表示组件既部署在Master节点,也部署在Worker节点,即整个集群所有运行节点都参与运行该服务。
¡ 选择“Master”表示仅由Master节点运行该服务。
图8-7 SeerEngine-WAN_Slice参数配置
· 部署wBGP,需配置网络绑定。
¡ 管理和业务网络合一:表示管理流量和业务流量走同一个网络,适合小规模环境、测试环境、低安全要求场景。
¡ 管理和业务网络分离:表示管理流量使用独立的网络,与业务网络分离。适合正式生产环境或涉及敏感数据、关键业务,且有较高安全合规要求的场景。
¡ 其他配置及说明请参见上方部署SeerEngine-WAN。
图8-8 SeerEngine-WAN_wBGP参数配置
检查配置无误后,单击<部署>按钮,在弹框中进行参数确认后即可开始部署组件,等待五分钟左右即可部署完成。
图8-9 参数确认
组件部署完成后,在[部署/应用]页面,单击组件左侧的
按钮展开组件信息,如图8-10所示。
SeerEngine-WAN组件部署完成后将在统一数字底盘中加载对应菜单项,登录统一数字底盘即可使用SeerEngine功能。
统一数字底盘提供友好的GUI界面。具体登录方式如下:
(1) 在浏览器中输入统一数字底盘登录地址(默认登录地址:http://ip_address:30000),回车后会进入登录界面。
¡ ip_address:为统一数字底盘所在的集群北向业务虚IP地址。
¡ 30000为端口号。
(2) 单击“首页”页签,查看SeerEngine-WAN页面,如图9-2所示。
SeerEngine-WAN产品安装部署完成,需要获取License授权才能正常使用。
关于授权的申请和安装过程,请参见《H3C软件产品远程授权License使用指南》。
在License Server上安装产品的授权后,只需在产品的License管理页面与License Server建立连接即可获取授权,操作步骤如下:
(1) 登录系统,单击[系统/License管理/License信息]菜单项,进入License信息页面。
(2) 在页面中配置License Server信息的参数。各参数介绍请参见表10-1。
(3) 配置完成后,单击<连接>按钮与License Server建立连接,连接成功后SeerEngine-WAN可自动获取授权信息。
|
参数 |
说明 |
|
IP地址 |
安装License Server的服务器上用于统一数字底盘和SeerEngine-WAN集群内各节点之间通信的IP地址 |
|
端口号 |
此处缺省值为“5555”,与License Server授权服务端口号保持一致 |
|
客户端名 |
License Server中设置的客户端名称 |
|
客户端密码 |
License Server中设置的客户端名称对应的密码 |
· 升级SeerEngine-WAN、wBGP、Slice的操作步骤相同,此处仅以升级控制组件为例进行介绍。
· 若部署环境中存在多个版本的应用安装包,为避免不同版本的配置数据存在不兼容的情况,在升级前,请单击<数据注册>按钮注册应用安装包中携带的融合部署相关配置数据,具体操作请参见如何避免不同版本的配置数据存在不兼容的情况?。
在Matrix页面上支持对SeerEngine-WAN组件进行保留配置升级,在升级过程中请勿进行备份恢复操作。
升级步骤如下:
(1) 在浏览器中输入“https://ip_address:8443/matrix/ui”,登录Matrix页面,其中“ip_address”为配置的北向业务虚IP。
(2) 单击[部署/应用]菜单项,进入应用页面。
(3) 单击ADWAN Scenario左侧的
图标,展开组件部署信息,如图12-1所示。
图12-2 SeerEngine-WAN组件升级页面
(5) 可以单击<上传>按钮,上传待升级的安装包。单击对应操作列的升级图标
,在升级确认弹窗中确认后,即可开始组件升级。
(6) 在升级页面可查看具体的升级进度,升级完成后,建议清除浏览器缓存后,重新登录系统。
(1) 登录Matrix,单击[部署/应用]菜单项,进入应用页面。
(2) 勾选需要卸载的组件,单击<卸载>按钮,在弹出窗口中确认将要卸载的应用,并选择是否保留数据,如图13-1所示。
(3) 在卸载页面可查看具体的卸载进度,如图13-2所示,卸载完成后可返回部署管理页面。
(1) 登录Matrix页面,进入[观测>监控>应用监控]页面。
(2) 展开组件可以查看组件下的应用服务状态。
图14-1 查看应用服务
为避免不同版本的配置数据存在不兼容的情况,安装或升级前可重新注册配置数据,具体操作步骤如下:
(1) 在[部署/应用]页面,单击<安装包管理>按钮,进入安装包管理页面。
图14-2 应用页面
(2) 勾选待安装的应用安装包或升级目标版本安装包,单击<数据注册>按钮,在弹窗中进行确认后即可注册应用安装包中携带的融合部署相关配置数据。
图14-3 数据注册
(3) 数据注册完成后,开始部署或升级即可。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!
