本文分享CentOS的标准化安装配置方法,方便集群批量装机配置
------------------------- 完美的分割线 ----------------------------
1.安装标准化
1.1.安装期间的语言
中文-简体中文,安装完成也会默认支持中文输出,便于管理
1.2.时区选择
亚洲上海,CST时区
1.3.分区方式
挂载路径 | 分区格式 | 分区大小 | 备注信息 |
swap分区 | 内存的2倍 | 交换分区,如果是虚拟机可以不创建 | |
/boot | 500MB | 启动分区,如果不分配磁盘被占满会无法启动系统 | |
/ | 剩余所有空间 | 后续有其他需求,可以增加磁盘独立创建分区 |
1.4.安装包的选择
1)如果是一般的DVD镜像,建议选择最小化安装,然后手动选择安装以下软件包组:
类别 | 英文名称 | 中文名称 | 备注信息 |
基本系统(Base System) | Base | 基本 | 基本的系统组件 |
compatibility libraries | 兼容程序库 | 库文件 | |
Debugging Tools | 调试工具 | 常用工具 | |
开发(Development) | Development Tools | 开发工具 | 编译工具cmake,gcc等 |
语言支持 | English | 英语 | |
Chinese | 汉语 |
2)如果是minimal的镜像,基本没什么需要选择的,需要的安装包在装完系统后安装即可,系统会更加精简一些,大约需要安装292个软件包
1.5.用户
管理员用户:root
普通用户:自定义一个
1.6.安全选项
kdump:一般用不着关闭即可
# 以上是安装系统时可以进行的配置选项,安装完成还需要对系统做一些基础的初始化优化配置
2.初始化CentOS7.5系统(优化配置)
2.1.修改网络配置
1)修改IP地址为固定地址
# 可以使用图形化界面配置
nmtui # 这个是CentOS7版本下的setup命令,可以配置IP,主机名,DNS等信息
# 配置完成重启网卡,进行测试
systemctl restart network ip addping www.baidu.com
# 至此,可以使用CRT等软件远程连接进行配置
2)创建常用工作目录
# 生产环境下必须有个固定的目录存放一些安装软件和调试工具,否则每个管理员都随意存放软件,服务器的环境可以想而知
mkdir -p /server/{tools,scripts,backup} cd /server/tools/
3)设置DNS和主机名
# 修改服务器主机名
vi /etc/hostname -------------------------------- demohost --------------------------------
# 设置hosts域名解析
vi /etc/hosts -------------------------------- 192.168.1.200 demohost --------------------------------
# 设置DNS解析
vi /etc/resolv.conf -------------------------------- nameserver 202.106.0.20 nameserver 8.8.8.8 --------------------------------
# 手动修改网卡配置文件,删除UUID信息和MAC地址等方便克隆,禁用IPv6相关配置
vim /etc/sysconfig/network-scripts/ifcfg-eth0 ------------------------------------ [root@demohost tools]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 NAME=eth0 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes BOOTPROTO=none DEFROUTE=yes IPADDR=192.168.1.200 PREFIX=24 GATEWAY=192.168.1.1 IPV4_FAILURE_FATAL=no DNS1=202.106.0.20 DNS2=8.8.8.8 IPV6INIT=no IPV6_AUTOCONF=no IPV6_DEFROUTE=no IPV6_PEERDNS=no IPV6_PEERROUTES=no IPV6_PRIVACY=no IPV6_FAILURE_FATAL=noARPCHECK=no # 禁用ARP检查 --------------------------------------
# 配置完成重启网卡,进行测试
systemctl restart network ip addping www.baidu.com
2.2.安装常用工具
# 安装工具(wget,rz,sz,tree,dos2unix,ifconfig,nslookup等)
yum install gcc gcc-c++ cmake pcre pcre-devel zlib zlib-devel openssl openssl-devel vim wget telnet setuptool lrzsz dos2unix net-tools bind-utils tree screen iftop ntpdate tree lsof iftop iotop -y yum groupinstall "Development tools" -y
2.3.配置yum源(阿里云)
1)配置阿里云base源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo cat /etc/yum.repos.d/CentOS-Base.repo
2)配置阿里云epel源
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo cat /etc/yum.repos.d/epel.repo
3)创建yum缓存进行测试
yum clean all yum makecache fast
2.4.配置系统环境变量
1)修改记录的历史命令数量
sed -i s#HISTSIZE=1000#HISTSIZE=10000#g /etc/profile cat /etc/profile|grep HISTSIZE=10000
2)设置超时自动注销登陆
# 8h=28800s
echo " " >> /etc/profile echo "# Auto-Logout for 4 hours by zhaoshuai on $(date +%F)." >> /etc/profile echo "export TMOUT=28800" >> /etc/profile tail -4 /etc/profile source /etc/profile echo $TMOUT
2.5.配置系统安全选项
1)修改ssh配置加速远程连接
# 只监听IPv4端口,关闭GSSAPI秘钥认证,关闭DNS解析
sed -i s/'#ListenAddress 0.0.0.0'/'ListenAddress 0.0.0.0'/g /etc/ssh/sshd_config grep ListenAddress /etc/ssh/sshd_config sed -i s/'GSSAPIAuthentication yes'/'GSSAPIAuthentication no'/g /etc/ssh/sshd_config grep GSSAPIAuthentication /etc/ssh/sshd_config sed -i s/'#UseDNS yes'/'UseDNS no'/g /etc/ssh/sshd_config grep UseDNS /etc/ssh/sshd_config
# 重启sshd服务
/bin/systemctl restart sshd.service /bin/systemctl status sshd.service
2)关闭selinux
# 立即关闭selinux(立即生效)
getenforce setenforce 0 getenforce
# 返回信息如下
# Enforcing/enabled # 执行,强制执行,开启时状态为1 # Permissive/disabled # 许可的,*的,关闭时状态为0
# 永久关闭selinux(重启也生效)
sed -i s#SELINUX=enforcing#SELINUX=disabled#g /etc/selinux/config cat /etc/selinux/config |grep SELINUX=disabled
3)关闭防火墙
# 内网一般不需要使用
systemctl stop firewalld systemctl disable firewalld systemctl status firewalld
4)关闭其他不用的服务
# 邮箱服务,CentOS7默认安装postfix,而不是sendmail
systemctl stop postfix systemctl disable postfix systemctl status postfix netstat -anptl
2.6.修改内核参数
1)修改文件句柄数
vim /etc/security/limits.conf ----------------------------------- # 系统最大连接数 * soft nofile 65535 * hard nofile 65535 * soft nproc 65535 * hard nproc 65535 -----------------------------------
# 修改完如下显示
[root@demohost tools]# ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 15335 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 65535 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 65535 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
2.7.配置时间同步
1)安装ntp服务并配置开机自启动
# CentOS7默认的时间同步服务是chrony,这里为了方便使用ntp服务
yum -y install ntp systemctl enable ntpd systemctl start ntpd systemctl status ntpd
2)手动进行时间同步
date /usr/sbin/ntpdate ntp1.aliyun.com
3)配置自动同步时间
echo "# made for sync time by zhaoshuai on $(date +%F)">> /var/spool/cron/root echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1' >>/var/spool/cron/root crontab -l
# 注意:中国的时区应该为CST,为中部时区,如果是EST则为东部时区,UTC开启了夏时令也不合适,需要关闭
# 安装CentOS系统时要去掉夏令时的选项,否则在夏令时的那一天会有时间的自动变换,
如果某个服务在时间上有要求就会导致该服务承载的业务出现问题,所以要关闭夏令时
2.8.更新系统内核
1)判断是否需要更新
一般来说建议更新到最新的内核版本,防止已知的系统漏洞问题
如果要安装指定版本的软件也不能随意升级内核版本
2)内核升级方法
# 升级前后需要查看内核版本
cat /etc/redhat-release
# 更新内核
yum update
# 内核升级完成需要重启系统才可以生效
reboot
# 注意:
内核升级期间一定不可以中断操作,否则重启会无法进入系统
如果内核升级期间出错,需要能连到tty终端手动调整开机需要启动的内核
然后登陆系统手动修改内核启动顺序,防止重启出错,最后再次进行内核升级尝试修复
3)拓展:yum update与upgrade的区别?
update会查询互联网上最新的内核软件包进行升级 upgrade只查询当前yum源中比目前已安装软件版本高的那些 总体来说update升级更加彻底
# 至此,CentOS7的系统初始化配置就完成了
======== 完毕,呵呵呵呵 ========