博主QQ819594300

博客地址:http://zpf666.blog.51cto.com/

有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持!

一、链路聚合(也叫聚合链路)

说明:NIC teaming,简单的说就是多个物理端口绑定在一起当成一个逻辑端口使用,以便提高带宽,实现负载平衡或高可用的功能。Centos7里面是通过runner (可以视作一段代码)来实现不同的目的。

配置的基本思想过程:

首先配置一个逻辑端口的连接,视作master;

然后把需要的物理端口配置成slave 连接,绑定到组;

最后把这个逻辑端口分配IP就可以用了。

具体操作步骤如下:

1)首先准备两块网卡,它们有不同的MAC地址

Centos7系列(五)聚合链路与grub配置文件及排错_grub

Centos7系列(五)聚合链路与grub配置文件及排错_grub_02

Centos7系列(五)聚合链路与grub配置文件及排错_grub_03

Centos7系列(五)聚合链路与grub配置文件及排错_grub_04

Centos7系列(五)聚合链路与grub配置文件及排错_聚合链路_05

Centos7系列(五)聚合链路与grub配置文件及排错_grub_06

Centos7系列(五)聚合链路与grub配置文件及排错_grub_07

2)创建一个新连接,类型是team连接名称team0。

Centos7系列(五)聚合链路与grub配置文件及排错_聚合链路_08

小拓展:如果将activebackup改成loadbalance则执行以下命令

Centos7系列(五)聚合链路与grub配置文件及排错_Centos7_09

3)master配置好了,还得配置slave,即将eno16777736和eno33554984两块网卡加入到team0。

Centos7系列(五)聚合链路与grub配置文件及排错_grub_10

现在执行nmcli connection show命令查看team0-1和team0-2的状态。

Centos7系列(五)聚合链路与grub配置文件及排错_聚合链路_11

Centos7系列(五)聚合链路与grub配置文件及排错_Centos7_12

执行ifconfig,发现网卡的地址都一样了,这样交换机才能转发包到同一个逻辑端口。

Centos7系列(五)聚合链路与grub配置文件及排错_聚合链路_13

4)最后给team0分配一个IP地址(也可以直接用图形工具设置IP地址)。

Centos7系列(五)聚合链路与grub配置文件及排错_grub_14

5)测试一下,先看看team0当前状态。

Centos7系列(五)聚合链路与grub配置文件及排错_聚合链路_15

6)关掉eno16777736的连接,自动切换到第二个物理端口了,测试成功。

Centos7系列(五)聚合链路与grub配置文件及排错_Centos7_16

二、Centos7的grub配置文件及排错

配置文件:

Centos7用了grub2,而不再是grub了

MBR分区的前446个字节存放的是系统引导程序grub,中间64字节是分区表,最后2个字节表示结束。那么什么是grub是怎么工作的呢?

简单的说,开机会经历以下几步:

1、BIOS自检,检查硬件;

2、激活MBR,MBR上不存在文件系统,可以视作硬件一部分,因此可以被直接读取

3、grub加载到内存,生成一个微系统,微系统内置了精简版的文件系统

4、通过这个微系统,他会去引导分区,比如默认一般是sda1上去找内核文件如vmlinuz,然后再调用grub的配置文件。

grub的主要把他的配置文件放在了3个地方

/boot/grub2/grub.cfg  grub的主配文件)&&(/etc/grub2.cfg是/boot/grub2/grub.cfg文件的符号链接)

/etc/grub.d/ 

/etc/default/grub

如下所示。他们的关系是 grub.cfg里面通过 ####BEGIN  ##### 这种格式按照顺序调用/etc/grub.d里面的脚本实现不同的功能。grub.d目录里面有很多数字开头的脚本,按照从小到大的顺序执行。以00__header为例,他又会调用 /etc/default/grub配置文件来实现最基本的开机界面配置

Centos7系列(五)聚合链路与grub配置文件及排错_grub_17

