需求:大批量安装centos操作系统,所有目标主机的硬件配置相同。
1. 正常安装一台centos6.3主机,按以下方式分区(非GPT方式):
/dev/sda1 /boot # 240MB
/dev/sda2 / # 30GB
/dev/sda3 swap,交换分区 #一般设置为内存大小的1.5~2倍。
/dev/sda4 扩展分区,其它分区可以都放在这里。
2. 配置网卡,实现上网
2.1 备份网络配置文件(默认是dhcp方式):
mkdir /root/install-scripts/eth_dhcp/
cp /etc/sysconfig/network-scripts/ifcfg-eth* /root/install-scripts/eth_dhcp/
2.2 修改网络配置文件(/etc/sysconfig/network-scripts/ifcfg-eth0/1/2/3)为静态IP配置:
修改和加入以下字段:
ONBOOT="no"
BOOTPROTO=static
HWADDR=实际的MAC地址
IPADDR=
PREFIX=
GATEWAY=xxx.xxx.xxx.xxx
注释掉以下字段
#DEFROUTE=yes
2.3 如果有/etc/sysconfig/network-scripts/ifcfg-eth0:0/1/2这样的附属网络接口配置文件,
DEVICE="eth0"
BOOTPROTO=static
ONPARENT="yes"
IPADDR=
PREFIX=
GATEWAY=192.168.1.x
DNS1=192.168.1.x
注释掉以下字段:
#DEFROUTE=no
修改主机名:
vim /etc/hosts
vim /etc/sysconfig/network
两者要保持相同
2.4 备份静态网络配置文件:
mkdir /root/install-scripts/eth_static/
cp /etc/sysconfig/network-scripts/ifcfg-eth* /root/install-scripts/eth_static/
2.5 加入路由配置文件
为每个网络接口新建一个路由文件,文件路径:
/etc/sysconfig/network-scripts/route-eth0/1/2/3
/etc/sysconfig/network-scripts/route-eth0:0/1/2
每个文件写入需要的路由,例如:
0.0.0.0/0 via 192.168.1.1 dev eth0
192.168.10.0/24 via 192.168.10.1 dev eth0:0
2.6 备份路由配置文件:
mkdir /root/install-scripts/eth_route/
cp /etc/sysconfig/network-scripts/route-eth* /root/install-scripts/eth_route/
2.安装系统并更新到最新版本(目前是6.5)
修改/etc/yum.repos.d/CentOS-Base.repo文件,改为自己认可的快速源。
yum update
yum install -y vim,修改/etc/vimrc,改成自己需要的配置。
yum install -y bash-completion
开启NTP客户端,设置DNS服务器地址。
关闭Selinux(可选)
修改iptables配置(可选)
设置无密码登陆(可选)
安装其他需要的软件。
3.修改/boot/grub/grub.conf文件
确保默认启动是你希望的操作系统版本。
4. 删除网络规则文件:
rm -f /etc/udev/rules.d/70-persistent-net.rules
rm -f /etc/sysconfig/network-scripts/ifcfg-eth0
5.看一下实际各分区的空间占用情况
df
6. 用0文件填充根分区(/)和/boot分区
dd bs=1024 count=略小于df看到的可用block的大小 if=/dev/zero of=/zero.dat
然后删除zero.dat:rm -f /zero.dat
/boot分区同样处理
7.使用live CD光盘启动主机
8.备份分区表
sfdisk -d /dev/sda > /partition_sda.sfdisk
9.插入u盘,挂载到文件系统
mount /dev/sdb1 /media/udisk
10. 用fdisk看一下系统盘的分区数据
fdisk -lu /dev/sda
计算/boot和/root需要dd的空间大小。
11. 用dd做镜像
dd bs=512 count= (/dev/sda3,即swap分区的起始扇区号+1024) if=/dev/sda | gzip > /media/udisk/mirror_sda.img.gz
大约需要5分钟,+1024是为了把swap分区的uuid也复制进去。
可以用这个命令看进度:while killall -USR1 dd; do sleep 5; done
12.umountu盘,完成镜像制作。
umount /media/udisk
从这里开始,可以复制/media/udisk/mirror_sda.img.gz这个镜像文件到其它存储设备上,实现多机器并行安装。
13. 把live CD放入待安装的主机,启动。
14. 挂载u盘
mount /dev/sdb1 /media/udisk
15. 用dd恢复镜像
gzip -dc /media/udisk/mirror_sda.img.gz | dd bs=512 count=与制作时相同的数字 of=/dev/sda
16.恢复分区表
sfdisk /dev/sda < /partition_sda.sfdisk
17. 重启系统,取出live CD,拔出u盘。
18.修改网卡的配置文件,包括IP地址,MAC地址,启动是否开启等选项。
其中MAC地址可以从/etc/udev/rules.d/70-persistent-net.rules文件读取
19. 修改/etc/fstab中swap分区的uuid
uuid可以用blkid命令获取
20. 如果需要可继续进行以下操作
用fdisk分区,用partprobe使其立即生效。