cobbler实现网卡bound
多年前的笔记,觉得有些用处
可能遇到的问题
我安装cobbler的机器是一台snat服务器,上面有4块网卡, 我们做了网卡bond(mode=4) 并且做了trunk, 而我们要装系统的服务器也都是多块硬盘(系统盘raid1 ssd, 业务盘sas raid50),也做了网卡bond
下面把遇到的问题及解决方法列出
-
Warning /dev/root does not exist
cobbler distro edit --name=centos7.4-x86_64 --kopts="inst.repo=http://10.11.12.2/cobbler/ks_mirror/centos7.4-x86_64/" -
Kickstart: storage configuration failed: failed to find a suitable stage1 device
安装就卡在这里了, 从上面的界面我们可以看到[X]和[!] 这说明 ks文件是找到了,但是硬盘设备配置的有问题
bootloader --location=mbr --driveorder=sdaclearpart --all --initlabel --drives=sdaignoredisk --only-use=sda -
最重要的也是要最先检查的就是你的ks文件语法是否正确
在创建profile时,是可以指定你要使用哪个ks文件的cobbler profile add --name=centos7.4--distro=centos7.4-x86_64 --kickstart=/var/lib/cobbler/kickstarts/sample_end.ks下面的命令可以看到你的profile使用了哪个ks文件
[root@ops-gateway ~]# cobbler profile report centos7.4Name : centos7.4TFTP Boot Files : {}Comment :DHCP Tag :defaultDistribution : centos7.4-x86_64Enable gPXE? :0Enable PXE Menu? :1Fetchable Files : {}Kernel Options : {}Kernel Options (Post Install) : {}Kickstart : /var/lib/cobbler/kickstarts/sample_end.ksKickstart Metadata : {}Management Classes : []Management Parameters : <<inherit>>Name Servers : []Name Servers Search Path : []Owners : ['admin']Parent Profile :Internal proxy :Red Hat Management Key : <<inherit>>Red Hat Management Server : <<inherit>>Repos : []Server Override : <<inherit>>Template Files : {}Virt Auto Boot :1Virt Bridge : xenbr0Virt CPUs :1Virt Disk Driver Type : rawVirt File Size(GB) :5Virt Path :Virt RAM (MB) :512Virt Type : xenpv一定要检查这个页面确认ks文件语法没有问题
执行cobbler sync后 检查一下日志 /var/log/cobbler/cobbler.log
-
当其他机器pxe引导没问题时,有几台pxe就是引导不了,还可能是因为获取不到dhcp的分配的ip
journalctl -u dhcpd -f用这个命令看一下是不是有这个报错
Oct 19 16:44:56 dhcpd[67804]: DHCPDISCOVER from 20:04:0f:ed:a3:84 via bond5.30: network 10.11.11.0/24: no free leases
Oct 19 16:46:00 dhcpd[67804]: DHCPDISCOVER from 20:04:0f:ed:1e:c8 via bond5.30: network 10.11.11.0/24: no free leases
Oct 19 16:46:04 dhcpd[67804]: DHCPDISCOVER from 20:04:0f:ed:1e:c8 via bond5.30: network 10.11.11.0/24: no free leases修复方法把 /etc/cobbler/dhcp.template 下面3项修改一下
range dynamic-bootp10.11.12.10010.11.12.200;default-lease-time600;max-lease-time600;
cobbler kickstart文件内容
# This kickstart file should only be used with EL > 5 and/or Fedora > 7.# For older versions please use the sample.ks kickstart file.#platform=x86, AMD64, or Intel EM64T# System authorization informationauth --useshadow --enablemd5# System bootloader configurationbootloader --location=mbr --driveorder=sda# Partition clearing informationclearpart --all --initlabel --drives=sdaignoredisk --only-use=sda# Use text mode installtext# Firewall configurationfirewall --disabled# Run the Setup Agent on first bootfirstboot --disable# System keyboardkeyboard us# System languagelang en_US# Use network installationurl --url=$tree# If any cobbler repo definitions were referenced in the kickstart profile, include them here.$yum_repo_stanza# Network information$SNIPPET('network_config')# Reboot after installationreboot#Root passwordrootpw --iscrypted $default_password_crypted# SELinux configurationselinux --disabled# Do not configure the X Window Systemskipx# System timezonetimezone Asia/Shanghai# Install OS instead of upgradeinstall# Clear the Master Boot Recordzerombr# Allow anaconda to partition the system as neededautopart%pre$SNIPPET('log_ks_pre')$SNIPPET('kickstart_start')$SNIPPET('pre_install_network_config')# Enable installation monitoring$SNIPPET('pre_anamon')%end%packages --ignoremissing$SNIPPET('func_install_if_enabled')@base@core%end%post --nochroot$SNIPPET('log_ks_post_nochroot')%end%post --interpreter /bin/bash$SNIPPET('log_ks_post')# Start yum configuration$yum_config_stanza# End yum configuration$SNIPPET('post_install_kernel_options')$SNIPPET('post_install_network_config')$SNIPPET('func_register_if_enabled')$SNIPPET('download_config_files')$SNIPPET('koan_environment')$SNIPPET('redhat_register')$SNIPPET('cobbler_register')# Enable post-install boot notification$SNIPPET('post_anamon')# Start final steps$SNIPPET('kickstart_done')# End final stepscat >> /root/mac_to_ip << EOF10.11.1.30 10.11.11.30 20:04:0F:EC:B3:DC10.11.1.31 10.11.11.31 20:04:0F:ED:1E:AC10.11.1.32 10.11.11.32 20:04:0F:ED:22:B010.11.1.33 10.11.11.33 20:04:0F:ED:1E:A810.11.1.34 10.11.11.34 20:04:0F:ED:1E:BCEOFcur_mac=`ethtool -P eno1|awk '{print $NF}'`cur_ip=`grep -i ${cur_mac} /root/mac_to_ip | awk '{print $2}'`cur_gw=`echo $cur_ip|awk -F. 'BEGIN{OFS="."}{print $1,$2,$3,1}'`cat >/etc/sysconfig/network-scripts/ifcfg-bond4 <<EOF1BOOTPROTO=staticDEVICE=bond4NAME=bond4TYPE=BondBONDING_MASTER=yesONBOOT=yesIPADDR=$cur_ipNETMASK=255.255.255.0GATEWAY=$cur_gwBONDING_OPTS="mode=4 miimon=100 lacp_rate=1"EOF1cat << EOF2 >/etc/sysconfig/network-scripts/ifcfg-eno1TYPE=EthernetBOOTPROTO=noneNAME=eno1DEVICE=eno1ONBOOT=yesMASTER=bond4SLAVE=yesEOF2cat << EOF3 >/etc/sysconfig/network-scripts/ifcfg-eno2TYPE=EthernetBOOTPROTO=noneNAME=eno2DEVICE=eno2ONBOOT=yesMASTER=bond4SLAVE=yesEOF3cat << EOF4 >/etc/sysconfig/network-scripts/ifcfg-eno3TYPE=EthernetBOOTPROTO=noneNAME=eno3DEVICE=eno3ONBOOT=yesMASTER=bond4SLAVE=yesEOF4cat << EOF5 >/etc/sysconfig/network-scripts/ifcfg-eno4TYPE=EthernetBOOTPROTO=noneNAME=eno4DEVICE=eno4ONBOOT=yesMASTER=bond4SLAVE=yesEOF5echo 'alias bond4 bonding' > /etc/modprobe.d/bond4.conf%end |
distro配置
[root@ops-gateway kickstarts]# cobbler distro report centos7.4-x86_64Name : centos7.4-x86_64Architecture : x86_64TFTP Boot Files : {}Breed : redhatComment :Fetchable Files : {}Initrd : /var/www/cobbler/ks_mirror/centos7.4-x86_64/images/pxeboot/initrd.imgKernel : /var/www/cobbler/ks_mirror/centos7.4-x86_64/images/pxeboot/vmlinuzKernel Options (Post Install) : {}Management Classes : []OS Version : rhel7Owners : ['admin']Red Hat Management Key : <<inherit>>Red Hat Management Server : <<inherit>>Template Files : {}[root@ops-gateway kickstarts]# cobbler profile report centos7.4Name : centos7.4TFTP Boot Files : {}Comment :DHCP Tag : defaultDistribution : centos7.4-x86_64Enable gPXE? : 0Enable PXE Menu? : 1Fetchable Files : {}Kernel Options : {}Kernel Options (Post Install) : {}Kickstart : /var/lib/cobbler/kickstarts/sample_end.ksKickstart Metadata : {}Management Classes : []Management Parameters : <<inherit>>Name Servers : []Name Servers Search Path : []Owners : ['admin']Parent Profile :Internal proxy :Red Hat Management Key : <<inherit>>Red Hat Management Server : <<inherit>>Repos : []Server Override : <<inherit>>Template Files : {}Virt Auto Boot : 1Virt Bridge : xenbr0Virt CPUs : 1Virt Disk Driver Type : rawVirt File Size(GB) : 5Virt Path :Virt RAM (MB) : 512Virt Type : xenpv |
下面是 机器可以正常与 cobbler dhcp 通信的日志 journalctl -u dhcpd --no-pager -f
Mar 14 15:25:18 dhcpd[39174]: Sending on Socket/fallback/fallback-netMar 14 15:52:55 dhcpd[39174]: DHCPDISCOVER from ac:1f:6b:78:d8:44 via bond5.30Mar 14 15:52:56 dhcpd[39174]: DHCPOFFER on 10.11.11.218 to ac:1f:6b:78:d8:44 via bond5.30Mar 14 15:52:59 dhcpd[39174]: DHCPREQUEST for 10.11.11.218 (10.11.11.2) from ac:1f:6b:78:d8:44 via bond5.30Mar 14 15:52:59 dhcpd[39174]: DHCPACK on 10.11.11.218 to ac:1f:6b:78:d8:44 via bond5.30Mar 14 15:53:21 dhcpd[39174]: DHCPDISCOVER from ac:1f:6b:78:d8:44 via bond5.30Mar 14 15:53:21 dhcpd[39174]: DHCPOFFER on 10.11.11.218 to ac:1f:6b:78:d8:44 via bond5.30Mar 14 15:53:21 dhcpd[39174]: DHCPREQUEST for 10.11.11.218 (10.11.11.2) from ac:1f:6b:78:d8:44 via bond5.30Mar 14 15:53:21 dhcpd[39174]: DHCPACK on 10.11.11.218 to ac:1f:6b:78:d8:44 via bond5.30Mar 14 15:53:35 dhcpd[39174]: DHCPREQUEST for 10.11.11.218 from ac:1f:6b:78:d8:44 via bond5.30Mar 14 15:53:35 dhcpd[39174]: DHCPACK on 10.11.11.218 to ac:1f:6b:78:d8:44 via bond5.30 |
如果 ifconfig 中网卡的显示名称不是你想要的, 修改方法如下 link
You may also want to make sure that you configure a udev rule, so that this will work on the next reboot too. The path for udev moved in CentOS 7 to /usr/lib/udev/rules.d/60-net.rules but you are still able to manage it the same way. If you added "net.ifnames=0 biosdevname=0" to your kernel boot string to return to the old naming scheme for your nics, you can removeACTION=="add", SUBSYSTEM=="net", DRIVERS=="?*", ATTR{type}=="1", PROGRAM="/lib/udev/rename_device", RESULT=="?*", NAME="$result"And replace it withACTION=="add", SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:50:56:8e:3f:a7", NAME="eth123" |

浙公网安备 33010602011771号