例如:在/etc/grub2.cfg是文件里面调用 /etc/grub.d/10_linux 来配置不同的内核,这里面有2个 menuentry (菜单入口),所以我们开机的时候会看见两个默认选项,一个是普通模式,一个是救援模式。

Centos7系列(五)聚合链路与grub配置文件及排错_聚合链路_18

Centos7系列(五)聚合链路与grub配置文件及排错_grub_19

Centos7系列(五)聚合链路与grub配置文件及排错_grub_20

注意:需要注意的是,最好不要直接去修改 /etc/grub2.cfg 文件。这个是因为如果后期升级内核,所有的配置都会失效。如果需要自定义这个文件,我们可以修改对应的脚本或者/etc/default/grub文件,然后通过grub2-mkconfig 重新生成grub.cfg文件。

grub排错:

1、修改启动的等待时间

Centos7默认启动等待时间为5秒(注:如果改为-1,那么每次启动时需手动确认才可以)

下面将启动时间修改为3秒:

Centos7系列(五)聚合链路与grub配置文件及排错_Centos7_21

Centos7系列(五)聚合链路与grub配置文件及排错_grub_22

修改之后重新编译生成grub.cfg文件:

Centos7系列(五)聚合链路与grub配置文件及排错_Centos7_23

2、修改网卡的显示名字,这个前面做网络配置的时候提到过,这里不赘述了。

3、加密grub

Centos7系列(五)聚合链路与grub配置文件及排错_Centos7_24

Centos7系列(五)聚合链路与grub配置文件及排错_grub_25

重新编译生成grub.cfg文件:

Centos7系列(五)聚合链路与grub配置文件及排错_聚合链路_26

Centos7系列(五)聚合链路与grub配置文件及排错_grub_27

Centos7系列(五)聚合链路与grub配置文件及排错_聚合链路_28

Centos7系列(五)聚合链路与grub配置文件及排错_聚合链路_29

Centos7系列(五)聚合链路与grub配置文件及排错_Centos7_30

Centos7系列(五)聚合链路与grub配置文件及排错_聚合链路_31

明文有了,应该还有密文的设置,那如何设置密文口令呢?

首先用命令grub2-mkpasswd-pbkdf2生成加密密码(即密文):

Centos7系列(五)聚合链路与grub配置文件及排错_grub_32

Centos7系列(五)聚合链路与grub配置文件及排错_聚合链路_33

Centos7系列(五)聚合链路与grub配置文件及排错_grub_34

重新编译生成grub.cfg文件:

Centos7系列(五)聚合链路与grub配置文件及排错_grub_35

重启验证即可,和明文的验证是一样的。

注:在文本终端模式下,生成的密文复制不了,这时就需要安装并启用gpm后就可复制粘贴了。(把需要复制的密文选中就是复制,点一下右键就是粘贴)

Centos7系列(五)聚合链路与grub配置文件及排错_Centos7_36

Centos7系列(五)聚合链路与grub配置文件及排错_grub_37

Centos7系列(五)聚合链路与grub配置文件及排错_聚合链路_38

开机界面的时候如果输入e,会打开编辑窗口,我们可以根据需要进入rescue, emergency 或者 shell 模式。如何限制访问。

在这个编辑窗口,我们可以根据需要进入 rescue,emergency和shell引导的3种模式。这3种模式对于系统启动排错很有帮助,比如某个服务卡住了无法加载我们可以通过这3种模式来排错。

①rescue(救援)模式: 在commandline的配置末尾添加s ,类似Centos6之前的单用户模式。

Centos7系列(五)聚合链路与grub配置文件及排错_Centos7_39

按ctrl+x启动:

Centos7系列(五)聚合链路与grub配置文件及排错_聚合链路_40

说明:普通模式需要加载的服务很多,但是这个rescue模式加载的就少很多了,输入管理员密码就可以进入了。

②emergency(紧急)模式和rescue模式类似,不过加载的服务更少,把s改成 emergency就行了

对于以上两种模式,问题来了,忘记root密码了怎么办?

③解决办法如下:(也是进入shell模式 )

步骤:

1、重启系统,按e

