欢迎光临散文网 会员登陆 & 注册

2-openEuler初始化系统参数及统一网卡名称

2023-06-12 21:06 作者:itcooking  | 我要投稿

视频链接: openEuler初始化系统参数及统一网卡名称

1. 修改有节点(ceph01-05)`/etc/hosts`文件
```shell
cat > /etc/hosts <<EOF
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
# public network
192.168.59.241 ceph01
192.168.59.242 ceph02
192.168.59.243 ceph03
192.168.59.244 ceph04
192.168.59.245 ceph05

# cluster network
10.168.59.241 ceph01-cl
10.168.59.242 ceph02-cl
10.168.59.243 ceph03-cl
10.168.59.244 ceph04-cl
10.168.59.245 ceph05-cl

# manage network
EOF
```
2. 统一网卡命名(选做)
> 有部分生产环境机型不同,网卡名有差异,统一命名便于后续管理。

> 注意:在线修改网卡名,可能会导致网络中断,请谨慎操作!!
>
> 在openeuler 22.03使用在centos7.9上udev绑定网卡名的方式已经不生效,rocky linux 9.2 也不生效,应该是绑定udev方式发生了变化,此处通过修改grub的方式统一网卡名。
- public  网络:eth0
- cluster 网络:eth1
```shell
## 在虚拟机中,public 网络的网卡名默认是 ens160(操作系统及版本不同,网卡名可能不同),现在统一命名为 eth0

## i. 先修改网卡文件命名
# mv /etc/sysconfig/network-scripts/ifcfg-ens160 /etc/sysconfig/network-scripts/ifcfg-eth0
# cat > /etc/sysconfig/network-scripts/ifcfg-eth0 <<EOF
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
# modify, default ens160
NAME=eth0
# modify,default ens160
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.59.241
NETMASK=255.255.255.0
GATEWAY=192.168.59.2
DNS1=223.5.5.5
DNS2=114.114.114.114
EOF
--------------------------------------------------------------------------------------------
## 在虚拟机中,cluster 网络的网卡名默认是 ens192(操作系统及版本不同,网卡名可能不同),现在统一命名为 eth1
## 从 public 网络登录修改 cluster 网络!!!
# mv /etc/sysconfig/network-scripts/ifcfg-ens192 /etc/sysconfig/network-scripts/ifcfg-eth1
# cat > /etc/sysconfig/network-scripts/ifcfg-eth1 <<EOF
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
# modify,default ens192
NAME=eth1
# modify,default ens192
DEVICE=eth1
ONBOOT=yes
IPADDR=10.168.59.241
NETMASK=255.255.255.0
EOF

## 上面用`cat`命令修改网卡,也可以直接用`sed`命令替换网卡中的名字
# sed -i 's/ens160/eth0/g' /etc/sysconfig/network-scripts/ifcfg-eth0
# sed -i 's/ens192/eth1/g' /etc/sysconfig/network-scripts/ifcfg-eth1

## ii. 修改GRUB,同时关闭net.ifnames和biosdevname命名规则。
## 生产环境操作前,建议备份数据
## 在GRUB_CMDLINE_LINUX中增加`net.ifnames=0 biosdevname=0`
# vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="resume=/dev/mapper/vg00-swap rd.lvm.lv=vg00/root rd.lvm.lv=vg00/swap net.ifnames=0 biosdevname=0 cgroup_disable=files apparmor=0 crashkernel=512M rhgb quiet"
GRUB_DISABLE_RECOVERY="true

## iii. 更新grub并重启生效
# grub2-mkconfig -o /boot/grub2/grub.cfg
# reboot
如果系统是UEFI启动,则要执行以下命令
# grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
# reboot
```
> 上述修改网卡名称,需在ceph01-05上操作,注意配置文件中IP需按实际修改。

