云计算百科
云计算领域专业知识百科平台

《探秘 CentOS Stream 9 安装:深度解析,打造企业级稳定服务器》

CentOS Stream 9 安装与系统设置:构建稳定服务器的全方位指南

在当今数字化浪潮中,服务器的稳定运行如同企业发展的坚实基石。然而,许多人在服务器部署过程中,常常因稳定性问题而陷入困境,耗费大量时间和精力却仍无法达到理想效果。你是否也在为服务器的稳定部署而焦头烂额?别担心,今天我们将为你带来一份超详细的 CentOS Stream 9 安装教程,让你在 20 分钟内轻松完成安装,开启高效、稳定的服务器之旅!

二、开始安装

(一)安装入口选择

当你启动安装程序后,会面临两个选项:直接选择“Install CentOS Steram 9”进行安装,另一个选项是先测试光盘。这里我们建议直接安装,因为测试光盘的过程通常较为缓慢,会耗费大量时间,除非你对光盘的完整性有特殊疑虑,否则一般无需使用该选项。 在这里插入图片描述

(二)语言和键盘设置

服务器一般选择“Englist(United States)”。虽然选择中文也并非不可行,但在某些服务器环境下,使用英文设置可能会更加稳定和规范,避免一些潜在的兼容性问题。

在这里插入图片描述 在这里插入图片描述

(三)分区设置

在 Linux 系统中,分区是一个至关重要的环节,它直接影响到系统的性能和稳定性。选择“LVM(逻辑卷管理)”还是“Standard Partition(标准分区)”,需要根据具体需求进行权衡。

1. LVM 与 Standard Partition 的核心区别
特性LVM(逻辑卷管理)Standard Partition(标准分区)
灵活性 支持动态调整分区大小(无需重启),可根据业务需求随时对分区进行扩展或缩减,无需重新格式化磁盘,极大地提高了磁盘空间的利用率。 分区大小固定,一旦创建后,调整分区大小需要进行格式化或使用第三方工具,操作复杂且可能会导致数据丢失。
多磁盘管理 可将多个物理磁盘合并为单一卷组(VG),实现跨磁盘的统一管理和资源分配,方便用户对磁盘空间进行灵活调度。 每个磁盘独立管理,无法跨磁盘合并,磁盘空间的利用受到一定限制。
快照功能 支持创建快照(备份或测试),用户可以在不影响原始数据的情况下,对系统进行备份或测试,为数据安全提供了有力保障。 不支持,需依赖外部工具(如 dd、rsync)进行备份或测试,操作相对繁琐。
扩展性 可在线扩展或缩减逻辑卷(LV),满足企业业务快速发展的需求,无需停机维护,提高了系统的可用性。 扩展需未分配空间且相邻,缩减需格式化,对磁盘空间的要求较高,且操作风险较大。
复杂度 管理命令较多(如 pvcreate, lvresize 等),需要用户具备一定的 Linux 系统管理知识和技能。 简单易用(fdisk/parted 直接操作),适合初学者或对系统管理要求不高的用户。
性能 轻微开销(通常可忽略),在进行分区调整等操作时,可能会对系统性能产生一定的影响,但这种影响通常可以忽略不计。 无额外开销,直接访问物理分区,性能相对较高。
2. 手动分区选择与设置

这里我们选择手动分区,并采用 LVM 方式。对于硬盘空间较小的用户,可以不单独分 /home 分区,但建议在硬盘空间允许的情况下,单独划分 /home 分区,这样可以方便文件传输和防止根分区占满。

在这里插入图片描述 在这里插入图片描述

下图是我的设置。我这硬盘小就不单独分 /home ,设置完后点 Done (完成)

在这里插入图片描述 在这里插入图片描述

3. 推荐 LVM 的情况
  • 生产服务器:根分区(/)建议设置为 20G,数据卷(/data)等需要在线扩容的场景,LVM 可以满足企业业务快速发展的需求,无需停机维护,提高了系统的可用性。
  • 虚拟化平台:虚拟机磁盘管理(如 KVM 的 qcow2 文件存放于 LVM 卷),LVM 可以实现跨磁盘的统一管理和资源分配,方便用户对虚拟机磁盘空间进行灵活调度。
  • 桌面环境:方便调整 /home 分区大小,15G 左右即可满足大多数用户的需求。

(四)软件选择

