您的位置:首页 > 运维架构 > Linux

使用dd工具批量安装centos6

2014-01-26 16:35 411 查看
需求:大批量安装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使其立即生效。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: