CentOS 是目前企业级虚拟化部署的重要选择之一。对于需要自主搭建私有云环境或扩展云端应用服务的用户来说,通过 CentOS 搭建云服务器既能保证系统稳定性,又能灵活控制资源配置。本文将结合实际应用场景,详细介绍从基础平台搭建到安全加固的完整流程。
搭建云服务器前需根据业务规模预估资源需求。建议至少配置8GB内存、120GB SSD硬盘和千兆网络带宽的服务器硬件。网络层面需要预留至少两个独立网卡,分别分配管理网和业务网,可实现网络隔离与流量分流。
目前主流部署使用 CentOS Stream 或 CentOS 8 长期支持版。考虑到云环境兼容性,推荐选择带有 EUS(Extended Update Support)功能的版本,确保系统更新与容器镜像兼容性同步。
通过 /etc/sysconfig/network-scripts/ifcfg-ethX 文件配置静态IP时,需特别注意子网掩码与网关设置的对应关系。为避免IP冲突,建议使用DHCP静态租约或IPAM系统进行地址管理。
# 示例:配置双网卡
cat < /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.5
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes
EOF
cat < /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=static
IPADDR=10.10.10.5
NETMASK=255.255.255.0
ONBOOT=yes
EOF
云服务器集群需确保NTP服务正常工作。使用 chronyd 代替传统 ntp 服务,通过 systemctl enable chronyd 设置开机自启,并在 /etc/chrony.conf 中配置多个可靠NTP服务器,如国家授时中心或AWS时间服务器。
# 配置双互联网+本地NTP源
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server 0.centos.pool.ntp.org iburst
默认SSH服务存在三大安全隐患:root远程登录、端口固定、密钥验证缺失。修改 /etc/ssh/sshd_config 文件时应执行以下操作:
推荐使用KVM作为底层虚拟化方案。安装必要组件后,需检查 /etc/libvirt/qemu/vm_name.xml 配置文件中的磁盘映像路径与权限。为保证快照一致性,建议开启qcow2镜像的lazy_refcounts特性。
# 安装基础虚拟化套件
yum groupinstall -y "Virtualization Host"
yum install -y libvirt virt-install virt-top
采用Ceph或LVM+DRBD实现分布式存储。当使用LVM时,可通过 pvcreate /dev/sdb 创建物理卷,并配置VG名称长度限制(默认256字符)。重点注意:云节点间共享存储必须配置SCSI多路径,避免单节点磁盘路径故障。
# 多路径配置示例
vi /etc/multipath.conf
defaults {
user_friendly_names yes
path_grouping_policy multibus
path_checker tur
}
桥接方式相比NAT更有网络性能优势。使用 ovs-vsctl add-br br0 创建Open vSwitch桥接,并通过 ovs-vsctl set bridge br0 stp_enable=true 启用生成树协议,防止环路风暴。
定期执行 yum update --security 更新认证安全补丁。针对SUID/SGID权限文件,可通过 find / -perm -4000 -o -perm -2000 查找异常权限设置,建议删除除 /usr/bin/passwd 外的特殊权限文件。
结合fail2ban实现自动化威胁阻断。编辑 /etc/fail2ban/jail.local 配置:
[sshd]
enabled = true
port = 19200
filter = sshd
action = iptables[name=SSH, port=19200, protocol=tcp]
logpath = /var/log/secure
maxretry = 3
Kubernetes集群部署时,建议启用NodeRestriction、PodSecurityPolicy等策略。针对Docker容器,可通过 /etc/docker/daemon.json 配置:
{
"default-ulimits": {
"nproc": 65535,
"nofile": 65535
},
"icc": false
}
编写自动化巡检脚本时,建议使用ansible-playbook方式管理多个节点。示例巡检任务:
- name: Check disk space
shell: df -h | grep -E 'Filesystem|G'
register: disk_info
changed_when: false
推荐使用Prometheus+Grafana组合。将 /etc/prometheus/prometheus.yml 配置为:
global:
scrape_interval: 10s
scrape_configs:
- job_name: "centos-export"
static_configs:
- targets: ['localhost:9090']
通过rsync+inotify实现实时备份。主配置:
inotifywait -mrq --timefmt '%Y-%m-%d-%H:%M' --format
%/w /path/to/watch | while read files
do
rsync -avz /path/to/watch user@backup:/backup &
done
出现"Connection refused"时,需依次排查以下因素:
firewall-cmd --list-all)getsebool -a | grep sshd)ethtool eth0)当KVM虚拟机出现Panic错误时:
dmesg | grep -i errorcat /proc/cpuinfo | grep vmx使用ioping测试磁盘IO性能:
yum install -y ioping
ioping -cl 10 /mnt/data
当延迟高于1ms时,建议检查RAID卡电池状态和SMART硬盘健康指标。
通过以上的分层部署与安全加固,您将获得一个既符合企业级要求又适合云原生架构的CentOS服务器。建议定期备份关键配置文件,建立完整的变更管理流程,并根据业务发展需求动态调整资源配置。