通过网络部署主机
无人值守安装
功能:
安装操作系统
给服务器安装操作系统。
windows-server 版
raid也是默认配置好的。
centos6 centos7
网络安装
技术组成:
dhcp:给被安装节点提供IP、等网络资源;指向tftp-server的地址;
tftp:给被安装节点提供引导文件,用于安装,包括 内核 驱动文件 等
ftp :给被安装节点提供安装源和安装索引文件
yum :提供软件安装源
准备工具
[root@ks-server ~]# yum install -y dhcp tftp-server xinetd syslinux vsftpd
1. DHCP
:%s///g 全局替换
:r /usr/share/doc
[root@ks-server /etc/dhcp]# vim dhcpd.conf
subnet 172.16.0.0 netmask 255.255.0.0 {
range 172.16.0.100 172.16.0.130;
option domain-name-servers 211.137.32.178;
option routers 172.16.0.254;
option broadcast-address 172.16.255.255;
default-lease-time 600;
max-lease-time 7200;
next-server 172.16.0.29; #指定tftp-server的IP,本机地址
filename "pxelinux.0"; #指定引导文件的名字
}
[root@ks-server ~]# systemctl start dhcpd
[root@ks-server ~]# netstat -anup | grep dhcpd
udp 0 0 0.0.0.0:67 0.0.0.0:* 1544/dhcpd
2. tftp + FTP
[root@ks-server ~]# vim /etc/xinetd.d/tftp
disable = no
允许客户端访问tftp
[root@ks-server ~]# systemctl start xinetd
[root@ks-server ~]# systemctl enable xinetd
[root@ks-server ~]# netstat -anup | grep xinetd
udp 0 0 0.0.0.0:69 0.0.0.0:* 1556/xinetd
3.挂载系统光盘
在/var/ftp下,创建iso/C7464挂载点
[root@ks-server /var/ftp]# mkdir -p iso/C7464
[root@ks-server /var/ftp]# mount /dev/sr0 iso/C7464/
设置自动挂载启动
[root@ks-server /var/ftp]# vim /etc/fstab
/dev/sr0 /var/ftp/iso/C7464 iso9660 defaults 0 0
修改配置文件
将 /var/ftp/iso/C7464/isolinux 下的所有文件拷贝到 /var/lib/tftpboot/
[root@ks-server /var/ftp/iso/C7464/isolinux]# cp * /var/lib/tftpboot/
vmlinuz 内核文件
initrd.img 驱动文件
isolinux.cfg 引导菜单(索引)文件
查找pxelinux.0的文件路径
[root@ks-server /var/lib/tftpboot]# find / -name pxelinux.0
/usr/share/syslinux/pxelinux.0
拷贝pxelinux.0文件到 /var/lib/tftpboot/
[root@ks-server /var/lib/tftpboot]# cp /usr/share/syslinux/pxelinux.0 .
创建目录
[root@ks-server /var/lib/tftpboot]# mkdir pxelinux.cfg
拷贝isolinux.cfg 到 pxelinux.cfg/default
[root@ks-server /var/lib/tftpboot]# cp isolinux.cfg pxelinux.cfg/default
[root@ks-server /var/lib/tftpboot]# vim pxelinux.cfg/default
label auto install C7 ##安装标签
menu label ^auto Install CentOS7 ##在安装过程中显示的
kernel vmlinuz ##内核文件
append initrd=initrd.img inst.stage2=ftp://172.16.0.29/iso/C7464 inst.ks=ftp://172.16.0.29/pub/ksC7464.cfg quiet
##驱动文件,安装源的位置,安装引导文件的位置
label install C7
menu label install CentOS7
menu default
kernel vmlinuz
append initrd=initrd.img inst.stage2=ftp://172.16.0.29/iso/C7464 quiet
menu end
其它开头带 label 配置删除...
说明一下,可以根据要部署的服务。在KS文件中分别设置不同的部署分区方案。
比如:
tomcat服务,opt,日志分区需要大一些。
nginx服务,/usr/local/nginx 分区大一些
只是说一下意思,具体要看自己的需求了。
启动vsftpd服务
[root@ks-server ~]# systemctl start vsftpd
[root@ks-server ~]# systemctl enable vsftpd
自动安装主机的配置要求
ks-server 安装完的节点,一定配置静态IP地址。
配置主机名
/etc/hosts
关闭selinux firewalld,已经完成。
安装常用的软件包:
关于ks文件:
安装过程中,操作的引导文件。
需要事先准备出来。
(1)使用图形化工具
(2)baidu
[root@ks-server ~]# ls
anaconda-ks.cfg 改 --> ks文件
anaconda-ks.cfg 作用:默认安装系统的初始化配置信息
[root@ks-server /var/ftp/pub]# lftp 172.16.0.99
lftp 172.16.0.99:~> cd pub
lftp 172.16.0.99:/pub> get ksC7464.cfg
参考
KS文件中sdb普通机安装部署
将sdb改成vdb适用于kvm部署
PXE客户机,
网线插第一个网口上
客户端提示fail kickstart …
检查服务端ftp服务是否启动
检查配置文件ip是否修改,文件名是否错误
客户机ip大于2G,虚拟硬盘大于200G
vsftpd服务无法启动
检查端口是否被占用,如果占用端口先结束对应进程后,再次运行vsftpd服务
安装时提示TFTP open timeout
检查端口是否正常,dhcp 67。 xinetd 69。 vsftpd
防火墙是否关闭,selinux是否关闭
如果是修改的/root/anaconda.cfg文件,需要赋予644权限,否则报错.
加载过程中终止,提示“No space left on device ”
检查虚拟机分配内存必须大于等于2048M/ 2G才能ks部署
在网上查有关报错的资料,只能查到U盘安装系统的报错,然后说是修改盘符之类的操作,但是操作之后并无卵用,还有就是根据第一个报错进bios关掉软盘,但是也无卵用。
最后找到了解决的办法,就是将客户端的内存提升到2G以上,这样的话就可以了。
我的客户端一开始是设置的1G,然后一直卡到上面的第二图那个界面,提升到2G后,重启就可以了。
错误案例3:
跳过滚动提示后,准备开始安装时提示:
valueerror new value non-existent xfs filesystem is not valid as a default fs type
解决方法:
这个是由于使用的initrd.img 和 vmlinuz 版本 与 将要安装的iso镜像不匹配导致的。
# 从挂载光盘的路径中拷贝两个文件,替换/var/lib/tftpboot/路径下的文件即可完美解决。
[root@node99 /var/ftp/iso/C7464/isolinux]# cp initrd.img /var/lib/tftpboot/initrd7.img
cp: overwrite ‘/var/lib/tftpboot/initrd7.img’? y
[root@node99 /var/ftp/iso/C7464/isolinux]# cp vmlinuz /var/lib/tftpboot/vmlinuz7
cp: overwrite ‘/var/lib/tftpboot/vmlinuz7’? y
也就是说,如果想更换安装版本,也要对应的更新这两个文件才行。