2、在linux16那行的最尾部(end键可以一下子到末尾)加上一下信息   rd.break console=tty0

Centos7系列(五)聚合链路与grub配置文件及排错_聚合链路_41

3、按ctrl+x启动

Centos7系列(五)聚合链路与grub配置文件及排错_Centos7_42

4、重新挂在文件系统

Centos7系列(五)聚合链路与grub配置文件及排错_Centos7_43

Centos7系列(五)聚合链路与grub配置文件及排错_Centos7_44

5、改变根目录

Centos7系列(五)聚合链路与grub配置文件及排错_聚合链路_45

6、修改root密码

Centos7系列(五)聚合链路与grub配置文件及排错_Centos7_46

7、在根目录下创建相关文件(用于重新标记selinux环境值)

Centos7系列(五)聚合链路与grub配置文件及排错_聚合链路_47

8、退出,系统将会重启(输入两次exit即可)

Centos7系列(五)聚合链路与grub配置文件及排错_Centos7_48

开机排错

(开机的报错就是找不到了内核,也就是找不到了操作系统,广义上讲操作系统就是内核;狭义上讲操作系统分为内核空间和用户空间)。

1、比如把MBR的前446个字节都覆盖了。

Centos7系列(五)聚合链路与grub配置文件及排错_grub_49

Centos7系列(五)聚合链路与grub配置文件及排错_Centos7_50

解决办法:

添加系统光盘,三键其按重启系统。

Centos7系列(五)聚合链路与grub配置文件及排错_grub_51

Centos7系列(五)聚合链路与grub配置文件及排错_grub_52

Centos7系列(五)聚合链路与grub配置文件及排错_聚合链路_53

用df命令看一下根目录在挂载何处。

Centos7系列(五)聚合链路与grub配置文件及排错_grub_54

用mount命令看一下是否有读取权限

Centos7系列(五)聚合链路与grub配置文件及排错_聚合链路_55

既然查看到了根目录挂载在哪了,就切换目录到根目录的挂载点(等同于切换到根目录下):

Centos7系列(五)聚合链路与grub配置文件及排错_Centos7_56

fdisk-l 看看启动分区是哪个,有星号的就是:

Centos7系列(五)聚合链路与grub配置文件及排错_grub_57

重装一下 grub2 到启动分区就可以了:

Centos7系列(五)聚合链路与grub配置文件及排错_grub_58

最后连续输入两次“exit”就重启了。

Centos7系列(五)聚合链路与grub配置文件及排错_聚合链路_59

2、如果grub引导程序没问题,但是我们把内核文件或者grub.cfg配置文件给删除了怎么办

Centos7系列(五)聚合链路与grub配置文件及排错_聚合链路_60

Centos7系列(五)聚合链路与grub配置文件及排错_Centos7_61

解决办法:

强制关机,然后进入BIOS,将光盘设为第一启动项。然后F10保存退出

Centos7系列(五)聚合链路与grub配置文件及排错_grub_62

Centos7系列(五)聚合链路与grub配置文件及排错_聚合链路_63

Centos7系列(五)聚合链路与grub配置文件及排错_聚合链路_64

Centos7系列(五)聚合链路与grub配置文件及排错_grub_65

Centos7系列(五)聚合链路与grub配置文件及排错_grub_66

装完内核之后,重新安装一次 grub2, 输入 grub2-install /dev/sda, 然后重新编译一下grub2就行了,最后连续输入两次exit就重启系统了。

Centos7系列(五)聚合链路与grub配置文件及排错_grub_67

重启后再次进入BIOS,把本地硬盘调整为开机第一启动(否则的话重启后进入光盘安装界面,一定要改。F10保存退出):

Centos7系列(五)聚合链路与grub配置文件及排错_聚合链路_68

重启之后,可能会遇见以下问题:

问题是开机直接进入命令行模式,即使runlevel显示的是5,手动输入startx一样会报错。 

解决办法是重新安装图形化界面

yumgrouplist

yumgroupinstall 'Server with GUI'