kickstart auto install system

网友投稿 687 2022-05-29

kickstart auto install

一、 centos HTTP web file

二、 DHCP install servers.

三、 Install tftp servers.

四、引导代码

五、编辑引导配置文件

六、 install kickstart

七、 测试:

kickstart auto install

一、 centos HTTP web file

二、 DHCP install servers.

三、 Install tftp servers.

四、引导代码

五、编辑引导配置文件

kickstart auto install system

六、 install kickstart

七、 测试:

kickstart auto install

无人值守自动化安装系统的必要条件 机器要有一个支持pxe(网络引导)的网卡 网络中必须存在相应的服务器 dhcp服务器:分配IP和指定下载引导代码的地址信息 tftp服务器: 提供引导代码的下载、提供安装向导的内核和驱动镜像文件 安装源服务器: 可以是ftp,http,nfs的形式提供,提供安装所需要的所有文件(来自系统光盘) 没有dhcp功能的隔离网络—> 用于测试网络安装的机器 静态IP 无人值守的原理: 设定机器使用网卡进行引导 开机,bois决定使用网卡引导,让网卡广播一个dhcp的请求数据包,期望dhcp服务器给本机分配一个IP(网络通信需要的IP信息/ 掩码等)并且告诉本机从哪个ip对应tftp服务器去下载引导代码 引导代码下载完毕之后,bios就把执行权限交给了引导代码,引导代码开始执行 引导代码执行之后: 读取引导配置文件去tftp服务器下载安装系统向导界面(其实也是一个专用的操作系统)所需要的内核和驱动镜像 引导程序的任务已经完成了,现在开始去执行内核(安装向导界面系统的内核),并且加载相应的驱动 可以在执行内核的时候传递一个ks的内核参数,告诉内核去根据该参数指定的配置文件,自动完成剩下安装步骤 在安装系统的过程中,所需要所有程序、文件都是来自网络中的服务器(ftp,http,nfs) TOOL: 此实验目前是在 centos 6.7 x64 上测试。

材料: centos 6 / dhcp / tftp / http

PC:

KS IP: 192.168.110.2

Client ip is none … / wait KS dhcp install centos system.

一、 centos HTTP web file

# mkdir -p /var/www/html/os # mount /dev/cdrom /var/www/html/os # vim /etc/fstab

/path/to/centos6.7.iso /var/www/html/os/ iso9660 defaults,ro,loop 0 0

# mkdir -p /var/www/html/os

# mount /path/to/centos6.7.iso /mnt

# cp -a /mnt/* /var/www/html/os

# vim /etc/yum.repos.d/centos-source.repo

[Base] name=Base baseurl=file:///var/www/html/os gpgcheck=0 enabled=1

# yum install httpd -y

OR:

# yum reinstall httpd -y

# chkconfig httpd on

确保selinux是关闭的

# getenforce # setenforce 0

setenforce: SELinux is disabled

# service httpd restart

测试: http://192.168.110.2/os

test okay.

二、 DHCP install servers.

# yum install dhcp -y # cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf # vim /etc/dhcp/dhcpd.conf

option domain-name “www.jbboo.com”;

default-lease-time 600;

max-lease-time 7200;

添加以下两行

allow booting; allow bootp; log-facility local7; subnet 192.168.110.0 netmask 255.255.255.0 { range 192.168.110.100 192.168.110.200; next-server 192.168.110.2; #指定tftp服务器的ip,就是kickstart本机的 filename “pxelinux.0”; #指定引导代码文件的名字 option routers 192.168.110.1; }

# chkconfig dhcpd on # service dhcpd start

三、 Install tftp servers.

# yum install tftp-server xinetd -y # vim /etc/xinetd.d/tftp

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 }

# chkconfig xinetd on # service xinetd restart # lsof -i:69

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

xinetd 2385 root 5u IPv4 12615 0t0 UDP *:tftp

四、引导代码

部署tftp上的引导代码以及引导配置文件

# yum install syslinux -y # cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ # cp /var/www/html/os/isolinux/* /var/lib/tftpboot/ # ls /var/lib/tftpboot

boot.cat

>> initrd.img(安装向导的驱动) memtest splash.jpg vmlinuz(安装向导的内核) boot.msg isolinux.bin pxelinux.0 TRANS.TBL grub.conf isolinux.cfg pxelinux.cfg vesamenu.c32

