nmcli, hostname, bond, team, 内核监控和配置

[TOC]

1. nmcli

网络配置:

br0 桥接网卡, 可桥接到物理网卡
br0:253 子接口
virbr0 虚拟网卡, 类似windows中的vmnet1 (virbr1: vmnet8)
vnet0 子虚拟机上的网卡
dmesg | grep eth # 可以用来判断系统是否识别某个网卡
                 # 配置文件出错, 网卡无法启动成功
                 # 网卡的配置文件需手动创建(新添加的文件没有配置文件)
                 # eno16777736 物理网卡
nmcli #支持缩写, 接下来描述如何添加一块新网卡的配置
nmcli con add type ethernet ifname eth2 con-name eth2
# 类似于ifcfg-eth2中的内容     DEVICE=eth2  NAME=eth2
nmcli con mod eth2 ipv4.addresses "172.25.0.31/24 172.25.0.254" \
ipv4.dns 172.25.0.254 ipv4.method manual connection.autoconnect yes
#                      BOOTPROTO=none     ONBOOT=yes
nmcli con up eth2 # 开启eth2
nmcli dev status  # 可以查看设备的状态

# 同一块网卡中添加子接口的方法(配置多个ip):
# 方法一:
nmcli con mod eth2 +ipv4.addresses "172.25.0.41/24" ipv4.method manual
nmcli con up eth2
# 方法二: 修改配置文件ifcfg-eth2, 添加
IPADDR0=172.25.0.31    # 下面前三行为原有配置
PREFIX0=24
GATEWAY0=172.25.0.254
IPADDR1=172.25.0.41    # 后两行是需要添加的配置
PREFIX1=24
systemctl restart network # 重启服务

# 一个设备可以有多个connection(即有多个配置文件, 但只有一个配置文件生效)
nmcli con show
nmcli con add type ethernet ifname eth2 con-name eth22
nmcli con show # 此时会有两个配置文件
nmcli con mod eth22 ipv4.addresses 172.25.0.61/24 ipv4.method manual
nmcli con up eth22
nmcli con show

nmcli dev disconnect eth0 # 断开网络接口设备并关闭
nmcli con show "System eth0" # 查看配置文件的详细信息, 
                             # 包括DHCP获取到的DNS, ip等

# 添加ipv6的地址(同一块网卡可同时配置ipv4和ipv6地址):
nmcli con mod "System eth0" ipv6.addresses 1111:aaaa::16/64 \ 
ipv4.method manual connection.autoconnect yes
nmcli con up "System eth0"

2. hostname

修改主机名

配置文件: /etc/hostname

hostname # 查看
hostnamectl set-hostname "rhce" # 将主机名修改为rhce
hostname # 再次查看, 此时的hostname展示已修改, 但PS1作为变量还未生效
         # 用su - 或重新登录一个shell, 会发现PS1的展示已修改

3. 链路聚合(bond, team)

# bond (需要手动创建ifcfg-bond0, ifcfg-eth1, ifcfg-eth2的配置文件)
# 1) 编辑ifcfg-bond0
DEVICE=bond0
IPADDR=192.0.2.1
NETMASK=255.255.255.0
GATEWAY=192.0.2.254
ONBOOT=yes
BOOTPROTO=none
BONDING_OPTS="mode=0 miimon=100 use_carrier=0"
# mode=0 轮询 (负载均衡)
# mode=1 主备
# miinon=100 检测间隔为100ms, 看某块网卡是否挂了
# use_carrier=0 使用什么工具监测, 默认的0为网卡自己的驱动, 1为ethtool
ethtool eth0 # 可展示网卡等网络驱动或硬件的配置信息
# 2) 编辑ifcfg-eth1
DEVICE=eth1
MASTER=bond0
SLAVE=yes
ONBOOT=yes
BOOTPROTO=none
# 3) 编辑ifcfg-eth2
DEVICE=eth2
MASTER=bond0
SLAVE=yes
ONBOOT=yes
BOOTPROTO=none
# 4) 
systemctl stop NetworkManager
# 5) 关闭受NetworkManager控制的网卡
ifdown eth2
# 6)
systemctl restart network
# team (直接用命令行可实现配置, 永久生效)
# 1) 
systemctl restart NetworkManager
# 2) man teamd.conf, 查看example
"runner": {"name": "roundrobin"} # 轮询
"runner": {"name": "activebackup"} # 主备(一般用主备)
# 3) 添加类型为team的配置文件team0
nmcli con add type team ifname team0 con-name team0 \
config '{"runner": {"name": "activebackup"}}'
# 4) 修改team0的ip等信息
nmcli con mod team0 ipv4.addresses 172.25.0.21/24 ipv4.method manual \
connection.autoconnect yes
# 5) 添加两个子设备的配置文件
nmcli con add type team-slave ifname eth1 con-anem eth1 master team0
nmcli con add type team-slave ifname eth2 con-anem eth2 master team0
# 6) 启动team0
nmcli con up team0
# 7) 查看team0的状态
teamdctl team0 state
# 8) 测试, 此时用另一台电脑持续ping 172.25.0.21, 连接不中断则说明配置生效
ifdown eth1 # 或
nmcli dev dis eth1 # 先关掉正在使用的网卡, 看能否自动切换到备用网卡eth2
ifup eth1 # 再重启eth1

4. 内核监控和配置

/boot/下的文件: 启动过程中需要使用的文件

内核功能:

  • 系统启动, 硬件检测
  • 进程调度, 决定进程何时运行及运行多久
  • 内存管理, 分配内存给应用程序
  • 安全 权限, SELinux contexts和防火墙
  • 网络协议和文件系统 (kernel-doc 描述内核信息文档的软件包, 安装好后位于/usr/share/doc/kernel-doc-3.10.0/下)
free -m
time cp -a /var/ /tmp/ # 用于计时, 查看复制文件/var/到/tmp目录下需要多久
                       # 从而判断出内存的使用情况
cache    # 提供读加速
buffers  # 提供写加速
# 脏数据: 暂存内存, 还未写入硬盘的数据

内核组件:

  • /lib/modules/3.10.0-123.e17.x86_64/kernel

监控进程和资源:

# 内核状态:
uname, uptime, tload
# 进程:
ps, top, gnome-system-monitor
# 内存:
free, vmstat, swapon -s, pmap
# 硬盘:
df, fdisk -l, iostat, lsof
# 收集系统信息:
sosreport

你可能感兴趣的:(nmcli, hostname, bond, team, 内核监控和配置)