跟老男孩学Linux运维:高性能Web集群实践(上)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-01 08:55:28

点击下载

作者:老男孩

出版社:机械工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

跟老男孩学Linux运维:高性能Web集群实践(上)

跟老男孩学Linux运维:高性能Web集群实践(上)试读:

前言

为什么要写这本书

不知不觉接触Linux(之前用的是Solaris)已经有18个年头了,在这18年的运维职业生涯中,我走过了相当多的弯路,特别是头两年相当迷茫、彷徨,最要命的是无论怎么努力学习和坚持,就是感觉自己没有入门。那时,好的Linux学习书籍寥寥无几,工作中也无人指导,更没有什么像样的培训机构,所以服务器一出故障,我就会无所适从,好多次都是在痛苦的挣扎中度过的,好多次都想要放弃学习Linux。

后来我慢慢地积累了一些经验,有了自己的运维心得。在运维技术有了质的飞跃之后,我开始酝酿一套Linux培训体系课程,最初的目的就是希望大家不要走我走过的弯路,因为这条路充满了荆棘,一不小心就可能走不出来。

经过一段时间的酝酿,我把我的想法写成一份项目策划书,发给了公司老板,希望公司能够开展IT培训相关的业务,并由我负责这块业务。老板首肯了我的策划书,给了我鼓励,但是接下来没有任何实际行动,可能是觉得时机不够成熟。

老板无动于衷,但是我的心却被策划书给拽走了,于是我就开始了我的兼职IT培训生涯,这就是“老男孩IT教育”的前身。在多年的培训教学过程中我发现,很多小伙伴因为条件的限制无法来北京现场学习,虽然我录制了大量的网络视频,但还是有非常多的朋友希望老男孩能够把课堂内容整理成书,方便他们深入学习。看到小伙伴们的热切期盼,我心动了,觉得真的该为大家做些什么,于是我开始计划把课堂内容整理成书,让全国的小伙伴都能够从中受益。

但是由于培训课程的排期很紧,平时我还要在企业里工作,而且写书和讲课也是不同的路数,因此写书计划一直被搁浅,直至遇到了机械工业出版社的杨绣国编辑,因为她的执着、包容和鼓励,使得我有足够的信心和动力完成写作,并且还在策划Linux运维实战相关的更多图书,它们后续会一一和大家见面。

现今,全球进入了互联网+时代,越来越多的传统企业都在考虑通过网络提供产品和服务,包括互联网+教育、互联网+金融、互联网+出租车、互联网+保险等。而互联网(包括移动互联网在内)几乎都是由Linux技术支撑的,掌握Linux运维技术已经成为每一个IT技术人员的必经之路,本书涉及的中小规模网站集群架构就是构建在Linux系统上的高性能高并发企业级网站集群架构的解决方案!读者对象

·Linux系统管理员和运维工程师

·互联网网站开发及数据库管理人员

·网络管理员和项目实施工程师

·Linux相关售前售后技术工程师

·开设Linux相关课程的大中专院校

·对Linux感兴趣的人群如何阅读本书

本书基于CentOS7.6针对中小规模网站集群的搭建、部署进行了全新的详细讲解,全书共分为12章,内容介绍如下:

第1章,主要讲解企业级CentOS7.6操作系统的安装,学完了本章,读者可以掌握操作系统搭建知识和基本企业级优化,为搭建中小规模集群奠定基础。

第2章,主要讲解Web集群架构的基础概念知识、架构模型、架构搭建规划、架构优化等,为搭建中小规模集群进一步奠定基础。

第3章,主要讲解集群后端服务Rsync数据备份与复制的应用和实践,这是企业集群后端必备的数据备份工具。

第4章,主要讲解企业级NFS网络文件共享服务,这是中小型网站集群后端的共享存储服务,简单易用,需要读者好好掌握。

第5章,主要讲解网站数据实时复制应用与实践,这部分内容一般用于用户上传的数据的实时复制,是企业后端NFS等简单共享存储离不开的服务,数据实时复制到新的服务器上才能保证不丢失。因此,本章也是比较重要的章节。

