Veritas Access 安装指南
- Veritas Access 简介
- Veritas Access 授权许可
- 系统要求
- 准备安装 Veritas Access
- 在 VMware ESXi 中部署用于安装 Veritas Access 的虚拟机
- 安装和配置群集
- 使用响应文件自动运行 Veritas Access 安装和配置
- 显示和添加群集节点
- 升级 Veritas Access和操作系统
- 使用滚动升级来升级 Veritas Access
- 卸载 Veritas Access
- 附录 A. 安装参考
- 附录 B. 配置安全 Shell 进行通信
- 附录 C. 手动部署 Veritas Access
在非 SSH 环境中的双节点群集上手动部署 Veritas Access
本节介绍在禁用了 SSH 通信时部署双节点 Veritas Access 群集的手动步骤。
先决条件
假定有一个双节点群集。
支持的操作系统版本为 RHEL 7.4。
假定 Veritas Access 映像位于本地系统中的
/access_build_dir/rhel7_x86_64/
位置。群集的名称为 clus,群集节点的名称为 clus_01 和 clus_02。群集名称对所有节点都应该是唯一的。
在所有节点上停止 SSH 服务。
假定公用 NIC 为 pubeth0 和 pubeth1,专用 NIC 为 priveth0 和 priveth1。NIC 名称在所有节点中均应保持一致。公用 NIC 名称和专用 NIC 名称在所有节点中均应相同。
将 172.16.0.3 用作 clus_01 的专用 IP 地址,将 172.16.0.4 用作 clus_02 的专用 IP 地址。
在双节点群集上手动部署 Veritas Access
- 将 Veritas Access 映像复制到所需群集的所有节点上。
- 在所有节点上停止 SSH 后台驻留程序。
# systemctl stop sshd
- 验证是否安装了以下 RPM。如果没有,请从 RHEL 存储库安装 RPM。
bash-4.2.46-28.el7.x86_64 lsscsi-0.27-6.el7.x86_64 initscripts-9.49.39-1.el7.x86_64 iproute-3.10.0-87.el7.x86_64 kmod-20-15.el7.x86_64 coreutils-8.22-18.el7.x86_64 binutils-2.25.1-31.base.el7.x86_64 python-requests-2.6.0-1.el7_1.noarch python-urllib3-1.10.2-3.el7.noarch
- 安装所需的操作系统 RPM。
创建
repo
文件。cat /etc/yum.repos.d/os.repo [veritas-access-os-rpms] name=Veritas Access OS RPMS baseurl=file:///access_build_dir/rhel7_x86_64/os_rpms/ enabled=1 gpgcheck=0
运行以下命令:
# yum updateinfo
运行以下命令:
# cd /access_build_dir/rhel7_x86_64/os_rpms/
在运行以下命令之前,请确保系统中没有任何 RHEL 订购。
yum repolist
应仅指向veritas-access-os-rpms
。
# /usr/bin/yum -y install --setopt=protected_multilib=false perl-5.16.3-292.el7.x86_64.rpm nmap-ncat-6.40-7.el7.x86_64.rpm perl-LDAP-0.56-5.el7.noarch.rpm perl-Convert-ASN1-0.26-4.el7.noarch.rpm net-snmp-5.7.2-28.el7_4.1.x86_64.rpm net-snmp-utils-5.7.2-28.el7_4.1.x86_64.rpm openldap-2.4.44-5.el7.x86_64.rpm nss-pam-ldapd-0.8.13-8.el7.x86_64.rpm rrdtool-1.4.8-9.el7.x86_64.rpm wireshark-1.10.14-14.el7.x86_64.rpm vsftpd-3.0.2-22.el7.x86_64.rpm openssl-1.0.2k-12.el7.x86_64.rpm openssl-devel-1.0.2k-12.el7.x86_64.rpm iscsi-initiator-utils-6.2.0.874-4.el7.x86_64.rpm libpcap-1.5.3-9.el7.x86_64.rpm libtirpc-0.2.4-0.10.el7.x86_64.rpm nfs-utils-1.3.0-0.48.el7_4.2.x86_64.rpm kernel-debuginfo-common-x86_64-3.10.0-693.el7.x86_64.rpm kernel-debuginfo-3.10.0-693.el7.x86_64.rpm kernel-headers-3.10.0-693.el7.x86_64.rpm krb5-devel-1.15.1-8.el7.x86_64.rpm krb5-libs-1.15.1-8.el7.x86_64.rpm krb5-workstation-1.15.1-8.el7.x86_64.rpm perl-JSON-2.59-2.el7.noarch.rpm telnet-0.17-64.el7.x86_64.rpm apr-devel-1.4.8-3.el7_4.1.x86_64.rpm apr-util-devel-1.5.2-6.el7.x86_64.rpm glibc-common-2.17-196.el7_4.2.x86_64.rpm glibc-headers-2.17-196.el7_4.2.x86_64.rpm glibc-2.17-196.el7_4.2.x86_64.rpm glibc-2.17-196.el7_4.2.i686.rpm glibc-devel-2.17-196.el7_4.2.x86_64.rpm glibc-utils-2.17-196.el7_4.2.x86_64.rpm nscd-2.17-196.el7_4.2.x86_64.rpm sysstat-10.1.5-12.el7.x86_64.rpm libibverbs-utils-13-7.el7.x86_64.rpm libibumad-13-7.el7.x86_64.rpm opensm-3.3.19-1.el7.x86_64.rpm opensm-libs-3.3.19-1.el7.x86_64.rpm infiniband-diags-1.6.7-1.el7.x86_64.rpm sg3_utils-libs-1.37-12.el7.x86_64.rpm sg3_utils-1.37-12.el7.x86_64.rpm libyaml-0.1.4-11.el7_0.x86_64.rpm memcached-1.4.15-10.el7_3.1.x86_64.rpm python-memcached-1.59-1.noarch.rpm python-paramiko-2.1.1-4.el7.noarch.rpm python-backports-1.0-8.el7.x86_64.rpm python-backports-ssl_match_hostname-3.4.0.2-4.el7.noarch.rpm python-chardet-2.2.1-1.el7_1.noarch.rpm python-six-1.9.0-2.el7.noarch.rpm python-setuptools-0.9.8-7.el7.noarch.rpm python-ipaddress-1.0.16-2.el7.noarch.rpm targetcli-2.1.fb46-1.el7.noarch.rpm fuse-2.9.2-8.el7.x86_64.rpm fuse-devel-2.9.2-8.el7.x86_64.rpm fuse-libs-2.9.2-8.el7.x86_64.rpm PyYAML-3.10-11.el7.x86_64.rpm arptables-0.0.4-8.el7.x86_64.rpm ipvsadm-1.27-7.el7.x86_64.rpm ntpdate-4.2.6p5-25.el7_3.2.x86_64.rpm ntp-4.2.6p5-25.el7_3.2.x86_64.rpm autogen-libopts-5.18-5.el7.x86_64.rpm ethtool-4.8-1.el7.x86_64.rpm net-tools-2.0-0.22.20131004git.el7.x86_64.rpm cups-libs-1.6.3-29.el7.x86_64.rpm avahi-libs-0.6.31-17.el7.x86_64.rpm psmisc-22.20-15.el7.x86_64.rpm strace-4.12-4.el7.x86_64.rpm vim-enhanced-7.4.160-2.el7.x86_64.rpm at-3.1.13-22.el7_4.2.x86_64.rpm rsh-0.17-76.el7_1.1.x86_64.rpm unzip-6.0-16.el7.x86_64.rpm zip-3.0-11.el7.x86_64.rpm bzip2-1.0.6-13.el7.x86_64.rpm mlocate-0.26-6.el7.x86_64.rpm lshw-B.02.18-7.el7.x86_64.rpm jansson-2.10-1.el7.x86_64.rpm ypbind-1.37.1-9.el7.x86_64.rpm yp-tools-2.14-5.el7.x86_64.rpm perl-Net-Telnet-3.03-19.el7.noarch.rpm tzdata-java-2018d-1.el7.noarch.rpm perl-XML-Parser-2.41-10.el7.x86_64.rpm lsof-4.87-4.el7.x86_64.rpm cairo-1.14.8-2.el7.x86_64.rpm pango-1.40.4-1.el7.x86_64.rpm libjpeg-turbo-1.2.90-5.el7.x86_64.rpm sos-3.4-13.el7_4.noarch.rpm traceroute-2.0.22-2.el7.x86_64.rpm openldap-clients-2.4.44-5.el7.x86_64.rpm
- 安装第三方 RPM:
# cd /access_build_dir/rhel7_x86_64/ third_party _rpms/ # /bin/rpm -U -v --oldpackage --nodeps --replacefiles --replacepkgs ctdb-4.6.6-1.el7.x86_64.rpm perl-Template-Toolkit-2.24-5.el7.x86_64.rpm perl-Template-Extract-0.41-1.noarch.rpm perl-AppConfig-1.66-20.el7.noarch.rpm perl-File-HomeDir-1.00-4.el7.noarch.rpm samba-common-4.6.6-1.el7.x86_64.rpm samba-common-libs-4.6.6-1.el7.x86_64.rpm samba-client-4.6.6-1.el7.x86_64.rpm samba-client-libs-4.6.6-1.el7.x86_64.rpm samba-4.6.6-1.el7.x86_64.rpm samba-winbind-4.6.6-1.el7.x86_64.rpm samba-winbind-clients-4.6.6-1.el7.x86_64.rpm samba-winbind-krb5-locator-4.6.6-1.el7.x86_64.rpm libsmbclient-4.6.6-1.el7.x86_64.rpm samba-krb5-printing-4.6.6-1.el7.x86_64.rpm samba-libs-4.6.6-1.el7.x86_64.rpm libwbclient-4.6.6-1.el7.x86_64.rpm samba-winbind-modules-4.6.6-1.el7.x86_64.rpm libnet-1.1.6-7.el7.x86_64.rpm lmdb-libs-0.9.13-2.el7.x86_64.rpm nfs-ganesha-2.2.0-0.el7.x86_64.rpm nfs-ganesha-vxfs-2.2.0-0.el7.x86_64.rpm gevent-1.0.2-1.x86_64.rpm python-msgpack-0.4.6-1.el7ost.x86_64.rpm python-flask-0.10.1-4.el7.noarch.rpm python-itsdangerous-0.23-2.el7.noarch.rpm libevent-libs-2.0.22-1.el7.x86_64.rpm python-werkzeug-0.9.1-2.el7.noarch.rpm python-jinja2-2.7.2-2.el7.noarch.rpm sdfs-7.4.0.0-1.x86_64.rpm psutil-4.3.0-1.x86_64.rpm python-crontab-2.2.4-1.noarch.rpm libuv-1.9.1-1.el7.x86_64.rpm
在此命令中,可以基于
/access_build_dir/rhel7_x86_64/ third_party _rpms/
目录中的 RPM 更新 RPM 版本。 - 安装 Veritas Access RPM。
运行以下命令:
# cd /access_build_dir/rhel7_x86_64/rpms/repodata/ # cat access73.repo > /etc/yum.repos.d/access73.repo
在 yum 存储库目录的
/etc/yum.repos.d/access73.repo
中更新 baseurl 和 gpgkey 条目。baseurl=file:///access_build_dir/rhel7_x86_64/rpms/
gpgkey=file:///access_build_dir/rhel7_x86_64/rpms/ RPM-GPG-KEY-veritas-access7
运行以下命令以刷新 yum 存储库。
# yum repolist
# yum grouplist
运行以下命令。
# yum -y groupinstall ACCESS73
运行以下命令。
# /opt/VRTS/install/bin/add_install_scripts
- 安装 Veritas NetBackup 客户端软件。
# cd /access_build_dir/rhel7_x86_64 # /opt/VRTSnas/install/image_install/netbackup/install_netbackup.pl /access_build_dir/rhel7_x86_64/netbackup
- 为 Veritas Access 创建软链接。运行以下命令。
# /opt/VRTSnas/pysnas/install/install_tasks.py all_rpms_installed parallel
- 对产品进行授权许可。
注册永久 VLIC 密钥。
# /opt/VRTSvlic/bin/vxlicinstupgrade -k <Key>
验证是否正确安装了 VLIC 密钥:
# /opt/VRTSvlic/bin/vxlicrep
注册 SLIC 密钥文件:
# /opt/VRTSslic/bin/vxlicinstupgrade -k $keyfile
验证是否正确安装了 SLIC 密钥:
# /opt/VRTSslic/bin/vxlicrep
- 备份以下文件:
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-*
/etc/resolv.conf
- 配置专用 NIC:
# cd /etc/sysconfig/network-scripts/
配置第一个专用 NIC。
运行以下命令。
# ip link set down priveth0
在
ifcfg-priveth0
文件中更新以下条目:DEVICE=priveth0 NAME=priveth0 BOOTPROTO=none TYPE=Ethernet ONBOOT=yes
在
ifcfg-priveth0
文件中添加以下条目。HWADDR=<MAC address> IPADDR= 172.16.0.3 (use IPADDR= 172.16.0.4 for second node) NETMASK=<netmask> NM_CONTROLLED=no
例如:
HWADDR=00:0c:29:0c:8d:69 IPADDR=172.16.0.3 NETMASK=255.255.248.0 NM_CONTROLLED=no
运行以下命令。
# ip link set up priveth0
配置第二个专用 NIC。
您可以采用相同方式配置第二个专用 NIC。对第二个节点使用 priveth1(而不是 priveth0)。不需要为 priveth1 提供 IPADDR。
- 配置公用 NIC。
# cd /etc/sysconfig/network-scripts/
配置第二个公用 NIC pubeth1(还没有为其配置主机 IP)。
运行以下命令:
# ip link set down pubeth1
在
ifcfg-pubeth1
文件中更新以下条目:DEVICE=pubeth1 NAME=pubeth1 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes
在
ifcfg-pubeth1
文件中添加以下条目。HWADDR=<MAC address> IPADDR=<pubeth1_pub_ip> NETMASK=<netmask> NM_CONTROLLED=no
运行以下命令。
# ip link set up pubeth1
配置第一个公用 NIC pubeth0。
由于第一个公用 NIC 将会关闭,请确保您直接从其控制台访问系统。
运行以下命令:
# ip link set down pubeth0
在
ifcfg-pubeth0
文件中更新以下条目:DEVICE=pubeth0 NAME=pubeth0 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes
在
ifcfg-pubeth0
文件中添加以下条目。HWADDR=<MAC address> IPADDR=<pubeth0_pub_ip> NETMASK=<netmask> NM_CONTROLLED=no
运行以下命令。
# ip link set up pubeth0
验证 pubeth1 是否已关闭。如果已关闭,则使其联机。
# ip link set up pubeth1
对变更内容进行验证。
# ip a
运行以下命令。
# service network restart
如果启动 sshd 服务,应能够通过 SSH 连接上述 IP。
- 配置 DNS。
通过添加以下条目来更新
/etc/resolv.conf
文件:nameserver <DNS> domain <master node name>
例如:
nameserver 10.182.128.134 domain clus_01
- 配置网关。
更新
/etc/sysconfig/network
文件。GATEWAY=$gateway NOZEROCONF=yes
- 更新
configfileTemplate
文件。输入以下命令:
# cd /access_build_dir/rhel7_x86_64/manual_install/network
使用当前系统详细信息更新
configfileTemplate
文件:对主节点使用 master 模式,对其他节点使用 slave 模式。
配置实用程序脚本使用此模板文件来创建配置文件。
在 old_hostname 和 new_hostname 中提供相同名称(当前主机名)。
- 生成网络配置文件。
名为
configNetworkHelper.pl
的配置实用程序脚本可创建所需的配置文件。# cd /access_build_dir/rhel7_x86_64/manual_install/network # chmod +x configNetworkHelper.pl
运行该配置实用程序脚本。
# ./configNetworkHelper.pl -f configfileTemplate
# cat /opt/VRTSnas/scripts/net/network_options.conf > /opt/VRTSnas/conf/network_options.conf
# sed -i -e '$a\' /opt/VRTSnas/conf/net_console_ip.conf
更新
/etc/hosts
文件。# echo "172.16.0.3 <master hostname>" >> /etc/hosts # echo "172.16.0.4 <slave node name>" >> /etc/hosts
例如:
# echo "172.16.0.3 clus_01" >> /etc/hosts # echo "172.16.0.4 clus_02" >> /etc/hosts
- 创建 S3 配置文件。
# cat /opt/VRTSnas/conf/ssnas.yml ObjectAccess: config: {admin_port: 8144, s3_port: 8143, server_enable: 'no', ssl: 'no'} defaults: fs_blksize: '8192' fs_encrypt: 'off' fs_nmirrors: '2' fs_options: '' fs_pdirenable: 'yes' fs_protection: disk fs_sharing: 'no' fs_size: 20G fs_type: mirrored poollist: [] filesystems: {} groups: {} pools: {}
- 设置 Storage Foundation 群集。
# cd /access_build_dir/rhel7_x86_64/manual_install/ network/SetupClusterScripts
# mkdir -p /opt/VRTSperl/lib/site_perl/UXRT72/CPIR/Module/veritas/
# cp sfcfsha_ctrl.sh /opt/VRTSperl/lib/site_perl/UXRT72/CPIR/ Module/veritas/sfcfsha_ctrl.sh
# cp module_script.pl /tmp/
# chmod +x /tmp/module_script.pl
在以下命令中更新群集名称、系统名称和 NIC 名称,然后执行该命令:
# /tmp/module_script.pl veritas::sfcfsha_config '{"cluster_name" => "<Provide cluster name here>","component" => "sfcfsha","state" => "present","vcs_users" => "admin:password:Administrators,user1: passwd1:Operators","vcs_clusterid" => 14865,"cluster_uuid" => "1391a-443ab-2b34c","method" => "ethernet","systems" => "<Provide hostnames separated by comma>","private_link" => ""<provide private nic name separated by comma>"}'
例如,如果群集名称是 clus,主机名是 clus_01 和 clus_02:
/tmp/module_script.pl veritas::sfcfsha_config ' {"cluster_name" => "clus","component" => "sfcfsha", "state" => "present","vcs_users" => "admin:password:Administrators,user1:passwd1:Operators", "vcs_clusterid" => 14865,"cluster_uuid" => "1391a-443ab-2b34c", "method" => "ethernet","systems" => "clus_01,clus_02", "private_link" => "priveth0,priveth1"}'
更新并配置以下文件:
# rpm -q --queryformat '%{VERSION}|%{BUILDTIME:date}|% {INSTALLTIME:date}|%{VERSION}\n' VRTSnas > /opt/VRTSnas/conf/version.conf
# echo NORMAL > /opt/VRTSnas/conf/cluster_type
# echo 'path /opt/VRTSsnas/core/kernel/' >> /etc/kdump.conf
# sed -i '/^core_collector\b/d;' /etc/kdump.conf
# echo 'core_collector makedumpfile -c --message-level 1 -d 31' >> /etc/kdump.conf
- 启动 Veritas Access 产品进程。
在以下命令中提供当前主机名,然后执行该命令。
# /tmp/module_script.pl veritas::process '{"state" => "present", "seednode" => "<provide current hostname here>","component" => "sfcfsha"}'
例如,如果主机名是 clus_01:
# /tmp/module_script.pl veritas::process '{"state" => "present","seednode" => "clus_01","component" => "sfcfsha"}'
如果在 clus_02 上运行该命令,则必须提供 "seednode" => "clus_02"。
运行以下命令。
# /opt/VRTSnas/pysnas/install/install_tasks.py all_services_running serial
- 创建 CVM 组。
如果
/etc/vx/reconfig.d/state.d/install-db
文件存在,则执行以下命令。# mv /etc/vx/reconfig.d/state.d/install-db /etc/vx/reconfig.d/state.d/install-db.a
如果尚未配置 CVM,则在主节点上运行以下命令。
# /opt/VRTS/bin/cfscluster config -t 200 -s
- 启用 hacli。
在
/etc/VRTSvcs/conf/config/main.cf
文件中进行验证。如果 HacliUserLevel = COMMANDROOT 存在,则转到步骤 22,否则请按照以下步骤在您的系统中启用 hacli。# /opt/VRTS/bin/hastop -local
更新
/etc/VRTSvcs/conf/config/main.cf
文件。如果不存在以下行,请添加此内容:
HacliUserLevel = COMMANDROOT in cluster <cluster name> ( ) loop
例如:
cluster clus ( UserNames = { admin = aHIaHChEIdIIgQIcHF, user1 = aHIaHChEIdIIgFEb } Administrators = { admin } Operators = { user1 } HacliUserLevel = COMMANDROOT # /opt/VRTS/bin/hastart
验证 hacli 是否正常运行。
# /opt/VRTS/bin/hacli -cmd "ls /" -sys clus_01
- 验证 HAD 后台驻留程序是否正在运行。
# /opt/VRTS/bin/hastatus -sum
- 执行步骤 1 到 22,在第二个节点上配置 Veritas Access。
- 验证是否已正确配置系统。
验证是否已正确配置 LLT。
# lltconfig -a list
例如:
[root@clus_02 SetupClusterScripts]# lltconfig -a list Link 0 (priveth0): Node 0 clus_01 : 00:0C:29:0C:8D:69 Node 1 clus_02 : 00:0C:29:F0:CC:B6 permanent Link 1 (priveth1): Node 0 clus_01 : 00:0C:29:0C:8D:5F Node 1 clus_02 : 00:0C:29:F0:CC:AC permanent
验证是否已正确配置 GAB。
# gabconfig -a
例如:
[root@clus_01 network]# gabconfig -a GAB Port Memberships ================================== Port a gen 43b804 membership 01 Port b gen 43b807 membership 01 Port h gen 43b821 membership 01
验证 LLT 状态。
# lltstat -nvv
例如:
[root@clus_01 network]# lltstat -nvv LLT node information: Node State Link Status Address * 0 clus_01 OPEN priveth0 UP 00:0C:29:0C:8D:69 priveth1 UP 00:0C:29:0C:8D:5F 1 clus_02 OPEN priveth0 UP 00:0C:29:F0:CC:B6 priveth1 UP 00:0C:29:F0:CC:AC 2 CONNWAIT priveth0 DOWN priveth1 DOWN
vxconfigd 后台驻留程序应在两个节点上均处于联机状态。
# ps -ef | grep vxconfigd
例如:
# ps -ef | grep vxconfigd root 13393 1 0 01:33 ? 00:00:00 vxconfigd -k -m disable -x syslog
- 运行 Veritas Access 启动后操作。
确保所有节点上都在运行 HAD。
# /opt/VRTS/bin/hastatus
在所有节点上,创建
communication.conf
文件以启用 hacli(而不是 ssh)。vim /opt/VRTSnas/conf/communication.conf { "WorkingVersion": "1", "Version": "1", "CommunicationType": "HACLI" }
运行安装程序以安装 Veritas Access。只在主节点上运行以下命令。
# /opt/VRTSnas/install/image_install/installer -m master
- 在从属节点上运行加入操作。
# /opt/VRTSnas/install/image_install/installer -m join
- 在两个节点上均运行以下命令。
# echo "<first private nic name>" > /opt/VRTSnas/conf/net_priv_dev.conf
例如:
# echo "priveth0" > /opt/VRTSnas/conf/net_priv_dev.conf
- 启用 NFS 资源。在主节点上运行以下命令。
# /opt/VRTS/bin/haconf -makerw # /opt/VRTS/bin/hares -modify ssnas_nfs Enabled 1 # /opt/VRTS/bin/haconf -dump -makero
现在可以使用该双节点 Veritas Access 群集。