《LINUX LINUX系统》课程设计指导书
计算机与信息科学系
陈显龙
CHENXIANLONG@163.COM
2011-12-24
一.目的
本课程是计算机应用(网络)所开设的一门重要实践课程,主要要求学生掌握LINUX系统原理和技术在实践中的应用。本课程设计的目的是使学生在理论学习的基础上,发挥自已的主观能动性,来解决一些实际数据和服务的安全应用问题。在此基础上,真正理解和掌握LINUX 的应用,达到课程的教学目的。
二.题目
时间:十八周
地点:T603、604
每位任选下列项目中任选二题,查阅相关文献、了解相关的系统,要求完成规定的各项任务。
1)Nginx+PHP+MySQL双机互备、全自动切换方案
2)搭建可承受3万以上并发连接数的LNMP服务
3)Linux服务器系统监控框架与MSN、E-mail、手机短信报警的实现
4)使用Linux的rsync命令实现:多服务器镜像同步
5)基于inotify+rsync的大量文件的多服务器自动同步
6)Ubuntu下使用LINUXproxy+heartbeat搭建WEB负载均衡
7)SUSE Linux基于HeartBeat、Mon、Rsync搭建企业服务器的双机配置过程
免费永久的linux服务器三.任务完成形式
1.完整的软件系统
最终必须向指导老师提交完整的电子版的配置过程截图、运行效果截图(均需要加上自已的IP地址),配置文件、以及使用说明文件等。
课程设计报告(详细要求请参考附录二)
课程设计报告总体上主要包括以下几个部分:
1)封面
2)目录
3)课程设计报告正文
4)软件安装、使用或者配置说明
5)参考文献
四.总体要求
根据所给的实验指导书的要求,从中选择项目,应用所学的知识,完成题目所规定的各项要求。总体要求如下:
1.课程设计报告正文字数不少于5000汉字,概念清楚、叙述正确、内容完整、书写规范。
2.课程设计中必须按指导书要求,综合应用所学的LINUX系统解决实际问题,有必要的理论分析,设计要有合理的依据。独立完成课程设计,不得抄袭他人。
3.功能正确、有一定实用性,鼓励创新。
五.工作阶段与考核方法
大体上可分成五个阶段:
1.资料查阅准备阶段(15%)
2.分析设计阶段(35%)
3.设计调试阶段(40%)
4.课程设计报告书写阶段(10%)
5.验收阶段
考核方法:
只有程序验收通过后,才能按以下方法核定本次课程设计的总成绩,因未能独立完成
设计(尤其是抄袭)或概念不清的同学,总成绩将核定为不及格。总成绩由以下几个
部分决定:
1.考勤、纪律、实验室卫生
2.工作量(查阅资料工作量、功能多少、难度、经历的曲折)
3.关键技术
4.实用性、创新
5.课程设计报告(叙述、书写规范、字数)
6.动手能力、分析问题解决问题能力
7.答辩的情况(答辩时会问关于系统实现和本作品相关的理论知识的问题)
8.互助协作方面的贡献及能力
六.任务具体要求
1、Nginx+PHP+MySQL双机互备、全自动切换方案
在实际企业应用中,某台“Nginx+PHP+MySQL”接口数据服务器,扮演的角十分重要,如果服务器硬件或Nginx、MySQL发生故障,而短时间内无法恢复,后果将非常严重。为了避免单点故障,设计此套方案,实现了双机互备、全自动切换,故障转移。
自动切换流程
(1)、主机默认绑定内、外网虚拟IP,当主机的MySQL、Nginx无法访问或服务器宕机,
主机上的failover.sh守护进程会自动摘除自己绑定的内、外网虚拟IP(如果主机上的failover.sh死掉,无法摘除自己绑定的虚拟IP也没关系),备机上的failover.sh守护进程会自动接管备机原来绑定的内、外网虚拟IP,并发送ARPing包给内、外网网关更新MAC,强行接管。
(2)、备机绑定虚拟IP后,会发送ARPing包给内、外网网关,通知网关更新虚拟IP
的MAC地址为备机的MAC地址,从而保证了切换后能够通过虚拟IP及时访问到备机。
(3)、如果主机的MySQL、Nginx启动起来,全部恢复正常访问,主机上的failover.sh
守护进程会检测主机上的MySQL数据是否已经完全从备机上同步过来。如果同步延迟时间为0,主机会自动接管内、外网虚拟IP,并发送ARPing包给内、外网网关,而备机也会自动摘除内、外网虚拟IP。
(4)、整个切换流程均由failover.sh自动完成,无需人工处理。
2)搭建可承受3万以上并发连接数的LNMP服务
在高并发连接的情况下,Nginx同时可以作为7层负载均衡服务器来使用。Nginx0.7.51 +PHP5.2.8(FastCGI)可以承受3万以上的并发连接数,4GB内存的服务器+Apache (prefork模式)一般只能处理3000个并发连接,因为它们将占用3GB以上的内存,还得为系统预留1GB的内存。在3万并发连接下,访问Nginx0.7.51+PHP5.2.8(FastCGI)服务器的PHP程序,仍然速度飞快。使得国内使用Nginx作为Web服务器的网站也越来越多,其中包括新浪博客、新浪播客、网易新闻等门户网站频道,六间房、56等视频分享网站,Discuz!官方论坛、水木社区等知名论坛,豆瓣、YUPOO相册、海内SNS、迅雷在线等新兴Web2.0网站。请实现这个方案和目标。
3)Linux服务器系统监控框架与MSN、E-mail、手机短信报警的实现
一、系统监控接口程序(interface.php)具有的报警方式
1、MSN实时报警
监控程序每次检测到故障存在、或者故障恢复,都会发送短消息到管理员的MSN。
2、手机短信报警
①、工作日早上10点之前,晚上6点之后,以及周六、周日,监控程序检测到故
障,会调用手机短信接口,给管理员的手机。
②、如果监控程序多次检测到同一台服务器的同一类故障,只会在第一次检测到
故障时发送一条“故障报警”短信。服务器故障恢复后,监控程序会再发送一条“故障恢复”短信。
注:如果没有手机短信网关接口,可以试试中国移动通信的www.139邮箱,具有免费的邮件到达手机短信通知功能,可以将收到的邮件标题以短信的形式发送到手机上。
3、报警
①、如果监控程序多次检测到同一台服务器的同一类故障,只会在第一次检测到故障时发送一封“故障报警”邮件。服务器故障恢复后,监控程序会再发送一封“故障恢复”邮件。4)使用Linux的rsync实现:
多服务器镜像同步
实现功能:当用户在本地客户端某目录内建立、修改、删除目录或文件、修改目录或文件的属性,只要执行相同的shell脚本,rsync就会自动出有改动或删除的数据,将其传送到服务器上,使服务器端某目录内的数据跟本地客户端某目录内的数据保持一致。5)基于inotify+rsync的大量文件的多服务器自动同步使用Linux2.6内核的inotify监控Linux文件系统事件,被监听目录下如果有文件发生修改,sersync将通过内核自动捕获到事件,并将该文件利用rsync同步到多台远程服务器。sersync仅仅同步发生增、删、改事件的单个文件或目录,不像rsync镜像同步那
样需要比对双方服务器整个目录下数千万的文件,并且支持多线程同步,因此效率非常高。
无论编辑通过Web还是FTP上传图片、视频、附件,还是系统工程师直接去CMS发布服务器上增加、修改、删除文件,干完这些事情后不用做任何处理,sersync会自动将发生增、删、改事件的文件同步到远程服务器。
6)Ubuntu下使用LINUXproxy+heartbeat搭建WEB负载均衡
使用ubuntu+LINUXproxy+heartbeat搭建大规模WEB集环境,实现负载均衡。
LINUXproxy提供LINUX、负载均衡以及基于TCP和HTTP应用的代理,Heartbeat用于实现故障转移,
当一台机器DOWN后自动切换到备用机器
7)Suse linux基于HeartBeat、Mon、Rsync搭建企业服务器的LINUX 系统
Suse企业版里提供的LINUX软件是一款专业的高可用集软件产品,它不仅仅是一款双
机热备软件,它还为您提供Linux平台上完整的LINUX解决方案。当集中的某个节点由于软件或硬件原因发生故障时,集系统可以把资源切换到其他健康的节点上,使整个系统能连续不间断的对外提供服务,从而为机构24x365的关键业务提供了可靠的保障,达到了系统99.999%的LINUX和可靠性。SuSE Enterprise Linux10.0是内置Linux2.6.16内核的企业级服务器,较之SuSE Enterprise Linux9.0,它在性能、可扩展性、易管理性和安全等方面都予以加强,并有众多硬件和应用软件支持。
HeartBeat是一个LINUX解决方案,其是。HeartBeat目前
被广泛地应用,是很多商业LINUX软件的重要组成部分。大多数Linux厂商已经把它很好地集成在自己的系统中,例如SuSE Linux、RedLINUXt和Debian Linux等。此外,HeartBeat也能很好地部署在Solaris和FreeBSD系统上。
Mon是一个后台服务运行情况的监控和告警软件,能够对大多数标准服务进行监控和告警,
其中包括SMTP服务、Telnet服务、FTP服务、NNTP服务、HTTP服务、POP3服务、Samba 服务和NFS服务等,还可以自己编写告警事件和自定义服务。在本系统中,将使用Mon对两台主机的网络连接情况和服务运行情况进行监控,目的是及时告警,并且自动恢复服务。Rsync 是一个用于数据同步的软件,除了数据拷贝外,还有增量备份、同步owner、group和文件权限等重要信息的功能。在本系统中,使用Rsync来同步主服务器和备用服务器的数据。
要求使用SuSE Enterprise Linux10.0作为系统平台(使用其它Linux平台在安装部署时可能有小差异),在其上采用HeartBeat、Mon和Rsync等开源软件打造了一个高可用系统。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论