linux集群
- 格式:docx
- 大小:331.73 KB
- 文档页数:19
前言高性能计算集群(HPCC-High Performance Computing Cluster)是计算机科学的一个分支,以解决复杂的科学计算或数值计算问题为目的,是由多台节点机(服务器)构成的一种松散耦合的计算节点集合。
为用户提供高性能计算、网络请求响应或专业的应用程序(包括并行计算、数据库、Web)等服务。
相比起传统的小型机,集群系统有极强的伸缩性,可通过在集群中增加或删减节点的方式,在不影响原有应用与计算任务的情况下,随时增加和降低系统的处理能力。
还可以通过人为分配的方式,将一个大型集群系统分割为多个小型集群分给多个用户使用,运行不同的业务与应用。
集群系统中的多台节点服务器系统通过相应的硬件及高速网络互连,由软件控制着,将复杂的问题分解开来,分配到各个计算节点上去,每个集群节点独立运行自己的进程,这些进程之间可以彼此通信(通常是利用MPI -消息传递接口),共同读取统一的数据资源,协同完成整个计算任务,以多台计算节点共同运算的模式来换取较小的计算时间。
根据不同的计算模式与规模,构成集群系统的节点数可以从几个到上千个。
对于以国家政府、军方及大型组织机构来讲,节点数目可以达到数千甚至上万。
而随着HPCC 应用的普及,中小规模的高性能计算集群也慢慢走进中小型用户的视野,高性能计算集群系统的部署,极大地满足了此类用户对复杂运算的能力的需求,大大拓展了其业务范围,为中小型用户的成长提供支持。
本次方案研究适合于中小规模用户的典型系统:基于32个计算节点和In finiBand 高速网络的Linux 集群。
惠普Linux 高性能集群方案方案描述此次方案中,高性能计算集群系统的节点由 HP BladeSystem 刀片服务器搭建,节点间通过InfiniBand 高速网络相连,管理、登录和存储节点由HP ProLiant机架式服务器构成,存储节点通过SAN 交换机外挂HPStorageWorks 磁盘阵列来存储大容量数据。
LINUX集群-DR直接路由VS/DR通过改写请求报文的MAC地址,将请求发送到真实服务器上。
而真实服务器将响应直接返回给客户。
VS/DR技术可极大地提高集群系统的伸缩性。
这种方法没有IP隧道的开销,对集群中的真实服务器也没有必须支持的IP隧道协议的要求,但是要去调度器与真实服务器都有一块网卡连在同一物理网段上。
VS/DR,直接路由模式如上图,客户向VIP发送请求,LVS通过改写mac地址,将请求提交到web server(真实的),然后web server将用户的请求直接返回给客户(中间不在经过LVS,这样减少LVS的负担,而VS/NAT模式web server返回给客户的请求也要经过LVS)设置VIP脚本(LVS服务器)Directorserver 222.90.88.30VIP=222.90.88.88Realserver 222.90.88.10Realserver 222.90.88.20gw 222.90.88.1### Directorserver Configure VIP######ifconfig eth0:0 222.90.88.88 broadcast 222.90.88.88 netmask 255.255.255.255 uproute add -host 222.90.88.88 dev eth0:0######setup ipvs######ipvsadm -A -t 222.90.88.88:80 -s rr (rr:轮叫模式)ipvsadm -a -t 222.90.88.88:80 -r 222.90.88.10 -g (-g:dr模式)ipvsadm -a -t 222.90.88.88:80 -r 222.90.88.20 -gipvsadmWeb Server1和2配置脚本######realserver######ifconfig lo:0 222.90.88.88 broadcast 222.90.88.88 netmask 255.255.255.255 uproute add -host 222.90.88.88 dev lo:0 (这边是通过改写MAC地址)echo “1” > /proc/sys/net/ipv4/conf/lo/arp_ignore (关闭arp的发包和广播)echo “2” > /proc/sys/net/ipv4/conf/lo/arp_announceecho “1” > /proc/sys/net/ipv4/conf/all/arp_ignoreecho “2” > /proc/sys/net/ipv4/conf/all/arp_announcesysctl -p操作:设置VIP脚本(LVS服务器)#vim /etc/init.d/vip.shifconfig eth0:0 222.90.88.88 broadcast 222.90.88.88 netmask 255.255.255.255 up(设置虚拟IP)route add -host 222.90.88.88 dev eth0:0 (给IP加上路由)ipvsadm -Cipvsadm -A -t 222.90.88.88:80 -s rripvsadm -a -t 222.90.88.88:80 -r 222.90.88.10 -gipvsadm -a -t 222.90.88.88:80 -r 222.90.88.20 -gipvsadm#chmod 777 /etc/init.d/vip.shWeb Server1和2配置脚本#vim /etc/init.d/lvs.shifconfig lo:0 222.90.88.88 broadcast 222.90.88.88 netmask 255.255.255.255 uproute add -host 222.90.88.88 dev lo:0echo “1” > /proc/sys/net/ipv4/conf/lo/arp_ignoreecho “2” > /proc/sys/net/ipv4/conf/lo/arp_announceecho “1” > /proc/sys/net/ipv4/conf/all/arp_ignoreecho “2” > /proc/sys/net/ipv4/conf/all/arp_announcesysctl -p(注:eth0,eth1,eth2……代表网卡一,网卡二,网卡三……lo代表127.0.0.1,即localhost)#chmod 777 lvs.sh#vim /var/www/html/index.html(Web Server 1)this is sev1#service httpd start#vim /var/www/html/index.html(Web Server 2)this is sev2#service httpd start客户端用http://222.90.88.88访问web服务,间隔产生this is sev1和this is sev2LVS--ipvsadm命令参数ipvsadm的用法和格式如下:ipvsadm -A|E -t|u|f virtual-service-address:port[-s scheduler] [-p timeout] [-M netmask]ipvsadm -D -t|u|f virtual-service-addressipvsadm -Cipvsadm -Ripvsadm -S [-n]ipvsadm -a|e -t|u|f service-address:port -r real-server-address:port [-g|i|m] [-w weight]ipvsadm -d -t|u|f service-address -r server-addressipvsadm -L|I [options]ipvsadm -Z [-t|u|f service-address]ipvsadm --set tcp tcpfin udpipvsadm --start -deamon state [--mcast -interface interface] ipvsadm --stop-deamonipvsadm -h。
Linux集群服务摘要:随着信息化的高速发展,很多网络服务因为访问次数爆炸式地增长而不堪重负,不能及时处理用户的请求,导致用户进行长时间的等待,大大降低了服务质量。
为解决这一问题,集群服务应运而生。
介绍了Linux操作系统集群服务的相关概念,并通过实例讲解了Linux操作系统集群服务的实际应用。
关键词:集群;调度;算法1集群的概念伴随着网络日新月异的发展,人们早已适应了拥有各种各样的网络服务的生活。
而提供网络服务的运营商遇到了前所未有的数据流量。
如何建立可伸缩的网络服务来满足不断增长的负载需求已成为迫在眉睫的问题。
大部分网站都需要提供每天24小时、每星期7天的服务,对电子商务等网站尤为突出,任何服务中断和关键性的数据丢失都会造成直接的商业损失。
如何来满足这些需求,如果只是通过不断提升服务器的本身性能,存在以下问题:①升级过程繁琐,更换服务器将使服务暂时中断,并造成原有计算资源的浪费;②越往高端的服务器,所花费的代价越大;③单个服务器是单一故障点,一旦该服务器或应用软件失效,会导致整个服务的中断。
为了解决这个问题,许多用户就采用一组集群来代替单一的机器。
集群可以将多台计算机连接起来协同运作以对外提供各种服务,如Apache、FTP、Mail等。
通过高性能网络或局域网互联的服务器集群正成为实现高可伸缩的、高可用网络服务的有效结构。
这种松耦合结构的服务器集群系统有下列优点:(1)集群都是使用常见的硬件进行构建的,其成本只是向量处理器的很小一部分。
在很多情况中,价格会低一个数量级以上。
(2)集群使用消息传递系统进行通信,程序必须显式地进行编码来使用分布式硬件。
(3)采用集群,您可以根据需要向集群中添加节点。
(4)开放源码软件组件和Linux 降低了软件的成本。
(5)集群的维护成本很低(它们占用的空间较小,耗费的电力较少,对于制冷条件的需求较低)。
2集群系统的分类(1)高可用集群。
一般提升系统可用性时,对构成系统的组件进行冗余化,消除单点故障是重要的。
Linux高性能计算集群 -- Beowulf集群1 什么是Beowulf集群Beowulf是现存的最古老的英语史诗:Famed was this Beowulf: far ew the boast of him, son of Scyld, in the Scandian lands. So becomes it a youth to quit him well with his father's friends, by fee and gift, that to aid him, aged, in after days, come warriors willing, should war draw nigh, liegemen loyal: by lauded deeds shall an earl have honor in every clan.它歌颂了一个英雄,他拥有强壮的体魄和无人伦比的勇气。
他最终战胜了魔鬼Grendel. 你可以在/beowulf/index.html找到这首史诗。
我们所说的Beowulf首先是一个象史诗中英雄一样强大的集群系统。
在1994年夏季,Thomas Sterling和Don Becker在CESDIS(The Center of Excellence in SpaceData and Information Sciences)用16个节点和以太网组成了一个计算机集群系统,并将这个系统命名为Beowulf。
Beowulf集群。
Beowulf集群提供了一种使用COTS(Commodity off the shelf)硬件构造集群系统以满足特殊的计算需求的方法。
这里的COTS是指象PC和以太网这种广为应用的标准设备,它们通常可以由多家厂商提供,所以通常有很高的性价比。
Beowulf集群这种方法很快从NASA传遍了整个科研机构和社团。
实际上,Beowulf集群现在已被人们看作高性能计算中的一个分支或流派。
linux minio集群超时参数(原创实用版)目录1.介绍 Linux minio 集群2.解释超时参数3.探讨如何设置超时参数4.设置超时参数的注意事项5.总结正文【1.介绍 Linux minio 集群】Linux minio 集群是一种用于存储和管理大量对象的分布式系统。
它可以将数据分布在多个服务器上,以实现高可用性、可扩展性和容错能力。
在 Linux minio 集群中,超时参数是用于控制客户端与服务器之间通信的重要设置。
【2.解释超时参数】超时参数是用于控制客户端与服务器之间通信的时间限制。
在 Linux minio 集群中,主要有以下几个超时参数:- 连接超时:客户端与服务器建立连接的时间限制。
- 读取超时:客户端从服务器读取数据的时间限制。
- 写入超时:客户端向服务器写入数据的时间限制。
【3.探讨如何设置超时参数】设置 Linux minio 集群中的超时参数可以通过修改配置文件来实现。
以下是具体步骤:1.找到 minio.conf 配置文件。
通常,它位于/etc/minio/目录下。
2.打开配置文件,找到 [general] 部分。
3.在 [general] 部分中,添加以下几行代码:```connection_timeout = <数值>read_timeout = <数值>write_timeout = <数值>```其中,<数值>表示超时时间,单位为秒。
例如,要将连接超时设置为 5 秒,可以写成`connection_timeout = 5`。
【4.设置超时参数的注意事项】在设置超时参数时,需要注意以下几点:- 合理设置超时参数,以避免因为超时而导致的通信中断。
过短的超时时间可能会导致性能下降,过长的超时时间可能会导致通信失败。
- 在修改配置文件后,需要重启 minio 服务,使更改生效。
可以使用以下命令来重启 minio 服务:```sudo systemctl restart minio```【5.总结】在 Linux minio 集群中,合理设置超时参数对于保证系统的正常运行至关重要。
1.概述操作系统为3台ubuntu虚拟机,其ip地址分别为ubuntu1 192.168.1.109ubuntu2 192.168.1.108ubuntu3 192.168.1.110jdk版本为jdk72.下载解压(三台机器都执行一遍)2.1将zookeeper解压到/usr/local/zookeeper-3.4.5目录下2.2以下命令都是在/usr/local/zookeeper-3.4.5目录下执行的#从zookeeper的sample中复制一个zk的配置文件root@ubuntu-2:/usr/local/zookeeper-3.4.5# cp conf/zoo_sample.cfg conf/zoo.cfg #修改一下这个配置文件,让他支持集群root@ubuntu-2:/usr/local/zookeeper-3.4.5# vi conf/zoo.cfg#修改一下存储数据的目录,给出的模板里放在/tmp/zookeeper(如果/var/lib/zookeeper目录不存在则需要自行创建)dataDir=/var/lib/zookeeper/#在这个文件的末尾添加如下配置(遵循server.id=host:port:port的格式):server.1=192.168.1.109:2888:3888server.2=192.168.1.108:2888:3888server.3=192.168.1.110:2888:3888保存配置退出vi编辑器2.3切换到/var/lib/zookeeper目录下(这个目录即上面的zoo.cfg中配置的dataDir目录)新建一个myid的文本文件,编辑其内容如下在server.1=192.168.1.109这台机器上设置1在server.2=192.168.1.108这台机器上设置2在server.3=192.168.1.110这台机器上设置3设置的规则就是在zoo.conf文件指定的server.id,zookeeper用这个数字来标识集群中的哪一个节点3.启动切换到zookeeper安装目录的bin下root@ubuntu-3:/usr/local/zookeeper-3.4.5/bin# sh ./zkServer.sh start4.集群验证在三台机器上分别使用zkServer.sh status命令查看当前服务状态server3输出:root@ubuntu-3:/usr/local/zookeeper-3.4.5/bin# ./zkServer.sh statusJMX enabled by defaultUsing config: /usr/local/zookeeper-3.4.5/bin/../conf/zoo.cfgMode: leaderroot@ubuntu-3:/usr/local/zookeeper-3.4.5/bin#server2输出:root@ubuntu-2:/usr/local/zookeeper-3.4.5/bin# ./zkServer.sh statusJMX enabled by defaultUsing config: /usr/local/zookeeper-3.4.5/bin/../conf/zoo.cfgMode: followerroot@ubuntu-2:/usr/local/zookeeper-3.4.5/bin#server1输出:root@ubuntu-1:/usr/local/zookeeper-3.4.5/bin# sh ./zkServer.sh statusJMX enabled by defaultUsing config: /usr/local/zookeeper-3.4.5/bin/../conf/zoo.cfgMode: followerroot@ubuntu-1:/usr/local/zookeeper-3.4.5/bin#注意:实际的输出结果leader和follower可能会分步的节点不同,但是只会有一个leader,另外两个节点是folower。
Linux--SGE集群常用命令1 任务投递 -- qsub使用qsub -help查看帮助文档常用参数•-N: 定义投递的工作名•-cwd:设置工作目录为当前目录–Cput指作业的所有进程使用cpu最长时间;–File指作业可以建立单个文件大小的最大限制;–Pcput指作业的单个进程可以使用CPU的最长时间;–vmem指作业可以使用的物理内存的最大值;–Pmem指作业的单个进程可以使用的物理内存的最大值;–Pvmem指作业的单个进程可以使用的虚拟内存的最大值;–arch 指定系统管理员所定义的系统结构类型;–host指定作业运行的主机名;–nodes指定作业独占使用的结点数目和属性,使用“+”可以连接多种结点的定义。
U数•-V :将所有的环境变量都传递到批处理作业中•-m 定义何时给用户发送有关作业的邮件。
可设定的选项有:–n 不发送邮件– a 当作业被批处理系统中断时,发送邮件– b 当作业开始执行时,发送邮件– e 当作业执行结束时,发送邮件•-o: 指定标准输出文件•-e: 指定错误信息输出文件投递方式•echo "cmd" , qsub使用echo命令直接将要执行的命令传递给qsub进行任务投递•echo "bash submit.sh" , qsub将要执行的命令写进文件,文件类型只要是可执行文件就行,并在文件前面说明用什么来读取文件,比如bash、Rscript、python等另外``qsub`的参数信息也可以写在要执行的文件里,如:# bin/bash #$ -V #$ -cwd #$ -l vf=25G #$ -m n -cwd -pe smp 8 #$ -N hahaha echo " Hellow world!"2 查看任务状态•qstat: 查看自己的所有任务状态•qstat -u nser_name: 查看用户的所有任务状态3 删除任务•qdel job_ID: 删除指定的任务•qdel -u user_name: 删除用户的所有任务。
【摘要】随着计算机网络的发展及大规模科学计算如气象预报、自动化处理较高单位等对服务器的性能要求越来越高,对计算机的性能提出了更高的要求:需要硬件有灵活的可扩展性,关键性的模块需要可靠的容错机制。
计算机集群系统具有处理速度快、i/o吞吐量大,容错性好、可靠性高,而且还具有良好的可扩展能力等诸多优点,因此成为了当前的主流。
本文叙述了集群系统的资源的管理和分配.【关键词】linux;集群系统;资源管理1.集群系统概述集群是一组通过高速网络互联的相互独立的计算机的集合,配以专门软件以单一系统的模式加以管理。
在用户看来,它是运行在一系列自治处理单元上的普通系统,每个结点有各自物理内存空间并通过高速链路或者标准化网络连接,实现对同一任务的协同计算。
当一个用户与集群相互作用时,集群就像是一个独立的服务器。
和传统的高性能计算机技术相比,集群技术可以利用各档次的计算机作为节点,不仅系统造价低,还可以实现很高的运算速度,完成大运算量的计算,能够逐步满足当今日益增长的超大数据量的石油物探处理需求。
系统保持了分布式客户机/服务器模式的开发性、可扩展性的优点,同时又具备了终端/主机模式的资源共享和集中易于管理的优点.相对集中的集群系统,降低了系统管理的成本,而且还提供了和大型服务器系统相媲美的处理能力.高可用和高性能是集群服务器系统的两个重要特性。
2.集群系统(cluster)的特点集群系统使由完整的计算机互联组成一个统一的计算机系统具有极高的性能价格比。
它需要专有软件的支持,比如支持集群技术的操作系统或数据库等,硬件方面可以根据不同实际需求,采用现成的通用硬件设备或特殊应用的硬件设备。
集群系统中可以动态地加入新的服务器和删除需要淘汰的服务器,具备很强的可扩展性,从而能够最大限度地扩展系统以满足不断增长的应用的需要;另外,要求集群系统具有可用性,即能够为用户提供不间断的服务,当系统中的一个结点出现故障的时候,整个系统仍然能够继续为用户提供服务。
背景当今计算机技术已进入以网络为中心的计算时期。
由于客户/服务器模型的简单性、易管理性和易维护性,客户/服务器计算模式在网上被大量采用。
在九十年代中期,万维网(World Wide Web)的出现以其简单操作方式将图文并茂的网上信息带给普通大众,Web也正在从一种内容发送机制成为一种服务平台,大量的服务和应用(如新闻服务、网上银行、电子商务等)都是围绕着Web进行。
这促进Internet用户剧烈增长和Internet流量爆炸式地增长,图1显示了1995至2000年与Internet连接主机数的变化情况,可见增长趋势较以往更迅猛。
Internet的飞速发展给网络带宽和服务器带来巨大的挑战。
从网络技术的发展来看,网络带宽的增长远高于处理器速度和内存访问速度的增长,如100M Ethernet、A TM、Gigabit Ethernet等不断地涌现,10Gigabit Ethernet即将就绪,在主干网上密集波分复用(DWDM)将成为宽带IP的主流技术[2,3],Lucent已经推出在一根光纤跑800Gigabit的WaveStar?OLS800G 产品[4]。
所以,我们深信越来越多的瓶颈会出现在服务器端。
很多研究显示Gigabit Ethernet 在服务器上很难使得其吞吐率达到1Gb/s的原因是协议栈(TCP/IP)和操作系统的低效,以及处理器的低效,这需要对协议的处理方法、操作系统的调度和IO的处理作更深入的研究。
在高速网络上,重新设计单台服务器上的网络服务程序也是个重要课题。
比较热门的站点会吸引前所未有的访问流量,例如根据Yahoo的新闻发布,Yahoo已经每天发送6.25亿页面。
一些网络服务也收到巨额的流量,如American Online的Web Cache 系统每天处理50.2亿个用户访问Web的请求,每个请求的平均响应长度为5.5Kbytes。
与此同时,很多网络服务因为访问次数爆炸式地增长而不堪重负,不能及时处理用户的请求,导致用户进行长时间的等待,大大降低了服务质量。
软件研发与应用SOFTWARE DEVELOPMENT&APPLICATIONLinux集群运维平台用户权限管理与日志审计吴若冰(广西电力职业技术学院,南宁530001)摘要:Linux集群运维平台的建立与运行是目前业务增加的必要要求,运行中能够有效满足公司业务拓展要求,运维平台管理的重要內容为安全问题,要求Linux集群运维平台加强对用户日志的审计以及用户权限的管理,从这两个层面进行了探讨。
关键词:Linux集群;用户权限管理;日志审计随着公司业务量的逐渐增加,可建立Linux集群运维平台,以此高效地调度整个任务,建立相应的服务版操作系统,以此优化服务器平台设计,并重视平台运行中的信息安全。
1Linux集群运维平台Linux集群运维平台的运用适应了相关单位当前逐渐增多的业务发展需求,Linux集群平台包括一系列成本较低的电脑,使用成本较低、稳定性能较好且扩展性较为良好,在互联网公司以及相关单位中具有较为广泛的运用价值。
Linux集群运维平台运行中包含多个层面,包括任务调度监控、配置管理、用户访问质量统计、日志平台、自动化监控、自动化部署、机器管理、集群用户权限管理等多个层面,其中的重点内容为用户权限管理以 及日志审计。
在扩展的同时要求充分重视安全问题,加强对用户权限以及日志审计安全性的管理。
Linux集群运维平台主机定义如图1所示。
72.0.0.1localhost localhost.localdomain localhost4localhost4.localdomain4::1localhost localhost.localdomain localhost6localhost6.localdomain6172.49.1.1dell1172.49.1.2dell2172.49.1.3dell3172.49.1.4dell4172.49.1.5dell5172.49.1.6dell6172.49.1.7dell7172.49.1.8dell8172.49.1.9dell9172.49.1.10 dell10172.49.1.11dell11172.49.1.12 dell12172.49.1.13dell13172.49.1.14 dell14172.49.1.15dell15172.49.1.16 dell16172.49.1.17 dell17172.49.1.18 dell18172.49.1.19 dell19172.49.1.20 dell20172.49.1.21dell21172.49.1.22 dell22172.49.1.23dell23图1Linux集群运维平台主机定义图LDAP/Kerberos认证时并未建立统一的数据搜集、分析与处理方式,而是在本地存储器中添加各自认证结果,这种处理方式难以达到良好的安全性管理要求,为此可以在运维平台中构建Rsyslogd服务,以此搜集日志记录信息以及LDAP/Kerberos认证信息等,Rsyslogd 服务运行中能够同时支持多项数据库,但是在输入与存储上存在一定的瓶颈,要求使用的机器具有较强的性能。
简单组建linux集群及并行编译vasp过程我们现在主要是用做高性能计算,下面就是我的集群的组建过程。
集群的硬件环境:做一个集群,节点机器的硬件最好相同,这样计算的效率就会高很多,同时组建集群也相对容易。
以下是我的机器的配置情况(全新,组装)另外要说的是,我们的节点机没有配置显示器,全部工作由服务器完成。
连接就是通过交换机连接,和一般局域网连接相同。
服务器:P4 3.2,内存2 G ,硬盘:160G ,显示器,网卡:2个千兆网卡(money:8千多)节点(10台): P4 3.2,内存:2 G,硬盘:80G ,网卡:千兆网卡(5千多每台)华为24口千兆交换机(4千多)集群软件环境:建一个简单的集群,其实并不难,主要配置nis,nfs,rsh,mpi 就好了。
推荐大家看一本书《微机集群组建、优化和管理》车静光著,机械工业出版社。
我的集群,采用suse9.3,操作系统其实也很重要,这次试了很多操作系统,redhat9,rhas4无法识别网卡,rocks无法安装,如果硬件没有什么问题,建议大家可以试下rocks cluster这个集群系统,rocks集操作系统和集群于一体,安装完成并行环境就已经建立,而且还配备了pbs管理软件,非常简单,容易上手,只是我的硬件不太兼容,本来是想装rocks的,无奈,只有自己动手了。
Suse配置nis,nfs非常简单,因为suse强大的yast,就像window一样方便,只要鼠标轻点几下就ok。
1.Linux系统的安装,suse安装也非常简单,在此不想详细讲太多,主要是在分区的时候要注意,最要自己手动分区,对于服务器来说,最好能分一个独立的分区/home,因为节点机器要通过nfs共享服务器的/home。
注意的是一下几个软件包一定要安装nfs(nfs-utils),nis(ypbind),rsh(rsh-server)。
2.基本的网络配置(通过yast的网卡配置)服务器的:192.168.1.253 hostname:node0 域名:node0.cluster节点机器:192.168.1-192.168.1.10 hostname:node1-node10 域名:node*.cluser掩码:255.255.255.03.服务器的配置3.1.Nfs设置NFS(NetWork File System)是一种使用比较多的网络文件系统,它以它的安装容易,使用方便得到很多Linux爱好者的使用。
linux minio集群超时参数【1.Linux MinIO集群概述】LinIO是一个高性能、可扩展的对象存储系统,专为云计算环境设计。
在Linux环境下部署MinIO集群,可以实现高可用性、低延迟的数据存储和访问。
为了确保集群的良好性能,我们需要关注其中一个关键参数——超时参数。
【2.超时参数的概念与作用】超时参数是指在特定时间内,进程或操作等待某事件(如输入/输出操作)发生的最大时间。
当超过这个时间限制时,进程或操作将被迫终止。
在MinIO 集群中,超时参数影响着数据传输、数据访问等方面的性能。
合理的超时参数设置可以提高集群的稳定性和性能。
【3.配置MinIO超时参数】在MinIO中,超时参数可以通过修改配置文件`/etc/minio/minio.yml`来进行设置。
以下是一个超时参数的配置示例:```server:id: my-serverlisten-on: 0.0.0.0:9000http-listen-on: 0.0.0.0:9000superuser: falsemax-streams: 1000socket-timeout: 300rate-limit: 10```其中,`socket-timeout`字段表示socket超时时间,单位为秒。
可以根据实际需求调整这个值。
【4.优化超时参数实例】假设我们有一个大规模的MinIO集群,需要满足高并发、低延迟的需求。
在这种情况下,可以尝试调整超时参数以提高性能。
以下是一个优化实例:```server:id: my-serverlisten-on: 0.0.0.0:9000http-listen-on: 0.0.0.0:9000superuser: falsemax-streams: 1000socket-timeout: 50rate-limit: 20```在这个实例中,我们将socket超时时间缩短至50秒,以应对高并发场景。
同时,提高rate-limit值以允许更多的并发请求。
Linux系统RabbitMQ⾼可⽤集群安装部署⽂档RabbitMQ⾼可⽤集群安装部署⽂档架构图1)RabbitMQ集群元数据的同步RabbitMQ集群会始终同步四种类型的内部元数据(类似索引):a.队列元数据:队列名称和它的属性;b.交换器元数据:交换器名称、类型和属性;c.绑定元数据:⼀张简单的表格展⽰了如何将消息路由到队列;d.vhost元数据:为vhost内的队列、交换器和绑定提供命名空间和安全属性;2)集群配置⽅式cluster:不⽀持跨⽹段,⽤于同⼀个⽹段内的局域⽹;可以随意的动态增加或者减少;节点之间需要运⾏相同版本的 RabbitMQ 和 Erlang。
节点类型RAM node:内存节点将所有的队列、交换机、绑定、⽤户、权限和 vhost 的元数据定义存储在内存中,好处是可以使得像交换机和队列声明等操作更加的快速。
Disk node:将元数据存储在磁盘中,单节点系统只允许磁盘类型的节点,防⽌重启 RabbitMQ 的时候,丢失系统的配置信息。
解决⽅案:设置两个磁盘节点,⾄少有⼀个是可⽤的,可以保存元数据的更改。
Erlang Cookieerlang Cookie 是保证不同节点可以相互通信的密钥,要保证集群中的不同节点相互通信必须共享相同的 Erlang Cookie3)搭建RabbitMQ集群所需要安装的组件a.Jdk 1.8b.Erlang运⾏时环境c.RabbitMq的Server组件1、安装yum源⽂件2、安装Erlang# yum -y install erlang3、配置java环境 /etc/profileJAVA_HOME=/usr/local/java/jdk1.8.0_151PATH=$JAVA_HOME/bin:$PATHCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar4、安装配置rabbitmq# tar -xf rabbitmq-server-generic-unix-3.6.15.tar -C /usr/local/# mv /usr/local/rabbitmq_server-3.6.15/ /usr/local/rabbitmq5、配置RabbitMQ环境变量/etc/profileRABBITMQ_HOME=/usr/local/rabbitmqPATH=$PATH:$ERL_HOME/bin:/usr/local/rabbitmq/sbin# source /etc/profile6、修改主机配置⽂件/etc/hosts192.168.2.208 rabbitmq-node1192.168.2.41 rabbitmq-node2192.168.2.40 rabbitmq-node3各个主机修改配置⽂件保持⼀致# /root/.erlang.cookie7、后台启动rabbitmq# /usr/local/rabbitmq/sbin/rabbitmq-server -detached添加⽤户# rabbitmqctl add_user admin admin给⽤户授权# rabbitmqctl set_user_tags admin administrator# rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"启⽤插件,可以使⽤rabbitmq管理界⾯# rabbitmq-plugins enable rabbitmq_management查看⽤户列表# rabbitmqctl list_users查看节点状态# rabbitmqctl status查看集群状态# rabbitmqctl cluster_status查看插件# rabbitmq-plugins list添加防⽕墙规则/etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 28017 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 15672 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 5672 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 25672 -j ACCEPT8、添加集群node节点,从节点执⾏(⽬前配置2个节点)# rabbitmqctl stop_app# rabbitmqctl join_cluster --ram rabbit@rabbitmq-node2或者# rabbitmqctl join_cluster rabbit@rabbitmq-node2# rabbitmqctl change_cluster_node_type ram启动节点#rabbitmqctl start_app9、删除集群node 节点删除1. rabbitmq-server -detached2. rabbitmqctl stop_app3. rabbitmqctl reset4. rabbitmqctl start_app设置镜像队列策略在web界⾯,登陆后,点击“Admin--Virtual Hosts(页⾯右侧)”,在打开的页⾯上的下⽅的“Add a new virtual host”处增加⼀个虚拟主机,同时给⽤户“admin”和“guest”均加上权限1、2、# rabbitmqctl set_policy -p hasystem ha-allqueue "^" '{"ha-mode":"all"}' -n rabbit"hasystem" vhost名称, "^"匹配所有的队列, ha-allqueue 策略名称为ha-all, '{"ha-mode":"all"}' 策略模式为 all 即复制到所有节点,包含新增节点,则此时镜像队列设置成功.rabbitmqctl set_policy [-p Vhost] Name Pattern Definition [Priority]-p Vhost:可选参数,针对指定vhost下的queue进⾏设置Name: policy的名称Pattern: queue的匹配模式(正则表达式)Definition:镜像定义,包括三个部分ha-mode, ha-params, ha-sync-modeha-mode:指明镜像队列的模式,有效值为 all/exactly/nodesall:表⽰在集群中所有的节点上进⾏镜像exactly:表⽰在指定个数的节点上进⾏镜像,节点的个数由ha-params指定nodes:表⽰在指定的节点上进⾏镜像,节点名称通过ha-params指定ha-params:ha-mode模式需要⽤到的参数ha-sync-mode:进⾏队列中消息的同步⽅式,有效值为automatic和manualpriority:可选参数,policy的优先级注以上集群配置完成⾼可⽤HA配置Haproxy 负载均衡,keepalived实现健康检查HA服务安装配置解压⽂件# tar -zxf haproxy-1.8.17.tar.gz查看内核版本# uname –r# yum -y install gcc gcc-c++ make切换到解压⽬录执⾏安装# make TARGET=3100 PREFIX=/usr/local/haproxy # make install PREFIX=/usr/local/haproxy创建配置⽂件相关⽬录# mkdir /usr/local/haproxy/conf# mkdir /var/lib/haproxy/# touch /usr/local/haproxy/haproxy.cfg# groupadd haproxy# useradd haproxy -g haproxy# chown -R haproxy.haproxy /usr/local/haproxy# chown -R haproxy.haproxy /var/lib/haproxy配置⽂件globallog 127.0.0.1 local2chroot /var/lib/haproxypidfile /var/run/haproxy.pidmaxconn 4000user haproxygroup haproxydaemon# turn on stats unix socketstats socket /var/lib/haproxy/stats#---------------------------------------------------------------------defaultsmode httplog globaloption httplogoption dontlognulloption http-server-closeoption redispatchretries 3timeout http-request 10stimeout queue 1mtimeout connect 10stimeout client 1mtimeout server 1mtimeout http-keep-alive 10stimeout check 10smaxconn 3000#监控MQ管理平台listen rabbitmq_adminbind 0.0.0.0:8300 server rabbitmq-node1 192.168.2.208:15672 server rabbitmq-node2 192.168.2.41:15672 server rabbitmq-node3 192.168.2.40:15672#rabbitmq_cluster监控代理listen rabbitmq_local_clusterbind 0.0.0.0:8200#配置TCP模式mode tcpoption tcplog#简单的轮询balance roundrobin#rabbitmq集群节点配置 server rabbitmq-node1 192.168.2.208:5672 check inter 5000 rise 2 fall 2 server rabbitmq-node2 192.168.2.41:5672 check inter 5000 rise 2 fall 2 server rabbitmq-node3 192.168.2.40:5672 check inter 5000 rise 2 fall 2 #配置haproxy web监控,查看统计信息listen private_monitoringbind 0.0.0.0:8100mode httpoption httplogstats enablestats uri /statsstats refresh 30s#添加⽤户名密码认证stats auth admin:admin启动haproxy服务# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg#Keepalived 源码安装软件包路径 /usr/local/src安装路径 /usr/local/keepalived配置⽂件/etc/keepalived/keeplived.conf# tar -zxf keepalived-2.0.10.tar.gz#安装依赖包# yum -y install openssl-devel libnl libnl-devel libnfnetlink-devel# ./configure --prefix=/usr/local/keepalived && make && make install创建keepalived配置⽂件⽬录#mkdir /etc/keepalived拷贝配置⽂件到/etc/keepalived⽬录下# cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/复制keepalived脚本到/etc/init.d/ ⽬录# cp /usr/local/src/keepalived-2.0.10/keepalived/etc/init.d/keepalived /etc/init.d/拷贝keepalived脚本到/etc/sysconfig/ ⽬录# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/建⽴软连接# ln -s /usr/local/keepalived/sbin/keepalived /sbin/添加到开机启动# chkconfig keepalived on查看服务状况# systemctl status keepalivedKeepalived启动# systemctl start keepalivedmaster 配置⽂件#Master :global_defs {notification_email {134********m@}notification_email_from 134********m@smtp_server 127.0.0.1smtp_connect_timeout 30router_id NGINX_DEVEL}vrrp_script chk_haproxy {script "/usr/local/keepalived/check_haproxy.sh"interval 2weight 2fall 3rise 2}vrrp_instance haproxy_1 {state MASTERinterface ens33virtual_router_id 104priority 150advert_int 1mcast_src_ip 192.168.2.41authentication {auth_type PASSauth_pass 1111}track_interface {ens33}track_script {check_haproxy.sh}virtual_ipaddress {192.168.33.110}}#virtual_server 192.168.2.110 80 {# delay_loop 6 # 设置健康检查时间,单位是秒# lb_algo wrr # 设置负载调度的算法为wlc# lb_kind DR # 设置LVS实现负载的机制,有NAT、TUN、DR三个模式# nat_mask 255.255.255.0# persistence_timeout 0# protocol TCP# real_server 192.168.220.128 80 { # 指定real server1的IP地址# weight 3 # 配置节点权值,数字越⼤权重越⾼#TCP_CHECK {# connect_timeout 10# nb_get_retry 3# delay_before_retry 3# connect_port 80# }# }# }}#Slave :global_defs {notification_email {134********m@}notification_email_from 134********m@smtp_server 127.0.0.1smtp_connect_timeout 30router_id NGINX_DEVEL}vrrp_script chk_haproxy {script "/usr/local/keepalived/check_haproxy.sh"interval 2weight 2fall 3rise 2}vrrp_instance haproxy_2 {state SLAVEinterface ens33virtual_router_id 104priority 150advert_int 1mcast_src_ip 192.168.2.208authentication {auth_type PASSauth_pass 1111}track_interface {ens33}track_script {check_haproxy.sh}virtual_ipaddress {192.168.2.246}}#virtual_server 192.168.2.110 80 {# delay_loop 6 # 设置健康检查时间,单位是秒# lb_algo wrr # 设置负载调度的算法为wlc# lb_kind DR # 设置LVS实现负载的机制,有NAT、TUN、DR三个模式# nat_mask 255.255.255.0# persistence_timeout 0# protocol TCP# real_server 192.168.220.128 80 { # 指定real server1的IP地址# weight 3 # 配置节点权值,数字越⼤权重越⾼#TCP_CHECK {# connect_timeout 10# nb_get_retry 3# delay_before_retry 3# connect_port 80# }# }# }}haproxy检测#!/bin/bashHaproxyStatus=`ps -C haproxy --no-header | wc -l`if [ $HaproxyStatus-eq 0 ];then/etc/init.d/haproxy startsleep 3if [ `ps -C haproxy --no-header | wc -l ` -eq 0 ];then/etc/init.d/keepalived stopfifi。
linux集群好书
如果你是一名Linux工程师或管理员,想要更好地理解和运用Linux 集群技术,那么以下这些书籍将非常适合你:
1.《Linux集群构建实战》:本书详细介绍了 Linux 集群的概念、架构、部署和维护过程,并提供了大量实战案例和问题解决方案,适合初学者和进阶者阅读。
2.《Pro Linux High Availability Clustering》:本书涵盖了Linux 高可用性集群的所有内容,包括如何设计、部署、监控、故障排除和优化集群系统,适合有一定经验的 Linux 工程师或管理员阅读。
3.《Linux Cluster Architecture》:本书深入探讨了 Linux 集群的架构和技术原理,包括群集文件系统、负载均衡、高可用性和故障转移等方面,适合对 Linux 集群技术有一定了解的读者阅读。
4. 《Linux Cluster Administration》:本书详细介绍了 Linux 集群的配置、管理和维护过程,包括节点安装、群集文件系统、负载均衡和故障转移等方面,适合初学者和进阶者阅读。
5.《Beowulf Cluster Computing with Linux》:本书介绍了Beowulf 集群的概念、架构和应用,包括如何构建和管理一个Beowulf 集群系统,适合对超级计算机和高性能计算有兴趣的读者阅读。
- 1 -。
linux minio集群超时参数Linux Minio集群超时参数在Linux Minio集群中,超时参数是一个非常重要的配置项。
它决定了集群在进行各种操作时所允许的最长等待时间。
超时参数的设置可以直接影响到集群的性能和稳定性,因此需要仔细调整。
超时参数的配置可以通过修改Minio服务器的配置文件来实现。
在配置文件中,可以找到一些与超时相关的参数,如连接超时、读取超时和写入超时等。
这些参数的单位通常是毫秒,可以根据实际需求进行调整。
对于连接超时参数,它决定了客户端与Minio服务器建立连接的最长等待时间。
如果超过了这个时间,客户端将会放弃连接请求并返回错误信息。
在网络状况较差或服务器负载较高的情况下,可以适当增加连接超时参数的值,以提高连接的成功率。
读取超时参数决定了客户端在从Minio服务器读取数据时的最长等待时间。
如果超过了这个时间,客户端将会中断读取操作并返回错误信息。
在处理大文件或者网络环境不稳定的情况下,可以适当增加读取超时参数的值,以避免因超时而导致的读取失败。
写入超时参数决定了客户端在向Minio服务器写入数据时的最长等待时间。
如果超过了这个时间,客户端将会中断写入操作并返回错误信息。
在上传大文件或者网络环境不稳定的情况下,可以适当增加写入超时参数的值,以确保数据能够成功写入服务器。
除了以上的超时参数之外,还有其他一些与超时相关的参数可以进行配置,如最大重试次数和重试间隔时间等。
这些参数可以在Minio集群的配置文件中找到,并根据实际需求进行调整。
在Linux Minio集群中,超时参数的合理配置是确保集群正常运行的关键之一。
通过合理调整超时参数,可以提高集群的性能和稳定性,保证数据的可靠性和一致性。
因此,在进行配置时,需要根据实际情况进行细致的调整,以获得最佳的性能和用户体验。
linux服务器集群的详细配置一、计算机集群简介计算机集群简称集群是一种计算机系统, 它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作;在某种意义上,他们可以被看作是一台计算机;集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式;集群计算机通常用来改进单个计算机的计算速度和/或可靠性;一般情况下集群计算机比单个计算机,比如工作站或超级计算机性能价格比要高得多;二、集群的分类群分为同构与异构两种,它们的区别在于:组成集群系统的计算机之间的体系结构是否相同;集群计算机按功能和结构可以分成以下几类:高可用性集群 High-availability HA clusters负载均衡集群 Load balancing clusters高性能计算集群 High-performance HPC clusters网格计算 Grid computing高可用性集群一般是指当集群中有某个节点失效的情况下,其上的任务会自动转移到其他正常的节点上;还指可以将集群中的某节点进行离线维护再上线,该过程并不影响整个集群的运行;负载均衡集群负载均衡集群运行时一般通过一个或者多个前端负载均衡器将工作负载分发到后端的一组服务器上,从而达到整个系统的高性能和高可用性;这样的计算机集群有时也被称为服务器群Server Farm; 一般高可用性集群和负载均衡集群会使用类似的技术,或同时具有高可用性与负载均衡的特点;Linux虚拟服务器LVS项目在Linux操作系统上提供了最常用的负载均衡软件;高性能计算集群高性能计算集群采用将计算任务分配到集群的不同计算节点而提高计算能力,因而主要应用在科学计算领域;比较流行的HPC采用Linux操作系统和其它一些免费软件来完成并行运算;这一集群配置通常被称为Beowulf集群;这类集群通常运行特定的程序以发挥HPC cluster的并行能力;这类程序一般应用特定的运行库, 比如专为科学计算设计的MPI 库集群特别适合于在计算中各计算节点之间发生大量数据通讯的计算作业,比如一个节点的中间结果或影响到其它节点计算结果的情况;网格计算网格计算或网格集群是一种与集群计算非常相关的技术;网格与传统集群的主要差别是网格是连接一组相关并不信任的计算机,它的运作更像一个计算公共设施而不是一个独立的计算机;还有,网格通常比集群支持更多不同类型的计算机集合;网格计算是针对有许多独立作业的工作任务作优化,在计算过程中作业间无需共享数据;网格主要服务于管理在独立执行工作的计算机间的作业分配;资源如存储可以被所有结点共享,但作业的中间结果不会影响在其他网格结点上作业的进展;三、linux集群的详细配置下面就以WEB服务为例,采用高可用集群和负载均衡集群相结合;1、系统准备:准备四台安装Redhat Enterprise Linux 5的机器,其他node1和node2分别为两台WEB服务器,master作为集群分配服务器,slave作为master的备份服务器;所需软件包依赖包没有列出:2、IP地址以及主机名如下:3、编辑各自的hosts和network文件mastervim /etc/hosts 添加以下两行vim /etc/sysconfig/networkHOSTNAME= slavevim /etc/hosts 添加以下两行vim /etc/sysconfig/network HOSTNAME= node1vim /etc/hosts 添加以下两行vim /etc/sysconfig/network HOSTNAME= node2vim /etc/hosts 添加以下两行vim /etc/sysconfig/networkHOSTNAME= 注:为了实验过程的顺利,请务必确保network文件中的主机名和hostname命令显示的主机名保持一致,由于没有假设DNS服务器,故在hosts 文件中添加记录;4、架设WEB服务,并隐藏ARPnode1yum install httpdvim /var//html/添加如下信息:This is node1.service httpd startelinks 访问测试,正确显示&nbs隐藏ARP,配置如下echo 1 >> /proc/sys/net/ipv4/conf/lo/arp_ignoreecho 1 >> /proc/sys/net/ipv4/conf/all/arp_ignore echo 2 >> /proc/sys/net/ipv4/conf/lo/arp_announce echo 2 >> /proc/sys/net/ipv4/conf/all/arp_announce ifconfig lo:0 netmask broadcast uproute add -host dev lo:0node2yum install httpdvim /var//html/添加如下信息:This is node2.service httpd startelinks 访问测试,正确显示隐藏ARP,配置如下echo 1 >> /proc/sys/net/ipv4/conf/lo/arp_ignore echo 1 >> /proc/sys/net/ipv4/conf/all/arp_ignore echo 2 >> /proc/sys/net/ipv4/conf/lo/arp_announce echo 2 >> /proc/sys/net/ipv4/conf/all/arp_announceifconfig lo:0 netmask broadcast uproute add -host dev lo:0mastervim /var//html/添加如下内容:The service is bad.service httpd startslavevim /var//html/添加如下内容:The service is bad.service httpd start5、配置负载均衡集群以及高可用集群小提示:使用rpm命令安装需要解决依赖性这一烦人的问题,可把以上文件放在同一目录下,用下面这条命令安装以上所有rpm包:yum --nogpgcheck -y localinstall .rpmmastercd /usr/share/doc/ cp haresources authkeys /etc/cd /usr/share/doc/ cp /etccd /etcvim开启并修改以下选项:debugfile /var/log/ha-debuglogfile /var/log/ha-logkeepalive 2deadtime 30udpport 694bcast eth0增加以下两项:node node vim haresources增加以下选项:ldirectord::/etc/为/etc/authkeys文件添加内容echo -ne "auth 1\n1 sha1 "注意此处的空格 >> /etc/authkeysdd if=/dev/urandom bs=512 count=1 | openssl md5 >> /etc/authkeys &nbs更改key文件的权限chmod 600 /etc/authkeysvim /etc/修改如下图所示:slave 注:由于slave的配置跟master配置都是一样的可以用下面的命令直接复制过来,当然想要再练习的朋友可以自己手动再配置一边;scp root:/etc/{,haresources} /etc/输入的root密码scp root:/etc/ /etc输入的root密码6、启动heartbeat服务并测试master & slaveservice heartbeat start这里我就我的物理机作为客户端来访问WEB服务,打开IE浏览器这里使用IE浏览器测试,并不是本人喜欢IE,而是发现用google浏览器测试,得出的结果不一样,具体可能跟两者的内核架构有关,输入,按F5刷新,可以看到三次是2,一次是1,循环出现;7、停止主服务器,再测试其访问情况masterifdown eth0再次访问,可以看到,服务器依然能够访问;。
linux集群批量执⾏命令因为⼯作需要,需要修改集群中机器的配置,⼀台⼀台的修改太浪费时间,就想能不能通过⾃动化脚本批量执⾏命令,尝试写⼀个,⾃⼰shell不熟悉,写的有点渣渣if [ "$#" -ne 2 ];thenecho "USAGE:$0 -f host_file cmd"exit -1fifile_name=$1cmds=$2filepath=$(cd `dirname $0`; pwd)host_file="$filepath/$file_name"if [ ! -e $host_file ];thenecho "$host_file not exit;"exit 0ficat $host_file | while read linedoecho $line>>resultssh -n -p3600 $line source ~/.bash_profile;$cmds >> result#"source ~/.bash_profile;$cmds" > resultif [ $? -eq 0 ] ; thenecho "host:$line,$cmds done!"elseecho "host:$line error: " $?fidone执⾏⽅式xxxx.sh host_file ‘cmd’其中xxx.sh是脚本名称,host_file是需要操作机器的ip地址列表,需要可以免密码登陆;cmd是需要操作的命令,如果命令之间存在空格,则需要⽤引号包起来。
note:1.ssh和cmd需要写在同⼀⾏2.ssh -n使⽤本地作为标准输⼊Redirects stdin from /dev/null (actually, prevents reading from stdin). This must be used when ssh is run in the background. A common trick is to use this to run X11 programs on a remote machine. For example, ssh -n shadows.cs.hut.fi emac。
RHCS集群配置需要用到的各组件功能:RHCS(Red Hat Cluster Suite):能够提供高可用性、高可靠性、负载均衡、存储共享且经济廉价的集群工具集合。
LUCI:是一个基于web的集群配置方式,通过luci可以轻松的搭建一个功能强大的集群系统。
CLVM:Cluster逻辑卷管理,是LVM的扩展,这种扩展允许cluster中的机器使用LVM来管理共享存储。
CMAN:分布式集群管理器。
GFS(Google File System):以本地文件系统的形式出现。
多个Linux机器通过网络共享存储设备,每一台机器都可以将网络共享磁盘看作是本地磁盘,如果某台机器对某个文件执行了写操作,则后来访问此文件的机器就会读到写以后的结果。
实验需求:集群管理/ISCSI共享存储主机IP:192.168.0.40主机名: 集群节点一IP:192.168.0.41主机名:集群节点二IP:192.168.0.42主机名:一、【准备工作】1、修改管理主机和每个节点的hosts文件,保证三台服务器的hosts文件一样。
注:主机名最好使用域名形式,因为之前只用了gfs1这样的主机名,到后来,配置都顺利结束,但重启节点后,发现共享存储挂不上,看到是clvmd启动超时,估计是主机名的原因,解析不到?有待斟酌。
2、两台节点上分别关闭selinux、iptables和NetworkManager注:两台节点上都得操作,操作完后reboot重启两台节点,使配置生效二、【群集管理主机设置】1、安装并启用luci集群管理这时,你就可以用https://:8084(或https://192.168.0.40:8084)登陆集群web管理界面了,以root登陆即可三、【各节点配置】1、在两台节点分别yum安装ricci、rgmanager、cman启动cman如出现错误:Starting cman... xmlconfig cannot find /etc/cluster/cluster.conf [FAILED]是因为节点还没有加入集群,没有产生配置文件/etc/cluster/cluster.conf2、在两台节点上给ricci用户设置与root相同的密码四、【集群web管理界面配置】1、浏览器打开https://192.168.0.40:8084 输入root和root密码进行登陆2、添加集群点击Manager Clusters---> Create 创建一个集群,如下图,输入集群名称,添加每个节点的主机名、密码,勾选Download Packages、Reboot Nodes Before Jo ining Cluster、Enable Shared Storage Support,最后点击Create Cluster创建集群,耐心等待,创建过程中两台节点会重启...创建成功后显示如下:在到任意一个节点上去查看集群状态,都是Online,说明集群配置成功。
二、iscsi安装与配置1.安装target1 [root@target ~]# yum install -y scsi-target-utils2.配置target12345678910111213 [root@target ~]# vim /etc/tgt/targets.conf#<target .example:server.target2># direct-store /dev/sdd# incomingusersomeuser secretpass12#</target><target .test:teststore.sdb> #配置target名称<backing-store /dev/sdb> #配置共享磁盘vendor_id test #配置发行商(任意)lun 6 #配置LUN号</backing-store>incominguseriscsiuseriscsiuser #配置认证的用户名和密码initiator-address 192.168.18.0/24 #配置允许的网段</target>3.启动target并设置为开机自启动1234 [root@target ~]# service tgtd start[root@target ~]# chkconfigtgtd on[root@target ~]# chkconfigtgtd --listtgtd 0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭4.查看配置的target1234567891011121314151617181920212223 [root@target ~]# tgtadm --lldiscsi --mode target --op showTarget 1: .test:teststore.sdbSystem information:Driver: iscsiState: readyI_T nexus information:LUN information:LUN: 0Type: controllerSCSI ID: IET 00010000SCSI SN: beaf10Size: 0 MB, Block size: 1Online: YesRemovable media: NoPrevent removal: NoReadonly: NoBacking store type: nullBacking store path: NoneBacking store flags:Account information:iscsiuserACL information:192.168.18.0/245.在各节点上安装initiator1 [root@target ~]# ha sshnode$I 'yum install -y initiator'; done6.配置initiatornode1:1234567 [root@node1 ~]# vim /etc/iscsi/initiatorname.iscsi InitiatorName=.test:node1[root@node1 ~]# vim /etc/iscsi/iscsid.conf#修改下面三项node.session.auth.authmethod = CHAP #开启CHAP认证ername = iscsiuser #配置认证用户名node.session.auth.password = iscsiuser #配置认证密码node2:1234567 [root@node2 ~]# vim /etc/iscsi/initiatorname.iscsi InitiatorName=.test:node2[root@node2~]# vim /etc/iscsi/iscsid.conf#修改下面三项node.session.auth.authmethod = CHAP #开启CHAP认证ername = iscsiuser #配置认证用户名node.session.auth.password = iscsiuser #配置认证密码node3:1234567 [root@node3 ~]# vim /etc/iscsi/initiatorname.iscsiInitiatorName=.test:node3[root@node3 ~]# vim /etc/iscsi/iscsid.conf#修改下面三项node.session.auth.authmethod = CHAP #开启CHAP认证ername = iscsiuser #配置认证用户名node.session.auth.password = iscsiuser #配置认证密码7.各节点启动initiator并设置为开机自启动123456 [root@target ~]# ha sshnode$I 'service iscsi start'; done[root@target ~]# ha sshnode$I 'chkconfigiscsi on'; done[root@target ~]# ha sshnode$I 'chkconfigiscsi --list'; doneiscsi 0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭iscsi 0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭iscsi 0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭8.在各节点上发现一下target1234 [root@target ~]# ha sshnode$I 'iscsiadm -m discovery -t st -p 192.168.18.208:3260'; done192.168.18.208:3260,1 .test:teststore.sdb192.168.18.208:3260,1 .test:teststore.sdb192.168.18.208:3260,1 .test:teststore.sdb9.各节点登录一下target并查看一下磁盘123456789101112131415161718192021222324252627282930313233343536373839404 142434445464748495051525354555657585960616263646566676869707172737475767 778798081 [root@target ~]# ha sshnode$I 'iscsiadm -m node -T .test:teststore.sdb -p 192.168.18.208 -l'; done[root@target ~]# ha sshnode$I 'fdisk -l'; doneDisk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x000dfcebDevice Boot Start End Blocks Id System/dev/sda1 * 1 26 204800 83 LinuxPartition 1 does not end on cylinder boundary./dev/sda2 26 1301 10240000 83 Linux/dev/sda3 1301 1938 5120000 83 Linux/dev/sda4 1938 2611 5405696 5 Extended/dev/sda5 1939 2066 1024000 82 Linux swap / Solaris Disk /dev/sdb: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x5f3b697cDevice Boot Start End Blocks Id SystemDisk /dev/sdd: 21.5 GB, 21474836480 bytes64 heads, 32 sectors/track, 20480 cylindersUnits = cylinders of 2048 * 512 = 1048576 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x0c68b5e3Device Boot Start End Blocks Id SystemDisk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x000dfcebDevice Boot Start End Blocks Id System/dev/sda1 * 1 26 204800 83 LinuxPartition 1 does not end on cylinder boundary./dev/sda2 26 1301 10240000 83 Linux/dev/sda3 1301 1938 5120000 83 Linux/dev/sda4 1938 2611 5405696 5 Extended/dev/sda5 1939 2066 1024000 82 Linux swap / Solaris Disk /dev/sdb: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000Disk /dev/sdd: 21.5 GB, 21474836480 bytes64 heads, 32 sectors/track, 20480 cylindersUnits = cylinders of 2048 * 512 = 1048576 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x0c68b5e3Device Boot Start End Blocks Id SystemDisk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x000dfcebDevice Boot Start End Blocks Id System/dev/sda1 * 1 26 204800 83 LinuxPartition 1 does not end on cylinder boundary./dev/sda2 26 1301 10240000 83 Linux/dev/sda3 1301 1938 5120000 83 Linux/dev/sda4 1938 2611 5405696 5 Extended/dev/sda5 1939 2066 1024000 82 Linux swap / Solaris Disk /dev/sdb: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000Disk /dev/sdd: 21.5 GB, 21474836480 bytes64 heads, 32 sectors/track, 20480 cylindersUnits = cylinders of 2048 * 512 = 1048576 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x0c68b5e3Device Boot Start End Blocks Id System好了,到这里iscsi配置全部完成,下面我们来配置一下,集群。