一 .制作全iso镜像光盘
步骤:
createrepo -g repodata/43d8fd068164b0f042845474d6a22262798b9f0d1f49ad1bf9f95b953089777d-c6-x86_64-comps.xml /app/fulliso 在该目录下创建yum源
1 选择一个在一个目录下:例如/app下创建一个文件夹 mkdir /app/fulliso
2 准备yum源以及相关文件
cp -r /misc/cd/* /app/fulliso/
cp /misc/cd/.discinfo /misc/cd/.treeinfo /app/fulliso/ 将隐藏文件复制
rm -rf /app/fulliso/repodata/* 将原有的repodata下数据清除 ,然后生成新的数据
find /app/fulliso -name TRANS.TBL -exec rm {} ; 删除trans.tbl文件
cp /misc/cd/repodata/43d8fd068164b0f042845474d6a22262798b9f0d1f49ad1bf9f95b953089777d-c6-x86_64-comps.xml /app/fulliso/repodata/ 43...-comps.xml是安装保存组存放信息的文件,不可删除
此时有关yum源相关数据设置完成
(3)准备应答文件
mkdir /app/fulliso/ks6.cfg
cp /root/anaconda-ks.cfg /app/fulliso/ks6.cfg
vim /app/fulliso/ks6.cfg
编写安装后脚本
cp ks6.cfg ks6-mini.cfg 准备两个应答文件
(4)编辑启动菜单
vim /app/fulliso/isolinux/isolinux.cfg
(5)制作iso文件
mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.9 autoinstall" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/centos6.iso /app/fulliso/
此时完整的iso镜像光盘制作成功
将该镜像光盘文件导出,用户就可以通过该光盘进行挂载来实现自动安装
安装成功
二.实验:基于网络PXE自动化安装CentOS 7
1 配置安装环境
yum install dhcp tftp-server
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
systemctl restart dhcpd
systemctl enable dhcpd——开机自启
systemctl start dhcpd——启动服务
systemctl enable httpd
systemctl start httpd
mkdir /var/www/html/centos/7
mount /dev/sr0 /var/www/html/centos/7
2 准备应答文件
cp /root/anaconda-ks.cfg
/var/www/html/ksdir/ks7-1.cfg
chmod +r /var/www/html/ksdir/ks7-1.cfg
vim /var/www/html/ksdir/ks7-1.cfg
3 配置tftp服务
systemctl enable tftp.socket
systemctl start tftp.socket
4准备PXE相关文件
mkdir/var/lib/tftpboot/pxelinux.cfg——注意这是文件夹不文件
cp/usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/——复制相应的启动文件和启动选择菜单
cp/misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/——复制内核和虚拟根cp/misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default——复制开机启动菜单文件
vim /var/lib/tftpboot/pxelinux.cfg/default——修改启动菜单
最后查看文件列表结构
6 启动安装
三 基于网络PXE自动化安装CentOS 6
1 准备配置安装环境
yum install vsftpd dhcp tftp-server syslinux-nonlinux
启动下载好的服务
chkconfig vsftpd on
chkconfig dhcpd on
chkconfig tftp on
service xinetd restart
chkconfig vsftpd on
service vsftpd start
ss -nutlp
2 准备yum源
mkdir /var/ftp/pub/centos/6 -pv
mount /dev/sr0 /var/ftp/pub/centos/6
3 准备ks文件
mkdir /var/ftp/pub/ksdir
cp /root/anaconda.cfg /var/ftp/pub/ksdir/ks6-1.cfg
vim /var/ftp/pub/ksdir/ks6-1.cfg
4 配置DHCP服务
rpm -ql dhcp
cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
service dhcpd restart
5 准备PXE相关文件
rpm -ql syslinux-nonlinux
cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/
cp /misc/cd/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/
创建菜单文件
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
6 编辑菜单选项
配置好后可以安装
四 在centos7实现PXE安装centos6和centos7
1 在7上添加一个6的镜像光盘
echo '- - - ' > /sys/class/scsi_host/host2/scan
mount /dev/sr0 /var/www/html/centos/7
mount /dev/sr1 /var/www/html/centos/6
2 准备centos6,7的ks文件
scp /var/www/html/ksdir/ks6-1.cfg 192.168.136.170:/var/www/html/ksdir/
3 配置各自的内核
mkdir /var/lib/tftpboot/centos{6,7}
cp /var/www/html/centos/7/isolinux/{initrd.img,vmlinuz} /var/lib/tftpboot/centos7
cp /var/www/html/centos/6/isolinux/{initrd.img,vmlinuz} /var/lib/tftpboot/centos6
4 准备启动菜单
cd /var/lib/tftpboot/
vim pxelinux.cfg/default
配置成功后开始选择安装
五 cobbler安装系统
首先了解什么是cobbler
(1)概念:
Cobbler: 快速网络安装linux操作系统的服务,支持众多的Linux发行版:
Red Hat、Fedora、CentOS、Debian、Ubuntu和 SuSE,也可以支持网络安装windows
PXE的二次封装,将多种安装参数封装到一个菜单
Python编写
提供了CLI和Web的管理形式
cobbler 服务集成
pxe 服务
DHCP
rsync
Http
DNS
Kickstart
IPMI 电源管理
检查cobbler环境
cobbler check
(2)实验:通过cobbler实现系统的安装过程
1 yum install cobbler dhcp(cobbler依赖epel源)
开启服务
systemctl enable cobblerd
systemctl start cobblerd
systemctl enable tftp
systemctl start tftp
systemctl enable httpd
systemctl start httpd
2 根据cobbler check检查进行对应的修改
关闭防火墙和selinux
vim /etc/cobbler/settings
修改内容
next_server: 192.168.25.107
manage_dhcp: 1 ——自动生成dhcp配置文件,由cobbler管理
server: 192.168.25.107
openssl passwd -1 生成口令
default_password_crypted: "加密口令"
systemctl restart cobblerd
cobbler sync
准备启动文件和和菜单风格文件
有网络环境时
cobbler get-loaders——会自动导入启动文件和菜单
无网络环境时
cp /var/lib/tftpboot/{menu.c32,pxelinux.0} /var/lib/cobbler/loaders
生成dhcp模版文件
vim /etc/cobbler/dhcp.template
subnet 192.168.25.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.25.100 192.168.25.254;
}
3 导入yum源
cobbler import --path=/misc/cd --name=centos7.3 --arch=x86_64——将文件拷到/var/www/ 生成了一个cobbler
cd cobbler 进入ks_mirror 查看拷贝过程
cobbler import --path=/misc/cd --name=centos6.9 --arch=x86_64-先导入6.9光盘
umount /misc/cd ls /misc/cd df 重新挂载
cobbler distro list-查看新生成的名字
cobbler profile list
4 生成ks
cp centos6.cfg centos7.cfg /var/lib/cobbler/kickstarts/
cobbler profile remove --name=centos6.9-x86_64
cobbler profile remove --name=centos7.3-x86_64
cobbler profile add --name=centos6.9_desktop --distro=centos6.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6.cfg
cobbler profile add --name=centos7.3_mini --distro=centos7.3-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.cfg
cobbler sync