CentOS6实验机模板搭建部署

做实验,离不开虚拟机,虚拟机保存成标准的模板,需要的时候可以进行克隆和快速部署,进而提高实验效率,这是一个我自己的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/^\tkernel.*$/& 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<<EOF
[p]
name=p
baseurl=file:///iso/
enabled=1
gpgcheck=0
sslverify=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<<EOF
#!/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 '\n#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<<EOF
head -1 /root/checkOS/checkOS.info_\$(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<<EOF
head -1 /root/checkOS/checkOS.info_\$(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]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值