服务器一般会选择“Minimal Install”,同时我们可以根据实际需求添加一些软件包,以提高服务器的功能和性能。

在这里插入图片描述

1. Red Hat Enterprise Linux (RHEL) 软件包组的工具总结
软件包组核心工具用途
Standard systemd, bash, coreutils, NetworkManager, firewalld, selinux-policy 默认安装,适用于通用服务器或桌面环境,提供系统基本功能和服务。
Legacy UNIX Compatibility compat-libstdc++, uuCP, ncompress, rsh 兼容旧版 UNIX 系统(如 Solaris/AIX 迁移),方便用户在不同系统之间进行数据迁移和应用移植。
Console Internet Tools wget, curl, lynx, nc, mailx 命令行环境下的网络访问和管理工具,方便用户在服务器上进行网络操作和数据传输。
Container Management podman, skopeo, buildah, container-selinux 容器化应用的构建、管理和运行,支持 Docker 容器技术,方便用户在服务器上部署和管理容器化应用。
Development Tools gcc, g++, make, git, gdb C/C++/Rust 等语言的开发环境,提供编译器、调试器等工具,方便用户在服务器上进行软件开发和调试。
.NET Development .NET SDK, .NET Runtime, NuGet, libgdiplus 开发和运行跨平台的 .NET Core 应用程序,支持多种编程语言,方便用户在服务器上开发和部署.NET 应用。
Graphical Administration Tools cockpit, system-config-*, gnome-system-monitor, virt-manager 通过图形界面管理系统(如防火墙、虚拟机、资源监控),方便用户在服务器上进行系统管理和监控。
Headless Management openssh-server, cockpit-web, ipmitool, sosreport 无显示器服务器的远程管理(SSH、硬件监控、诊断),方便用户在远程对服务器进行管理和维护。
Network Servers httpd, bind, dhcp-server, krb5-server, nfs-utils 部署网络服务(Web/DNS/DHCP/Kerberos/NFS),方便用户在服务器上搭建各种网络服务。
RPM Development Tools rpm-build, rpmdevtools, spec-cleaner, mock 构建和定制 RPM 软件包,方便用户在服务器上进行软件包的构建和管理。
Scientific Support blas, lapack, openmpi, R, numpy 科学计算、数学库和高性能计算(HPC),提供各种科学计算工具和库,方便用户在服务器上进行科学计算和数据分析。
Security Tools audit, aide, openscap, gnupg, openssl 系统安全审计、文件完整性检查、加密和合规性验证,保障服务器的安全和稳定运行。
2. 选择建议
  • 通用服务器:Standard + Network Servers(按需),提供系统基本功能和网络服务,满足大多数服务器的需求。
  • 开发环境:Development Tools + Container Management,提供软件开发和容器化应用的开发环境,方便用户在服务器上进行软件开发和部署。
  • 安全合规:Security Tools + Headless Management,提供系统安全审计和远程管理功能,保障服务器的安全和稳定运行。
  • 科学计算:Scientific Support + Development Tools,提供科学计算工具和库,方便用户在服务器上进行科学计算和数据分析。

(五)网络设置

网络设置建议在安装过程中进行,这样可以避免在安装完成后再进行命令行修改,节省时间和精力。

在这里插入图片描述

(六)密码设置

这里是测试环境,密码设置可以简单一些。设置完成后,点击“Begin Installation”开始安装,安装过程大概需要 10 分钟左右,具体时间取决于主机性能。

在这里插入图片描述 在这里插入图片描述

看到下面的提示,就完成安装了。

在这里插入图片描述

三、系统设置

(一)、更新与漏洞修复
  • 操作:

    yum update -y && yum install epel-release -y
    yum install yum-plugin-security -y
    yum update –security -y

  • 目的

    • 更新系统软件包,修复已知漏洞;安装 EPEL 仓库扩展软件源;通过 yum-plugin-security 仅安装安全更新,降低兼容性风险。
