系统信息查询
UUID查询
- 网卡:
nmcli con show
- 磁盘:
blkid
或者lsblk -f
或者ll /dev/disk/by-uuid/
- 系统:
cat /proc/sys/kernel/random/uuid
其他信息
- CPU
- 查看cpu信息使用
lscpu
- 每个cpu的详细信息
more /proc/cpuinfo
- 物理cpu个数
cat /proc/cpuinfo | grep "physical id" | sort -u | wc -l
,physical id相同表示同一个物理cpu - 逻辑cpu个数
cat /proc/cpuinfo | grep "processor" | wc -l
,processor表示逻辑cpu,一般我们说服务器是几核cpu说的是逻辑CPU个数 - cpu内核总数
cat /proc/cpuinfo | grep "cpu cores" | uniq
,cpu cores表示cpu核心数,core id为内核id号 - 单个物理CPU封装的逻辑CPU数
cat /proc/cpuinfo | grep "siblings" | uniq
,siblings表示每个物理cpu里面的逻辑cpu个数 - 查看是否超线程
cat /proc/cpuinfo | grep -e "cpu cores" -e "siblings" | sort -u
,如果cpu cores数量和siblings数量一致,则没有启用超线程,否则超线程被启用
- 查看cpu信息使用
- 内存:
- 内存信息
cat /proc/meminfo
或者dmidecode -t memory
,关于dmidecode的详细用法参考http://linux.51yip.com/search/dmidecode - 内存大小
free -h
或者cat /proc/meminfo | grep MemTotal
- 内存信息
- 磁盘
- 查看linux硬盘和分区信息的系统信息
cat /proc/partitions
- 各分区使用情况
df -h
- 查看linux硬盘和分区信息的系统信息
- 网络
- 所有监听端口
netstat -lntp
- 所有已经建立的连接端口
netstat -antp
- 网络统计信息进程
netstat -s
- 所有监听端口
- 系统
- 内核
uname -a
- 计算机名称
hostname
- PCI设备
lspci -tv
或者cat /proc/pci
- USB设备
lsusb -tv
- 加载的内核模块
lsmod
- 环境变量
env
- 系统运行时间、用户数和负载
uptime
- 查看所有挂载的情况
mount | column -t
- 查看活动用户
w
- 查看指定用户信息
id
- 查看日志
last
- 系统所有用户
cut -d: - /etc/passwd
- 系统所有组
cut -d: - /etc/group
- 内核
bond模式
七种模式
- Mode=0:balance-rr,负载分担
轮转策略:按照顺序轮流使用每个接口来发送和接收数据包,提高了负载均衡的能力,但是需要交换机的支持,因为该模式所有端口的mac地址相同,交换机不能识别多个一个Mac地址对应多个端口,所以需要交换机做链路聚合 - Mode=1:active-backup,主备模式
主备策略:只使用其中一个网卡,当网卡损坏时激活另外的一个网卡 - Mode=2:balance-xor,XOR Hash负载分担
平衡策略: 基于所选择的传送hash策略 - Mode=3,broadcast,所有包从所有接口发出,这个不均衡
广播策略:所有卡上都接收和发送报文,提高了容错性 - Mode=4:链路聚合模式,支持802.3ad协议,和交换机的聚合LACP方式配合
802.3ad策略: LACP链路聚合模式,交换机得开启链路聚合,将两张网卡当做一张来使用,提高链路性能,需要交换机支持802.3ad动态链路聚合和服务器硬件支持ethtool - Mode=5:balance-tlb,根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave
自适应传输负载均衡:不需要配置交换机,在每个网卡会根据上根据当前的负载情况来分配流量,如果一个网卡出现故障,那么另外一个网卡会接管故障网卡 - Mode=6:balance-alb,在tlb基础上增加了rlb
自适应负载均衡:包括balance-tlb,不需要另外配置交换机,接受负载均衡通过ARP协商实现。具体工作原理如下:- 当本机发送ARP请求时,bonding驱动把对端的IP信息从ARP包中复制并保存下来,当ARP应答从对端到达时,bonding驱动把它的硬件地址提取出来,并发起一个ARP应答给bond中的某个slave
- 使用ARP协商进行负载均衡的一个问题是:每次广播 ARP请求时都会使用bond的硬件地址,因此对端学习到这个硬件地址后,接收流量将会全部流向当前的slave。这个问题可以通过给所有的对端发送更新 (ARP应答)来解决,应答中包含他们独一无二的硬件地址,从而导致流量重新分布。
- 当新的slave加入到bond中时,或者某个未激活的slave重新激活时,接收流量也要重新分布。接收的负载被顺序地分布(round robin)在bond中最高速的slave上
- 当某个链路被重新接上,或者一个新的slave加入到bond中,接收流量在所有当前激活的slave中全部重新分配,通过使用指定的MAC地址给每个client发起ARP应答。updelay参数必须被设置为某个大于等于switch(交换机)转发延时的值,从而保证发往对端的ARP应答不会被switch(交换机)阻截
总结
- 模式0、2、3理论上需要静态聚合方式,即需要在交换机上配置网络聚合
- 模式5、6不需要交换机端的设置,网卡能自动聚合
常用
- 模式4需要支持802.3ad
配置
方式一(常用)
做两组网络聚合,每个聚合采用两张网卡:bond0(ens32和ens33)、bond1(ens34和ens35)
# bond网卡配置(master)
vim /etc/sysconfig/network-scripts/ifcfg-bond0
BONDING_OPTS="downdelay=0 miimon=1 mode=balance-alb updelay=0"
TYPE=Bond
BONDING_MASTER=yes
NAME=bond0
DEVICE=bond0
ONBOOT=yes
IPADDR=192.168.3.150
PREFIX=24
GATEWAY=192.168.3.1
vim /etc/sysconfig/network-scripts/ifcfg-bond1
BONDING_OPTS="downdelay=0 miimon=1 mode=balance-alb updelay=0"
TYPE=Bond
BONDING_MASTER=yes
NAME=bond1
DEVICE=bond1
ONBOOT=yes
IPADDR=119.2.24.117
PREFIX=24
GATEWAY=119.2.24.254
# 附属网卡配置(slave)
vim /etc/sysconfig/network-scripts/ifcfg-bond0slave1
TYPE=Ethernet
NAME=bond0slave1
DEVICE=ens32
ONBOOT=yes
MASTER=bond0
SLAVE=yes
vim /etc/sysconfig/network-scripts/ifcfg-bond0slave2
TYPE=Ethernet
NAME=bond0slave2
DEVICE=ens33
ONBOOT=yes
MASTER=bond0
SLAVE=yes
vim /etc/sysconfig/network-scripts/ifcfg-bond1slave1
TYPE=Ethernet
NAME=bond1slave1
DEVICE=ens34
ONBOOT=yes
MASTER=bond1
SLAVE=yes
vim /etc/sysconfig/network-scripts/ifcfg-bond1slave2
TYPE=Ethernet
NAME=bond1slave2
DEVICE=ens35
ONBOOT=yes
MASTER=bond1
SLAVE=yes
# 物理网卡配置
vim /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
BOOTPROTO=dhcp
NAME=ens32
DEVICE=ens32
ONBOOT=yes
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=dhcp
NAME=ens33
DEVICE=ens33
ONBOOT=yes
vim /etc/sysconfig/network-scripts/ifcfg-ens34
TYPE=Ethernet
BOOTPROTO=dhcp
NAME=ens34
DEVICE=ens34
ONBOOT=yes
vim /etc/sysconfig/network-scripts/ifcfg-ens35
TYPE=Ethernet
BOOTPROTO=dhcp
NAME=ens35
DEVICE=ens35
ONBOOT=yes
方式二
# 需要聚合的两张网卡的配置
vim /etc/sysconfig/network-scripts/ifcfg-enp4s0f0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
DEVICE=enp4s0f0
MASTER=bond0
SLAVE=yes
vim /etc/sysconfig/network-scripts/ifcfg-enp4s0f1
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
DEVICE=enp4s0f1
MASTER=bond0
SLAVE=yes
# bond网卡的配置,即虚拟网卡的配置
vim /etc/sysconfig/network-scripts/ifcfg-bond0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
DEVICE=bond0
IPADDR=6.6.6.114
PREFIX=24
GATEWAY=6.6.6.1
NM_CONTROLLED=no
# 系统内核支持bond:采用bond6平均负载模式
vim /etc/modprobe.d/bond.conf
alias bond0 bonding
options bond0 miimon=100 mode=6
# 重新加载内核和网络参数
modprobe --first-time bond0
modprobe bond0 miimon=100 mode=6
systemctl disable NetworkManager
systemctl stop NetworkManager
systemctl restart network