跟老男孩学Linux运维:高性能Web集群实践(上)
上QQ阅读APP看书,第一时间看更新

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”;如果biosdevname=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”按钮继续。提示:此处仅是设置安装过程中的语言显示,不建议选中文,要学会多亲近英文,至少不要逃避,只有这样才能学好Linux运维。

图1-6 调整VMware显示最大化后的安装界面图

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设置,所以要全部改回标准分区模式,这好像是系统的一个漏洞,因为前面的操作中已经选择好标准分区模式了。

图1-18 总的分区结果

确定设置无误后,即可点击左上角的“Done”按钮,并在图1-19所示的界面中,点击右下角的“Accept Changes”按钮返回完成分区设置,最终回到安装信息摘要界面。

图1-19 分区设置后的提示界面

提示:这里采用的是生产环境中集群节点下的节点服务器的分区方式,即系统坏掉后硬盘数据不需要保留。此分区方式也适合大多数生产环境中的服务器,如果是数据库以及存储重要数据的特殊业务服务等,一般会单独划分存放数据的分区,如/data。

除了/boot、swap和/ 3个分区外,还可以加/usr、/home、/var等分区,具体要根据服务器的需求来决定,一般情况下,只配置这3个分区足够了。

这种分区方案最大的优点就是简单、使用方便、可批量安装部署,而且不会存在有的分区满了、有的分区还剩余了很多空间又不能被利用的情况(LVM的情况这里先不阐述)。

该分区方案的缺点是,如果系统坏了,重新装系统时,因为数据都在/(根)分区,导致数据备份很麻烦,如果设置了/usr、/home、/var等分区,即使系统出了故障,也可以直接在/(根)分区重装系统,这样并不会破坏其他分区的数据。当然,如前所述,如果是不存在备份数据的集群节点,那采用这种分区方案是很明智的,不用特别担心某个分区爆满的问题。

最终配置的选项就是图1-7中框选的部分,其他部分可以忽略。

12.开始安装系统

点击图1-7所示界面的右下角“Begin Installation”按钮开始安装,如图1-20所示,在安装过程中我们可以为管理员root设置安全密码,当然也可以设置普通用户(这里省略),如图1-21所示。

图1-20 系统安装过程

图1-21 设置管理员root密码

提示:如果是生产环境,那么root口令要尽量复杂。比如,设置8位以上包含数字、字母(区分大小写),甚至是特殊字符的口令。在企业运维工作中系统安全是至关重要的,安全要从每件小事做起。

最后就是漫长的等待过程,根据硬件的不同,完成安装一般需要5~20分钟,安装过程界面及安装完成界面如图1-22和图1-23所示。

提示:安装过程中,会显示需要安装包的总数量及当前已安装完的包的数量,以及总的安装进度等信息。

图1-22 系统安装过程界面

图1-23 系统安装完成界面图