pxe+Kickstart自动装机补充知识点

1、vmlinuz
vmlinuz是可引导的、压缩的内核。“vm”代表“Virtual Memory”。Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。
vmlinuz是可执行的Linux内核,它位于/boot/vmlinuz,它一般是一个软链接。

vmlinuz的建立有两种方式。
一是编译内核时通过“make zImage”创建,然后通过:“cp /usr/src/linux-2.4/arch/i386/linux/boot/zImage /boot/vmlinuz”产生。zImage适用于小内核的情况,它的存在是为了向后的兼容性。
二是内核编译时通过命令make bzImage创建,然后通过:“cp /usr/src/linux-2.4/arch/i386/linux/boot/bzImage /boot/vmlinuz”产生。bzImage是压缩的内核映像,
需要注意,bzImage不是用bzip2压缩的,bzImage中的bz容易引起误解,bz表示“big zImage”。 bzImage中的b是“big”意思。
zImage(vmlinuz)和bzImage(vmlinuz)都是用gzip压缩的。它们不仅是一个压缩文件,而且在这两个文件的开头部分内嵌有gzip解压缩代码。所以你不能用gunzip 或 gzip –dc解包vmlinuz。

内核文件中包含一个微型的gzip用于解压缩内核并引导它。两者的不同之处在于,老的zImage解压缩内核到低端内存(第一个640K),bzImage解压缩内核到高端内存(1M以上)。如果内核比较小,那么可以采用zImage 或bzImage之一,两种方式引导的系统运行时是相同的。大的内核采用bzImage,不能采用zImage。

vmlinux是未压缩的内核,vmlinuz是vmlinux的压缩文件。
我理解的技术vmlinuz是个压缩的内核

 

2、initrd-x.x.x.img
initrd是“initial ramdisk”的简写。initrd一般被用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态。initrd-2.4.7- 10.img主要是用于加载ext3等文件系统及scsi设备的驱动。
比如,使用的是scsi硬盘,而内核vmlinuz中并没有这个scsi硬件的驱 动,那么在装入scsi模块之前,内核不能加载根文件系统,但scsi模块存储在根文件系统的/lib/modules下。
为了解决这个问题,可以引导一 个能够读实际内核的initrd内核并用initrd修正scsi引导问题。initrd-2.4.7-10.img是用gzip压缩的文件。
linuxrc这个脚本initrd实现加载一些模块和安装文件系统等。 initrd映象文件是使用mkinitrd创建的。mkinitrd实用程序能够创建initrd映象文件。这个命令是RedHat专有的。
其它 Linux发行版或许有相应的命令。这是个很方便的实用程序。具体情况请看帮助:man mkinitrd。
我理解的是内核vmlinuz很小,没有scsi的驱动。而scsi的驱动在根目录/lib/modules下面,initrd.img就是能帮你引导scsi驱动等,它是个中间人

 

 

3、关于pxelinux.0的配置文件为什么起名为default

pxelinux会以IP地址的16进制表示来搜索配置文件,如果没找到去除最低一位继续找。如果所有匹配都失败,就使用default文件。

举例来说:
192.168.0.15 16进制表示是 C0A8000F.
它会搜索下面的配置文件,最先找到的会被使用。

pxelinux.cfg/C0A8000F
pxelinux.cfg/C0A8000
pxelinux.cfg/C0A800
pxelinux.cfg/C0A80
pxelinux.cfg/C0A8
pxelinux.cfg/C0A
pxelinux.cfg/C0
pxelinux.cfg/C
pxelinux.cfg/default

 

4、dhcp服务器有多块网卡时,查看状态时一些异常信息

下面一些报错没关系,主要是机器上有2个网卡,没针对另一个网卡划分信息什么的

 

 

 

5、现网中,无系统时不建议调启动项,不然安装完成后会一直重复循环安装。

 

6、为了防止批量部署失败,关闭虚拟机自带DHCP功能。

 

 7、dhcp配置文件解释

[root@ks syslinux]# cat /etc/dhcp/dhcpd.conf 
ddns-update-style none;    #设置与DHCP服务相关联的DNS数据动态更新模式,实际的DHCP应用中很少用改参数,设置为none即可。默认也是none
ignore client-updates;        #不允许客户机更新DNS记录
filename "pxelinux.0";      #告知客户端从TFTP根目录下载pexlinux.0
next-server 192.168.58.128;   #告知客户端TFTP服务器ip

subnet 192.168.58.0 netmask 255.255.255.0 {

        option routers                  192.168.58.2;  #设置客户机的网关
        option subnet-mask              255.255.255.0;    #设置netmask

        range dynamic-bootp 192.168.58.100 192.168.58.200; #可分配的起始IP-结束IP
        default-lease-time 21600;  #设置默认的IP租用期限   
        max-lease-time 43200;       #设置最大的IP租用期限
}
[root@ks syslinux]# 

  

如果dhcp服务器有多个网卡时可以设置只让某个网卡提供dhcp服务

[root@ks html]# cat /etc/sysconfig/dhcpd
# Command line options here
DHCPDARGS=
[root@ks html]# 

比如

[root@kickstart ~]# cat /etc/sysconfig/dhcpd  #修改/etc/sysconfig/dhcpd配置文件, 表示dhcp将只在eth0网络接口上提供DHCP服务。
# Command line options here
DHCPDARGS=eth0

  

 

8、关于tftp默认根目录由配置文件指定的    /var/lib/tftpboot

[root@ks html]# cat /etc/xinetd.d/tftp 
# default: off
# description: The tftp server serves files using the trivial file transfer \
#	protocol.  The tftp protocol is often used to boot diskless \
#	workstations, download configuration files to network-aware printers, \
#	and to start the installation process for some operating systems.
service tftp
{
	socket_type		= dgram
	protocol		= udp
	wait			= yes
	user			= root
	server			= /usr/sbin/in.tftpd
	server_args		= -s /var/lib/tftpboot
	disable			= no
	per_source		= 11
	cps			= 100 2
	flags			= IPv4
}
[root@ks html]# 

  

 

9、Kickstart安装大体过程

PXE+Kickstart安装系统大体过程
1、网卡上的pxe芯片有512字节,存放了dhcp和tftp的客户端
2、启动计算机选择网卡启动
3、pxe上的dhcp客户端向dhcp服务器申请IP地址
4、dhcp服务器分配它IP地址的同时通过以下字段告诉pxe,tftp的地址和它要下载的文件
(1) next-server 192.168.0.12;
(2) filename "pxelinux.0";
5、pxelinux.0 告诉pxe要下载的配置文件是pxelinux.cfg目录下面的default
6、pxe下载并根据配置文件内容下载启动必须的文件,并通过ks.cfg开始系统安装

 

posted on 2019-03-01 14:24  nmap  阅读(1617)  评论(0编辑  收藏  举报

导航