pxe + kickstart 工做概述mysql
一、網卡上的pxe芯片有512字節,存放了DHCP和TFTP的客戶端。linux
二、啓動計算機選擇網卡啓動。ios
三、pxe上的DHCP客戶端會向DHCP服務器,申請IPc++
四、DHCP服務器分配給它IP地址的同時經過如下字段,告訴pxe,TFTP的地址和它要下載的文件web
如:next-server xxx.xxx.xxx.xxx sql
filename "pxelinux.0"vim
五、pxelinux.0告訴pxe要下載的配置文件是pxelinux.cfg目錄下面的defaultcentos
六、pxe下載並依據配置文件的內容下載啓動必須的文件,並經過ks.cfg開始系統安裝。服務器
----------------------------------------網絡
cobbler功能
使用一個之前定義的模板來配置DHCP服務(若是啓用了管理DHCP)
將一個存儲庫(yum或rsync)創建鏡像或者解壓縮一個媒介,以註冊一個新操做系統
在DHCP配置文件中爲須要安裝的機器建立一個條目,並 使用你指定的參數(IP和Mac地址)
在TFTP服務目錄下建立適當的pxe文件
從新啓動DHCP服務以反映更改
從新啓動機器以開始安裝(若是電源管理已啓用)
一、安裝yum源
[root@localhost ~]# rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
二、安裝對應的服務
[root@localhost yum.repos.d]# yum -y install ncurses-devel gcc gcc-c++
[root@localhost yum.repos.d]# yum install -y httpd dhcp tftp cobbler cobbler-web pykickstart
[root@localhost httpd]# yum install cobbler dhcp xinetd fence-agents pykickstart ed patch perl perl-Compress-Zlib perl-Digest-SHA perl-LockFile-Simple perl-libwww-perl
三、進入目錄
[root@localhost yum.repos.d]# cd /etc/httpd/conf.d/
四、啓動系統服務
[root@localhost httpd]# systemctl start httpd
[root@localhost httpd]# systemctl start cobblerd
五、查看端口
[root@localhost httpd]# ss -ntlp
六、關閉防火牆
[root@localhost httpd]# iptables -F
[root@localhost httpd]# iptables -t nat -F
[root@localhost httpd]# systemctl stop firewalld
七、去掉提示
[root@localhost httpd]# echo "unset MAILCHECK">> /etc/profile
八、修改防火牆
九、執行命令cobbler check
根據提示修改配置文件
[root@localhost httpd]# vi /etc/cobbler/settings
vi 小技巧
當前光標刪除到行尾 直接大 D
修改第二個配置文件
[root@localhost httpd]# vim /etc/xinetd.d/tftp
啓動rsyncd服務
[root@localhost httpd]# systemctl start rsyncd
十、執行命令下載網絡安裝文件
[root@localhost httpd]# cobbler get-loaders
十一、設置密碼
[root@localhost httpd]# openssl passwd -1 -salt 'cobler' 'qq******'
會生成一串隨機密碼
修改配置文件
[root@localhost httpd]# vi /etc/cobbler/settings
將密碼替換成隨機生成的密碼串,替換引號部分,注意隨機密碼串,生成的所有都是密碼
十一、重啓服務
[root@localhost httpd]# systemctl restart cobblerd
[root@localhost httpd]# cobbler check
十二、修改DHCP參數
[root@localhost httpd]# vi /etc/cobbler/settings
1三、修改dhcp模板配置文件
[root@localhost httpd]# vim /etc/cobbler/dhcp.template
重啓服務
[root@localhost httpd]# systemctl restart cobblerd
[root@localhost httpd]# cobbler sync
系統自動生成DHCP
1四、執行掛載鏡像
[root@localhost httpd]# mount /dev/cdrom /mnt/
mount: /dev/sr0 is write-protected, mounting read-only
1五、自動導入鏡像
[root@localhost httpd]# cobbler import --path=/mnt/ --name=Centos-7-x86_64 --arch=x86_64
鏡像會導入到這個目錄下
[root@localhost ~]# cd /var/www/cobbler/ks_mirror/
[root@localhost ks_mirror]# ls
Centos-7-x86_64 config
[root@localhost ks_mirror]#
導入完成
執行卸載,切換鏡像,而後在導入一個centos6的系統
查看 cobbler命令
[root@localhost httpd]# cobbler profile
查看鏡像列表
[root@localhost httpd]# cobbler profile list
自定義kickstart文件
[root@localhost kickstarts]# cobbler profile edit --name=Centos-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos-7-x86_64.cfg
[root@localhost kickstarts]# vi centos-7-x86_64.cfg ##配置文件內容
lang en_US
keyboard us
timezone Asia/Shanghai
rootpw --iscrypted $default_password_crypted
text
install
url --url=$tree
bootloader --location=mbr
zerombr
clearpart --all initlabel
part /boot --fstype xfs --size 1024 --ondisk sda
part swap --size 1024 --ondisk sda
part / --fstype xfs --size 1 --grow --ondisk sda
auth --useshadow --enablemd5
$SNIPPET('network_config')
reboot
firewall --disabled
selinux --disabled
skipx
%pre
$SNIPPET('log_ke_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
$SNIPPET('pre_anamon')
%end
%packages
@ base
@ core
sysstat
iptraf
ntp
lrzsz
ncurses-devel
openssl-devel
zlib-devel
OpenIPMI-tools
mysql
nmap
screen
%end
%post
systemctl disable postfix.service
%end
加上內核參數
[root@localhost kickstarts]# cobbler profile edit --name=Centos-7-x86_64 --kopts='net.ifnames=0 biosdevname=0'
查看加入的內核參數
[root@localhost kickstarts]# cobbler profile report Centos-7-x86_64
執行命令,從新生成文件
更改文件必須執行 cobbler sync
[root@localhost kickstarts]# cobbler sync
啓動服務
[root@localhost ks_mirror]# systemctl start xinetd
安裝完成