CentOS5实验机模板搭建部署

相关说明

Redhat5系列是想当经典的系统,当然现在已经不支持了,也就是说这个系统不会再有新的软件包版本更新了
CentOS5版本相关的ISO镜像可以在网站 http://vault.centos.org 下载到,4的版本甚至更老的也可以在这里找到
为什么现在还要装5的系统呢?因为Oracle10g要装载5上面,至少我不推荐装到6上面,原因自己体会
本次实验使用VirtualBOX,可以参考《CentOS6实验机模板搭建部署》新建一个VMware的虚拟机

部署安装

参考《CentOS6实验机模板搭建部署》新建虚拟机,挂载CentOS-5.11-x86_64-bin-DVD-1of2.iso镜像
开始安装
这里写图片描述
回车进行安装
这里写图片描述
安装之前检测CD介质,就是挂在的ISO镜像是否是正常的,直接Skip掉
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这是一个警告,会格式化虚拟机的磁盘,因为我们是空磁盘新装系统,Yes进行下一步
这里写图片描述
自己分盘
这里写图片描述
分出来boot分区200M
根据内存大小分出SWAP分区:
2G内存时,3G或者4G SWAP,16G内存以内,16G SWAP,大于16G内存,16G SWAP
一般内存不大时,比如8G以内的时候,SWAP直接两倍大小,不必过于考虑,除非你的本地存储空间不足
SWAP分区只要能够满足需要安装的应用要求即可,比如Oracle会对其大小有要求
SWAP分区可以后期扩展,只要你有足够的本地存储空间即可扩展
一但用到SWAP分区,特别是频繁page in和page out的时候,内存瓶颈,系统会出现各种问题,此时离宕机也不远了
所以过多考虑SWAP分区大小,意义不大
剩下的空间都分给根分区
这个地方的RAID或者LVM不要用
这里写图片描述
注意GRUB的安装位置,如果是U盘安装系统的时候,请勿将GRUB安装到U盘上,否则U盘移除系统无法引导启动
如果要调整GRUB的安装设备,勾选最下面的单选框
这里写图片描述
这里写图片描述
配置网络,取消IPv6,配置IPv4的静态IP和子网掩码
这里写图片描述
配置主机名、网关和DNS服务器
这里写图片描述
这里写图片描述
这里写图片描述
勾掉所有的组件,不安装任何多余的组件,也就是最小化安装,勾选Customize now 选择需要安装的软件包
这里写图片描述
其实只需要加装一个中文支持即可
这里写图片描述
安装完成重启后,弹出配置选单,直接Exit掉

优化配置

使用Scrt连接到模板机,相应的连接配置步骤可以参考《CentOS6实验机模板搭建部署》
重新将ISO镜像挂载到虚拟机,配置本地yum源时需要

调整网卡配置文件

[root@centos5u11 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
# Intel Corporation 82540EM Gigabit Ethernet Controller
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.77.255
# HWADDR=08:00:27:04:6D:C4
# 注释掉HWADDR,为了以后克隆方便
IPADDR=192.168.77.10
NETMASK=255.255.255.0
NETWORK=192.168.77.0
ONBOOT=yes

主机名和hosts文件配置

HOSTNAME=centos5u11
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源

mkdir /iso
echo '/dev/hdc /iso iso9660 defaults 0 0'>>/etc/fstab
mount -a
# 屏幕出现挂载信息 mount: block device /dev/hdc 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
EOF
# 新建配置文件,其中baseurl使用file参数指定本机的/iso/目录
# 如果是老版本的CentOS,如5u2,baseurl需要指向file:///iso/Server
# 即 TRANS.TBL 所在的目录位置
# enabled=1 表示启用
# gpgcheck=0 表示不做gpg的对比检查
yum clean all
yum makecache
# 看到进度条表示配置成功

优化关闭开机启动项

chkconfig avahi-daemon off
chkconfig bluetooth off
chkconfig firstboot off
chkconfig ip6tables off
chkconfig iptables off
chkconfig iscsi off
chkconfig iscsid off
chkconfig isdn off
chkconfig lvm2-monitor off
chkconfig netfs off
chkconfig sendmail off
chkconfig mcstrans off
chkconfig mdmonitor off
chkconfig NetworkManager off
chkconfig acpid off
chkconfig cpuspeed off
chkconfig nfslock off
chkconfig pcscd off
chkconfig portmap off
chkconfig restorecond off
chkconfig rpcgssd off
chkconfig rpcidmapd off
chkconfig xfs off
chkconfig yum-updatesd 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 ntp
chkconfig ntpd off
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.el5.rfx.noarch.rpm
rm -rf dstat-0.7.2-1.el5.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

多线程下载加速优化
参照《Linux多线程下载命令axel编译安装 支持断点续传 Yum加速改造》,安装配置axel。

关机克隆出另外一台实验机,无需做设置,直接使用原IP就能连上主机

[TOC]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值