第6章,主要讲解SSHD远程连接工具的企业应用实践,这一章的内容比较基础,但是其中的免密钥应用很重要,例如,数据库的高可用工具MHA就涉及本章的知识。

第7章,主要讲解Ansiable批量管理工具的应用与实践,它是集群架构用于批量管理的重要工具,值得读者好好掌握。

第8章,主要讲解HTTP及Web服务的核心基础知识,让读者详细掌握网站服务的背后原理,为集群的搭建奠定坚实基础。

第9章,主要讲解Nginx静态Web服务应用实践,让读者掌握Web服务的搭建细节,学完本章后,读者会获益匪浅。

第10章,主要讲解企业级LNMP环境部署实践,学完本章以后,读者就可以在公网上部署自己的博客网站了。

第11章,主要讲解Nginx反向代理与动静分离架构实践,学完本章,读者就能搭建由多台Web服务器组成的集群环境了,并且可以分离提供动态和静态服务,大型网站的架构雏形由此完成。

第12章,主要讲解Keepalived高可用集群应用实践,主要解决Nginx反向代理服务高可用问题,本章结束,一套中小规模集群就搭建完毕了,读者可以看到整个中小规模集群的全貌。

老男孩后续书籍会继续以本书为基础进行丰富,搭建更大规模的集群,敬请期待。勘误和支持

由于作者的水平有限,加之编写的时间仓促,书中难免会有一些错误和不妥之处,恳请读者批评指正。你可以将书中的错误发布在专门为本书准备的博客评论处http://oldboy.blog.51cto.com/2561410/1713128,或者到我的微博http://weibo.com/oldboy8上留言。同时不管你遇到何种问题,都可以加入我为本书提供的两个QQ交流群339128815和226199808,我将尽力为你提供最满意的解答。书中所用的各种工具及程序文件也都将发布在上述QQ群及我的博客中。如果你有更多的宝贵意见,也欢迎你发送邮件至我的邮箱oldboy@oldboyedu.com,很期待听到你的真挚反馈。致谢

感谢李泳谊、王洪志,感谢你们在百忙之中为本书供图!

感谢王硕导师及每一个运维班级的班长及班干部,感谢你们替我分担批改作业、答疑、就业指导和管理工作。

感谢“老男孩IT教育”的每一位学员——你们的长期支持使得“老男孩IT教育”蓬勃发展,也让我有较多时间持续写作。感谢你们的支持。

感谢我的所有同事,正是他们辛勤努力的工作,使得我有时间完成此书。

感谢中网志腾的郭威和实利通和的王斐及梁露,感谢你们提供的多台DELL物理服务器,使得本书得以高效顺利的完成!

感谢森华易腾的陆锦云女士及其同事,感谢你们提供IDC机房带宽支持,使得本书得以顺利完成!

感谢机械工业出版社华章公司的杨绣国编辑,感谢你的包容和鼓励,始终支持我写作,正是你的鼓励和帮助引导我顺利完成全部书稿。

最后要感谢我的家人,感谢你们给予我的信心和力量!

谨以此书,献给支持“老男孩IT教育”的每一位朋友、学员,以及众多热爱Linux运维技术的朋友。老男孩中国,北京昌平沙河,2019年8月第1章 企业级CentOS7.6操作系统安装1.1 下载CentOS系统ISO镜像1.1.1 下载CentOS系统ISO镜像的说明

要安装CentOS系统,就必须有CentOS系统软件安装程序,可以通过浏览器访问CentOS的官方站点http://www.centos.org,然后依次点击“GET CENTOS→More download choices”选项,按提示下载。由于国外站点的下载速度较慢,因此,推荐直接选择国内的高速镜像站点下载64位的系统版本(32位版本系统已经退出历史舞台),以下是64位版本的下载链接:https://mirrors.aliyun.com/centos/7.6.1810/isos/x86_64/。提示:如果上述CentOS下载地址过期,可以直接下载最新7系列版本,下载地址为http://mirrors.aliyun.com/centos/,或者加入QQ群784850820获取本书相关资料和咨询遇到的疑难问题。

