kickstart auto install system
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.
四、引導代碼
五、編輯引導配置文件
六、 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小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。