(二)、防火墙配置
  • 操作:

    systemctl enable firewalld && systemctl start firewalld
    firewall-cmd –permanent –add-service=ssh
    # firewall-cmd –permanent –add-port=80/tcp #如果有web服务加开80或443
    firewall-cmd –reload
    # 检查设置
    firewall-cmd –list-all # 查看已开放端口和服务
    nmap -p 22,80 127.0.0.1 # 外部扫描验证端口状态

    [root@localhost ~]# nmap -p 22,80 127.0.0.1
    Starting Nmap 7.92 ( https://nmap.org ) at 2025-02-22 15:29 CST
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.00011s latency).

    PORT STATE SERVICE
    22/tcp open ssh
    80/tcp closed http

    Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds
    [root@localhost ~]# netstat -ntulp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 853/sshd: /usr/sbin
    tcp6 0 0 :::22 :::* LISTEN 853/sshd: /usr/sbin
    udp 0 0 127.0.0.1:323 0.0.0.0:* 768/chronyd
    udp6 0 0 ::1:323 :::* 768/chronyd

  • 目的

    • 启用防火墙并设置开机启动;仅开放必要的服务(如 SSH)和端口(如 80),减少攻击面。

SSH安全加固

  • 操作:

    [root@localhost ~]# semanage port -l | grep ssh
    ssh_port_t tcp 22
    [root@localhost ~]# semanage port -a -t ssh_port_t -p tcp 2222
    #这里不要去删除 22 端口,默认策略中定义无法删除。
    [root@localhost ~]# semanage port -l | grep ssh
    ssh_port_t tcp 2222, 22

    sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config
    sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
    sed -i 's/#MaxAuthTries 6/MaxAuthTries 3/' /etc/ssh/sshd_config
    echo "AllowUsers your_username" >> /etc/ssh/sshd_config
    systemctl restart sshd

  • 目的:

    • 修改默认SSH端口(22→2222),避开自动化攻击。
    • 禁止root直接登录,强制使用普通用户+sudo。
    • 限制每个连接的最大认证尝试次数。
  • 测试方法:

    ssh -p 2222 your_username@localhost # 验证新端口和用户登录
    ssh root@localhost # 应显示"Permission denied"

(三)、性能调优:为系统注入强劲动力

内核参数就像是系统的 “神经中枢”,精准的优化能够极大地提升系统的性能。

  • net.core.somaxconn=65535:这个参数的设置就像是拓宽了 TCP 连接的 “高速公路”,大大提高了 TCP 连接队列的长度。在高并发的网络环境中,更多的连接请求可以被排队处理,避免了连接被拒绝的情况,从而让系统能够更加从容地应对大量的网络请求。
  • vm.swappiness=10:内存管理犹如一场资源分配的 “博弈”,将 vm.swappiness 设置为 10,就像是为物理内存颁发了 “优先通行证”,减少了交换分区的使用频率。这样一来,系统会优先使用物理内存,减少了数据在内存与磁盘之间频繁交换所带来的性能损耗,让系统的运行更加流畅。
  • fs.file-max=2097152:在系统中,文件句柄就像是打开文件的 “钥匙”,fs.file-max 参数的增加就像是打造了更多的 “钥匙”,使得系统能够同时处理更多的文件操作,满足复杂应用场景下对文件处理的高要求。

操作步骤: 此步骤将对系统关键的内核参数配置文件进行修改,操作过程中需谨慎确认参数值,避免因错误配置导致系统故障。

cat >> /etc/sysctl.conf << EOF
# 网络优化
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_syncookies = 1

# 内存管理
vm.swappiness = 10
vm.dirty_ratio = 20
vm.dirty_background_ratio = 10

# 文件系统
fs.file-max = 2097152
fs.inotify.max_user_watches = 524288
EOF
cat /etc/sysctl.conf
sysctl -p

  • 测试方法:

    sysctl net.core.somaxconn # 验证参数是否生效
    cat /proc/sys/vm/swappiness

(四)、使用 Tuned 优化配置 —— 智能优化的利器

Tuned 就像是一位经验丰富的 “系统管家”,它能够根据不同的系统需求和使用场景,自动调整内核参数,为系统性能优化提供智能化的解决方案。

目的:启用吞吐量优化模板,让 Tuned 根据系统的实际情况,自动对内核参数进行精准调整,就像是为系统量身定制了一套性能优化方案。

  • 操作步骤: 此步骤将安装并配置 Tuned 服务,操作过程中需确保网络连接正常,避免因网络问题导致安装失败。

    yum install tuned -y
    tuned-adm profile throughput-performance
    systemctl enable tuned && systemctl start tuned

  • 测试方法:

    tuned-adm active # 显示当前激活的配置模板

(五)、资源限制优化:突破系统资源的瓶颈

调整用户资源限制 —— 释放资源的枷锁