下载完成后,得到的是CentOS7操作系统的ISO系统软件安装程序,文件为DVD格式(早期还有CD格式),扩展名为“.iso”,软件程序的文件名见表1-1。表1-1 标准版CentOS7.6软件程序的文件格式提示:熟悉CentOS6的读者会发现CentOS7的ISO文件命名也发生了变化。1.1.2 有关ISO镜像的使用说明

正如前面提到的,扩展名为“.iso”的操作系统文件就是所谓的镜像文件。这种镜像文件一般是用来刻录光盘的,比较大,单个DVD文件可能会高达4GB。需要说明的是,这种ISO镜像文件不能直接以数据格式刻录成DVD,这样是无法实现引导安装系统的!必须要用刻录程序的镜像刻录功能,将ISO文件以“镜像文件格式”刻录成CD/DVD盘。

那么,在不同的场景,该如何使用ISO镜像呢?这里给大家几个使用建议:

·如果是单机物理服务器安装系统,可能需要购买空白DVD光盘刻录成DVD。不过,制作U盘镜像引导安装是目前推荐的选择。

·如果是在VMware/Virtualbox等虚拟软件环境下学习,则不需要刻录成DVD光盘或制作成U盘。在创建完虚拟机后,直接指定ISO镜像文件路径到虚拟机的光驱,即可实现引导安装系统。

·如果是服务器数量比较多的工作环境,一般也不需要刻录成DVD光盘或制作U盘,大多数都会通过ISO镜像部署无人值守网络批量安装系统服务。提示:安装Linux系统的常见引导方式有如下几种。

·光盘引导安装(不推荐)。

·U盘引导安装(机器数量少时推荐)。

·网络安装(需要网卡支持,现在主流网卡都支持,机器数量多时推荐使用此方法)。

虚拟机环境可以直接使用ISO镜像,安装方式可以是上面三种方式中的任意一种。1.1.3 为什么企业环境下要选择64位操作系统?

目前绝大多数企业生产环境中,使用的都是64位CentOS系统,且CentOS7彻底放弃了32位系统。那么,32位与64位系统到底有什么不同?为什么全部选择64位系统呢?这就要从32位与64位系统的定位和区别讲起。

区别之一:设计定位不同。64位操作系统的设计定位是:应用于机械设计和分析、三维动画、视频编辑和创作,以及科学计算和高性能计算应用程序等领域,这些应用领域的共同特点就是需要大量的系统内存和浮点性能。简单地说,64位操作系统是为高科技人员使用本行业特殊软件的运行平台而设计的,而32位操作系统是为普通用户设计的。

区别之二:安装要求配置不同。64位操作系统只能安装在64位电脑上(CPU必须是64位的),并且只在针对64位的软件时才能发挥其最佳性能。32位操作系统既可以安装在32位(32位CPU)电脑上,也可以安装在64位(64位CPU)电脑上。当然,此时32位操作系统是无法发挥64位操作系统硬件性能的。

区别之三:运算速度不同。64位CPU GPR(General-Purpose Register,通用寄存器)的数据宽度为64位,64位指令集可以运行64位数据指令。也就是说,处理器一次可提取64位数据(只要两个指令,一次提取8个字节的数据),比32位提高了一倍(32位需要4个指令,一次只能提取4个字节的数据),性能会相应提升。

区别之四:寻址能力不同。64位处理器的优势还体现在操作系统对内存的控制上。由于地址使用的是特殊整数,因此一个ALU(算术逻辑运算器)和寄存器可以处理更大的整数,也就是更大的地址。比如,Windows 7x64Edition支持多达128GB的物理内存和16TB的虚拟内存,而32位的CPU和操作系统理论上最大只可支持4GB的内存,实际上也就是3.2GB左右的内存,当然32位系统可以通过扩展来支持更大内存,扩展所采用的是PAE技术。提示:若要用一句话概括32位与64位系统的区别,那就是64位系统的CPU运算速度更快、支持更大的内存使用、可以发挥更大更好的硬件性能,从而提升业务工作效率。1.1.4 如何区分已安装的系统是32位还是64位

