CentOS7实验机模板搭建部署

2019-04-13 12:36发布

class="markdown_views prism-dracula">

相关说明

RedHat每一个大版本变化都是蛮大的,经典的5系列,逐渐臃肿和刚刚适应的6系列,以及现在的7,跟windows一个鸟样…
我们通过下载阿里云镜像站的CentOS7的系统ISO来搭建部署模板机
地址为:https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-Everything-1708.iso
本次虚拟机搭建部署使用VMware软件。

部署安装

打开VMware,新建一个虚拟机
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
根据自己的主机的硬件资源分配合适的CPU和内存
X宝上可以捡垃圾,用机架服务器配件拼凑一个多CPU大内存的实验机 这里写图片描述
网络桥接,尽可能还原真实环境 这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
选择下载好的ISO镜像,然后将声卡打印机之类的无用虚拟部件删掉,USB控制器也是可以删掉的,用到的可能性不大 打开虚拟机电源
这里写图片描述
这里写图片描述
安装过程保持英文,将系统安装成英文,加装对中文的显示支持即可,生产主机装成中文的话,那就林黛玉了… 这里写图片描述
这里写图片描述
时区是要调整的,还有一个重要的配置就是ntp时间同步,系统部署后优化的时候使用ntpdate同步阿里云的时钟服务器进行校正 这里写图片描述
这里写图片描述
加装中文支持 这里写图片描述
这里写图片描述
手动配置分区
这里写图片描述
这里写图片描述
这里写图片描述
第7代系统对boot分区的容量需求更大,然后xfs的文件系统特别好,特别优秀,各种优点,推荐给你,我继续用ext 这里写图片描述
继续分出根分区和swap分区,swap分区暂定内存的两倍大小,具体生产要根据实际需求调整,原则和第6代第5代一样
这里写图片描述
真实的生产环境上,如果没有特殊的应用上的需求,一般也不必将/home 或者 /var 在系统安装的时候单独分区
现在的生产环境多使用企业级虚拟化技术和云主机,如果需要单独将某个目录分区,可以后期加盘手动再次分区格式化挂载 这里写图片描述
这里写图片描述
关掉 kernel dump,一般用不上 这里写图片描述
这里写图片描述 IPV4 这里写图片描述 配置好网络,系统安装完成后直接使用SCRT连接到虚拟机进行下一步的优化部署 这里写图片描述
这里写图片描述
安全策略关掉,如果有需求,后期再进行配置 这里写图片描述
这里写图片描述
配置好root密码即可,不需要创建其他账号,如果密码强度不够,需要两次点击Done完成修改 这里写图片描述
点Reboot按钮,重启虚拟机,完成安装 这里写图片描述
系统安装后会自动推掉挂载的ISO镜像,需要手动设置连接,优化配置的时候需要用到

优化配置