3. 关闭防火墙和selinux
```shell
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
```
4. 关闭交换分区(选做),生产环境建议关闭交换分区
```shell
swapoff -a
sed -i 's/.*swap.*/#&/' /etc/fstab
```
5. 修改内核参数及资源限制参数
```shell
## 转发 IPv4 并让 iptables 看到桥接流量(选做)
# cat <<EOF | sudo tee /etc/modules-load.d/ceph.conf
overlay
br_netfilter
EOF

# modprobe overlay
# modprobe br_netfilter
# lsmod | grep br_netfilter
#验证br_netfilter模块

## 修改内核参数
cat <<EOF | tee /etc/sysctl.d/ceph.conf
net.bridge.bridge-nf-call-iptables  = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward                 = 1
#1. 用于对外连接的随机端口范围。缺省是# 32768    60999
#端口范围开始和结束要奇偶不同,如果设置为1024 65530则在dmesg中会报ip_local_port_range: prefer different parity for start/end values.
net.ipv4.ip_local_port_range = 1024 65335

# 如果dmesg中有类似“nf_conntrack: table full, dropping packet”日志,则需要调大 conntrack 参数,默认是2621440,该值不能太大,否则会出现:nf_conntrack: falling back to vmalloc.
net.netfilter.nf_conntrack_max = 2621440
net.nf_conntrack_max = 2621440
# 指定了进程可以拥有的内存映射区域的最大数目。这个设置对于使用大量内存映射的应用程序很重要
vm.max_map_count = 1048576                      
#2. 如果 netstat -s | grep "buffer errors" 中errors数在增加,则需要调整如下参数
# net.ipv4.tcp_wmem 默认值:4096        16384   4194304
net.ipv4.tcp_wmem = 4096        16384   4194304
#  net.ipv4.tcp_rmem 默认值:4096  87380  6291456
net.ipv4.tcp_rmem = 4096  87380  6291456
# net.ipv4.tcp_mem 默认值:381462  508616  762924
net.ipv4.tcp_mem = 381462  508616  762924
# net.core.rmem_default 默认值:212992
net.core.rmem_default = 8388608
# net.core.rmem_max 默认值:212992
net.core.rmem_max = 26214400
# net.core.wmem_max 默认值:212992
net.core.wmem_max = 26214400

# 调大文件句柄数
fs.nr_open = 16777216
fs.file-max = 16777216

#3.如果dmesg中有类似"arp_cache: neighbor table overflow",则需要调整如下参数
# net.ipv4.neigh.default.gc_thresh1 默认值 128
net.ipv4.neigh.default.gc_thresh1 = 40960
# net.ipv4.neigh.default.gc_thresh2 默认值 512
net.ipv4.neigh.default.gc_thresh2 = 81920
# net.ipv4.neigh.default.gc_thresh3 默认值 1024
net.ipv4.neigh.default.gc_thresh3 = 102400

#4. 连接队列满导致丢包,需要调整半连接队列和全连接队列
#TCP 连接请求队列长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。
net.ipv4.tcp_max_syn_backlog = 65535
# 调整全连接队列上限,即服务器同时接受连接的数量
net.core.somaxconn = 65535
# 网络设备最大接收队列长度
net.core.netdev_max_backlog = 250000
#5. 在低版本内核中(比如 3.10),支持使用 tcp_tw_recycle 内核参数来开启 TIME_WAIT 的快速回收,但如果 client 也开启了 timestamp (一般默认开启),同时也就会导致在 NAT 环境丢包,甚至没有 NAT 时,稍微高并发一点,也会导致PAWS校验失败,导致丢包,所以生产环境不建议开启。
#### TIME_WAIT
# 默认0
# 用 SYN Cookie 防御机制
net.ipv4.tcp_syncookies = 1
# 开启 TIME-WAIT 状态的重用,此处为0,未开启
net.ipv4.tcp_tw_reuse = 0
# 不建议启用tcp_tw_recycle,会导致数据错乱,4.12内核已去掉这个参数
# net.ipv4.tcp_tw_recycle = 0
# 默认60
net.ipv4.tcp_fin_timeout = 30

#6.启用fastopen,跳过tcp3次握手;第 1 个比特位为 1 时,表示作为客户端时支持 TFO;第 2 个比特位为 1 时,表示作为服务器时支持 TFO,所以当 tcp_fastopen 的值为 3 时(比特为 0x11)就表示完全支持 TFO 功能。
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_orphan_retries = 3
# 默认0,表示如果三次握手第三步的时候 accept queue 满了,则 server 丢弃 client 发过来的 ack;为1表示第三步的时候如果全连接队列满了,server 发送一个 rst 包给 client ,表示拒绝这个握手过程和这个连接
# 只有确信守护进程真的不能完成连接请求时才打开该选项,该选项会影响客户的使用
net.ipv4.tcp_abort_on_overflow = 1
EOF

# sysctl -p  /etc/sysctl.d/ceph.conf

## 修改资源限制参数
cat > /etc/security/limits.d/ceph.conf <<EOF
# End of file
*               hard    nofile         655360
*               soft    nofile         655360
*               soft    core           655360
*               hard    core           655360
*          soft    nproc     unlimited
root       soft    nproc     unlimited
EOF
```

6. 配置时间同步服务,以ceph01作为时间同步服务器
```shell
## 在ceph01上操作
# yum -y install chrony
# vi /etc/chrony.conf
pool ntp.aliyun.com iburst
...
...
allow 192.168.59.0/24
allow 10.168.59.0/24
local stratum 10

# systemctl start chronyd && systemctl enable chronyd

## 在ceph02-ceph05上操作
# yum -y install chrony
# vi /etc/chrony.conf
pool ceph01 iburst
...
# systemctl restart chronyd && systemctl enable chronyd;chronyc sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample              
===============================================================================
^* ceph01                        3   6    17     8    -34us[  -28us] +/-   35ms

7. 配置ssh免密登录
```shell
## 在ceph01上操作
# ssh-keygen -t rsa
# ssh-copy-id ceph01
# ssh-copy-id ceph02
# ssh-copy-id ceph03
# ssh-copy-id ceph04
# ssh-copy-id ceph05

## 验证ssh免密,从ceph01登录ceph01-05看是否需要密码
# ssh ceph0x
```

2-openEuler初始化系统参数及统一网卡名称的评论 (共 条)

分享到微博请遵守国家法律