在Linux系统中查看系统版本为32位还是64位的方法如下。

方法1为标准的查看方法。命令及输出如下:[root@www ~]# uname -mx86_64

上述输出结果中带有x86_64字样,说明该系统为64位。再来看下面的命令及输出:[oldboy@web ~]$ uname -aLinux web 2.6.18-164.el5 #1 SMP Thu Sep 3 03:33:56 EDT 2009 i686 i686 i386 GNU/Linux

上述输出结果中带有“i686i386”字样,说明该系统为32位。

还可以通过命令uname-a查看更多的信息。

方法2为网友想出来的方法。命令及输出如下:[root@www ~]# ls -d /lib64/lib64

输出结果中存在lib64目录,则表示为64位系统。1.1.5 在学习与工作中如何选择操作系统1.工作场景

当前,绝大多数服务器厂商(如Dell、HP、IBM)的服务器既支持32位系统又支持64位系统。在老男孩的生产场景中,为了发挥硬件的最佳性能,尤其是提高对大内存的利用率,多年前就已经完全使用64位操作系统了。目前,在正式的生产环境中使用32位系统的企业已寥寥无几了,甚至绝大多数IT人员的笔记本电脑中的Windows系统都是64位系统。2.学习场景

对于Linux初学者来说,使用32位或64位系统都是可以的(两者会略有区别,但不是很大),但还是建议大家尽量用64位系统,与企业应用环境保持一致,这样才能提升学习效率与学习效果。老男孩在工作及教学中发现,有部分硬件(相对较老)默认无法支持VMware等64位虚拟化软件,个别初学者在尽量调整电脑的BIOS设置及CPU虚拟化支持选项后,仍无法支持VMware的64位虚拟能力,对于这样的硬件,就只能使用32位系统了。虽然这对配置个别网络服务有一点影响,但其实对于学习来说,这个问题可以忽略不计。当然,如果条件允许,还是建议购买支持64位CPU虚拟化能力的电脑,省得给自己的学习带来麻烦,新的主流电脑都支持64位CPU虚拟化。1.2 CentOS7.6操作系统的安装准备1.2.1 在单台物理服务器上安装系统

对于单台物理服务器,在正式安装操作系统之前,需要先确认以下两个问题,以便能够顺利安装系统。

·服务器光驱和系统安装光盘(需要把ISO文件刻成DVD光盘)都可用。

·服务器的各个硬件都能被CentOS7.6系统支持(当前市场上大多数品牌的服务器都已支持CentOS7.6)。

