RHEL7网卡的链路聚合及grub的故障处理修复

一、网卡的链路聚合

NIC teaming,简单的说就是多个物理端口绑定在一起当成一个逻辑端口使用,以便提高带宽,实现负载均衡或高可用的功能。

RHEL7里面是通过runner(可以视作一段代码)来实现不同的目的。

配置的基本过程就是配置一个逻辑端口的连接,视作master,然后把需要的物理端口配置成slave连接,绑定到组 。然后把这个逻辑端口分配IP就可以用了

team:高可用性

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


(2.)创健一个新的连接,类型是team连接名称是team0

[root@kang ~]# nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}'
activevbackup表示热备,loadbalance表示负载均衡

例如:将activebackup改成loadbalance

[root@kang ~]# nmcli connection  modify  team0 team.config '{"runner":{"name":"loadbalance"}}'
(3.)master配置好了,还得配置slave,即将eno16777736和eno33554960两块网卡加入到team0
[root@kang ~]# nmcli connection  add type team-slave con-name team0-1 ifname eno16777736 master team0 

[root@kang ~]# nmcli connection  add type team-slave con-name team0-2 ifname eno16777736 master team0  

(4.)执行nmicli connection show 命令查看team0-1和team0-2的状态

[root@kang ~]# nmcli connection show   


(5.)上图可以看出team0-1和team0-2没有连接,执行下列命令连接team0-1和team0-2

[root@kang ~]# nmcli connection up  team0-1
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6)
[root@kang ~]# nmcli connection up team0-2
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)

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


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


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

[root@kang ~]# nmcli connection  down  team0-1

二、RHEL7 grub配置文件及排错

RHEL7用了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  (/etc/grub2.cfg是/boot/grub2/grub.cfg文件的符号链接)##begin格式#
/etc/grub.d/  #存放了可执行的脚本按照从小到大依次执行
/etc/default/grub #以00_header为例,调用这项配置文件来实现最基本的开机界面配置
[root@kang ~]# ls /boot/grub2/grub.cfg 
/boot/grub2/grub.cfg
[root@kang ~]# ls /etc/grub.d/
00_header  01_users  20_linux_xen     30_os-prober  41_custom
00_tuned   10_linux  20_ppc_terminfo  40_custom     README
[root@kang ~]# ls /etc/default/grub 
/etc/default/grub
[root@kang ~]# 
在/etc/grub2.cfg是文件里面调用 /etc/grub.d/10_linux来配置不同的内核,这里面有2个menuentry(菜单入口),所以我们开机的时候会看见两个默认选项, 一个是普通模式,一个是救援模式


这个是/etc/default/grub文件。和其他的脚本比较起来,非常简单直观了。接下来会举例如何修改

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

例如:(1.)修改启动的等待时间

RHEL7默认的等待时间为5秒,下面将启动时间修改为3秒(注意:如果改为-1,那么每次启动时需要手动确认才可以)

修改/etc/default/grub文件,如下图所示:

[root@kang ~]# vim /etc/default/grub 


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

[root@kang ~]# grub2-mkconfig -o /boot/grub2/grub.cfg

例如(2.)加密grub

在/etc/grub.d/00_header文件末尾,添加以下内容

cat <<EOF
set superusers='admin'
password admin pwd123
EOF
重新编译生成grub.cfg文件

重启系统之后输入e,就需要输入用户名和密码才能进入编辑窗口了,以上设置的是明文密码

那么如何设置密文口令呢? 提示:加密密码由命令grub2-mkpasswd-pbkdf2生成

[root@kang ~]# grub2-mkpasswd-pbkdf2 

在/etc/grub.d/00_header文件末尾,添加以下内容

cat  <<EOF
set superusers=’用户名’
password_pbkdf2 用户名加密密码
EOF
如下图所示:


重新编译生成grub.cfg文件

grub2-mkconfig–o /boot/grub2/grub.cfg
重启验证

插播一条小技巧: 在文本终端模式下,安装并启用gpm工具后就可复制粘贴了


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

如何限制访问。

在这个编辑窗口,我们可以根据这三种引导模式来解决系统故障,进行相关的排错。

(1.)rescue模式:在commandline的配置末尾添加s,类似之前rhel6的单用户模式。


按Ctrl+x启动

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


(2.)ememergency模式和rescue模式类似,不过加载的服务更少,把s改成emergency就行了。

那么如果忘记了root密码了怎么办?

方法1:

1.重启系统,按e

2.在Linux16那行的最尾部加上rd.break console=tty0


3.按Ctrl+x 启动

4.重新挂在文件系统


5.改变根目录


6.修改root密码


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


8.退出,系统将会重启


方法2:

在Linux16的最后一行删除 rhgb quiet,然后添加 init=/bin/sh,他会用shell替代默认的daemon进程


按Ctrl+x启动

挂载文件系统为可写模式,原因很简单,根目录加载的权限是ro,只读,重新加载成rw的权限。


这个时候就可以修改密码了,执行passwd,按提示修改root密码


如果之前系统启用了selinux,必须运行以下命令,否则将无法正常启动系统:


创建这个文件会自动在开启的时候重新做标签即用于重新标记selinux环境值

运行命令exec/sbin/init来正常启动,或者用命令exec/sbin/reboot重启

开机排错:

例1:grub故障:比如把MBR的前446字节都覆盖了


系统重启后则出现如下故障现象

开机的时候自动尝试从本地,光盘和网络加载引导程序(如果光盘、网络等引导失败则会openoperatiing system not found);

这里是从我的光盘加载的,因为本地的引导程序已经没有了


选择troubleshooting(排错)


选择resure a red hat  enterprise  Linux  system

 

选择continue,注意有耐心多等一下,有的时候会卡个10秒才有反应

按照提示,切换根到本机的系统


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


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


重启就ok了


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


重启之后,直接进入grub的救援模式,这表明引导程序没有问题,但是引导文件找不到了


和前面的一样,光盘启动,切换根目录,挂载一下光盘到光盘挂载点,顺便看看/boot目录,里面空荡荡的,内核文件和配置文件都没了


解决方法就是重新安装内核,可以用rpm或者yum,用yum需要先卸载当前的,再安装,而rpm可以强行--force覆盖安装。

所以下图是用rpm方式安装的


装完内核之后,重新安装一次grub2,输入grub-install  /dev/sda,然后重新编译一下grub2就行了


重启系统就可以了。

重启之后,如果遇见以下问题:

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

解决方式是重新安装图形化界面

yum grouplist
yum groupinstall 'Server with GUI'


2018年新的一年新的开始,祝愿大家有个好的心情,好的开始。

一起加油!!! 希望对你有所帮助!!!

奋斗 奋斗 奋斗





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值