zoukankan      html  css  js  c++  java
  • 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开始系统安装

  • 相关阅读:
    poplib
    【redis】哨兵模式
    no route to host
    修改文件失败,提示E509: 无法创建备份文件 (请加 ! 强制执行)
    【mysql】开启binlog后异常:impossible to write to binary log since BINLOG_FORMAT = STATEMENT
    rar
    manage.py命令
    zipfile
    【windows】git密码失效修改方式
    自动发现式推送数据,一次返回所有数据
  • 原文地址:https://www.cnblogs.com/nmap/p/6661900.html
Copyright © 2011-2022 走看看