确认完毕后,就可以使用DVD光盘安装系统了,若考虑采用U盘安装的方式,请读者自行学习(参考http://blog.51cto.com/oldboy/1829907),需要简单地制作U盘。1.2.2 在虚拟机上安装系统

作为初学者,在安装CentOS7.6系统之前,通常会在Windows系统上事先安装好虚拟机软件,如VMware,然后运行安装的虚拟机软件,选择创建一个虚拟机,并配置好硬件,最后找到这个虚拟机对应的虚拟光盘驱动器。准备就绪后,就可以将CentOS系统的ISO镜像文件加载进来了。图1-1即为VMware虚拟机加载CentOS7.6ISO镜像文件的界面。在该界面右侧,将默认的物理光驱“使用物理驱动器”改为“使用ISO映像文件”,然后点击右边的“浏览...”按钮,找到事先下载好的CentOS7.6镜像文件并将其加载进来即可。图1-1 VMware虚拟机加载ISO镜像文件的界面1.3 开始安装CentOS7.6操作系统

加载完CentOS7.6的ISO镜像文件后,开启/重启电脑或虚拟机,此时,系统会进行自检,自检完毕就会出现安装系统引导界面,60秒后自动启动,如图1-2所示。提示:如果是在虚拟机上安装CentOS系统,需要进入虚拟机界面进行操作,如果需要退出虚拟机界面,可以按快捷键“Ctrl+Alt”。图1-2 CentOS7.6开机安装系统引导界面1.选择系统引导方式

在图1-2所示的引导界面中,可以看到共有3种引导方式,这3种方式对应的中英文含义见表1-2。表1-2 CentOS7.6的3种引导方式

其中,第一种(安装CentOS7)和第三种(系统故障修复)引导方式比较有用。2.修改网卡名为eth0的形式(和CentOS7以前的版本保持一致)

为了统一企业中的多版本系统共存的环境,这里将网卡名称设置为eth*的形式,不使用CentOS7默认的特殊网卡命名规则,所以需要在初始安装的时候增加内核参数。

在图1-2所示的界面,按Tab键进入,如图1-3所示的内核参数配置界面,并手动输入如下参数,输入完毕后按“回车”键继续。提示:

1)此步骤可在安装系统后再进行,网址http://oldboy.blog.51cto.com/2561410/1722101。

2)CentOS7以前版本的ethX数字编号的网卡命名往往不一定准确对应网卡接口的物理顺序,CentOS7的网卡默认命名可以解决这一问题,但同时也给Linux系统管理员带来了其他的困扰,就是无法兼容CentOS6的环境以及使用习惯,所以,一般还会改回早期的eth0、eth1网卡命名形式。具体的内核参数修改组合如下,默认内核参数(biosdevname=0,net.ifnames=1):网卡名如“enp5s2”;如果biosdev-name=1,net.ifnames=0:网卡名如“em1”;如果biosdevname=0,net.ifnames=0:网卡名如“eth0”(传统的方式)。想了解更多内容的读者可加入QQ群784850820。图1-3 配置内核参数调整网卡名3.进入下一步安装界面

选择“Install CentOS7”,即默认选项,然后按Enter(回车)键进入图形安装界面。这里为什么不采用文本方式呢?因为从CentOS6版本开始就无法用文本模式完全定制化安装了,即在文本模式下无法定制磁盘分区,这是CentOS6和CentOS7与之前各版本的不同之处。因此,在安装CentOS7.6系统时,通常都选择图形安装。

在加载过程中,可以看到如图1-4所示的界面,用户可以清晰地看到系统内部的一些自检和加载相关设备等的操作。图1-4 系统自检和加载相关设备提示:“Ctrl+Alt”快捷键用于从虚拟机内向虚拟机外切换,如果已经进入窗口,且需要按VMware窗口的“最大化”按钮时,就要使用“Ctrl+Alt”快捷键退出来之后再点击,如图1-5所示。图1-5 调整VMware最大化显示安装界面

最后进入到如图1-6所示的界面,这里默认选择安装过程中的语言显示为英语“English(United States)”,然后点击“Continue”按钮继续。图1-6 调整VMware显示最大化后的安装界面图提示:此处仅是设置安装过程中的语言显示,不建议选中文,要学会多亲近英文,至少不要逃避,只有这样才能学好Linux运维。4.进入到安装摘要页面(INSTALLATION SUMMARY)

进入如图1-7所示的安装摘要页面,这里和CentOS6的区别较大,CentOS6是一步步按照向导的提示进行安装,而CentOS7则是一个摘要平台页面。在这个摘要平台里,读者根据需要进行选择安装,图中框选的部分就是本次安装需要配置的选项。图1-7 需要配置的各个选项说明图5.配置系统时区和时间(DATE&TIME)

在如图1-7所示的界面中,点击“DATE&TIME”选项后,进入配置界面进行配置,具体配置过程参见图1-8所示界面中的描述和标记,其中最关键的是时区的配置,其他可以暂时忽略,它们在安装好系统后都可以随时更改。图1-8 系统时区和时间设置6.选择额外的语言支持(LANGUAGE SUPPORT)

