CentOS6实验机模板搭建部署

2019-04-13 12:58发布

class="markdown_views prism-dracula"> 做实验,离不开虚拟机,虚拟机保存成标准的模板,需要的时候可以进行克隆和快速部署,进而提高实验效率,这是一个我自己的CentOS6实验机模板搭建部署笔记。

环境相关

主机:Win7
虚拟机软件:VirtualBox4.3.10
虚拟机系统软件:CentOS-6.8-x86_64-minimal.iso
局域网192.168.1.0
畅通的网络
SecureCRT,虚拟机ssh客户端连接工具
  1. 主机安装,虚拟机软件安装(略)
  2. 新建虚拟机,相关步骤截图:
    虚拟内存大小,个人习惯对2048M取个整,2100M

    动态分配会根据使用情况动态增长虚拟机磁盘文件的大小,固定大小则是一开始就会将虚拟机磁盘文件完全格式化成对应大小,一般固定大小用在如RAC共享存储创建的时候,系统安装选择动态增长即可 这个地方可以调整虚拟机相关文件的存储路径,当然将磁盘大小调整的大一点,50G做为系统盘足以,因为是动态分配,不必一开始就担心磁盘会被虚拟机文件撑满

    调整启动顺序,将硬盘调整到第一位,其次是光驱,勾掉软驱的选择 显存调整到最大,方便一会虚拟机启动部署的时候操作
    选择下载到本地的ISO镜像文件
    桥接网卡,相当于在你主机的网络中又出现了一台主机(实际上就是该虚拟机)
    启动虚拟机,新建虚拟机的操作就完成了,下面进行虚拟机安装系统的配置
  3. 虚拟机安装配置
    不必进行media test,直接skip掉
    请务必保持英文!!!


    主机名此时可以不配置,如果配置建议小写字母开头的小写字母和数字15字符以内的组合

    选择定制 选择空闲的磁盘创建一个标准的分区 第一个分区是/boot,200M大小的ext4分区 第二个分区是swap,8200M大小,4G以内的内存,swap分区建议是两倍,8G建议8G,16G建议8或者16G,此时考虑虚拟机今后可能将内存增加到8G,因此直接将swap设置成8G 剩下的权分配给根分区,一个简单的虚拟机磁盘分区这样分即可,复杂的应用要做相应的调整,当然虚拟机装机后也是可以再次调整的

    如果你是U盘安装linux,这个地方要注意,boot loader要放在根分区所在磁盘设备
  4. 虚拟机系统安装后配置和优化 输入root密码登录,右ctrl键将鼠标从虚拟机跳出到主机 网络配置:
    编辑网卡配置文件 网卡配置文件参数
[root@centos6u8 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 # HWADDR=08:00:27:BA:7B:D9 # UUID=15edd3bb-9b85-4385-a787-15850b531597 # 注释掉HWADDR和UUID,为了以后克隆方便 # NM_CONTROLLED=yes # 该行删掉,NetworkManager服务不能启用,BUG太多 TYPE=Ethernet ONBOOT=yes BOOTPROTO=static IPADDR=192.168.1.10 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 # 配置静态IP和掩码和网关 DNS1=223.5.5.5 DNS2=8.8.8.8 # 因为该机器要上网,因此配置阿里云DNS和谷歌DNS
重启网络服务








主机名和hosts文件配置 HOSTNAME=centos6u8 hostname $HOSTNAME echo "$(grep -E '127|::1' /etc/hosts)">/etc/hosts echo "$(ifconfig eth0|grep inet|awk -F'[ :]' '{print $13}') $(hostname)">>/etc/hosts sed -i "s/^HOSTNAME.*$/HOSTNAME=$HOSTNAME/g" /etc/sysconfig/network ping -c 3 $(hostname) 关闭防火墙和selinux sed -i 's/^ kernel.*$/& selinux=0/g' /boot/grub/grub.conf sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config chkconfig iptables off 配置本地yum源和阿里云yum源


这里使用3.65GB大小的ISO光盘,安装系统的光盘容量较小,很多软件是没有的 mkdir /iso echo '/dev/sr0 /iso iso9660 defaults 0 0'>>/etc/fstab mount -a # 屏幕出现挂载信息 mount: block device /dev/sr0 is write-protected, mounting read-only # 表示已经挂载 mkdir /etc/yum.repos.d/bak/ mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/bak/ # 将原来的配置文件移动走 cat >/etc/yum.repos.d/p.repo<///iso/ enabled=1 gpgcheck=0 EOF # 新建配置文件,其中baseurl使用file参数指定本机的/iso/目录 # enabled=1 表示启用 # gpgcheck=0 表示不做gpg的对比检查 yum clean all yum makecache # 看到进度条表示配置成功 yum -y install wget wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo # 下载阿里云的yum源配置文件 yum clean all yum makecache # 这样本地yum源和网络yum源就配置成功了 优化关闭开机启动项 # 还有一些开机启动优化项可以在今后做优化选择 chkconfig blk-availability off chkconfig ip6tables off chkconfig lvm2-monitor off chkconfig netfs off chkconfig postfix off chkconfig mdmonitor off chkconfig kdump off chkconfig NetworkManager off chkconfig abrt-ccpp off chkconfig abrtd off chkconfig acpid off chkconfig certmonger off chkconfig cpuspeed off chkconfig cups off chkconfig nfslock off chkconfig portreserve off chkconfig rpcbind off chkconfig rpcgssd off chkconfig rpcidmapd off sshd服务优化 echo 'UseDNS no'>>/etc/ssh/sshd_config sed -i 's/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/g' /etc/ssh/sshd_config /etc/init.d/sshd restart # 优化加速sshd的连接速度 设置自动任务校准时间 yum -y install ntpdate ntpdate -u ntp1.aliyun.com # 使用阿里云的ntp服务器做时间校准 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 # 设置开机启动时间校准和自动任务时间校准 cp -av /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 如果忘记设置时区,可以手动设置时区为东八区 部署dstat脚本监控(个人的一个系统监控脚本,可以不进行部署) #安装dstat cd /tmp rpm -ivh dstat-0.7.2-1.el6.rfx.noarch.rpm rm -rf dstat-0.7.2-1.el6.rfx.noarch.rpm #修改脚本,输出主机名 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 chattr +i *.sh 多线程下载加速优化 参照《Linux多线程下载命令axel编译安装 支持断点续传 Yum加速改造》,安装配置axel。 系统升级关机克隆出另外一台实践机 yum -y update init 0 # 使用阿里云的yum源升级,关机

因为克隆时重新初始化了网卡,因此要修改该文件内容,将原来的eth0所在行删除,将eth1改成eth0,然后重启虚拟机
重启后就可以使用192.168.1.10的IP再次连接到虚拟机了。 [TOC]