Linux内核升级
首先需要把升级内核需要的两个rpm包拉到本地
kernel-ml-4.19.12-1.el7.elrepo.x86_64.rpm
kernel-ml-devel-4.19.12-1.el7.elrepo.x86_64.rpm

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #>>> 所有节点安装内核包 $ yum localinstall -y kernel-ml*
#>>> 所有节点更改内核启动顺序 $ grub2-set-default 0 && grub2-mkconfig -o /etc/grub2.cfg $ grubby --args="user_namespace.enable=1" --update-kernel="$(grubby --default-kernel)"
#>>> 查看内核版本是否改变 $ grubby --default-kernel /boot/vmlinuz-4.19.12-1.el7.elrepo.x86_64 $ uname -r 3.10.0-1160.el7.x86_64 #>>> 未改变的话重启一下机器 $ reboot
|
升级内核之后,uname -r查看的话是不会直接更新的,需要再重启一下才可以,重启之后在如下页面默认选项为升级后的内核版本,如果想要使用之前的内核版本就选择下边的。

升级Linux内核是保持系统安全、稳定和高效运行的重要手段之一。尽管在升级时需要注意与系统中其他组件的兼容性,但从长远来看,升级内核通常会带来多方面的好处,有助于提升整体系统性能和安全性。
Linux中的一些内核配置参数与详解
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| net.ipv4.ip_forward = 1 #允许IPv4数据包转发。当这个参数设置为1时,Linux内核将允许作为路由器使用,可以将接收到的数据包从一个网络接口转发到另一个网络接口。
net.bridge.bridge-nf-call-iptables = 1 #如果使用Linux桥接技术(如虚拟化中常用的网桥),此参数启用iptables对桥接的数据包进行过滤和处理。
net.bridge.bridge-nf-call-ip6tables = 1 #类似于上一个参数,但用于IPv6的iptables过滤和处理。
fs.may_detach_mounts = 1 #允许文件系统卸载已被其他进程打开的文件。通常用于特定的文件系统管理场景。
net.ipv4.conf.all.route_localnet = 1 #允许接收到的数据包目标地址是本地网络的地址时被路由。
vm.overcommit_memory=1 #内存过commit机制设置。当设置为1时,系统允许分配比实际可用物理内存更多的内存,但这可能导致内存不足时的OOM(Out of Memory)错误。
vm.panic_on_oom=0 #当内存不足时,是否触发系统崩溃(panic)。设置为0时,系统不会在OOM时触发panic。
fs.inotify.max_user_watches=89100 #允许每个用户的inotify监视器数量达到的最大值。
fs.file-max=52706963 #系统中打开文件的最大数量限制。
fs.nr_open=52706963 #系统中同时打开的文件描述符的最大数量。
net.netfilter.nf_conntrack_max=2310720 #允许系统中同时跟踪的网络连接的最大数量。
net.ipv4.tcp_keepalive_time = 600 #TCP连接的空闲超时时间,单位为秒。
net.ipv4.tcp_keepalive_probes = 3 #在TCP keepalive期间发送的探测数目。
net.ipv4.tcp_keepalive_intvl = 15 #在TCP keepalive探测之间的间隔时间,单位为秒。
net.ipv4.tcp_max_tw_buckets = 36000 #系统中保持TIME-WAIT套接字的最大数量。
net.ipv4.tcp_tw_reuse = 1 #允许重用TIME-WAIT套接字。
net.ipv4.tcp_max_orphans = 327680 #允许系统同时存在的TCP孤立连接的最大数量。
net.ipv4.tcp_orphan_retries = 3 # TCP孤立连接的重试次数。
net.ipv4.tcp_syncookies = 1 #启用TCP SYN cookies,用于防范SYN洪水攻击。
net.ipv4.tcp_max_syn_backlog = 16384 #TCP半连接队列(SYN队列)的最大长度。
net.ipv4.ip_conntrack_max = 65536 #同时跟踪的IP连接的最大数量(已废弃,一般使用`net.netfilter.nf_conntrack_max`)。
net.ipv4.tcp_timestamps = 0 #禁用TCP时间戳,用于保护系统免受某些网络攻击。
net.core.somaxconn = 16384 #系统中允许在处于TCP连接队列中的未完成连接的最大数量。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| $ cat <<-EOF >>/etc/security/limits.conf * soft nofile 655360 #设置所有用户(*)的软件(soft)文件描述符限制(nofile)为 655360。这意味着任何进程在运行时可以打开的文件数量的软限制被设置为 655360。 * hard nofile 131072 #设置所有用户(*)的硬件(hard)文件描述符限制(nofile)为 `131072`。硬限制是软限制的上限,即用户可以通过重新设置来增加其软限制,但不能超过硬限制。 * soft nproc 655350 #设置所有用户(*)的软件进程数(nproc)限制为 655350。软进程数限制是系统允许的最大进程数量。 * hard nproc 655350 #设置所有用户(*)的硬件进程数(nproc)限制为 655350。硬进程数限制同样作为软限制的上限。 * soft memlock unlimited #设置所有用户(*)的软件内存锁定限制为无限制。这表示任何用户的进程可以锁定(即防止被交换到磁盘上)任意量的内存。 * hard memlock unlimited #设置所有用户(*)的硬件内存锁定限制为无限制。硬内存锁定限制同样作为软限制的上限。 EOF
注:/etc/security/limits.conf 是一个配置文件,用于设置系统用户的资源限制。这些资源限制包括打开的文件数、可创建的进程数、内存锁定量等。这些限制对于管理系统资源和提高系统安全性都非常重要。具体来说,这个文件允许系统管理员为各个用户或用户组设置以下类型的限制:
软限制(soft limit):软限制是用户当前可以使用的资源的最大值,通常可以通过用户自己修改。 硬限制(hard limit):硬限制是软限制的上限,即用户可以通过重新设置来增加其软限制,但不能超过硬限制。只有超级用户(root)可以增加硬限制。
这些限制在多用户系统中特别有用,可以防止个别用户占用过多的系统资源,保证系统的稳定性和可靠性。常见的限制参数包括打开文件数、进程数、内存锁定、CPU时间等。 编辑/etc/security/limits.conf 文件需要超级用户权限,因为这些限制对系统整体性能有较大的影响,需要慎重设置。
|