同样在图1-7所示的界面中,点击“LANGUAGE SUPPORT”选项后,可增加一个中文语言配置(保留默认英文的配置),具体配置过程参见图1-9所示界面中的描述和标记,配置完按左上角的“Done”按钮返回。图1-9 语言支持界面7.系统软件包选择(SOFTWARE SELECTION)

同样在图1-7所示界面中,点击“SOFTWARE SELECTION”选项后,选择左边的最小化安装选项,即“Minimal Install”,同时在右边的列表中勾选4个复选框,具体配置过程见图1-10所示界面中的描述和标记,配置完按左上角的“Done”按钮返回。图1-10 系统软件包选择界面提示:根据经验,选择安装包时应该遵循最小化原则,即不需要的或不确定是否需要的就不安装,这样可以最大程度上确保系统安全。

如果安装过程中落下了部分包组,或者是其他人安装时没勾选,那么在安装完系统后可以按如下方式补上未安装的包组。

补充安装“Compatibility libraries”“Base”“Development tools”3个包组的命令为:yum group install "Compatibility libraries" "Base" "Development tools"

补充安装“Debugging Tools”“Dial-up Networking Support”两个包组的命令为:yum group install "debugging Tools" "Dial-up Networking Support"

可以通过yum groupinfo包组名,查看具体安装的包组组件。8.配置网络和主机名(NETWORK&HOST NAME)

同样在图1-7所示界面中,点击“NETWORK&HOST NAME”选项后,激活右上角的网卡,使网卡状态变为ON,然后在左下角配置主机名为“www”,具体配置过程见图1-11所示界面中的描述和标记,配置完按左上角的“Done”按钮返回。图1-11 配置网络和主机名

在左下角“Host name”后的文本框中配置主机名。其中会有默认的“localhost.localdomain”主机名,将其删除,设置自己的主机名,这里用www作为主机名。提示:不建议保留默认的Host name,设置一个规范的主机名会显得更专业,这是运维的原则,而且也可避免对后面业务服务的安装配置产生影响。自定义主机名时可以用普通的字符串(如www),或者完整的FQDN名(如www.etiantian.org)。最好选择简单字母或字母带数字字符(以字母开头,不要只用数字,可带下划线等),不要用特殊字符。9.选择磁盘设备,配置分区(INSTALLATION DESTINATION)

同样在图1-7界面中,点击“INSTALLATION DESTINATION”选项后,在界面中勾选“Local Standard Disks”一栏下面的虚拟硬盘,然后勾选下面的“I will configure partitioning”单选按钮,具体配置过程见图1-12所示界面中的描述和标记,配置完按左上角的“Done”按钮进行分区配置。图1-12 选定磁盘设备,选择配置分区10.按企业生产标准定制磁盘分区

由图1-12可知,当前的电脑只有一块磁盘,设备名为sda(如果有多块盘,会显示sda、sdb、sdc等)。

进入图1-13所示的磁盘分区界面,可以看见虚拟磁盘的总存储空间是20GiB,默认的分区是LVM。“LVM”的意思是逻辑卷管理,它可以对设置好的分区大小进行动态调整,前提是所有的分区格式都事先做成LVM格式,即分区标号为8e,企业环境的分区一般都是按需求事先规划好的,极少有后续调整的需求,且LVM的性能和标准分区及硬件RAID卡相比还是有一定差距的,因此,如果没有特殊需求,不会选择LVM功能分区。这里将“LVM”改为更优秀的标准分区模式“Standard Partition”。图1-13 磁盘分区界面

Linux系统磁盘分区知识简介

在分区之前,需要先简单介绍一下磁盘分区相关知识,便于大家更好地理解学习。

1)磁盘在使用前一般要先分区(相当于买房要有几居一样)。

