vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=37cd0531-46d3-4ec7-88cc-8e4bad12bda1
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.190.30
PREFIX=24
GATEWAY=192.168.190.1
DNS1=8.8.8.8
IPV6_PRIVACY=no
systemctl restart neteork
vim /etc/netplan/00-installer-config.yaml
network:
ethernets:
ens33:
addresses: [192.168.56.11/24]
gateway4: 10.12.1.254
nameservers:
addresses: [192.168.56.2,8.8.8.8]
search: []
version: 2
netplan apply
两张网卡配置bond脚本:
执行条件:已配置单ip && 主机有且只有两张网卡
脚本可以重复执行
# 加载bond模块
modprobe bonding
# 删除bond模块
# rmmod bonding
# bond check
for i in `ls -l /proc/net/bonding/|grep -v total|awk '{print $NF}'`;do
if [[ `cat /proc/net/bonding/$i|grep 'Slave Interface'|wc -l 2>>/dev/null` -eq 2 ]];then
echo "$i is already ok:";cat /proc/net/bonding/$i|egrep 'Slave Interface|Mode';exit
fi;done
# ip/NIC check
if [[ `ip a|grep global|wc -l` -ne 1 ]];then
echo "not single ip";exit
elif [[ `ip a|grep 'state UP'|awk -F ': ' '{print $2}'|wc -l` -ne 2 ]];then
echo "not two NICs";exit
fi
# 指定两个网卡名和ip
bond_slave1=`ip a|grep 'state UP'|awk -F ': ' '{print $2}'|head -1`
bond_slave2=`ip a|grep 'state UP'|awk -F ': ' '{print $2}'|tail -1`
ip_addr=`ip a|grep global|awk '{print $2}'`
ip_gateway=`ip a| grep global|awk '{print $2}'|awk -F '/' '{print $1}'|awk -F '.' '{print $1"."$2"."$3".1"}'`
# 添加bond接口
nmcli con add type bond con-name bond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses $ip_addr ipv4.gateway $ip_gateway autoconnect true 1>>/dev/null
### 若是CentOS7且是虚拟机,需额外配置 ###
#echo 'BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"' >>/etc/sysconfig/network-scripts/ifcfg-bond0
# 添加子网卡 bond-slave
nmcli con add type bond-slave ifname $bond_slave1 master bond0 1>>/dev/null
nmcli con add type bond-slave ifname $bond_slave2 master bond0 1>>/dev/null
# 若没有为从属接口提供连接名,则该名称为"接口名称-类型-网卡名"
# 启动绑定
nmcli con up bond0 1>>/dev/null && nmcli con up bond-slave-$bond_slave1 1>>/dev/null && nmcli con up bond-slave-$bond_slave2 1>>/dev/null
# 配置文件
sed -i "/^ONBOOT/s/ONBOOT.*/ONBOOT=\"no\"/" /etc/sysconfig/network-scripts/ifcfg-$bond_slave1
sed -i "/^ONBOOT/s/ONBOOT.*/ONBOOT=\"no\"/" /etc/sysconfig/network-scripts/ifcfg-$bond_slave1
# bond 查看接口的相关信息
echo ""
echo "bond0: " && cat /proc/net/bonding/bond0|egrep 'Slave Interface|Mode'
# bond 切换网卡
# ifenslave -c bond0 网卡名
# bond 删除
# nmcli con del bond0
七种bond模式说明:常用0、1、6
第⼀种模式:mod=0,即:(balance-rr) Round-robin policy(平衡抡循环策略)
特点:传输数据包顺序是依次传输(即:第1个包⾛eth0,下⼀个包就⾛eth1….⼀直循环下去,直到最后⼀个传输完
毕),此模式提供负载平衡和容错能⼒。
第⼆种模式:mod=1,即: (active-backup) Active-backup policy(主-备份策略)
特点:只有⼀个设备处于活动状态,当⼀个宕掉另⼀个⻢上由备份转换为主设备。mac地址是外部可⻅得,从外⾯看
来,bond的MAC地址是唯⼀的,以避免switch(交换机)发⽣混乱。此模式只提供了容错能⼒;由此可⻅此算法的优点
是可以提供⾼⽹络连接的可⽤性,但是它的资源利⽤率较低,只有⼀个接⼝处于⼯作状态,在有 N 个⽹络接⼝的情况 下,资源利⽤率为1/N。
第三种模式:mod=2,即:(balance-xor) XOR policy(平衡策略)
特点:基于指定的传输HASH策略传输数据包。缺省的策略是:(源MAC地址 XOR ⽬标MAC地址) % slave数量。其他
的传输策略可以通过xmit_hash_policy选项指定,此模式提供负载平衡和容错能⼒。
第四种模式:mod=3,即:broadcast(⼴播策略) 特点:在每个slave接⼝上传输每个数据包,此模式提供了容错能⼒。
第五种模式:mod=4,即:(802.3ad) IEEE 802.3adDynamic link aggregation(IEEE
802.3ad 动态链接 聚合) 特点:创建⼀个聚合组,它们共享同样的速率和双⼯设定。根据802.3ad规范将多个slave⼯作在同⼀个激活的聚合体 下。 必要条件:
条件1:ethtool⽀持获取每个slave的速率和双⼯设定。 条件2:switch(交换机)⽀持IEEE 802.3ad Dynamic
link aggregation。 条件3:⼤多数switch(交换机)需要经过特定配置才能⽀持802.3ad模式。
第六种模式:mod=5,即:(balance-tlb) Adaptive transmit load
balancing(适配器传输负载均衡)
特点:不需要任何特别的switch(交换机)⽀持的通道bonding。在每个slave上根据当前的负载(根据速度计算)分
配外出流量。如果正在接受数据的slave出故障了,另⼀个slave接管失败的slave的MAC地址。 该模式的必要条件:
ethtool⽀持获取每个slave的速率
第七种模式:mod=6,即:(balance-alb) Adaptive load balancing(适配器适应性负载均衡)
特点:该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance,
rlb),⽽且不需要任何switch(交换机)的⽀持。
两张网卡配置team脚本:centos7及以上使用,且不能重复执行,还在完善
# 指定两个网卡名和ip
team_slave1='eno1'
team_slave2='eno2'
ip_addr='133.38.111.111/24'
ip_gateway='133.38.111.1'
# 添加team接口
nmcli con add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}' ipv4.method manual ipv4.addresses $ip_addr ipv4.gateway $ip_gateway autoconnect true
### 若是CentOS7且是虚拟机,需额外配置 ###
# nmcli con mod team0 config '{"runner":{"name":"activebackup", "hwaddr_policy":"by_active"}}'
# 添加子网卡 team-slave
nmcli con add type team-slave ifname $team_slave1 con-name $team_slave1 master team0
nmcli con add type team-slave ifname $team_slave2 con-name $team_slave2 master team0
# 网卡配置文件
mv /etc/sysconfig/network-scripts/ifcfg-$team_slave1 /etc/sysconfig/network-scripts/ifcfg-$team_slave1.bak
mv /etc/sysconfig/network-scripts/ifcfg-$team_slave2 /etc/sysconfig/network-scripts/ifcfg-$team_slave2.bak
mv /etc/sysconfig/network-scripts/ifcfg-$team_slave1-1 /etc/sysconfig/network-scripts/ifcfg-$team_slave1
mv /etc/sysconfig/network-scripts/ifcfg-$team_slave2-1 /etc/sysconfig/network-scripts/ifcfg-$team_slave2
sleep 3
# 重载网络配置
systemctl restart NetworkManager
systemctl restart network
ifdown $team_slave1 && ifdown $team_slave2
ifup $team_slave1 && ifup $team_slave2
ifdown team0 && ifup team0
# team 切换活动网卡
# teamdctl team0 state item set runner.active_port 网卡名称
teamdctl team0 state item set runner.active_port $team_slave1
# team 查看接口的相关信息
sleep 3;teamdctl team0 state
# 获取网卡模式 teamnl team0 getoption mode
team种类
broadcast # 广播容错
roundrobin # 平衡轮叫
activebackup # 主备模式
loadbalance # 负载均衡模式,判断不同网卡的负载,给负载最少的网卡发送数据包
ip link set eth0 up #开
ip link set eth0 down #关
ifup/ifdown eth0
ethtool -p eno1 #点亮网卡
pvcreate /dev/sdb1 /dev/sdb2 /dev/sdb3
pvremove /dev/sdb1 /dev/sdb2 /dev/sdb3
vgcreate vg_name(名称) /dev/sdb1
vgextend vg_data(现有的vgname) /dev/sdb1(PV绝对路径) # 将新的PV加入到当前VG
lvcreate -n lv_name(lvname) -L 7454.72G(lv磁盘大小) vg_name(vg名字)
lvcreate -n lv_name(lvname) -l 100%VG(lv磁盘大小) vg_name(vg名字)
lvcreate -n lv_name(lvname) -l 100%FREE(lv磁盘大小) vg_name(vg名字)
lvextend -L +837G(需要扩多大空间) /dev/mapper/lv_name(现有lv绝对路径)
报错处理方式: device /dev/sdb excluded by a filter
wipefs -a /dev/sdb
mkfs.xfs /dev/mapper/lvname
xfs_growfs /dev/centos/root (扩容xfs格式)
resize2fs /dev/vg01/lv01 (扩容ext格式)
如果不做lv直接单盘挂载,则需要用UUID
vi /etc/fstab
mount -a
# 创建lv_swap
lvcreate -n lv_swap_new -L 100G centos
mkswap /dev/centos/lv_swap_new
# 打开交换分区,检查
swapon /dev/centos/lv_swap_new
swapon -s
free -g
lsblk
# 若临时添加,不需要fstab
vi /etc/fstab
/dev/vg_name_swap_new swap swap defaults 0 0
swapoff
# 清理缓存
sync && sync && sync && echo 1 > /proc/sys/vm/drop_caches
# 如果swap较大,关闭会很慢,就使用screen关闭swap
screen -R swapoff
swapoff /dev/centos/..
# 关闭自动挂载,删除lv_swap
vi /etc/fstab
swapon -s
# grub
vi /etc/default/grub
grub2-mkconfig -o /etc/grub2.cfg
gdisk可以对2T以上的磁盘进行操作,fdisk不行
fdisk只能用于MBR分区,gdisk可以用于GPT分区
MBR分区:不支持4T以上
GPT分区:GPT,全局唯一标识分区表(GUID Partition Table),它使用128位GUID来唯一标识每个磁盘和分区,与MBR存在单一故障点不同,GPT提供分区表信息的冗余,一个在磁盘头部一个在磁盘尾部;它通过CRC校验和来检测GPT头和分区表中的错误与损坏;默认一个硬盘支持128个分区
/etc/passwd
#常用:
useradd -d 指定家目录 -m 用户名 -s /bin/nologin
echo “密码” | passwd --stdin 用户
setfacl -m u:用户名:rwx 目录
getfacl 目录
-e expireDate #有效期
-g primaryGroup #主组
-G gruop1,group2... #次要组,最多31个
-s loginShell #登陆解释器
-u userid
-r #同时删除用户拥有的资源
-G <username> <groupname> #将用户从组中删除
usermod -参数 username
-l newUsername #更改用户名
-u newUserid #更改userid
-L #锁定账户
-U #解锁账户
-a #给用户添加一个组
/etc/group
groupmod -n <oldname> <newname> #修改组名
groupmod -g <newGid> <groupname> #修改gid
chage -参数 username
选项 意义
-l #查看密码时效具体信息
-d YYYY-MM-DD #人工设定“Last Day”,这是linux记录的上次更改密码的日期
-m minday #“Last Day”后密码可以更改的最少天数
-M maxdays #“Last Day”后密码可以使用的最多天数.这段时间的最后一天叫做Maximum Day或Password Expiration Day
-W warnday #Maximum Day前多少天,用户开始收到更改密码警告
-I inactivedays #Maximum Day后多少天,若用户还未更改密码,账户将被锁定
-E YYYYY-MM-DD #设定账户(不是密码)的过期日期
RPM:数据库file /var/lib/rpm/
所有软件包:/mnt/Packages/
# rpm命令
rpm -i (install) 从软件包文件中安装软件
rpm -U (update)、rpm -F (fresh) 从软件包文件中升级软件
rpm -e (erase) 删除软件包
rpm -q (query) 查询RPM数据库
rpm -V (verify) 校验已安装的软件包,报告了自安装以来被修改过的文件
rpm -checksig 校验RPM数据包文件的完整性
# 与`rpm -i|rpm -U|rpm -F`一起使用的命令行选项
选项 作用
-h, --hash 安装时输出'#'符号
-v, --verbose 打印“冗长的”输出。一个-v选项打印软件包名称,多个-v选项提供更详细的输出
--nodeps 即使不符合前提条件,也进行安装
--replace-files 安装时已有的文件会被新文件覆盖
--force 即使已经安装了软件包,也进行安装
--test 不执行任何动作,只打印输出
--noscripts 不执行与RPM安装有关的任何脚本
# rpm -q
-q --requires 可以查询RPM软件包的先决条件。
-q -provides 可以查询RPM软件包所满足的RPM先决条件。
-qa --last 可以生成软件包及其安装时间的排序列表。
-q -scripts 查询RPM软件包中含有安装或删除软件包时所执行的脚本。
-qf 拥有文件 filename 的软件包
在 INPUT链 第二行 添加一条策略
iptables -I INPUT 2 -s 133.37.1.0/24 -j ACCEPT
在 WEIHU链 添加一条策略
iptables -I WEIHU -s 133.37.1.64/26 -j ACCEPT
连续ip和连续端口 的策略
iptables -I INPUT -m iprange --src-range 10.251.1.100-10.251.1.200 -p tcp -m multiport --dport 9000:9999 -j ACCEPT
保存到文件
iptables-save >/etc/sysconfig/iptables
文件格式 | 解压命令 |
---|---|
.tar | tar -xvf |
.gz | gzip -d 或 gunzip |
tar.gz和.tgz | tar -xzf |
bz2 | bzip2 -d 或 bunzip2 |
tar.bz2 | tar -xjf |
.Z | uncompress |
.tar.Z | tar -xZf |
rar | unrar e |
zip | unzip |
tar [options] [archive-file] [file or directory to be archived]
options:
-c:压缩
-x:解压
-f:创建具有给定文件名的压缩文档
-t:显示或列出压缩文件中的文件
-u:压缩并且添加到已有的压缩文件中
-v:显示详细信息
-A:连接压缩文件
-z:告诉tar命令使用gzip创建tar文件
-j:使用tbzip过滤tar压缩文件
-W:验证压缩文件
-r:在已经存在的.tar文件中更新或添加文件或目录
archive-file:
归档文件是由一个或多个文件以及元数据组成的文件。归档文件用于将多个数据文件收集到一个文件中,
以便于移植和存储,或者简单的压缩文件以使用更少的存储空间。
# reboot重启系统,在引导界面按“e”,找到linux并且按“end”键到行尾输入:空格 rd.break
# 接下来按CTRL+X 开始引导系统,接着输入命令:
mount-o remount,rw /sysroot (重新挂载)
chroot /sysroot
echo “password” | passwd --stdin root
touch /.autorelabel (自动重写标签)
exit
dmidecode -t 1
dmidecode | grep -i date
dmidecode -s bios-release-date #查看服务器出厂日期
# 备份
cp /etc/chrony.conf /etc/chrony.conf.bak
# 配置文件
sed -i '/pool.ntp.org/iburst/d' /etc/chrony.conf
sed -i '3a server 133.37.8.240 iburst' /etc/chrony.conf
systemctl restart chronyd
# 检查
chronyc sources -a
datetime
#查看时间同步
chronyc sources -Z
物理机查看管理ip
ipmitool lan print #需要下载ipmitool工具
yum不安装软件,仅下载安装包至指定路径
yum install --downloadonly --downloaddir=/tmp/ vsftpd