安装前提
systemctl disable firewalld centos7开机不自启防火墙
systemctl stop firewalld centos7停止防火墙
service iptables stop centos6关闭iptables
service iptables enable centos6开机不自启iptables
sed -i "s/SELINUX=SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config 修改selinux配置文件
reboot 重启生效
安装过程
安装HTTP服务
yum install http
cd /var/www/html/
mkdir centos/{6,7}/os/x86_64/
mount /dev/sr0 /var/www/html/centos/7/os/x86_64/ 挂载centos7的光盘
mount /dev/sr1 /var/www/html/centos/6/os/x86_64/ 挂载centos6的光盘
mkdir ksdir
kickstart
安装kickstart
yum install system-config-kickstart
启动kickstart
`system-config-kickstart 以图形化界面来制作应答文件 `
图形化界面如下:
- basic configuration
语言
键盘布局
时区
root口令,输入两次
架构默认
安装完系统之后重启
以字符界面安装,默认是图形化 - installation Method
选择HTTP安装
HTTP Server:192.168.146.200
HTTP Directory: /centos/7
我们搭建的http服务器的ip和安装源的路径
Boot Loader Options - install new boot loader
是否给GRUB设置口令
安装在MBR中
是否设置内核参数
partiton Information
清除BOOT Loader 信息
清除已存在的分区
清除已有的磁盘标签
然后进行正常分区 - Network Configuration 添加网卡,获取ip地址的方式,网卡名称
- Authertication 默认
- Firewall Configuration 关闭防火墙 和selinux
- DIsplay Configuration 默认
- Package Selection 要安装的程序包
- Pre-installation Script 安装前脚本
- Post-Installation Script 安装后脚本
点击左上角的File,选择保存路径,至此,kickstart 文件制作完成
创建kickstart文件的方式有两种
-
直接手动编辑,依照某模板修改
在我们自己手动安装完系统之后,系统会根据当前安装系统中手动选择的选项,自动生成一个模板文件,存放在root目录下anaconda-ks.cfg文件模板 - 还有一种就是上面的方法,通过system-config-kickstart工具制作
将文件复制在/var/www/html/ksdir/目录下
如果是修改模板文件,在修改完成后,最好检查一下语法错误
ksvalidator /path/to/kickstart_file 检查kickstart文件是否错误
搭建DHCP
前提:
- 仅主机模式,
- 禁止在桥接模式
- 关闭vm虚拟编辑器dhcp
yum install dhcpd 安装DHCP服务 vim /etc/dhcp/dhcpd.conf 修改DHCP配置文件 **默认dhcp配置文件里面是空的,我们要借助dhcp示例文件** cp /usr/share//doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 配置文件如下 option domain-name "magedu.com"; 搜索域,在网络中获取DHCP服务器默认设置的搜索域名 option domain-name-servers 114.114.114.114, 223.5.5.5; DNS服务器 default-lease-time 86400 ; 默认租期时间,单位:秒 max-lease-time 864000; 最大租期时间,单位:秒 subnet 192.168.146.0 netmask 255.255.255.0 { range 192.168.146.10 192.168.146.100; 分配的IP范围 option routers 192.168.146.254; 网关 next-server 192.168.146.3; 指明引导文件的服务器IP filename "pxelinux.0"; 指明引导文件 } 启动服务 systemctl start dhcpd
搭建TFTP服务器
功能:
netx-server 192.168.146.3 指明tftp服务器的IP
通过DHCP服务器指定TFTP服务器的ip地址,进而我们安装的服务器可以连接到TFTP服务器,下载我们实现自动安装的必要文件
UDP:69安装
yum install tftp-server systemctl restart tftp
配置文件“
/var/lib/tftpboot tftp的工作目录,只要将文件放在该目录下,就可以提供客户端的下载
准备启动文件
安装引导文件 pxelinux.0
yum install syslinux
将pxelinux.0文件复制到tftp服务器的工作目录
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
制作启动菜单
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/ 更加简洁的启动菜单
复制启动相关文件
cp /mnt/isolinux/vmlinuz /var/lib/tftpboot/
cp /mnt/isolinux/initrd.img /var/lib/tftpboot/
制作光盘ISO
mkdir /var/lib/tftpboot/pexlinux.cfg
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
vim /var/lib/tftpboot/pxelinux.cfg/default
default修改文件如下
default menu.c32
timeout 60
menu title Auto Install centos
label Centos7
menu label ^Install CentOS_Mini 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.146.3/ksdir/ks7_mini.cfg
label local
menu default
menu label Boot from ^local drive
localboot 0xffff
完成
创建一个新的虚拟机
当出现下方图片时,快速按下ESC键
选择通过网络安装
当出现这个菜单,说明实验成功了
选择要安装的系统,进行安装。大功告成
进行多系统安装
想要进行多系统安装,我们只要修改/var/lib/tftpboot/pxelinux.cfg/default 文件
再添加lable
如添加centos6
label Centos6
menu label ^Install CentOS_Mini 6
kernel vmlinuz 需要指明具体路径
append initrd=initrd.img 指明具体路径 ks=http://192.168.146.3/ksdir/ks6_mini.cfg
注意:
centos7 用centos7的内核文件和驱动程序文件
centos6 用centos6的内核文件和驱动程序文件
制作好centos6的应答文件
如有错误和问题,请评论。渣渣一个,请大佬指正!!!!