2)磁盘分区有主分区、扩展分区和逻辑分区之分。一块磁盘最多可以有4个主分区,其中一个主分区的位置可以用一个扩展分区替换,在这个扩展分区内可以划分多个逻辑分区。

3)如果规划的分区数量超过4个,则分区组合为3primary+1extend或2p+1e或1p+1e。

4)一块磁盘最多只能有一个扩展分区,扩展分区不能直接使用,必须在扩展分区上划分逻辑分区,然后格式化(创建文件系统),之后才能存取数据或装系统。

磁盘分区命名及编号方式(1)以设备名命名

在Linux系统中,磁盘设备对应于系统中的特殊文件,这些特殊的文件存放在“/dev”目录中,不同的设备对应的设备名称如下:

·系统的第一块有IDE接口的硬盘称为/dev/hda。

·系统的第二块有IDE接口的硬盘称为/dev/hdb。

·系统的第一块有SCSI接口的硬盘称为/dev/sda。

·系统的第二块有SCSI接口的硬盘称为/dev/sdb。(2)使用数字编号

为了表示不同的分区,通常会用数字对分区进行编号,比如:

·系统的第一块有IDE接口的硬盘的第1个分区称为/dev/hda1。

·系统的第一块有IDE接口的硬盘的第5个分区称为/dev/hda5。

·系统的第二块有SCSI接口的硬盘的第1个分区称为/dev/sdb1。

·系统的第二块有SCSI接口的硬盘的第5个分区称为/dev/sdb5。

需要注意的是,在对分区进行编号时,数字1~4只能留给主分区或扩展分区使用,逻辑分区(是在扩展分区基础上的)的编号只能从5开始。

在对Linux系统设置了分区之后,还要在分区上创建文件系统才能安装系统,该文件系统在安装时由系统自行完成创建。

Linux系统对分区的基本要求

1)最少要有一个根(/)分区,用来存放系统文件及程序。其大小至少在5GB以上。

2)要有一个swap(交换)分区,它的作用相当于Windows里的虚拟内存,swap分区的大小一般为物理内存容量的1.5倍(内存<8GB)。但当系统的物理内存大于8GB时,则对swap分区配置8~16GB即可,太大无用,反而浪费磁盘空间。swap分区不是必需的,但是大多数情况下还是设置一下比较好,个别企业的数据库应用场景中不设swap分区。

3)/boot分区是Linux系统的引导分区,用于存放系统引导文件,如Linux内核等。对于CentOS7而言,该分区要比以前的版本大一些。因此,该分区可以设置为1024MB,这个分区也不是必需的。

企业生产场景中Linux系统的分区方案

常规的分区方案如下。

方案1:针对网站集群架构中的某个节点服务器分区,该服务器上的数据有多份(其他节点也有)且数据不太重要,建议的分区方案如下。

·/boot:设置为512~1024MB。

·swap:为物理内存的1.5倍,当内存大于等于8GB时,分配8~16GB即可。

·/:剩余硬盘空间大小(/usr、/home、/var等分区和“/”共用一个分区,这相当于在Windows系统中只有一个C盘,所有数据和系统文件都放在一起)。

方案2:针对数据库及存储角色的服务器分区,该服务器的业务包含大量重要的数据,建议分区方案如下。

·/boot:设置为512~1024MB。

·/:大小设置为50~200GB,只存放系统相关文件,网站等业务数据不放在这里。

·swap:为物理内存的1.5倍,当内存大于等于8GB时,分配8~16GB即可。

·/data:剩余硬盘空间大小,存放数据库及存储服务等重要数据。当然,data的名称也可以换成别的名字。

本方案其实就是将重要数据单独分区,便于备份和管理。

方案3:针对大网站或门户级企业的服务器进行分区。

·/boot:大小设置为512~1024MB。

·swap:为物理内存的1.5倍,当内存大于等于8GB时,分配8~16GB即可。

·/:大小设置为50~200GB,只存放系统相关文件,网站等业务数据不放在这里。

保留剩余的磁盘空间,不再进行分区,将来它们分配给不同的使用部门,由他们自己根据需求再分。

