在centos7实现基于PXE安装centos6,7
安装dhcp、tftp、http、syslinux等相关服务
1 | [root@node01 ~]#yum -y install dhcp httpd tftp-server syslinux |
将光盘挂载到httpd共享目录下,将应答文件也放入其中
如果不知道应答文件如何制作,请移步至制作自动安装光盘和U盘篇了解
1 | [root@node01 ~]#mount /dev/sr0 /app/httpd/htdocs/centos/6/os/x86_64 |
将启动需要的相关引导文件拷贝到tftpd的默认目录下
1 | [root@node01 ~]#mkdir /var/lib/tftpboot/centos{6,7} |
最终tftp默认目录下的文件结构如下
1 | [root@node01 ~]#tree /var/lib/tftpboot/ |
其中引导菜单default的内容如下
1 | [root@node01 ~]#cat /var/lib/tftpboot/pxelinux.cfg/default |
dhcp配置文件中的子网分配如下
1 | [root@node01 ~]#cat /etc/dhcp/dhcpd.conf |
开启dhcp服务和tftp服务
1 | [root@node01 ~]#systemctl start dhcp tftpd.socket |
此时,在新建助理上就可以实现基于http的自动安装
利用cobbler制作自动安装centos
安装cobbler
1 | [root@node01 ~]#yum -y install cobbler |
启动cobbler等相关服务
1 | [root@node01 ~]#systemctl start httpd tftp.socket dhcpd cobblerd |
执行cobbler检查
1 | [root@node01 ~]#cobbler check |
根据check的提示信息修改cobbler配置文件,并执行相关动作
配置文件需要修改的内容为
1 |
|
修改完之后,执行动作使cobbler从github自动下载启动菜单
1 | [root@node01 ~]#cobbler get-loaders #如果节点不能访问互联网,需要安装syslinux包,然后复制/usr/share/syslinux/{pxelinux.0,memu.c32}等文件至/var/lib/cobbler/loaders/目录中 |
导入光盘镜像
1 | [root@node01 ~]#cobbler import --path=/app/httpd/htdocs/centos/7/os/x86_64/ --name=centos-7.5-x86_64 --arch=x86_64 |
向cobbler导入应答文件
1 | [root@node01 ~]#cp ks.cfg /var/lib/cobbler/kickstarts/ |
此时查看cobbler的引导文件中的菜单项会多出一项刚才添加的选项
1 | [root@node01 ~]#cat /var/lib/tftpboot/pxelinux.cfg/default |
查看cobbler distro列表
1 | [root@node01 ~]#cobbler distro list |
查看cobbler profile列表
1 | [root@node01 ~]#cobbler profile list |
同步cobbler配置
1 | [root@node01 ~]#cobbler sync |
此时,就可以在一个干净机器上基于http安装系统。
cobbler目录介绍
配置文件目录 /etc/cobbler
1 | /etc/cobbler/settings : cobbler 主配置文件 |
数据目录
1 | /var/lib/cobbler/config/: 用于存放distros,system,profiles 等信息配置文件 |
镜像目录
1 | /var/www/cobbler/ks_mirror/: 导入的发行版系统的所有数据 |
日志目录
1 | /var/log/cobbler/installing: 客户端安装日志 |
cobbler命令介绍
1 | cobbler check 核对当前设置是否有问题 |
cobbler重要参数
/etc/cobbler/settings中重要的参数设置
1 | default_password_crypted: "$1$gEc7ilpP$pg5iSOj/mlxTxEslhRvyp/" |
cobbler的web管理实现
安装cobbler-web
1 | [root@node01 ~]#yum -y install cobbler-web |
重启httpd服务
1 | [root@node01 ~]#systemctl reload httpd |
此时在浏览器就可以以可视化方式配置cobbler,并实现自动安装系统
用浏览器配置cobbler需要用户和口令,安装cobbler-web会自带一个用户cobbler,密码也是cobbler。也可以自己添加用户。
1 | [root@node01 ~]#htdigest /etc/cobbler/users.digest Cobbler username |
也可以更改cobbler用户验证方式,使用系统账户管理cobbler-web
验证方式在/etc/cobbler/modules.conf中修改
1 | [authentication] |
在系统中新建用户用户登录cobbler
1 | [root@node01 ~]#useradd -s /sbin/nologin cobbleradmin |
将用户信息添加到/etc/cobbler/users.conf中
1 | [root@node01 ~]#sed -n '/^[^#]/p' /etc/cobbler/users.conf |
此时,就可以使用此系统用户登录管理cobbler