在系统中,用户资源限制就像是一道道 “枷锁”,限制了进程和用户的活动范围。通过合理调整这些限制,我们可以为系统释放更多的资源,让系统能够更加自由地发挥其性能潜力。

  • nofile=65535:这个参数的调整就像是为进程打开了一扇通往文件世界的 “大门”,大大提高了进程可打开文件数的上限。在处理大量文件操作的应用场景中,进程不再会因为文件句柄不足而受到限制,能够更加高效地完成任务。

  • nproc=65535:用户最大进程数的提高就像是为用户赋予了更多的 “分身”,使得用户能够同时运行更多的进程,满足复杂应用场景下对多任务处理的需求。

  • 操作:编辑 /etc/security/limits.conf:

    cat >> /etc/security/limits.conf << EOF
    * soft nofile 65535
    * hard nofile 65535
    * soft nproc 65535
    * hard nproc 65535
    EOF

    # 好像要重启才用生效

  • 测试方法:

    ulimit -n # 查看当前用户文件句柄数
    ulimit -u # 查看当前用户进程数

(六)、网络优化:构建高速稳定的网络通道
  • 启用 TCP BBR 拥塞控制 —— 网络拥堵的 “疏通剂”

    在高延迟、高带宽的网络环境中,网络拥堵就像是交通堵塞,严重影响了数据的传输效率。TCP BBR 拥塞控制算法就像是一位经验丰富的 “交通警察”,它能够智能地调整网络传输的节奏,提升网络的吞吐量

    echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf
    echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf
    sysctl -p

  • 测试方法:

    sysctl net.ipv4.tcp_congestion_control # 输出应为"bbr"

网卡多队列优化 —— 多核心的 “协同舞者”

  • 网卡多队列就像是多个 “舞者”,它们能够根据 CPU 核心数进行灵活调整,实现网络数据的高效处理

    ethtool -L eth0 combined 8 # 根据CPU核心数调整

(七)、日志与监控:守护系统的 “眼睛” 和 “耳朵”

日志就像是系统运行的 “足迹”,记录着系统的一举一动。合理的日志轮转优化就像是一位 “魔法师”,能够让日志管理变得更加高效、有序。

rotate 4 修改为 rotate 7
#compress 把这个前的#号去了,也可不直接各下面两项一起加到文件最后
compress
daily
delaycompress

重启一下日志服务并看一下服务状态。

systemctl restart logrotate
systemctl status logrotate

监控组件就像是系统的 “守护者”,它们能够实时监测系统的各项指标,让我们对系统的健康状况了如指掌。

# 安装 epel 源
wget https://mirrors.aliyun.com/epel/epel-next-release-latest-9.noarch.rpm
wget https://mirrors.aliyun.com/epel/epel-release-latest-9.noarch.rpm
yum -y install epel-next-release-latest-9.noarch.rpm
yum -y install epel-release-latest-9.noarch.rpm
yum clean all && yum makecache
# 安装常用工具
yum install htop iotop iftop nmon sysstat -y
sed -i 's/^HISTORY=.*/HISTORY=7/' /etc/sysconfig/sysstat
systemctl enable sysstat && systemctl start sysstat

通用测试方法

负载测试:

stress-ng –cpu 4 –io 2 –vm 1 –vm-bytes 1G –timeout 60s

观察htop或vmstat 1中的CPU、内存、I/O变化。

通过本文的详细介绍,相信你已经对 CentOS Stream 9 的安装和系统设置有了全面的了解。CentOS Stream 9 作为一款优秀的操作系统,为企业和开发者提供了一个稳定、高效的平台。在安装过程中,我们需要根据实际需求进行合理的分区和软件选择,确保系统的性能和稳定性。在系统设置阶段,我们要及时更新系统软件包,修复已知漏洞,同时配置好防火墙和 SSH 安全加固,保障系统的安全运行。通过对内核参数、资源限制、网络、日志与监控等方面的精心优化,我们为系统注入了强大的动力,突破了资源的瓶颈,构建了高速稳定的网络通道,守护了系统的健康。希望本文能够帮助你顺利完成 CentOS Stream 9 的安装和配置,开启你的服务器之旅!

赞(0)
未经允许不得转载:网硕互联帮助中心 » 《探秘 CentOS Stream 9 安装:深度解析,打造企业级稳定服务器》
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!