此种分区方案更灵活,比较适合业务线比较多、需求不确定的大企业使用。

对于分区,有网友还给出了如下的方案。

/boot、swap、/、/usr、/home、/var

这种分区方案是典型的没有主见的被动式分区,分了太多的额外分区(/usr、/home、/var),没有必要且管理起来更麻烦了,这类似于家庭中只有2~3口人,却把100平方米的房子隔成几个房间,极不推荐这样的分区方案。

如果怕某个分区满了影响系统运行,那么这样的分区想法就更错了。第一,硬盘空间固定,分区多了,比只分一个区肯定更容易满;第二,在企业应用里业务不可用和服务器宕机的危害几乎差不多,因此,分区少一些,然后对所有分区进行监控报警是目前多数规范企业的选择。

本书采用常规的服务器分区方案,即分为/boot、swap、/三个分区,注意分区的先后顺序。

关于磁盘分区就介绍这么多。下面继续介绍系统的安装操作。11.开始增加分区

在图1-13中,将“LVM”改为标准分区模式“Standard Partition”,然后单击左下角的“+”号,在弹出的对话框中,输入第一个分区挂载点“/boot”,大小给1024MB,如图1-14所示,然后点击“Add mount point”按钮完成设置。

/boot分区的分区结果如图1-15所示,如果没有问题,就按“Done”按钮完成

/boot分区的设置。

界面选项说明:

1)Mount Point的意思是挂载点,这是Linux下访问磁盘分区的入口,即如果要向/boot分区(/dev/sda1)里写入数据,就必须通过/boot入口来写入,这一点和Windows是不同的。

2)File System的意思是文件系统类型,就像Windows的fat32/ntfs一样,磁盘分区只有在设置了文件系统类型格式化并挂载上挂载点后才能存放数据。目前有如下一些文件系统类型。图1-14 /boot分区设置界面图1-15 /boot分区结果

·xfs:一个优秀的文件系统类型,在CentOS7中将作为默认文件系统类型,替代ext4。

·ext2/ext3/ext4:适合Linux的文件系统类型。由于ext3文件系统多了日志记录功能,因此系统恢复起来会更快速,ext4是ext3的升级,效率更高,CentOS6默认使用的是ext4类型。

·Physical Volume(LVM):这是一种弹性调整文件系统大小的机制,即可以让文件系统变大或变小,而不改变原有文件数据的内容,功能不错,但性能会下降。

·swap:就是内存交换空间。由于swap并不会使用目录树的挂载,因此使用swap的不需要指定挂载点。

·vfat:同时被Linux与Windows系统支持的文件系统类型。如果主机硬盘同时存在于Windows与Linux两种操作系统中,有数据交换需求时,可以使用该文件系统。

完成/boot分区后,不要退出,继续点击“+”号,划分交换分区(swap),过程如图1-16所示。图1-16 交换分区配置

swap分区配置说明:

1)进行swap分区时不配置Mount Point挂载点,swap不需要人为访问,系统会自动处理。

2)swap分区的大小一般为物理内存容量的1.5倍(内存<8GB时),但当系统物理内存大于8GB时,swap分区配置为8~16GB即可,太大无用,还浪费磁盘空间。

3)如果是学习环境,为了节省空间,swap设置得小一点也没有问题。

Linux系统分区时,常规的分区方案为/、/boot、swap,其中swap不是挂载点(/、/boot都是挂载点),而是分区类型,类似ext4的一个文件系统,如果在挂载点文本框中输入“/swap”创建swap分区,那么就错了。

完成swap分区后,也不要退出,继续点击“+”号,分根分区(/),过程如图1-17所示。图1-17 根分区配置提示:分完区后,要进行检查,方法如图1-18所示界面中的描述,笔者在分区时,发现设备类型又回到了LVM设置,所以要全部改回标准分区模式,这好像是系统的一个漏洞,因为前面的操作中已经选择好标准分区模式了。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载