读书频道 > 网站 > 网页设计 > 构建高可用Linux服务器(第2版)
前言
12-08-10    叶孤城
收藏    我要投稿   
本书是资深Linux/Unix系统管理专家兼架构师多年一线工作经验的结晶,51CTO和ChinaUnix等知名社区联袂推荐。第1版上市后广获好评,分别被《程序员》杂志和51CTO网站评选为2011年度10大最具技术影响力的图书和2011...立即去当当网订购
我的系统管理员之路
    2005年我初识Linux,那会儿刚毕业,在一家大型国营公司值守Windows Server 2000服务器,当时“震荡波”和“冲击波”这两种病毒很是猖狂,没有打补丁的机器无一幸免。我所值守的服务器也未能例外,虽然我们在防毒方面投入了大量的精力和金钱(当时购买的都是正版Windows 2000系统和正版瑞星杀毒软件)。有一次去朋友公司(省太平洋寿险下面的一个分支机构)参观,我发现他们的服务器和终端系统都很奇怪,一问才知道是BSD系统,因为运行机制不一样,所以Windows下的病毒丝毫影响不了它们,而且这些服务器很稳定,基本上不宕机。当时很是羡慕,心想要是哪一天我们的服务器也要换成BSD系统,这样“冲击波”和“震荡波”就奈何不了我们,而且也不会蓝屏,那该多好啊。
    后来有幸到北京一家大型广告公司上班,公司所用服务器基本上都是CentOS和FreeBSD,内部用的文件服务器是Samba,Web服务器是Apache和Nginx,公司的NAT路由器是iptables,核心业务是CDN系统,几乎全部装的都是CentOS 5?1 x86_64,仅有一台装的是Windows Server 2003,供程序员开发?NET程序之用。公司的这套CDN系统要负责处理所有的流量,即使在高峰期并发量特别大的时候,网站也非常稳定。
    我当时也对Linux产生了浓厚的兴趣,尝试改掉自己多年使用Windows的习惯,换成了纯字符操作,并且尝试用Shell完成自动化工作,用Vim+Sed处理文档。后来,我发现自己越来越喜欢Linux了。公司有一台vsftpd服务器,3年没有重启了,这很让我吃惊,所以多次与人聊起。后来我又得知一位朋友所在的公司有一台很老的RH8服务器,因为负责的是公司的核心业务,已经9年没有重启了,当时更加感到震撼,这更加坚定了我要学好Linux的决心。
    在做项目实施工程师期间,有些客户的核心网站的并发量并不是太大,但比较重要,所以他们都要求部署Linux集群,有时指定要部署LVS或HAProxy负载均衡器。在项目实施的过程中,我发现LVS/HAProxy的负载均衡确实非常强大,可以与硬件级的F5负载均衡器的能力相媲美。很快我就被Linux集群这门艺术迷住了,我自己曾研究了Nginx+Keepalived这种负载均衡高可用架构,并且在许多项目中成功实施,客户反映效果也不错。
    现阶段我的工作主要是设计和维护公司的电子商务网站,相对于CDN分布式系统而言,它没有节点冗余,所以对Linux集群技术的要求更高。所以我将所有的网站应用都做了双机高HA,LVS/HAProxy+Keepalived和Nginx+Keepalived,还有DRBD+Heartbeat+NFS文件高可用及MySQL的Replication复制。另外,由于电子商务网站涉及钱的问题,所以对安全性的要求也很高,我们平时都会从网络安全(硬件防火墙)、系统安全、代码安全和数据库安全这些方面着手,尽力避免一切影响网站安全的行为。工作虽然辛苦,但看着自己架构的网站顺利稳定地运行,心里还是很有成就感的,这也是我目前工作动力的主要源泉。
写作本书的目的
    从事系统管理和系统集成方面的工作已有七年了,在工作期间,我曾经担任了一段时间的红帽RHCE讲师,到东北大学等高校推广红帽Linux系统。在教学过程中我发现,很多学生在进入企业后都无法胜任自己的工作,更谈不上正确地规划自己的职业道路了。一方面因为企业的生产环境具有一定的复杂性;另一方面市场上入门书居多,缺乏能真正指导读者解决实际问题的书籍。例如,很多书都只是通过VMware ESXi或XenServer虚拟出了VM系统,对于线上环境,根本没有涉及并发、PV和数据库压力等相关话题。
    之所以写这本书,一方面是想对自己这些年的工作经验和心得进行一次系统的梳理和总结;另一方面是想将自己的经验分享给大家,希望能帮助大家少走弯路。通过本书中的项目实践(包括Linux集群、OpenVPN、邮件系统和iptables防火墙)和线上环境的Shell脚本,大家能迅速进入工作状态。书中所提供的Shell脚本和iptables脚本均来自于线上的生产服务器,大家均可以直接拿来用。关于Linux集群的项目实践,大家也可以根据实际项目的需求直接采用,以此来设计自己公司的网站架构。
    希望大家能通过本书掌握Linux的精髓,轻松而愉快地工作,从而提高自己的技术水平,这是我非常希望看到的,这也是我写此书的初衷。
