|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
引言
Red Hat Enterprise Linux (RHEL) 作为企业级操作系统的首选,为关键业务应用提供了稳定、安全和高性能的运行环境。正确配置和优化RHEL实例对于确保系统性能、可靠性和安全性至关重要。本文将详细介绍企业级RHEL实例配置的最佳实践,帮助系统管理员和运维工程师充分发挥RHEL的潜力,提升系统性能与可靠性。
1. RHEL系统基础配置与优化
1.1 系统安装与初始化配置
在安装RHEL时,合理规划分区结构是系统稳定运行的基础。推荐的分区方案如下:
- # 典型的企业级RHEL分区方案
- /boot 500MB # 启动分区
- swap 内存大小×2 # 交换分区,如果内存大于16GB,则分配16GB即可
- / 20GB # 根分区
- /usr 15GB # 应用程序分区
- /var 20GB # 可变数据分区
- /home 剩余空间 # 用户数据分区
- /opt 10GB # 可选软件包分区
- /tmp 5GB # 临时文件分区
复制代码
安装完成后,执行以下基础配置:
- # 更新系统到最新版本
- yum update -y
- # 设置主机名
- hostnamectl set-hostname server.example.com
- # 配置时区
- timedatectl set-timezone Asia/Shanghai
- # 配置网络
- nmcli con mod eth0 ipv4.addresses 192.168.1.100/24
- nmcli con mod eth0 ipv4.gateway 192.168.1.1
- nmcli con mod eth0 ipv4.dns "8.8.8.8 8.8.4.4"
- nmcli con mod eth0 connection.autoconnect yes
- nmcli con up eth0
- # 禁用SELinux(仅用于测试环境,生产环境建议启用)
- sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
- setenforce 0
- # 停止并禁用防火墙(仅用于测试环境,生产环境建议配置适当规则)
- systemctl stop firewalld
- systemctl disable firewalld
复制代码
1.2 内核参数优化
通过调整内核参数,可以显著提升系统性能。编辑/etc/sysctl.conf文件:
- # 增加文件描述符限制
- fs.file-max = 65535
- # 优化网络参数
- net.core.rmem_max = 16777216
- net.core.wmem_max = 16777216
- net.ipv4.tcp_rmem = 4096 87380 16777216
- net.ipv4.tcp_wmem = 4096 65536 16777216
- net.ipv4.tcp_fin_timeout = 30
- net.ipv4.tcp_keepalive_time = 1200
- net.ipv4.tcp_max_syn_backlog = 65536
- net.core.netdev_max_backlog = 65536
- # 优化虚拟内存管理
- vm.swappiness = 10
- vm.dirty_ratio = 60
- vm.dirty_background_ratio = 2
- # 避免ARP表溢出
- net.ipv4.neigh.default.gc_thresh1 = 1024
- net.ipv4.neigh.default.gc_thresh2 = 2048
- net.ipv4.neigh.default.gc_thresh3 = 4096
复制代码
应用配置:
1.3 资源限制配置
编辑/etc/security/limits.conf文件,增加用户资源限制:
- * soft nofile 65535
- * hard nofile 65535
- * soft nproc 32768
- * hard nproc 32768
- * soft core unlimited
- * hard core unlimited
复制代码
2. 系统性能调优
2.1 CPU性能优化
RHEL默认使用CFQ(Completely Fair Queuing)调度器,但对于企业级应用,特别是数据库服务器,deadline或noop调度器可能更合适:
- # 查看当前调度器
- cat /sys/block/sda/queue/scheduler
- # 临时更改调度器
- echo noop > /sys/block/sda/queue/scheduler
- # 永久更改调度器(编辑/etc/rc.local)
- echo 'echo noop > /sys/block/sda/queue/scheduler' >> /etc/rc.local
- chmod +x /etc/rc.local
复制代码
安装并配置cpupower工具:
- yum install -y cpupowerutils
- # 查看当前CPU频率策略
- cpupower frequency-info
- # 设置性能模式
- cpupower frequency-set -g performance
- # 永久生效(编辑/etc/default/cpupower)
- echo 'GOVERNOR="performance"' > /etc/default/cpupower
- systemctl enable cpupower
复制代码
2.2 内存优化
对于需要大量内存的应用(如数据库),配置大页内存可以提升性能:
- # 查看当前大页设置
- cat /proc/meminfo | grep HugePages
- # 临时设置大页数量
- echo 1024 > /proc/sys/vm/nr_hugepages
- # 永久设置(编辑/etc/sysctl.conf)
- echo 'vm.nr_hugepages = 1024' >> /etc/sysctl.conf
- sysctl -p
- # 配置用户组权限访问大页
- echo 'vm.hugetlb_shm_group = 1000' >> /etc/sysctl.conf # 1000是用户组ID
- sysctl -p
复制代码
对于某些工作负载,禁用THP可以提高性能:
- # 临时禁用THP
- echo never > /sys/kernel/mm/transparent_hugepage/enabled
- echo never > /sys/kernel/mm/transparent_hugepage/defrag
- # 永久禁用(编辑/etc/rc.local)
- echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local
- echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.local
- chmod +x /etc/rc.local
复制代码
2.3 I/O性能优化
根据不同的工作负载选择合适的I/O调度器:
- # 查看可用的调度器
- cat /sys/block/sda/queue/scheduler
- # 临时设置调度器
- echo deadline > /sys/block/sda/queue/scheduler
- # 永久设置(编辑/etc/rc.local)
- echo 'echo deadline > /sys/block/sda/queue/scheduler' >> /etc/rc.local
- chmod +x /etc/rc.local
复制代码
选择合适的文件系统并优化挂载选项:
- # 格式化分区为XFS文件系统
- mkfs.xfs /dev/sdb1
- # 创建挂载点
- mkdir -p /data
- # 优化挂载选项(编辑/etc/fstab)
- echo '/dev/sdb1 /data xfs defaults,noatime,nodiratime,largeio,inode64,swalloc 0 0' >> /etc/fstab
- # 挂载文件系统
- mount -a
复制代码
对于ext4文件系统,可以使用以下优化选项:
- # 格式化分区为ext4文件系统
- mkfs.ext4 /dev/sdb1
- # 创建挂载点
- mkdir -p /data
- # 优化挂载选项(编辑/etc/fstab)
- echo '/dev/sdb1 /data ext4 defaults,noatime,nodiratime,data=writeback,barrier=0 0 0' >> /etc/fstab
- # 挂载文件系统
- mount -a
复制代码
3. 网络配置优化
3.1 网络接口优化
编辑网络接口配置文件(如/etc/sysconfig/network-scripts/ifcfg-eth0):
- TYPE=Ethernet
- BOOTPROTO=none
- DEFROUTE=yes
- NAME=eth0
- DEVICE=eth0
- ONBOOT=yes
- IPADDR=192.168.1.100
- PREFIX=24
- GATEWAY=192.168.1.1
- DNS1=8.8.8.8
- DNS2=8.8.4.4
- ETHTOOL_OPTS="-G eth0 rx 4096 tx 4096"
复制代码
配置网络中断亲和性,提高网络处理性能:
- # 安装irqbalance工具
- yum install -y irqbalance
- # 停止irqbalance服务
- systemctl stop irqbalance
- systemctl disable irqbalance
- # 查看网络中断
- cat /proc/interrupts | grep eth
- # 设置中断亲和性(示例:将中断45绑定到CPU核心0)
- echo 1 > /proc/irq/45/smp_affinity
- # 永久生效(编辑/etc/rc.local)
- echo 'echo 1 > /proc/irq/45/smp_affinity' >> /etc/rc.local
- chmod +x /etc/rc.local
复制代码
3.2 网络协议栈优化
编辑/etc/sysctl.conf文件,添加以下网络协议栈优化参数:
- # TCP连接优化
- net.ipv4.tcp_syncookies = 1
- net.ipv4.tcp_tw_reuse = 1
- net.ipv4.tcp_fin_timeout = 30
- net.ipv4.tcp_keepalive_time = 1200
- net.ipv4.tcp_max_syn_backlog = 65536
- net.ipv4.tcp_max_tw_buckets = 5000
- net.ipv4.tcp_rfc1337 = 1
- net.ipv4.tcp_abort_on_overflow = 0
- # 网络连接队列优化
- net.core.somaxconn = 65535
- net.core.netdev_max_backlog = 65536
- net.ipv4.tcp_max_orphans = 3276800
- # 网络缓冲区优化
- net.core.rmem_max = 16777216
- net.core.wmem_max = 16777216
- net.ipv4.tcp_rmem = 4096 87380 16777216
- net.ipv4.tcp_wmem = 4096 65536 16777216
- net.ipv4.tcp_mem = 786432 1048576 1572864
复制代码
应用配置:
配置网络绑定以提高网络可用性和带宽:
- # 安装bonding工具
- yum install -y bonding-utils
- # 创建bonding接口配置文件
- cat > /etc/sysconfig/network-scripts/ifcfg-bond0 << EOF
- DEVICE=bond0
- NAME=bond0
- TYPE=Bond
- BONDING_MASTER=yes
- IPADDR=192.168.1.200
- PREFIX=24
- GATEWAY=192.168.1.1
- DNS1=8.8.8.8
- ONBOOT=yes
- BOOTPROTO=none
- BONDING_OPTS="mode=4 miimon=100 lacp_rate=1 xmit_hash_policy=layer3+4"
- EOF
- # 配置从接口
- cat > /etc/sysconfig/network-scripts/ifcfg-eth1 << EOF
- DEVICE=eth1
- NAME=eth1
- TYPE=Ethernet
- ONBOOT=yes
- BOOTPROTO=none
- MASTER=bond0
- SLAVE=yes
- EOF
- cat > /etc/sysconfig/network-scripts/ifcfg-eth2 << EOF
- DEVICE=eth2
- NAME=eth2
- TYPE=Ethernet
- ONBOOT=yes
- BOOTPROTO=none
- MASTER=bond0
- SLAVE=yes
- EOF
- # 重启网络服务
- systemctl restart network
复制代码
4. 存储系统优化
4.1 磁盘I/O优化
根据不同的工作负载选择合适的磁盘调度器:
- # 查看当前磁盘调度器
- cat /sys/block/sda/queue/scheduler
- # 临时设置调度器
- echo deadline > /sys/block/sda/queue/scheduler
- # 永久设置(编辑/etc/rc.local)
- echo 'echo deadline > /sys/block/sda/queue/scheduler' >> /etc/rc.local
- chmod +x /etc/rc.local
复制代码
调整磁盘参数以提高I/O性能:
- # 查看当前磁盘参数
- hdparm -I /dev/sda
- # 启用DMA
- hdparm -d1 /dev/sda
- # 设置多扇区传输
- hdparm -m16 /dev/sda
- # 设置I/O支持
- hdparm -c3 /dev/sda
- # 永久生效(编辑/etc/rc.local)
- echo 'hdparm -d1 -m16 -c3 /dev/sda' >> /etc/rc.local
- chmod +x /etc/rc.local
复制代码
4.2 逻辑卷管理(LVM)优化
创建优化的LVM配置:
- # 创建物理卷
- pvcreate /dev/sdb1
- # 创建卷组,设置物理扩展大小为16MB
- vgcreate -s 16M vg_data /dev/sdb1
- # 创建逻辑卷,设置条带化
- lvcreate -L 100G -i 2 -I 64 -n lv_data vg_data
- # 格式化逻辑卷
- mkfs.xfs /dev/vg_data/lv_data
- # 创建挂载点
- mkdir -p /data
- # 添加到fstab
- echo '/dev/vg_data/lv_data /data xfs defaults,noatime,nodiratime,largeio,inode64,swalloc 0 0' >> /etc/fstab
- # 挂载文件系统
- mount -a
复制代码
配置LVM快照以支持数据备份:
- # 创建快照
- lvcreate -L 10G -s -n lv_data_snapshot /dev/vg_data/lv_data
- # 挂载快照
- mkdir -p /mnt/snapshot
- mount /dev/vg_data/lv_data_snapshot /mnt/snapshot
- # 备份数据
- tar czf /backup/data_backup.tar.gz -C /mnt/snapshot .
- # 卸载并删除快照
- umount /mnt/snapshot
- lvremove /dev/vg_data/lv_data_snapshot
复制代码
4.3 RAID配置优化
使用mdadm配置软件RAID:
- # 安装mdadm
- yum install -y mdadm
- # 创建RAID 0(条带化)用于性能优化
- mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1
- # 创建RAID 1(镜像)用于数据冗余
- mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdd1 /dev/sde1
- # 创建RAID 10(条带化镜像)平衡性能和冗余
- mdadm --create /dev/md10 --level=10 --raid-devices=4 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1
- # 创建RAID配置文件
- mdadm --detail --scan >> /etc/mdadm.conf
- # 格式化RAID设备
- mkfs.xfs /dev/md0
- mkfs.xfs /dev/md1
- mkfs.xfs /dev/md10
- # 创建挂载点
- mkdir -p /data/raid0 /data/raid1 /data/raid10
- # 添加到fstab
- echo '/dev/md0 /data/raid0 xfs defaults,noatime,nodiratime,largeio,inode64,swalloc 0 0' >> /etc/fstab
- echo '/dev/md1 /data/raid1 xfs defaults,noatime,nodiratime,largeio,inode64,swalloc 0 0' >> /etc/fstab
- echo '/dev/md10 /data/raid10 xfs defaults,noatime,nodiratime,largeio,inode64,swalloc 0 0' >> /etc/fstab
- # 挂载文件系统
- mount -a
复制代码
调整RAID参数以优化性能:
- # 设置RAID条带大小(示例:256KB)
- echo 256 > /sys/block/md0/md/stripe_cache_size
- # 设置RAID读写策略
- echo write_through > /sys/block/md0/md/array_state
- # 设置最小和最大RAID重建速度
- echo 50000 > /proc/sys/dev/raid/speed_limit_min
- echo 200000 > /proc/sys/dev/raid/speed_limit_max
- # 永久生效(编辑/etc/rc.local)
- echo 'echo 256 > /sys/block/md0/md/stripe_cache_size' >> /etc/rc.local
- echo 'echo write_through > /sys/block/md0/md/array_state' >> /etc/rc.local
- echo 'echo 50000 > /proc/sys/dev/raid/speed_limit_min' >> /etc/rc.local
- echo 'echo 200000 > /proc/sys/dev/raid/speed_limit_max' >> /etc/rc.local
- chmod +x /etc/rc.local
复制代码
5. 安全配置最佳实践
5.1 系统安全加固
SELinux是RHEL的核心安全组件,正确配置SELinux可以显著提高系统安全性:
- # 检查SELinux状态
- sestatus
- # 设置SELinux为强制模式
- sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/selinux/config
- setenforce 1
- # 查看SELinux布尔值
- getsebool -a
- # 设置SELinux布尔值(示例:允许HTTP连接到网络)
- setsebool -P httpd_can_network_connect on
- # 查看文件SELinux上下文
- ls -Z /var/www/html
- # 修改文件SELinux上下文
- chcon -R -t httpd_sys_content_t /var/www/html
- # 恢复默认SELinux上下文
- restorecon -R /var/www/html
复制代码
减少运行的服务数量,降低攻击面:
- # 查看运行的服务
- systemctl list-units --type=service --state=running
- # 停止并禁用不必要的服务
- systemctl stop postfix
- systemctl disable postfix
- systemctl stop avahi-daemon
- systemctl disable avahi-daemon
- systemctl stop cups
- systemctl disable cups
- # 查看开放端口
- ss -tulpn
- # 关闭不必要的服务端口
- systemctl stop rpcbind
- systemctl disable rpcbind
复制代码
5.2 网络安全配置
使用firewalld配置防火墙规则:
- # 启动并启用firewalld
- systemctl start firewalld
- systemctl enable firewalld
- # 查看默认区域
- firewall-cmd --get-default-zone
- # 查看活动区域
- firewall-cmd --get-active-zones
- # 查看当前规则
- firewall-cmd --list-all
- # 开放端口(示例:开放80端口)
- firewall-cmd --permanent --add-port=80/tcp
- firewall-cmd --reload
- # 开放服务(示例:开放HTTP服务)
- firewall-cmd --permanent --add-service=http
- firewall-cmd --reload
- # 配置端口转发(示例:将80端口转发到8080端口)
- firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=8080
- firewall-cmd --reload
- # 配置IP伪装(NAT)
- firewall-cmd --permanent --add-masquerade
- firewall-cmd --reload
- # 配置富规则(示例:允许特定IP访问特定端口)
- firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
- firewall-cmd --reload
复制代码
使用TCP Wrappers限制网络服务访问:
- # 编辑/etc/hosts.allow,允许特定IP访问特定服务
- echo "sshd: 192.168.1.0/24" >> /etc/hosts.allow
- echo "vsftpd: 192.168.1.100" >> /etc/hosts.allow
- # 编辑/etc/hosts.deny,拒绝所有其他访问
- echo "ALL: ALL" >> /etc/hosts.deny
复制代码
5.3 用户与权限管理
配置用户账户安全策略:
- # 设置密码复杂度策略(编辑/etc/security/pwquality.conf)
- minlen = 12
- minclass = 3
- maxrepeat = 3
- dcredit = -1
- ucredit = -1
- lcredit = -1
- ocredit = -1
- # 设置密码过期策略(编辑/etc/login.defs)
- PASS_MAX_DAYS 90
- PASS_MIN_DAYS 7
- PASS_WARN_AGE 14
- # 配置用户登录失败锁定(编辑/etc/pam.d/system-auth)
- auth required pam_tally2.so deny=5 unlock_time=900 onerr=fail audit silent
- account required pam_tally2.so
- # 创建新用户并设置强密码
- useradd -m user1
- passwd user1
- # 限制用户使用su命令
- echo "auth required pam_wheel.so use_uid" >> /etc/pam.d/su
- usermod -G wheel user1
复制代码
配置文件系统权限:
- # 设置关键目录权限
- chmod 700 /root
- chmod 755 /bin /sbin /usr/bin /usr/sbin
- chmod 644 /etc/passwd
- chmod 600 /etc/shadow
- chmod 644 /etc/group
- chmod 600 /etc/gshadow
- # 查找并修复权限不正确的文件
- rpm -Va | grep '^.M'
- # 查找无主文件
- find / -nouser -o -nogroup
- # 设置默认umask
- echo "umask 027" >> /etc/profile
- echo "umask 027" >> /etc/csh.cshrc
- echo "umask 027" >> /etc/bashrc
复制代码
6. 高可用性与容错配置
6.1 Pacemaker与Corosync高可用集群
安装并配置Pacemaker和Corosync:
- # 安装高可用集群软件包
- yum install -y pacemaker corosync pcs fence-agents-all
- # 设置hacluster用户密码
- echo "hacluster:password" | chpasswd
- # 启动并启用pcsd服务
- systemctl start pcsd
- systemctl enable pcsd
- # 认证集群节点(在所有节点上执行)
- pcs cluster auth node1 node2 node3 -u hacluster -p password
- # 创建集群
- pcs cluster setup --name mycluster node1 node2 node3
- # 启动集群
- pcs cluster start --all
- # 启用集群自启动
- pcs cluster enable --all
- # 查看集群状态
- pcs status
复制代码
配置集群资源和服务:
- # 配置STONITH设备
- pcs property set stonith-enabled=true
- pcs stonith create fence_xvm fence_xvm pcmk_host_list="node1 node2 node3"
- # 配置浮动IP资源
- pcs resource create vip ocf:heartbeat:IPaddr2 ip=192.168.1.200 cidr_netmask=24 op monitor interval=30s
- # 配置文件系统资源
- pcs resource create fs ocf:heartbeat:Filesystem device="/dev/drbd0" directory="/data" fstype="ext4" op monitor interval=20s
- # 配置Apache服务资源
- pcs resource create httpd systemd:httpd op monitor interval=30s
- # 配置资源约束
- pcs constraint colocation add fs with vip
- pcs constraint order vip then fs
- pcs constraint colocation add httpd with fs
- pcs constraint order fs then httpd
复制代码
6.2 DRBD数据复制
安装并配置DRBD以实现数据复制:
- # 安装ELRepo仓库
- yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
- # 安装DRBD
- yum install -y drbd90-utils kmod-drbd90
- # 加载DRBD模块
- modprobe drbd
- # 配置DRBD资源(编辑/etc/drbd.d/r0.res)
- cat > /etc/drbd.d/r0.res << EOF
- resource r0 {
- device /dev/drbd0;
- disk /dev/sdb1;
- meta-disk internal;
- protocol C;
-
- on node1 {
- address 192.168.1.101:7788;
- }
-
- on node2 {
- address 192.168.1.102:7788;
- }
- }
- EOF
- # 初始化DRBD资源
- drbdadm create-md r0
- # 启动DRBD服务
- systemctl start drbd
- # 设置主节点(在node1上执行)
- drbdadm primary r0 --force
- # 查看DRBD状态
- cat /proc/drbd
复制代码
将DRBD资源集成到Pacemaker集群中:
- # 安装DRBD Pacemaker资源代理
- yum install -y resource-agents
- # 配置DRBD资源
- pcs resource create drbd_r0 ocf:linbit:drbd drbd_resource=r0 op monitor interval=60s
- # 配置主/从资源
- pcs resource master ms_drbd_r0 drbd_r0 master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true
- # 配置文件系统资源
- pcs resource create fs_r0 ocf:heartbeat:Filesystem device="/dev/drbd0" directory="/data" fstype="ext4"
- # 配置资源约束
- pcs constraint colocation add fs_r0 with ms_drbd_r0 INFINITY with-rsc-role=Master
- pcs constraint order promote ms_drbd_r0 then start fs_r0
- # 查看资源状态
- pcs status
复制代码
6.3 负载均衡配置
安装并配置HAProxy实现负载均衡:
- # 安装HAProxy
- yum install -y haproxy
- # 配置HAProxy(编辑/etc/haproxy/haproxy.cfg)
- cat > /etc/haproxy/haproxy.cfg << EOF
- global
- log 127.0.0.1 local2
- chroot /var/lib/haproxy
- pidfile /var/run/haproxy.pid
- maxconn 4000
- user haproxy
- group haproxy
- daemon
- stats socket /var/lib/haproxy/stats
- defaults
- mode http
- log global
- option httplog
- option dontlognull
- option http-server-close
- option forwardfor except 127.0.0.0/8
- option redispatch
- retries 3
- timeout http-request 10s
- timeout queue 1m
- timeout connect 10s
- timeout client 1m
- timeout server 1m
- timeout http-keep-alive 10s
- timeout check 10s
- maxconn 3000
- listen stats
- bind *:9000
- stats enable
- stats uri /stats
- stats auth admin:password
- stats refresh 30s
- frontend http-in
- bind *:80
- default_backend servers
- backend servers
- balance roundrobin
- server server1 192.168.1.101:80 check
- server server2 192.168.1.102:80 check
- server server3 192.168.1.103:80 check
- EOF
- # 启动并启用HAProxy
- systemctl start haproxy
- systemctl enable haproxy
复制代码
安装并配置Keepalived实现HAProxy的高可用性:
- # 安装Keepalived
- yum install -y keepalived
- # 配置Keepalived(编辑/etc/keepalived/keepalived.conf)
- cat > /etc/keepalived/keepalived.conf << EOF
- ! Configuration File for keepalived
- global_defs {
- router_id LVS_DEVEL
- }
- vrrp_script chk_haproxy {
- script "killall -0 haproxy"
- interval 2
- weight 2
- }
- vrrp_instance VI_1 {
- state MASTER
- interface eth0
- virtual_router_id 51
- priority 100
- advert_int 1
- authentication {
- auth_type PASS
- auth_pass password
- }
- virtual_ipaddress {
- 192.168.1.200
- }
- track_script {
- chk_haproxy
- }
- }
- EOF
- # 启动并启用Keepalived
- systemctl start keepalived
- systemctl enable keepalived
复制代码
7. 系统监控与维护
7.1 系统性能监控
使用top和htop命令监控系统资源使用情况:
- # 安装htop
- yum install -y htop
- # 使用top监控系统
- top -d 2
- # 使用htop监控系统
- htop
复制代码
使用vmstat命令监控系统性能:
- # 每隔2秒显示一次系统性能数据,共显示5次
- vmstat 2 5
- # 显示内存统计信息
- vmstat -s
- # 显示磁盘I/O统计信息
- vmstat -d
复制代码
使用iostat命令监控磁盘I/O性能:
- # 安装sysstat包
- yum install -y sysstat
- # 每隔2秒显示一次磁盘I/O数据,共显示5次
- iostat 2 5
- # 显示扩展的磁盘I/O统计信息
- iostat -x 2 5
- # 显示特定设备的I/O统计信息
- iostat -d /dev/sda 2 5
复制代码
7.2 日志管理
配置rsyslog服务进行日志管理:
- # 编辑rsyslog配置文件
- cat > /etc/rsyslog.d/server.conf << EOF
- # 将所有info级别的日志发送到远程日志服务器
- *.info @192.168.1.100:514
- # 将所有error级别的日志同时写入本地文件
- *.error /var/log/error.log
- # 将邮件相关的日志写入特定文件
- mail.* /var/log/maillog
- # 创建自定义日志模板
- $template RemoteLogs,"/var/log/remote/%HOSTNAME%/%PROGRAMNAME%.log"
- *.* ?RemoteLogs
- EOF
- # 重启rsyslog服务
- systemctl restart rsyslog
- systemctl enable rsyslog
复制代码
配置logrotate进行日志轮转:
- # 创建自定义logrotate配置
- cat > /etc/logrotate.d/custom-app << EOF
- /var/log/custom-app/*.log {
- daily
- missingok
- rotate 30
- compress
- delaycompress
- notifempty
- create 644 root root
- postrotate
- /usr/bin/systemctl reload custom-app.service > /dev/null 2>&1 || true
- endscript
- }
- EOF
- # 测试logrotate配置
- logrotate -d /etc/logrotate.d/custom-app
- # 强制执行logrotate
- logrotate -f /etc/logrotate.d/custom-app
复制代码
7.3 监控工具部署
安装并配置Nagios监控系统:
- # 安装EPEL仓库
- yum install -y epel-release
- # 安装Nagios
- yum install -y nagios nagios-plugins-all nagios-plugins-nrpe
- # 配置Nagios管理员密码
- htpasswd -c /etc/nagios/passwd nagiosadmin
- # 启动并启用Nagios服务
- systemctl start nagios
- systemctl enable nagios
- # 安装NRPE代理(在客户端)
- yum install -y nagios-plugins-nrpe nagios-plugins-all
- # 配置NRPE(编辑/etc/nagios/nrpe.cfg)
- echo "allowed_hosts=192.168.1.100" >> /etc/nagios/nrpe.cfg
- # 启动并启用NRPE服务
- systemctl start nrpe
- systemctl enable nrpe
复制代码
安装并配置Zabbix监控系统:
- # 安装Zabbix仓库
- rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
- # 安装Zabbix服务器和前端
- yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent
- # 安装并配置MariaDB
- yum install -y mariadb-server mariadb
- systemctl start mariadb
- systemctl enable mariadb
- # 创建Zabbix数据库
- mysql -e "create database zabbix character set utf8 collate utf8_bin;"
- mysql -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'password';"
- # 导入Zabbix数据库结构
- zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -ppassword zabbix
- # 配置Zabbix服务器(编辑/etc/zabbix/zabbix_server.conf)
- DBHost=localhost
- DBName=zabbix
- DBUser=zabbix
- DBPassword=password
- # 配置PHP时区(编辑/etc/httpd/conf.d/zabbix.conf)
- php_value date.timezone Asia/Shanghai
- # 启动并启用Zabbix服务和Apache服务
- systemctl start zabbix-server zabbix-agent httpd
- systemctl enable zabbix-server zabbix-agent httpd
- # 配置Zabbix客户端
- yum install -y zabbix-agent
- # 配置Zabbix客户端(编辑/etc/zabbix/zabbix_agentd.conf)
- Server=192.168.1.100
- ServerActive=192.168.1.100
- Hostname=client1
- # 启动并启用Zabbix客户端服务
- systemctl start zabbix-agent
- systemctl enable zabbix-agent
复制代码
8. 实际案例分析
8.1 高性能Web服务器配置
以下是一个高性能Web服务器的配置案例,针对高并发Web访问场景进行了优化:
8.2 高性能数据库服务器配置
以下是一个高性能数据库服务器的配置案例,针对MySQL数据库进行了优化:
结论
企业级Red Hat Enterprise Linux实例的配置是一个复杂而细致的过程,涉及系统基础配置、性能调优、网络优化、存储管理、安全加固、高可用性配置以及系统监控等多个方面。通过本文介绍的最佳实践,系统管理员和运维工程师可以充分发挥RHEL的潜力,构建高性能、高可靠性的企业级系统环境。
在实际应用中,需要根据具体的工作负载和业务需求,灵活调整各项配置参数,并持续监控系统性能,及时进行优化调整。同时,保持系统的更新和安全加固也是确保系统长期稳定运行的重要措施。
通过遵循本文提供的最佳实践,企业可以显著提高RHEL实例的性能和可靠性,为关键业务应用提供稳定、高效的运行环境,从而提升整体业务运营效率和竞争力。
版权声明
1、转载或引用本网站内容(企业级Red Hat Enterprise Linux实例配置最佳实践详解提升系统性能与可靠性)须注明原网址及作者(威震华夏关云长),并标明本网站网址(https://www.pixtech.cc/)。
2、对于不当转载或引用本网站内容而引起的民事纷争、行政处理或其他损失,本网站不承担责任。
3、对不遵守本声明或其他违法、恶意使用本网站内容者,本网站保留追究其法律责任的权利。
本文地址: https://www.pixtech.cc/thread-40889-1-1.html
|
|