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

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

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

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

配置的基本思想过程:

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

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

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

具体操作步骤如下:

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

centos 链路聚合team centos网口聚合配置_重启

centos 链路聚合team centos网口聚合配置_根目录_02

centos 链路聚合team centos网口聚合配置_重启_03

centos 链路聚合team centos网口聚合配置_根目录_04

centos 链路聚合team centos网口聚合配置_根目录_05

centos 链路聚合team centos网口聚合配置_shell_06

centos 链路聚合team centos网口聚合配置_重启_07

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

centos 链路聚合team centos网口聚合配置_shell_08

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

centos 链路聚合team centos网口聚合配置_shell_09

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

centos 链路聚合team centos网口聚合配置_shell_10

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

centos 链路聚合team centos网口聚合配置_根目录_11

centos 链路聚合team centos网口聚合配置_centos 链路聚合team_12

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

centos 链路聚合team centos网口聚合配置_根目录_13

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

centos 链路聚合team centos网口聚合配置_重启_14

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

centos 链路聚合team centos网口聚合配置_shell_15

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

centos 链路聚合team centos网口聚合配置_根目录_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配置文件来实现最基本的开机界面配置:

centos 链路聚合team centos网口聚合配置_shell_17

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

centos 链路聚合team centos网口聚合配置_根目录_18

centos 链路聚合team centos网口聚合配置_根目录_19

centos 链路聚合team centos网口聚合配置_重启_20

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

grub排错:

1、修改启动的等待时间

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

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

centos 链路聚合team centos网口聚合配置_重启_21

centos 链路聚合team centos网口聚合配置_shell_22

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

centos 链路聚合team centos网口聚合配置_根目录_23

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

3、加密grub

centos 链路聚合team centos网口聚合配置_centos 链路聚合team_24

centos 链路聚合team centos网口聚合配置_重启_25

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

centos 链路聚合team centos网口聚合配置_重启_26

centos 链路聚合team centos网口聚合配置_根目录_27

centos 链路聚合team centos网口聚合配置_centos 链路聚合team_28

centos 链路聚合team centos网口聚合配置_shell_29

centos 链路聚合team centos网口聚合配置_根目录_30

centos 链路聚合team centos网口聚合配置_操作系统_31

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

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

centos 链路聚合team centos网口聚合配置_centos 链路聚合team_32

centos 链路聚合team centos网口聚合配置_重启_33

centos 链路聚合team centos网口聚合配置_操作系统_34

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

centos 链路聚合team centos网口聚合配置_centos 链路聚合team_35

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

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

centos 链路聚合team centos网口聚合配置_centos 链路聚合team_36

centos 链路聚合team centos网口聚合配置_centos 链路聚合team_37

centos 链路聚合team centos网口聚合配置_shell_38

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

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

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

centos 链路聚合team centos网口聚合配置_操作系统_39

按ctrl+x启动:

centos 链路聚合team centos网口聚合配置_centos 链路聚合team_40

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

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

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

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

步骤:

1、重启系统,按e

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

centos 链路聚合team centos网口聚合配置_shell_41

3、按ctrl+x启动

centos 链路聚合team centos网口聚合配置_重启_42

4、重新挂在文件系统

centos 链路聚合team centos网口聚合配置_shell_43

centos 链路聚合team centos网口聚合配置_shell_44

5、改变根目录

centos 链路聚合team centos网口聚合配置_centos 链路聚合team_45

6、修改root密码

centos 链路聚合team centos网口聚合配置_重启_46

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

centos 链路聚合team centos网口聚合配置_根目录_47

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

centos 链路聚合team centos网口聚合配置_根目录_48

开机排错

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

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

centos 链路聚合team centos网口聚合配置_操作系统_49

centos 链路聚合team centos网口聚合配置_操作系统_50


解决办法:

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

centos 链路聚合team centos网口聚合配置_重启_51

centos 链路聚合team centos网口聚合配置_centos 链路聚合team_52

centos 链路聚合team centos网口聚合配置_重启_53

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

centos 链路聚合team centos网口聚合配置_centos 链路聚合team_54

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

centos 链路聚合team centos网口聚合配置_shell_55

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

centos 链路聚合team centos网口聚合配置_shell_56

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

centos 链路聚合team centos网口聚合配置_操作系统_57

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

centos 链路聚合team centos网口聚合配置_根目录_58

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

centos 链路聚合team centos网口聚合配置_根目录_59

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

centos 链路聚合team centos网口聚合配置_shell_60

centos 链路聚合team centos网口聚合配置_shell_61

解决办法:

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

centos 链路聚合team centos网口聚合配置_操作系统_62

centos 链路聚合team centos网口聚合配置_shell_63

centos 链路聚合team centos网口聚合配置_shell_64

centos 链路聚合team centos网口聚合配置_重启_65

centos 链路聚合team centos网口聚合配置_根目录_66

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

centos 链路聚合team centos网口聚合配置_centos 链路聚合team_67

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

centos 链路聚合team centos网口聚合配置_shell_68

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

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

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

yumgrouplist
yumgroupinstall 'Server with GUI'