# mkdir /var/lib/tftpboot/pxelinux.cfg # cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

五、编辑引导配置文件

label mylinux # label mylinux与其他条目区分开 menu label ^Kickstar install centos6 # menu显示的条目的名字 centos6 menu default # menu 把其他label条目下的menu default注释掉 kernel vmlinuz append initrd=initrd.img ks=http://192.168.110.2/ks/ct6.cfg # ks告诉安装向导的内核,去哪里下载无人值守安装脚本

编辑kickstar配置文件 确定执行创建配置文件的工具的系统已经配置好相应系统的yum源

六、 install kickstart

# yum install system-config-kickstart pykickstart -y # mkdir /var/www/html/ks # system-config-kickstart

生成配置文件之后,把配置文件保存服务器上,保证可以通过http://192.168.110.2/ks/os6.cfg获得

or export so6.cfg contents: # basic configuration install lang zh_CN keyboard us timezone Asia/Chongqing rootpw --iscrypted $1$MBmhHOa1$U/HipMT.BB4Y17tQZgJPW0 # Display configuration text skipx # Authentication authconfig --enabledshadow --enablemd5 # Installation method url --url="http://192.168.31.10/os/ct5" logging --level=info reboot # Boot Loader Options bootloader --location=mbr # Partition Information zerombr clearpart --all --initlabel part /boot --fstype="ext3" --size=100 part / --fstype="ext3" --size=5000 part swap --fstype="swap" --size=512 # Network Configuration network --onboot=yes --bootproto=dhcp --device=eth0 --noipv6 --hostname minimal # Firewall Configuration firewall --disabled selinux --disabled # Package Selection %packages audit-libs basesystem bash binutils bzip2 bzip2-libs centos-release centos-release-notes chkconfig coreutils cpio cracklib cracklib-dicts crontabs cyrus-sasl-lib db4 device-mapper device-mapper-event device-mapper-multipath dhclient diffutils dmraid dmraid-events e2fsprogs e2fsprogs-libs elfutils-libelf ethtool expat filesystem findutils fipscheck fipscheck-lib gawk gdbm glib2 glibc glibc-common grep grub gzip hmaccalc info initscripts iproute iputils iscsi-initiator-utils kbd kernel keyutils-libs kpartx krb5-libs less libacl libattr libcap libgcc libselinux libsepol libstdc++ libsysfs libtermcap libuser libutempter libxml2 logrotate lvm2 m2crypto MAKEDEV mcstrans mingetty mkinitrd mktemp module-init-tools nano nash ncurses net-tools nspr nss openldap openssh openssh-clients openssh-server openssl pam passwd pcre popt procps psmisc python python-elementtree python-iniparse python-libs python-sqlite python-urlgrabber readline redhat-logos rootfiles rpm rpm-libs rpm-python sed setup sgpio shadow-utils sqlite sysklogd SysVinit tar tcp_wrappers termcap tzdata udev usermode util-linux vim-minimal vixie-cron wget which yum yum-fastestmirror yum-metadata-parser zlib -atk -audit-libs-python -authconfig -binutils -bitstream-vera-fonts -cairo -checkpolicy -cryptsetup-luks -cups-libs -dbus -dbus-glib -dbus-libs -dhcpv6-client -dmidecode -ecryptfs-utils -ed -file -fontconfig -freetype -gnu-efi -gnutls -gtk2 -hal -hdparm -hicolor-icon-theme -hwdata -keyutils -kudzu -libgcrypt -libgpg-error -libhugetlbfs -libjpeg -libpng -libselinux-python -libselinux-utils -libsemanage -libtiff -libusb -libvolume_id -libX11 -libXau -libXcursor -libXdmcp -libXext -libXfixes -libXft -libXi -libXinerama -libXrandr -libXrender -newt -pango -pciutils -pm-utils -policycoreutils -prelink -rsyslog -selinux-policy -selinux-policy-targeted -setools -setserial -slang -sysfsutils -tcl -trousers -udftools -xorg-x11-filesystem @base -abrt-plugin-mailx -abrt-plugin-sosreport %end

七、 测试:

启动一个处于同一个网段的客户机去测试 Client: … wait KS dhcp install centos system.

Linux 网络

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python教你打军体拳
下一篇:分布式名词收集(二)
相关文章