使用Scrt连接到模板机,相应的连接配置步骤可以参考《CentOS6实验机模板搭建部署》 关闭selinux: sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config sed -i 's/vmlinuz.*/& selinux=0/g' /boot/grub2/grub.cfg setenforce 0 关闭防火墙: systemctl disable firewalld.service systemctl disable iptables-services # 第7代的防火墙有两种软件,默认安装firewalld代替掉原来的iptables # 第7代的系统守护服务的开机启动关闭使用systemctl命令,代替原来的chkconfig 优化sshd服务: echo 'UseDNS no'>>/etc/ssh/sshd_config echo 'PermitRootLogin yes'>>/etc/ssh/sshd_config 优化网卡配置文件: cat >/etc/sysconfig/network-scripts/ifcfg-ens33<<EOF TYPE="Ethernet" NAME="ens33" DEVICE="ens33" ONBOOT="yes" IPADDR="192.168.77.10" PREFIX="24" GATEWAY="192.168.77.1" DNS1="223.5.5.5" DNS2="8.8.8.8" EOF systemctl restart network.service ping -c 3 223.5.5.5 # 查看是否能够连接到公网 配置主机名和/etc/hosts文件: HOSTNAME=centos7 hostnamectl set-hostname "$HOSTNAME" # 临时配置主机名 echo "$HOSTNAME">/etc/hostname # 永久配置主机名 echo "$(grep -E '127|::1' /etc/hosts)">/etc/hosts echo "$(ip a|grep "inet "|grep -v 127|awk -F'[ /]' '{print $6}') $HOSTNAME">>/etc/hosts 配置本地yum源: mkdir /iso echo -e '/dev/sr0 /iso iso9660 defaults 0 0'>>/etc/fstab mount -a cd /etc/yum.repos.d/ rm -rf * cat >/etc/yum.repos.d/p.repo<1 gpgcheck=0 EOF yum clean all yum makecache yum -y install wget 配置网络yum源: wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo # 使用阿里云镜像站的网络yum源 yum clean all yum makecache yum -y install nc net-tools vim tree dstat ntpdate yum -y update # 加装一些通用的软件,然后将系统各个软件升级到最新版本 还原/etc/rc.local的开机执行脚本的能力: # 第7代系统将/etc/rc.local的执行权限去掉了 # 写入到该文件中的一些想要在开机启动执行的脚本就无法正常执行 # 还原方法就是把权限改回去即可 # 该文件 /etc/rc.local 是 /etc/rc.d/rc.local 文件的软连接 # 因此要修改 /etc/rc.d/rc.local 的权限 chmod +x /etc/rc.d/rc.local 配置ntpdata时钟校正任务: ntpdate -u ntp1.aliyun.com echo '/usr/sbin/ntpdate -u ntp1.aliyun.com'>>/etc/rc.local crontab -l>/tmp/crontab.tmp echo '#OS Time Sync'>>/tmp/crontab.tmp echo '0 * * * * /usr/sbin/ntpdate -u ntp1.aliyun.com>>/root/ntpdate.log 2>&1;/sbin/hwclock -w'>>/tmp/crontab.tmp cat /tmp/crontab.tmp |crontab rm -rf /tmp/crontab.tmp # 生产环境要考虑时钟服务器是否选择阿里云时钟服务器 开机启动项优化: systemctl disable dbus-org.freedesktop.NetworkManager.service systemctl disable dbus-org.freedesktop.nm-dispatcher.service systemctl disable NetworkManager-dispatcher.service systemctl disable NetworkManager systemctl disable postfix.service # 关闭一些不需要的开机启动项 systemctl list-unit-files --type=service|grep 'enabled' # 查看目前处于开机启动状态的系统服务 部署dstat脚本监控(个人的一个系统监控脚本,可以不进行部署): #修改脚本,输出主机名 sed -i 's/plugin title/Hostname/g' /usr/share/dstat/dstat_helloworld.py sed -i 's/counter/------------/g' /usr/share/dstat/dstat_helloworld.py sed -i "s/'Hello world!'/os.popen('hostname').readlines()[0].split()/g" /usr/share/dstat/dstat_helloworld.py dstat --helloworld 1 3 #创建检测脚本并启动 mkdir -p /root/checkOS cd /root/checkOS cat >/root/checkOS/checkOS.sh<#!/bin/bash export DSTAT_TIMEFMT='%Y-%m-%d %H:%M:%S' #kill dstat for i in $(ps -ef|grep '/usr/bin/dstat --helloworld'|grep -v grep|awk '{print $2}');do kill -9 $i;done #start dstat /usr/bin/dstat --helloworld -tlcp \ --proc-count -y \ --top-cpu-adv \ --top-cputime-avg \ --top-latency-avg \ --top-bio-adv \ --top-io-adv \ --top-mem \ --top-childwait \ -mgsn --net-packets --tcp --udp \ --fs --lock \ -dr --aio --disk-tps --disk-util \ --freespace --noheaders 10 8640 >>/root/checkOS/checkOS.info_$(date +%F_%H_%M_%S) & /usr/bin/find /root/checkOS/checkOS.info_* -mtime +30 -exec rm -rf {} ; EOF chmod 700 /root/checkOS/checkOS.sh #/root/checkOS/checkOS.sh & echo '/root/checkOS/checkOS.sh &'>>/etc/rc.local #设置自动任务每日启动监控脚本 crontab -l>/tmp/crontab.tmp echo -e ' #OS Check Dstat'>>/tmp/crontab.tmp echo '0 0 * * * /bin/bash /root/checkOS/checkOS.sh'>>/tmp/crontab.tmp cat /tmp/crontab.tmp |crontab rm -rf /tmp/crontab.tmp #生成脚本,输出昨日系统基本信息 cat >/root/checkOS/checkYesterday.sh<$(date '+%F' -d '1 day ago')*|\ awk 'BEGIN{OFS="|"}/system/{print "|"$1,$2,$3,$4,$5,$6,$15,$16,$17,$18,$24"|"}'>/root/checkOS/result.txt cat /root/checkOS/checkOS.info_$(date '+%F' -d '1 day ago')*|grep -v '----system----'|\ awk 'BEGIN{FS="|";OFS="|"} !/system/ {print "|"$1,$2,$3,$4,$5,$6,$15,$16,$17,$18,$24"|"}'>>/root/checkOS/result.txt head -2 result.txt ;grep -v '|-' result.txt |sort -t'|' -nrk4|head -30 EOF chmod +x checkYesterday.sh #生成脚本,输出今日系统基本信息 cat >/root/checkOS/checkToday.sh<$(date '+%F')*|\ awk 'BEGIN{OFS="|"}/system/{print "|"$1,$2,$3,$4,$5,$6,$15,$16,$17,$18,$24"|"}'>/root/checkOS/result.txt cat /root/checkOS/checkOS.info_$(date '+%F')*|grep -v '----system----'|\ awk 'BEGIN{FS="|";OFS="|"} !/system/ {print "|"$1,$2,$3,$4,$5,$6,$15,$16,$17,$18,$24"|"}'>>/root/checkOS/result.txt head -2 result.txt ;grep -v '|-' result.txt |sort -t'|' -nrk4|head -30 EOF chmod +x checkToday.sh 设置开机启动级别: # 因为我们是最小化默认安装的系统,因此目前已经是命令行模式的启动级别 # 如果想改成图形化界面,需要加装图形化组件并设置开机启动级别: # yum -y groupinstall "GNOME Desktop" # rm -rf /etc/systemd/system/default.target # ln -s /lib/systemd/system/graphical.target /etc/systemd/system/default.target # 还是改回命令行模式,图形界面完全抛弃的gnome2,改用gnome3,更炫丽,更耗资源,更废 rm -rf /etc/systemd/system/default.target ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target 重启主机: reboot 多线程下载加速优化 参照《Linux多线程下载命令axel编译安装 支持断点续传 Yum加速改造》,安装配置axel。 模板机关机,备用,使用时直接克隆模板机,使用192.168.77.10连入虚拟机
根据 “优化网卡配置文件” 步骤修改IP,使用新IP重新连入虚拟机 [TOC]