版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章 基于Linux的微机集群构建基础知识OutlinenLinux微机集群拓扑结构及硬件环境nLinux微机集群的软件环境nLinux微机集群构建流程单一登录点单一文件层次结构Linux微机集群拓扑结构及硬件环境n按照节点功能分类,常见机群节点类型登录节点登录节点n机群的唯一入口,外部用户通过该节点登录机群管理节点管理节点n为实现机群系统单一映像提供各类服务,如NFS,NIS等,负责系统安装,监控,维护等任务计算节点计算节点n机群系统的计算核心,负责执行计算存储节点存储节点n负责机群系统的数据存储和数据服务在小型机群系统中,登录节点,管理节点,存储节点在小型机群系统中,登录节点,管理节点,
2、存储节点往往安装在一个物理节点上,称为主节点往往安装在一个物理节点上,称为主节点Linux微机集群拓扑结构及硬件环境主节点主节点节点的主要配置指标包括cpu, 内存,磁盘等所有计算节点配置相同(同构机群),以便管理主节点通常部署机群各类服务,因此,通常需要配置较好,可靠性较高的机器机群只需要一台显示器,键盘和鼠标,与主节点连接,用于机群管理和监控在中低端机群系统中,通常采用以太网作为网络连接,在高性能机群中可采用infiniband等高速网Linux微机集群的软件环境n节点操作系统选择Redhat Linux SuSE LinuxDebian GNU/Linux可管理性强,用户界面友好可管理性
3、强,用户界面友好可裁剪性强可裁剪性强linux目录结构/bin最经常使用的命令。/boot 启动Linux时使用的一些核心文件。/devLinux将所有的设备都视为文件,放在这个目录下。/etc存放所有的系统管理所需要的配置文件和子目录。/home 放置用户的主要目录 。/lib 系统函数库的目录,存放系统运行时需要调用的文件。/opt安装额外软件时候的目录。/proc一个虚拟的目录,它是系统内存的映射,可以通过直接访问这个目录来获取系统信息。/root超级权限者的用户主目录。/sbin 存放系统管理员使用的系统管理程序。linux目录结构/tmp 存放临时文件的目录。/usr最大的目录,存放
4、应用程序和文件 。/usr/bin存放应用程序。/usr/sbin存放root超级用户使用的管理程序。/usr/doc Linux技术文档。/usr/include Linux下开发和编译应用程序所需要的头文件。/usr/lib存放一些常用的动态链接库和静态库。/usr/local提供给一般用户的/usr目录,在这里安装一般的应用软件。/usr/man帮助文档所在的目录。/usr/src存放Linux开放的源代码。linux目录结构/var 主要放置系统执行过程中的经常变化的文件。 /var/log 存放系统的日志文件。ndf 命令查看文件系统的利用率。nps 命令查看系统当前的进程信息nun
5、ame和cat /etc/issue查看系统版本信息 机群网络配置n配置主机名n在集群中添加多台主机n配置IP地址及辅助IP地址n禁用和启用网卡n设置主机名2021年10月30日星期六13配置主机名 修改主机名后,需要重新启动系统后生效。 通过编辑/etc/sysconfig/network文件中的HOSTNAME字段可以修改主机名。n查看主机名2021年10月30日星期六14配置主机名 设置完主机名后,可以使用hostname命令查看当前主机名称。n临时设置主机名2021年10月30日星期六15配置主机名使用sysctl命令修改内核参数,格式为: sysctl kernel.hostname
6、=主机名。使用hostname命令去设置主机名,格式为hostname 主机名。该设置为临时生效。重新启动系统后,设置失效。2021年10月30日星期六16在集群中添加多台主机要想在集群中添加多台主机,需要编辑/etc/hosts文件中的内容。n设置IP地址2021年10月30日星期六17配置IP地址及辅助IP地址使用ifconfig命令配置IP地址,格式如下所示:ifconfig 网卡名 ip地址 netmask 子网掩码 设置第一块以太网卡(eth0)的IP地址为 10 . 0 . 0 . 1, 子网掩码为255 . 0 . 0 . 0。n查看IP地址2021年10月30日星期六18配置I
7、P地址及辅助IP地址 使用ifconfig命令可以查看网卡配置信息,如MAC地址、IP地址、收发数据包情况等。n设置辅助IP地址2021年10月30日星期六19配置IP地址及辅助IP地址 在实际工作中,可能会出现一块网卡需要拥有多个IP地址的情况,可以通过设置虚拟网卡来实现。命令格式如下: ifconfig 网卡名:虚拟网卡ID ip地址 netmask 子网掩码如果不设置netmask,则使用默认的子网掩码。 对这些虚拟网卡设置IP地址即可实现一块网卡配置多个辅助IP地址需求。n设置辅助IP地址2021年10月30日星期六20配置IP地址及辅助IP地址 使用ifconfig命令查看 eth0
8、:0表示eth0的第一个虚拟网卡,如果还想设置更多的IP地址,可以使用eth0:1;eth0:2分别表示第二块、第三块虚拟网卡,以此类推。2021年10月30日星期六21禁用和启用网卡使用ifconfig命令,格式为: ifconfig 网卡名称 down #禁用网卡 ifconfig 网卡名称 up #启用网卡使用ifdown和ifup命令也可以实现禁用和启用网卡的效果。Linux微机集群的软件环境n相关的linux服务NFS(Network File System)服务NIS(Network Information Service)服务SSH(Secure SHell)服务Linux微机集
9、群的软件环境nNIS(Network Information Service)服务由SUN公司开发,是一个简单的客户/服务器模式的数据库系统是一种集中管理系统配置信息(如用户帐号信息, 主机信息等)的分布式数据库系统。适合于所有节点需要使用相同的配置信息的场景管理员无需了解NIS的内部数据格式,仍然可以按照原来的模式处理配置文件NIS安全性较差,因此适合在内部网络使用nNIS的体系结构原理NIS从服务器从服务器NIS主服务器主服务器NIS从服务器从服务器客户机客户机客户机客户机客户机客户机客户机客户机Login:_1. /etc/passwd /etc/shadow2.NIS查询查询网络网络向
10、所有向所有NIS服务器服务器广播请求广播请求构建构建NIS数据库数据库提供从服务器提供从服务器 信息更新信息更新3. 提供提供NIS查询查询从主服务器获取从主服务器获取 信息更新信息更新2. 提供提供NIS查询查询1. 从主服务器获取从主服务器获取 信息更新信息更新2. 提供提供NIS查询查询推送推送推送推送NIS在机群单一用户管理中的应用n为实现机群单一用户登录,需要为机群所有节点配置相同的用户帐号n为了用户使用方便,通常为各节点上的用户帐号设置相同的密码n机群中通常存在多个用户帐号信息,随着系统规模扩大,用户帐号数可达数百个n若对每个节点独立进行用户帐号管理,则需要对每个节点重复进行帐号设
11、置工作,十分繁琐;或通过配置文件复制实现,但难以适应机群用户流动量大的场景n可利用NIS服务器集中管理用户帐号信息,机群管理员只需将每台节点设置为属于该机群NIS服务的客户机,当节点接收用户请求(包括登录、shell命令等)时,节点就可以通过NIS服务器进行验证。n一般机群都采用NIS进行用户管理NIS(Network Information Service)的安装与配置nNIS软件由NIS Server和NIS Client组成n相关软件包ypserv NIS Server软件包,负责客户端设置ypbind NIS Client 软件包,负责服务器端设置yp-tools 提供对NIS服务器的
12、查询和管理工具 Portmap 提供RPC服务NIS(Network Information Service)的安装与配置n主要配置文件/etc/ypserv.confnNIS的主配置文件,规范NIS客户端是否具有可以查询NIS服务器的权限/etc/yp.confnNIS客户端的配置文件/etc/nsswitch.confn设置系统中信息查询方式NIS(Network Information Service)的安装与配置n依赖的服务Time和time-udp:支持ypserv的启动root server root# chkconfig -level 35 time on root server
13、 root# chkconfig -level 35 time-upd on root server root# /etc/rc.d/init.d/xinetd restart n服务器端配置1. 设置NIS域名方法1:采用nisdomainname命令设置(临时生效) nisdomainname NIS域名 方法2:通过修改/etc/rc.d/rc.local配置文件设定NIS域名,在/etc/rc.d/rc.local中添加如下语句: /bin/nisdomainname NIS域名方法3:通过修改/etc/sysconfig/network配置文件,然后重启NIS服务,使系统自动设定NI
14、S域名。 在/etc/sysconfig/network配置文件中加入如下语句: NISDOMAIN=hpcclass2. 配置/etc/ypserv.conf文件dns:non设置是否使用DNS服务files:30n设置可读入NIS高速缓存的数据库数目xfr_check_port:yesn设置主从服务器间信息同步使用的端口号范围host:Domain:Map:Securityn描述客户端查询的权限nhost: 指定客户端,可以是一个IP,也可以是一个网段ndomain: 设置NIS域名nmap:设置数据库名,“*”表示所有数据库nsecurity: 安全设置None: 没有安全限制Port:
15、 只允许小于1024的端口连接NIS服务器Deny: 拒绝连接NIS服务器例子:如下三行设定除了内环网络和网段,其他网络都不能访问NIS共享文件系统/ : * : * : none /: * : * : none * : * : * : deny 3. 启动NIS服务#service ypserv start#service yppasswdd start或者#chkconfig level 35 ypserv on#chkconfig level 35 yppasswdd on4
16、.创建NIS数据库 root server root# /usr/lib/yp/ypinit -m 结果如下:At this point, we have to construct a list of the hosts which will run NISservers. .tw is in the list of NIS server hosts. Please continue to add the names for the other hosts, one per line. When you are done with thelist, typ
17、e a .next host to add:node1.cluster next host to add: The current list of NIS servers looks like this: cluster Is this correct? y/n: y yWe need a few minutes to build the databases. .cluster has been set up as a NIS master server. 。5. #重新启动ypserv和yppasswdd服务 root server root# /etc/rc.d/init.d/ypserv
18、 restart root server root# /etc/rc.d/init.d/yppasswdd restart NIS客户端配置n配置/etc/yp.conf文件n配置/etc/nsswitch.confNIS客户端配置n启动NIS客户端root server root# /etc/rc.d/init.d/ypbind start root server root# chkconfig -level 35 ypbind on NIS服务安装正确性检测方法1. 在配置NIS服务端的节点上使用如下命令新增一个用户,如aa: adduser aa2. 在NIS服务端运行创建nis数据库命
19、令: /usr/lib/yp/ypinit m3.在NIS服务端重新启动ypserv和yppasswdd服务 /etc/rc.d/init.d/ypserv restart /etc/rc.d/init.d/yppasswdd restart 4.在NIS客户端运行如下命令,从root用户切换至aa用户: su aa若可成功切换至若可成功切换至aa用户,则说明用户,则说明NIS配置成功。(这是因为配置成功。(这是因为在在NIS客户端节点上未新建客户端节点上未新建aa用户的情况下,用户的情况下,NIS客户端客户端节点可以通过节点可以通过NIS服务从远程服务从远程NIS数据库获取用户信息数据库获取
20、用户信息) 网络文件系统NFS(Network File System)NFS的基本原理nUNIXLinux系统支持的一种网络文件服务n通过NFS,网络中的计算机可以发布共享信息,远程客户端能够像使用本地文件一样访问该共享资源。FilesNFS客户端客户端NFS服务器服务器Windows/linux系统系统Linux系统系统NFS的优点n节约磁盘空间n节约硬件设备n共享用户目录,应用程序目录NFS的主要版本nNFSv2nNFSv3增加64位文件支持,异步写入以及错误处理nNFSv4支持基于TCP协议的传输,支持访问控制以及状态处理NFS工作原理nNFS的相关守护进程必需进程nRpc.nfsd
21、基本NFS守护进程,管理客户端登入服务器nRpc.mountd RPC的安装守护进程,管理NFS的文件系统,检验客户端的权限nPortmap 进行端口映射工作,记录服务对应的端口信息,并提供给客户端*RPC(Remote Procedure Call),远程过程调用:进程间通过网络进行交互通信的机制,允许客户端的进程通过网络向远程服务器上的服务进程请求服务,而不需要了解底层的通信协议详细信息。NFS工作原理可选进程nRpc.lockd 提供文件锁功能,管理文件并发写,保证数据一致性nRpc.statd 维护共享目录中文件的一致性,与rpc.lockd配合使用NFS工作流程客户端程序RPCRPC
22、NFS进程rpc.nfsd,rpc.mountd等Portmap端口映射表NFS共享资料1.RPC请求请求2.RPC响应响应3.通信通信请求请求客户端客户端服务器服务器客户端向NFS服务器提交RPC请求,并告知具体的读写操作。RPC查找端口映射表,并根据客户端请求,返回相应的结果。客户端获得指定的NFS服务器端口后,将直接和NFS进程进行读写操作。NFS的安装n安装所需rpm软件包(客户端和服务端相同)nfs-utils-*.rpm:NFS服务的主程序包,提供rpc.nfsd,rpc.mountdPortmap-*.rpm:记录服务的端口映射信息。n安装命令#rpm ivh nfs-utils
23、-*.rpmn安装后使用如下命令检查#rpm qa|grep nfsNFS服务端的配置1.配置/etc/exports文件用于定义需要共享的目录,以及访问对象的控制默认情况下,该文件内容为空,即不共享任何目录当需要共享目录时,需要管理员手动设置。发布共享目录格式 共享目录共享目录 客户端客户端1(参数参数1,参数参数2,) 客户端客户端2(参数参数1,参数参数2,).NFS服务端的配置共享目录共享目录 是指NFS服务器上需要给客户端共享出来的目录,在设置目录时需要使用绝对路径。客户端客户端 是指所有可以访问共享目录的计算机客户端指定方式客户端指定方式示例示例使用IP地址指定单一主机10.20.
24、30.41使用IP地址指定主机范围/24使用IP地址指定主机范围172.21.20.*使用域名指定单一主机T使用域名指定主机范围*使用通配符指定所有主机*NFS服务端的配置参数参数 是指客户端对共享目录的访问权限设置。参数参数说明说明ro设置共享权限为只读rw设置共享权限为读写root_squash当共享目录使用者为root时,将被映射成匿名帐号no_root_squash当共享目录使用者为root时,将不被映射成匿名帐号all_squash将所有使用NFS共享目录的用户映射为匿名帐号anonuid设置匿名帐号的UIDanongid设置匿名帐号的GIDsync保持数据同步
25、,即将数据同步写入内存和磁盘async先将数据保存在内存中,而不直接保存在磁盘中NFS服务端的配置n示例 在NFS服务器上,共享如下目录: /media目录,允许所有客户端访问,但只具有只读权限 /NFS/public目录,允许/24和/24网段的客户端访问,且只具有只读权限 /NFS/team1目录,允许来自.team1.apple域的客户端访问,具有读写权限 /NFS/works目录,允许/24网段客户端访问,并将root用户映射为匿名用户 /NFS/test目录,所有客户端允许访问,所有用户映射为匿名用户,并指定匿名用户的
26、UID和GID均为65534 /NFS/security目录,仅允许54客户端访问,具有读写权限NFS服务端的配置2.配置NFS固定端口(可选)针对场景:NFS服务每次启动,其对应的端口号都会随机变化,这对服务器防火墙配置带来负担,因此,可以通过配置,固定NFS服务所用端口。配置文件/etc/sysconfig/nfs 增加如下配置行: MOUNT_PORT=”5001” STATD_PORT=“5002” LOCKD_UDPPORT=“5003” LOCKD_TCPPORT=“5003” RQUOTAD_PORT=“5004”NFS服务启动和停止nNFS服务启动/停止/
27、重启/查询状态命令方法一: #/etc/init.d/portmap start/stop/restart/status #/etc/init.d/nfs start/stop/restart/status方法二:#service portmap start/stop/restart/status#service nfs start/stop/restart/statusNFS服务启动和停止NFS服务启动和停止n开机自动启动NFS服务命令 #chkconfig nfs onn停止开机自动启动NFS #chkconfig nfs off测试NFS服务端n通过查看/var/lib/nfs/etab
28、文件,可以查看共享目录及其详细的参数配置NFS客户端配置1.查看NFS服务器的共享目录 #showmount e 服务器名/IPNFS客户端配置2. 挂载NFS文件系统 #mount t nfs NFS服务器服务器IP地址地址/主机名:共享目录主机名:共享目录 本地挂载点本地挂载点例:将54上的/tmp目录挂载到本地的/test目录 #mount t nfs 54:/tmp /testn卸载NFS文件系统 #umount 本地挂载点本地挂载点例:将上例的/test目录卸载 #umount /testNFS客户端配置n开机自动挂载NFS配置客户端/et
29、c/fstab文件 挂载目录格式: NFS服务器服务器IP:共享目录共享目录 本地挂载点本地挂载点 nfs defaults 0 0测试NFS问题n如何利用NFS为NIS用户设置主目录?nSSH(Secure SHell)用于Linux下的远程登录采用公钥加密体系对传输数据进行加密,与Telnet, rsh, FTP相比, 加强安全性,可防止“中间人”攻击,也能防止DNS和IP欺骗。传输的数据经过压缩,可加快传输速度SSH的体系结构n传输层协议(The Transport Layer Protocol)提供服务器认证,数据机密性,信息完整性 等的支持; n用户认证协议(The User Aut
30、hentication Protocol) 则为服务器提供客户端的身份鉴别; n连接协议(The Connection Protocol) 将加密的信息隧道复用成若干个逻辑通道,提供给更高层的应用协议使用; 各种高层应用协议可以相对地独立于SSH基本体系之外,并依靠这个基本框架,通过连接协议使用SSH的安全机制 。nSSH安全验证级别安全验证级别第一种级别(基于口令基于口令的安全验证) n只要知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证正在连接的服务器就是想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。 第二种级别(
31、基于密匙基于密匙的安全验证)需要依靠密匙 n采用数字签名的方法来认证客户端。目前,设备上可以利用RSA和 DSA两种公共密钥算法实现数字签名。SSH基于密钥认证的原理n前提 Ac 客户端公钥Bc 客户端密钥As 服务器公钥Bs 服务器密钥在认证之前,客户端需要通过某种方法将公钥 Ac 登录到服务器上。 n认证过程分为两个步骤 1. 会话密钥会话密钥(session key)生成生成 1). 客户端请求连接服务器,服务器将 As 发送给客户端。 2). 服务器生成会话ID(session id),设为 p,发送给客户端。 3). 客户端生成会话密钥(session key),设为 q,并计算 r
32、 = p xor q。 4). 客户端将 r 用 As 进行加密,结果发送给服务器。 5). 服务器用 Bs 进行解密,获得 r。 6). 服务器进行 r xor p 的运算,获得 q。 7). 至此服务器和客户端都知道了会话密钥q,以后的传输都将被 q 加密。 2. 认证认证 1) 服务器生成随机数 x,并用 Ac 加密后生成结果 S(x),发送给客户端 2) 客户端使用 Bc 解密 S(x) 得到 x 3) 客户端计算 q + x 的 md5 值 n(q+x),q为上一步得到的会话密钥 4) 服务器计算 q + x 的 md5 值 m(q+x) 5) 客户端将 n(q+x) 发送给服务器
33、6) 服务器比较 m(q+x) 和 n(q+x),两者相同则认证成功nSSH在机群中的应用支持机群用户远程安全登录机群系统支持数据的安全传输支持命令的远程安全执行可支持并行程序多任务在多个机群上的加载nSSH的安装与配置选用Linux平台广泛使用的OpenSSHOpenSSH软件包由服务器软件包openssh-server和客户程序openssh-clients组成,默认安装模式下,二者均会安装在系统中1. 查看方式rpm q openssh-serverrpm q openssh-clients2.启动和查询SSH服务一般linux平台都默认安装并设定开机启动SSH服务,可直接使用也可用下述
34、命令的方式启动/重启/停止/查询SSH服务 /etc/init.d/sshd start/restart/stop/status 或 service sshd start/restart/stop/status可使用ntsysv命令,将SSH服务设置为开机自启动服务SSH服务使用tcp协议的22号端口,在使用防火墙的情况下,应允许TCP协议的22号端口开启,可以用以下命令: iptables A INPUT p tcp dport 22 j ACCEPTn修改配置文件 /etc/ssh/sshd_config RSAAuthentication yes # 启用 RSA 认证PubkeyAut
35、hentication yes # 启用公钥认证PasswordAuthentication no # 禁止密码认证然后重新启动 sshd。基于密钥认证的ssh设置1.使用ssh-keygen生成密钥对2.使用scp命令,将公钥拷贝到目的服务器上1)首先将生成的公钥文件,复制一份,命名为id_dsa_机器名.pub cp ./id_dsa.pub ./id_dsa_机器名机器名.pub2)将复制的公钥文件拷贝到目的服务器上 scp ./id_dsa_机器名机器名.pub 目的服务器名目的服务器名:/root/.ssh注意:其中注意:其中机器名,目的服务器名均用实际操作中源、目的的服务器名机器名
36、,目的服务器名均用实际操作中源、目的的服务器名代入代入2.修改id_dsa_机器名.pub文件名为authorized_keys,并修改文件权限若authorized_keys文件已存在,则使用如下命令:Cat id_dsa_机器名.pubauthorized_keys问题及注意n如何设置putty的ssh连接?n在机群任意两个节点间均需进行双向SSH认证!利用putty实现Windows下访问linux机群系统Putty的的ssh登录登录1.使用puttygen.exe文件生成公钥和私钥对;2. 拷贝公钥文件至linux系统该用户的.ssh目录下;3.使用如下命令: ssh-keygen i
37、f 公钥文件名公钥文件名authorized_keys4.断开之前的连接,重新打开Putty.exe,执行如下操作: 1)在Session节指定Host Name(or IP address)和SSH端口; 2)在Connection下的Data节指定Auto Login username 3)再切换到Connection/SSH/Auth节,点击Browse按钮选中之前保存的private key,再点击Open按钮,即可。MPICH2的安装与配置在LINUX上安装和配置MPICH-2 nStep 1: MPICH-2的下载 /mpi/mp
38、ich2/index.htm#download tar zxvf mpich2-1.0.5p4.tar.gznStep 2: MPICH2的安装 ./configure -prefix=/home/test/mpich2-1 make make install Step 3: MPICH-2的配置与验证n设置主目录下的mpd.hosts文件 $HOME/mpd.hosts文件中加入了一行:node01 node02 . n配置SSH无密码登录 在各个节点上运行命令:ssh-keygen -t rsa n命令和手册页路径的配置 export PATH=/home/test/mpich-2.1/b
39、in:$PATHexport MANPATH=/home/test/mpich-2.1/man:$MANPATH nStep 4: 启动MPD 可启动mpd进程,创建mpi运行时环境 :mpiboot nStep 5:应用程序的编译、链接 mpicc o mypi cpi.c nStep 6: MPI程序的运行mpiexec -n 4 ./mypi 该命令为mypi程序启动4个进程 高可用软件Heartbeat的原理与配置工作原理1.对于特定服务(如web服务)配置主服务器和备份服务器2. 主服务器运行特定服务,备份服务器上配置Heartbeat监听主服务器的“心跳”3. 若备份服务器未能监听
40、到主服务器的“心跳”,则启动故障转移,在备份服务器上启动特定服务。*节点级高可用技术Heartbeat的物理路径设置n在高可用系统中,心跳消息应该通过多个独立的通信路径进行传送,从而消除通信路径单点故障。n心跳消息可以同时通过一个或多个物理连接发送,备份服务器只要从这些物理连接中的任意一个收到主服务器的心跳,即认为主服务器正常工作。交换机串行电缆串行电缆以太网交叉电缆以太网交叉电缆心跳心跳主服务器备份服务器Heartbeat心跳控制消息n三种最基本的心跳控制消息心跳或状态消息n主服务器周期性向备份服务器发送的消息,表征主服务器的状态(live/dead)n通常约150字节,通过广播,单播或多播
41、方式传送机群转换消息n主要包括ip-request和ip-request-respIp-request: 主服务器故障修复时,主服务器发送ip-request消息,通知从服务器关闭接管的服务Ip-request-resp:备份服务器接收到ip-request消息,关闭接管服务后,返回给主服务器的响应消息重传请求n备份服务器接收到的心跳消息超出了序列的范围时发出该消息,要求心跳消息重传。Heartbeat故障转移技术nHeartbeat故障转移中的难点当主服务器失效后,服务被备份服务器接管,但由于主、备服务器具有不同的IP地址,客户端难以感知备份服务器的IP地址,因此,无法访问备份服务器上的服务
42、。nIP地址接管技术IPAT(IP Address Takeover)IP别名技术免费ARP广播Heartbeat故障转移技术IP别名技术n将多个IP地址添加到同一个实际网卡上n通过IP别名技术,可以在一台主机上,对所提供的各类服务区分使用不同的IP,如对邮件服务器使用一个IP,对WEB服务使用另一个IP。n在Heartbeat中,可以通过为主服务器和备份服务器设置相同的IP别名,确保备份服务器接管服务后,客户端可以识别和访问。Heartbeat故障转移技术免费ARP广播n计算机通常采用地址解析协议(ARP)进行IP地址到MAC地址的映射,并将该映射关系存储于ARP表中nHeartbeat利用
43、免费ARP广播,当主服务器失效时,强制更新客户端的ARP表,从而有效确保客户端与备份服务器的通信。n免费ARP广播实质上是强制连接到网络的所有节点更新ARP表。资源脚本n资源脚本用于启动/停止/控制服务状态nHeartbeat通过运行资源脚本,并为其传递start/stop/status等参数,实现对服务启停的控制。nHeartbeat在/etc/init.d和Heartbeat的/etc/ha.d/resource.d目录下寻找资源脚本资源脚本n资源脚本的标准格式框架资源脚本Linux中服务管理命令 #/etc/rc.d/init.d/服务名 start/stop/restart/statu
44、s资源脚本资源脚本的标准格式框架#!/bin/bashCase $1 inStart) commands to start my resource ;Stop) commands to start my resource ;Status) commands to start my resource ;*) echo “syntax incorrect. You need one of start|stop|status”esacHeartbeat的安装nHeartbeat所需的rpm安装包Heartbeat-*Heartbeat-stonith-*Heartbeat-pils-*n使用rpm
45、ivh命令安装,使用rpm qa 命令查看Heartbeat的配置n三个主要配置文件/etc/ha.d/ha.cf:n指定各个系统上的heartbeat进程之间如何通信/etc/ha.d/haresourcesn指定节点具有的服务/etc/ha.d/authkeysn指定heartbeat数据包如何加密Heartbeat的配置1. 配置/etc/ha.d/ha.cf1)通过如下命令,找到heartbeat rpm包中样本配置文件ha.cf #rpm qd heartbeat | grep ha.cfHeartbeat的配置2) 将样本配置文件复制到指定位置 #cp /usr/share/doc
46、/heartbeat-2.0.8/ha.cf /etc/ha.d3) 编辑ha.cf文件 1使能选项nKeepalive : 指定两个心跳信号之间需要间隔多少分钟nDeadtime:指定在未收到主服务器的heartbeat多久后可以确认主服务器失效。nInitdead:指定在heartbeat进程首次运行后,需要等待多少秒钟后才能启动主服务器上的服务* Deadtime和keepalive的时间不能过于接近,通常deadtime需要是keepalive的两倍以上Heartbeat的配置2心跳物理路径设置 注释掉配置行: #udpport 694 选择物理路径设置 Heartbeat的配置Hea
47、rtbeat的配置3添加配置项node 主服务器名主服务器名 备份服务器名备份服务器名2.创建资源脚本遵循资源脚本标准结构框架创建服务所需的资源脚本n示例Heartbeat的配置修改资源脚本属性#chmod 755 /etc/ha.d/resources.d/test验证脚本正确性(适用于本示例) #/etc/ha.d/resources.d/test start #tail /var/log/messagesHeartbeat的配置3.配置haresources文件1)通过如下命令,找到heartbeat rpm包中样本配置文件haresources #rpm qd heartbeat |
48、grep haresources2) 将样本配置文件复制到指定位置 #cp /usr/share/doc/heartbeat-2.0.8/haresources /etc/ha.d3) 编辑haresources文件 在文件尾部添加如下信息: 主服务器名主服务器名 ip别名别名 工作服务名工作服务名Heartbeat的配置4.配置/etc/ha.d/authkeys文件1)通过如下命令,找到heartbeat rpm包中样本配置文件ha.cf #rpm qd heartbeat | grep authkeys2) 将样本配置文件复制到指定位置 #cp /usr/share/doc/heartb
49、eat-2.0.8/authkeys /etc/ha.d3)编辑配置文件在文件中,注释掉其他配置行,仅保留如下两行:auth 1 1 sha1 Heartbeat的配置n4)修改文件属性#chmod 600 /etc/ha.d/authkeysHeartbeat的配置5. 在备份服务器上,安装heartbeat,并将所有配置文件复制到备份服务器上 #scp r /etc/ha.d/ 备份服务器名备份服务器名:/etc/ha.d6.设置系统时间Heartbeat要求主服务器与备份服务器的时间差异应在几分钟内可使用date命令设置服务期时间启动Heartbeatn启动命令 #/etc/init.d
50、/heartbeat startn通过系统日志检查heartbeat服务状态 #tail f /var/log/messagesn可通过heartbeat日志文件查看服务状态在ha.cf文件中,将如下配置行使能: logfile /var/log/ha-log1.启动主服务器上的heartbeat服务2.启动备份服务器上的heartbeat服务Heartbeat测试1.停止主服务器的heartbeat服务 #/etc/init.d/heartbeat stop2.察看日志文件机群作业管理软件OpenPBS的安装、配置与使用OpenPBS的主要功能和基本结构nPBS是Portable Batch
51、 System的简称,是一个管理任务和计算机资源的系统。n它能接受由shell脚本和控制属性组成的任务,并且保存任务直到任务被运行,运行完任务后会把结果送回提交作 业的用户。nOpenPBS是PBS的开源版本n主要功能管理作业提交进行作业调度控制作业运行监控作业状态OpenPBS的主要功能和基本结构nCommands PBS有图形用户接口,同时也支持命令行。命令分三种:用户命令、操作员命令和管理 员命令。运行不同的命令要求有不同的权限。nServer(pbs_server) Job server 是PBS 系统的核心。Server 的主要功能是接受/创建任务、修改任务、保n存任务和分配执行。J
52、ob server 的进程由服务器端执行pbs_server 产生。nJob excutor (MOM) Job excutor 是一个后台进程,由运行pbs_mom 产生,在服务器(server)上和节点(nodes)上都要执行。当从server 端获得一份任务的拷贝后,pbs_mom 负责运行任务。 pbs_mom 还负责将运行结果送回给用户。nJob scheduler Job scheduler 进程由运行pbs_sched 产生,它主要负责任务的调度,决定何时何地 运行任务。由于每个节点的情况各不相同,PBS 允许每个节点都运行自己的scheduler。 scheduler 运行的时
53、候能通过MOM 和Server 获取系统资源和任务属性的信息。 Scheduler 有编程接口,用户可以自己决定调度策略。OpenPBS的安装n源码解压 # tar zxvf 路径名/OpenPBS_2_3_16.tar.gzTcl_devel工具安装nTcl注意,一定采用tcl8.0版本3. 安装补丁程序1)将pbs.patch文件拷贝到源码解压目录下执行如下命令: #patch p1 b pbs.patch4. 编译设置-configure命令 1) 使用configure help命令查询选项 2)-prefix选项指定安装路径 可将OpenPBS安装在机群共享目录下,如/public编
54、译设置命令:1)进入OpenPBS软件包的解压目录2)运行如下命令:# ./configure prefix=/public/pbs设置结果nPBS执行文件目录安装在/public/pbs目录中n守护程序和PBS管理命令安装在/public/pbs/sbinn工作目录在/usr/spool/PBS中5. 编译OpenPBS缺省采用基于c语言的fifo(first-in-first-out)调度机制,并采用cpu时间对任务运行的最长时间进行限制通常需要将cpu时间修改为挂钟时间,需要修改$(PBS-source)/src/scheduler.cc/samples/fifo目录中的fairshar
55、e.c文件。*$(PBS-source)表示OpenPBS源代码存放目录fairshare.c文件修改如下:n找到calculate_usage_value函数n将语句 tmp=find_resource_req(resreq,”cput”);修改为: tmp=find_resource_req(resreq,”walltime”);编译命令 1)进入OpenPBS软件包的解压目录 2)运行如下命令: # make 6. 安装 1)进入OpenPBS软件包的解压目录 2)运行如下命令: # make install*安装目录为/public/pbs对于基于NFS共享目录安装的环境n各节点共享O
56、penPBS执行文件目录、守护程序和管理命令目录和源代码目录($(PBS-source))n各节点唯一不同的是pbs_mom及其所需的配置和日志文件安装方法安装方法n在任一需要运行pbs_mom的节点上,进入$(PBS-source)/buildutilsn运行如下命令: # sh ./pbs_mkdirs mom #sh ./pbs_mkdirs aux #sh ./pbs_mkdirs defaultOpenPBS启动1.pbs_server启动第一次启动命令 1)进入OpenPBS执行文件目录下的sbin子目录 2) 执行如下命令: #./pbs_server t create“-t c
57、reate”参数表示初始化OpenPBS控制所需的数据库后续启动命令 #./pbs_server 2.pbs_sched启动 1)进入OpenPBS执行文件目录下的sbin子目录 2) 执行如下命令: #./pbs_sched3.pbs_mom启动1)进入OpenPBS执行文件目录下的sbin子目录2) 执行如下命令: #./pbs_mom检查启动是否成功 #ps ef|grep pbs_OpenPBS的管理命令n主要采用qmgr命令进行管理,该命令大部分功能需管理员权限执行nQmgr命令在pbs_server启动后才能执行nQmgr使用方法1)进入OpenPBS执行文件目录下的bin子目录;
58、2)执行如下命令: #./qmgrQmgr命令格式命令命令 server server name attr. OP value, attr. OP value,命令命令 queue queue name attr. OP value, attr. OP value,命令命令 node node name attr. OP value, attr. OP value,命令命令命令用途Active激活一个对象,对象可以是server,queue,nodeCreate创建对象Delete删除对象Set定义对象具体属性Unset清楚对象具体属性设置list显示对象当前所有属性值nServer_name
59、: OpenPBS服务器名称;nQueue_name: 作业队列名称;nNode_name: 节点名称;nAttribute: 对象的属性名,不同对象有不同的属性nOP:属性的操作“=“: 直接设置属性值“+=”:增加当前参数值“-=”: 减少当前参数值nValue: 属性值,可以是数字,或是字符Qmgr的设置nQueue设置创建一个queue 格式格式: Qmgr: create queue queue_name attribute=values 主要属性主要属性:*其中,其中,queue_type, enabled,started必须设置必须设置 Attribute含义Valuesqueu
60、e_typeexecution(e):在本queue执行routing(r): 发送到其他queue执行Execution, routingRoute_destinations与queue_type=route配合使用,指定发送到的queue队列名Max_running最多可同时运行的任务数整数Max_user_run每个用户可运行的最多任务数整数Resources_max.walltime允许的最大运行时间,用三个用冒号分隔的整数表示(如10:30:01)enabled该queue能否递交True/Falsestarted该queue能否启动True/Falsen修改queue属性格式格式:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论