CentOS 7系统运维全攻略:从基础到高阶实践

一、CentOS 7系统基础与安装部署

作为企业级Linux发行版,CentOS 7以其稳定性与长期支持特性成为数据中心首选。系统安装阶段需重点关注分区方案与安全基线配置:

  1. 磁盘分区策略
    采用LVM逻辑卷管理实现存储弹性扩展,建议分区方案为:

    • /boot:200MB(独立分区避免LVM加载问题)
    • /swap:物理内存的1.5倍(最大不超过8GB)
    • /:剩余空间分配至根分区
    • /data:单独数据卷(便于后续备份与迁移)
  2. 最小化安装优化
    通过kickstart自动化安装脚本实现无人值守部署,示例配置片段:

    1. # ks.cfg示例
    2. install
    3. url --url=http://mirror.example.com/centos/7/os/x86_64
    4. lang en_US.UTF-8
    5. keyboard us
    6. network --bootproto=dhcp --device=eth0
    7. rootpw --plaintext CentOS@123
    8. firewall --enabled --service=ssh
    9. selinux --enforcing
    10. timezone Asia/Shanghai
    11. bootloader --location=mbr
    12. %packages
    13. @core
    14. vim-enhanced
    15. wget
    16. %end
  3. 安全基线加固
    安装完成后立即执行:

    • 禁用不必要的服务:systemctl disable postfix.service
    • 配置SSH安全:修改默认端口22,禁用root登录
    • 安装AIDE文件完整性检测工具:yum install aide -y

二、网络配置与高可用架构

企业级网络环境需兼顾性能与可靠性,重点掌握以下技术:

  1. 多网卡绑定实现冗余
    使用bonding驱动配置主备模式(mode=1)或负载均衡模式(mode=6):

    1. # /etc/sysconfig/network-scripts/ifcfg-bond0
    2. DEVICE=bond0
    3. BOOTPROTO=none
    4. IPADDR=192.168.1.100
    5. NETMASK=255.255.255.0
    6. ONBOOT=yes
    7. BONDING_OPTS="mode=6 miimon=100"
  2. 路由策略优化
    通过ip rule实现多ISP链路负载均衡,示例配置:

    1. ip rule add from 192.168.1.0/24 table 100
    2. ip route add default via 192.168.1.1 dev eth0 table 100
  3. LVS集群部署
    采用DR模式搭建高可用Web集群:

    • 真实服务器配置:echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
    • 负载均衡器规则:
      1. ipvsadm -A -t 192.168.1.100:80 -s rr
      2. ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.101:80 -g
      3. ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.102:80 -g

三、核心服务搭建与优化

  1. LAMP/LNMP架构部署

    • Apache优化:启用event MPM模式,调整MaxRequestWorkers参数
    • Nginx配置:实现动静分离,示例location规则:
      1. location ~ \.(jpg|png|css)$ {
      2. root /var/www/static;
      3. expires 30d;
      4. }
    • PHP-FPM调优:根据CPU核心数设置pm.max_children,示例计算:
      1. pm.max_children = (总内存 - 系统预留内存) / 单个PHP进程内存
  2. 文件共享服务

    • NFSv4安全配置:启用Kerberos认证,禁用root_squash
      1. # /etc/exports
      2. /data 192.168.1.0/24(rw,sync,sec=krb5p)
    • Samba权限控制:通过valid userswrite list实现细粒度访问控制
  3. 双机热备实现
    使用Keepalived+Heartbeat组合方案:

    • VIP漂移配置
      1. vrrp_script chk_nginx {
      2. script "killall -0 nginx"
      3. interval 2
      4. weight -20
      5. }
      6. vrrp_instance VI_1 {
      7. state MASTER
      8. interface eth0
      9. virtual_router_id 51
      10. priority 100
      11. virtual_ipaddress {
      12. 192.168.1.200/24
      13. }
      14. track_script {
      15. chk_nginx
      16. }
      17. }

四、虚拟化与云平台部署

  1. KVM全虚拟化方案

    • 创建桥接网络:
      1. nmcli connection add type bridge con-name br0 ifname br0
      2. nmcli connection modify eth0 master br0
    • 性能优化参数:
      1. <cpu mode='host-passthrough'/>
      2. <memory unit='KiB'>4194304</memory>
      3. <numa>
      4. <cell id='0' cpus='0-1' memory='2097152'/>
      5. </numa>
  2. GlusterFS分布式存储
    三节点集群配置示例:

    1. # 节点1执行
    2. gluster peer probe node2
    3. gluster peer probe node3
    4. gluster volume create data replica 3 node1:/data node2:/data node3:/data
    5. gluster volume start data
  3. 云平台基础架构
    使用OpenStack构建IaaS层:

    • 计算节点配置:启用嵌套虚拟化:
      1. echo "options kvm_intel nested=Y" > /etc/modprobe.d/kvm-nested.conf
    • 网络拓扑设计:采用VLAN+VXLAN混合模式实现租户隔离

五、运维监控与自动化

  1. Zabbix监控方案

    • 自定义监控项示例(监控Nginx活跃连接数):
      1. UserParameter=nginx.active,ss -ant | grep ':80 ' | awk '{print $$4}' | wc -l
    • 触发器配置:当5分钟平均值超过1000时告警
  2. Ansible自动化运维
    批量执行安全补丁更新:

    1. - hosts: web_servers
    2. tasks:
    3. - name: Update all packages
    4. yum:
    5. name: '*'
    6. state: latest
    7. register: update_result
    8. - debug:
    9. var: update_result.changes
  3. 日志集中管理
    使用ELK栈实现日志分析:

    • Filebeat配置
      1. filebeat.inputs:
      2. - type: log
      3. paths:
      4. - /var/log/nginx/*.log
      5. output.logstash:
      6. hosts: ["logstash.example.com:5044"]
    • Kibana可视化:创建仪表盘监控5xx错误率

结语

本文系统梳理了CentOS 7在企业级环境中的核心运维技术,从基础环境搭建到高可用架构设计,覆盖了网络、存储、虚拟化等关键领域。通过掌握这些技术栈,运维人员能够构建稳定、高效的IT基础设施,同时为后续向容器化、服务网格等新技术演进奠定坚实基础。建议结合实际业务场景进行针对性优化,定期进行压力测试与故障演练,持续提升系统韧性。