第1版与第2版的区别
    本书是第2版,在写作中吸收了读者对上一版内容的许多意见和建议,继续进一步修正第1版的排版错误和人为错误及其他问题。为了更契合书名,删除了第1版第2章中的部分无关内容,其余内容并进第3章和附录;第4章,生产环境下的Shell脚本增添了基于CentOS平台的线上脚本,希望大家能在工作中充分使用。此外,新增了第5章,即构建高可用Linux集群内容,并用线上的HAProxy+Keepalived取代了原先的HAProxy + Heartbeat高可用方案。第6章详细介绍了目前生产环境下比较实用的集群应用架构,即Nginx+Keepalived和HAProxy+Keepalived,用Dual Master+多从的MySQL架构取代原有的MySQL Cluster方案,目的是让大家多了解现阶段热门的负载均衡技术,避免大家一提到负载均衡就想起LVS。因为在使用中发现MySQL Cluster存在许多不足和Bug,使用现有成熟的双主多从MySQL架构能更好地实现需求。
读者对象
    本书适合以下几类读者:
    系统管理员和系统工程师
    网络管理员和企业网管
    项目实施工程师
    开发人员
如何阅读本书
    本书的内容是对实际工作经验的总结,涉及大量的知识点和专业术语,建议经验还不是很丰富的读者先了解第1章的内容,这章比较基础,如果大家在学习过程中根据这章的讲解进行操作,定会达到事半功倍的效果。
    系统管理员和系统工程师们则可以重点关注第2章的(Linux服务器虚拟化)、第5章(Linux集群)及第7章(iptables防火墙及系统安全)的内容,这些都与我们的日常工作息息相关,建议大家多花些精力和时间,抱着一切从线上环境去考虑的态度去学习。
    对于网络管理员和企业网管来说,如果基础不是太扎实,建议先学习第1章的内容,然后将重点放在第6章(VPN在企业中的部署应用)和第7章上。
    对于项目实施工程师而言,由于大多数都是从事系统集成相关工作的,因此建议顺序学习全书的内容,重心可以放在本书的第5章上面。
    对于开发人员来说,由于其只需对系统有一个大概的了解,重点可以放在第1章和第4章(生产环境下的Shell脚本)上。
    大家可以根据自己的职业发展和工作需要选择不同的阅读顺序和侧重点,同时也可以对其他相关的知识点有一定的了解。
致谢
    感谢我的家人,她们在生活上对我无微不至的照顾,让我更有精力和动力去工作和创作。
    感谢东北大学信息技术学院的付冲教授,感谢您在我人生最穷困潦倒的时候伸出援手。
    感谢北京总公司的技术总监唐老师,他对iptables防火墙相关的内容提出了许多指导性的建议,并且在CDN系统维护方面教会了我许多。
    感谢老男孩前辈在网站架构设计方面给出的指导性意见,他的经验和专业知识让我受益匪浅。
    感谢和我一起从事系统运维工作的朋友:曹亚孟、胡安伟和崔晓辉。曹亚孟为本书中与Linux虚拟化相关的内容提供了宝贵的资料,这是他几年来从事Xen虚拟化工作的经验总结;胡安伟为本书提供了许多精美的插图,并就Linux集群相关的内容提出了许多宝贵的意见;崔晓辉为本书提供了大量的线上Shell脚本。另外,还要对我的同事ritto表示衷心的感谢!
    感谢朋友刘鑫,和我一起花了大量时间研究和调试HAProxy+Keepalived。
    感谢51cto?com的编辑们,尤其是赵克衡、杨赛、王文文、张浩和邵程程,正是有了你们的信任和帮助,此书才得以问世。
    感谢Linux高级群中的深夜的蚊子、结冰的西瓜、jack、狠希耐等朋友,感谢你们对我的支持,没有你们的相伴,我能否坚持到今天,可能还是个未知数。
    感谢我的朋友三宝,感谢他这么多年来对我的信任和支持,在我苦闷的时候陪我聊天。
    感谢在工作和生活中给予过我帮助的所有人,感谢你们,正是因为有了你们,才有了本书的问世。
关于勘误
    尽管我花了大量时间和精力去核对书中的文字、代码和图片,但因为时间仓促和水平有限,书中仍难免会有一些错误和纰漏,如果大家发现问题,恳请反馈给我,相关信息可发到我的邮箱yuhongchun027@gmail?com。尽管我无法保证每一个问题都会有正确的答案,但我肯定会努力回答并指出一个正确的方向。
    如果大家对本书有任何疑问或想与我探讨Linux技术,可以访问我的个人博客,地址为:http://andrewyu?blog?51cto?com,我的微博地址为http://weibo?com/yuhongchun027。另外,我在51CTO和ChinaUnix社区的ID均为“抚琴煮酒”,大家也可以直接通过此ID在社区中与我在线交流。
 
余洪春(抚琴煮酒)
点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站