使用静态 IP 的 Pxe net 安装 Centos

使用静态 IP 的 Pxe net 安装 Centos

我似乎无法使用 netinstall 执行 centos5.8 的 kickstart 安装。它正确地进入了文本安装程序,但不断发出对 dhcp 服务器的请求并失败。我尝试在任何地方手动设置 IP。这是我的 pxelinux.cfg 文件

DEFAULT menu
PROMPT 0
MENU TITLE Ubuntu MAAS
TIMEOUT 200
TOTALTIMEOUT 6000
ONTIMEOUT local

LABEL centos5.8-net
        kernel /images/centos5.8-net/vmlinuz
        MENU LABEL centos5.8-net
        append initrd=/images/centos5.8-net/initrd.img ip=192.168.1.163 netmask=255.255.255.0 hostname=client101 gateway=192.168.1.1 ksdevice=eth0 dns=8.8.8.8 ks=http://192.168.1.125/cblr/svc/op/ks/profile/centos5.8-net

MENU end

这是我的 kickstart 文件:

# Kickstart file for a very basic Centos 5.8 system
# Assigns the server ip: 192.211.48.163
# DNS 8.8.8.8, 8.8.4.4
# London TZ

install
url --url http://mirror.centos.org/centos-5/5.8/os/i386
lang en_US.UTF-8
keyboard us
network --device=eth0 --bootproto=static --ip=192.168.1.163 --netmask=255.255.255.0 --gateway=192.168.1.1 --nameserver=8.8.8.8,8.8.4.4 --hostname=client1-server --onboot=on
rootpw --iscrypted $1$Snrd2bB6$CuD/07AX2r/lHgVTPZyAz/
firewall --enabled --port=22:tcp
authconfig --enableshadow --enablemd5
selinux --enforcing
timezone --utc Europe/London
bootloader --location=mbr --driveorder=xvda --append="console=xvc0"
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
part /boot --fstype ext3 --size=100 --ondisk=xvda
part pv.2 --size=0 --grow --ondisk=xvda
volgroup VolGroup00 --pesize=32768 pv.2
logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=528 --grow --maxsize=1056
logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow

%packages
@base
@core
@dialup
@editors
@text-internet
keyutils
iscsi-initiator-utils
trousers
bridge-utils
fipscheck
device-mapper-multipath
sgpio
emacs

这是我的 dhcp 文件:

ddns-update-style interim;

allow booting;
allow bootp;

ignore client-updates;
set vendorclass = option vendor-class-identifier;

subnet 192.168.1.0 netmask 255.255.255.0 {
        host tower {
                hardware ethernet          50:E5:49:18:D5:C6;
                fixed-address              192.168.1.163;
                option routers             192.168.1.1;
                option domain-name-servers 8.8.8.8,8.8.4.4;
                option subnet-mask         255.255.255.0;
                filename                   "/pxelinux.0";
                default-lease-time         21600;
                max-lease-time             43200;
                next-server                192.168.1.125;
        }
}

是否无法阻止它在尝试从网络安装之前请求动态 IP?也许我的文件中有错误?

我的 dhcp 服务器设置为忽略客户端更新,并且设置为在测试时仅适用于一个 mac 地址。

答案1

根据我的经验,有两个常见问题会导致这种情况。

1) 您可能会在控制台输出中发现,在安装的第二阶段(即启动第二个 DHCP 请求)之前,安装程序尚未释放您的启动设备。一些硬件供应商已发布 BIOS 更新来解决此问题。如果是这种情况,您将在控制台输出中看到一条消息,明确指出它无法使用该接口。

2) 如果您的接口是自动双工的,并且交换机未设置为“portfast”(Cisco 特定术语),则 kickstart 可能在尝试发送 DHCP 请求之前等待的时间不够长。即使启用了 portfast,服务器/交换机组合也可能需要太长时间进行协商。

您可以尝试将其添加到您的 tftp 启动文件中:

dhcptimeout=180 nicdelay=50 linksleep=50

答案2

尝试 ping 您正在设置的 ip,您也可以设置 ksdevice=eth0(如果适当的网线插入那里)尝试切换它们,它们可能会以不同的顺序出现。

据我所知,您无法明确禁用 DHCP,如果出于某种原因静态设置失败,DHCP 将回退。如果它无法访问 kickstart 文件,它将假定接口未启动,它将回退。

相关内容