设为首页 收藏本站
查看: 1808|回复: 0

[经验分享] 自动化部署PXE+Kickstart VS Cobbler

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-12-23 08:46:09 | 显示全部楼层 |阅读模式
                                                               QQ截图20151223084456.png
Kickstart;无人值守安装方式,配置文件的问答安装
PXE+kickstart部署
QQ截图20151223084506.png
挂载
1
2
3
4
[iyunv@linux-node1 ~]#mount /dev/cdrom /mnt   
##createrepo可以创建仓库
[iyunv@linux-node1 ~]#yum install -y httpd createrepo  
[iyunv@linux-node1 ~]#mkdir /var/www/html/CentOS-7.1-x86_64



把仓库复制到本地

1
[iyunv@linux-node1 ~]#cp -a /mnt/* /var/www/html/CentOS-7.1-x86_64/



创建yum仓库


1
createrepo -pdo/var/www/html/CentOS-7.1-x86_64/ /var/www/html/CentOS-7.1-x86_64/




安装tftp dhcp xinetd
1
2
3
[iyunv@linux-node1 ~]#yum install -y tftp-server dhcp xinetd
[iyunv@linux-node1 ~]#vim /etc/xinetd.d/tftp   ##把tftp打开
disable                 = no




上传kickstart的配置文件
1
[iyunv@linux-node1 ~]#cd /var/www/html/CentOS-7.1-x86_64/




测试能不能访问
1
2
[iyunv@linux-node1 ~]#curl --head http://10.0.0.7/CentOS-7.1-x86_64/CentOS-7.1-x86_64.cfg
HTTP/1.1 200 OK




应答文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
[root@linux-node1CentOS-7.1-x86_64]# cat CentOS-7.1-x86_64.cfg
#KickstartConfigurator by Reid
#platform=x86, AMD64,or Intel EM64T
#System  language
lang en_US
#System keyboard
keyboard us
#Sytem timezone
timezone Asia/Shanghai
#Root password
#rootpw --iscrypted$default_password_crypted
rootpw --iscrypted$1$ops-node$7hqdpgEmIE7Z0RbtQkxW20
#Use text mode install
text
#Install OS instead ofupgrade
install
#Use NFS installationMedia
#url --url=$tree
url --url=http://10.0.0.7/CentOS-7.1-x86_64
#System bootloaderconfiguration
bootloader--location=mbr
#Clear the Master BootRecord
zerombr
#Partition clearinginformation
clearpart --all--initlabel
#Disk partitioninginformation
part /boot --fstypexfs --size 1024 --ondisk sda
part swap --size 16384--ondisk sda
part / --fstype xfs--size 1 --grow --ondisk sda
#System authorizationinfomation
auth  --useshadow --enablemd5
#Network information
#$SNIPPET('network_config')
network--bootproto=dhcp --device=eth0 --onboot=on
# Reboot afterinstallation
reboot
#Firewallconfiguration
firewall --disabled
#SELinux configuration
selinux --disabled
#Do not configureXWindows
skipx
  
#Package installinformation
%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




修改dhcp的配置文件
1
2
3
4
5
6
7
8
[iyunv@linux-node1 ~]#cd /usr/share/doc/dhcp-4.1.1/
[root@linux-node1dhcp-4.1.1]# cp dhcpd.conf.sample /etc/dhcp/dhcpd.conf
subnet 10.0.0.0netmask 255.255.255.0 {
  range dynamic-bootp 10.0.0.100 10.0.0.200;
  option subnet-mask 255.255.255.0;
  next-server 10.0.0.7;
  filename "pxelinux.0";
}







启动服务
1
2
3
4
5
6
7
8
9
[iyunv@linux-node1 ~]#/etc/init.d/dhcpd start
[iyunv@linux-node1 ~]#/etc/init.d/httpd start
[iyunv@linux-node1 ~]#/etc/init.d/xinetd start
[iyunv@linux-node1 ~]# netstat -ntulp
Active Internetconnections (only servers)
Proto Recv-Q Send-QLocal Address               ForeignAddress             State       PID/Program name         
tcp        0     0 :::80                      :::*                        LISTEN     4055/httpd               
udp        0     0 0.0.0.0:67                 0.0.0.0:*                              4155/dhcpd         
udp        0     0 0.0.0.0:69                 0.0.0.0:*                              4165/xinetd





tftp 里面一些准备文件,一些组信息,内核镜像,pxelinux.0

1
2
3
4
5
6
7
8
9
10
11
[iyunv@linux-node1 ~]#yum install -y syslinux
[iyunv@linux-node1 ~]#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/   ###把pxelinux.0拷贝到tftp的启动目录
[iyunv@linux-node1 ~]#cp /mnt/isolinux/* /var/lib/tftpboot/  ###拷贝启动镜像:vmlinuz(内核) initrd.img(映像) boot.msg(启动选单)
[iyunv@linux-node1 ~]#mkdir /var/lib/tftpboot/pxelinux.cfg
[iyunv@linux-node1 ~]#cd /var/lib/tftpboot/pxelinux.cfg/
[root@linux-node1pxelinux.cfg]# cp /mnt/isolinux/isolinux.cfg default
[root@linux-node1pxelinux.cfg]# vim default   ##写一个安装的CentOS 7
label ks
  menu label ^AUTO CentOS 7
  kernel vmlinuz
  append initrd=initrd.imgks=http://10.0.0.7/CentOS-7.1-x86_64/CentOS-7.1-x86_64.cfg






创建组信息
1
[iyunv@linux-node1 ~]#createrepo -g `ls /var/www/html/CentOS-7.1-x86_64/repodata/*-comps.xml`/var/www/html/CentOS-7.1-x86_64/





Cobbler


可以解决Kickstart繁琐的工作,实现自动化

安装需要的包

1
2
3
[iyunv@linux-node1 ~]#yum install cobbler cobbler-web dhcp tftp-server pykickstart  httpd -y
[iyunv@linux-node1 ~]#/etc/init.d/httpd restart
[iyunv@linux-node1 ~]#/etc/init.d/cobblerd start






检查
1
2
[iyunv@linux-node1 ~]#cobbler check  
The following arepotential configuration items that you may want to fix:





Step 1 + 2

1
2
3
4
vim/etc/cobbler/settings  
server: 10.0.0.7
next_server:10.0.0.7   ###PXE的东西放置在那里
manage_dhcp: 1    ##修改成1 ,cobbler管理dhcp





Step 3

1
cobbler get-loaders





Step 4

1
2
3
[iyunv@linux-node1 ~]#vim /etc/xinetd.d/rsync
change 'disable' to'no'
[iyunv@linux-node1 ~]#/etc/init.d/xinetd restart





Step 5

1
2
3
4
5
vim/etc/cobbler/settings  
openssl passwd -1-salt 'reid' 'reid'    ###第一个reid是加严,第二个是密码
default_password_crypted:"$1$reid$fXF8f078vI9J/q9XyXA8e/"
[iyunv@linux-node1 ~]#/etc/init.d/cobblerd restart  ##修改settings重启
[iyunv@linux-node1 ~]#cobbler check     ###修改完需要check





Step 6
修改dchp.template,因为已经由cobbler修改

1
2
3
4
5
6
7
vim /etc/cobbler/dhcp.template
subnet 10.0.0.0netmask 255.255.255.0 {
     option routers             10.0.0.2;
     option domain-name-servers 10.0.0.2;
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        10.0.0.100 10.0.0.200;
[iyunv@linux-node1 ~]#cobbler sync   ##修改完需要同步





Step 7
导入镜像

1
2
3
4
5
6
7
8
9
10
11
12
13
[iyunv@linux-node1 ~]#cobbler import --path=/mnt/ --name=CentOS-7.1-x86_64 --arch=x86_64  
/var/www/cobbler/ks_mirror/  ###镜像的存入位置
[iyunv@linux-node1 ~]#cobbler list   
distros:   ##创建一个仓库
   CentOS-7.1-x86_64
profiles:  ##创建一个配置
   CentOS-7.1-x86_64
[iyunv@linux-node1 ~]#cobbler profile report  ##多个要指定—name
Kickstart                      :/var/lib/cobbler/kickstarts/sample_end.ks
Kernel Options                 : {}    ###网卡要修改eth0,所以要修改kernal参数
  
KS文件放这里: cd /var/lib/cobbler/kickstarts/
[iyunv@linux-node1kickstarts]# mv Cobbler-CentOS-7.1-x86_64.cfg CentOS-7.1-x86_64.cfg




添加内核参数
1
2
3
cobbler profile edit--name=CentOS-7.1-x86_64--kickstart=/var/lib/cobbler/kickstarts/CentOS-7.1-x86_64.cfg
cobbler profile edit--name=CentOS-7.1-x86_64 --kopts='net.ifnames=0 biosdevname=0'  ##添加内核参数
cobbler sync



修改Cobbler提示

1
vim /etc/cobbler/pxe/pxedefault.template



用MAC地址,这里可以设定自动安装不提示先把本地


1
cobbler system add--name=reid --mac=00:0C:29:22:E1:9C --profile=CentOS-7.1-x86_64 --ip-address=10.0.0.111--subnet=255.255.255.0 --gateway=10.0.0.2 --interface=eth0 --static=1--hostname=reid.example.com --name-servers="114.114.114.1148.8.8.8"






找一以新机器先设置BIOS:虚拟机----》电源-----》打开电源时进入固件----》boot----》Networkboot from Intel E1000(安装完再设置回HD)
QQ截图20151223084527.png


安装成功

QQ截图20151223084533.png



cobbler web介面
1
2
3
4
[iyunv@linux-node1 ~]#cat /etc/httpd/conf.d/cobbler_web.conf  
https://10.0.0.7/cobbler_web     ##新版默认是https
username:cobbler
passoword:cobbler



QQ截图20151223084538.png


CentOS 7一些操作变化:
  1.取消ifconfig(需要安装yum install net-tools),使用ip addr 查看IP地址。  
  2.使用firewalld 取代 iptables。
  3.系统默认编码设置文件,由/etc/sysconfig/i18n  更改为 /etc/locale.conf





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-154989-1-1.html 上篇帖子: openmeetings修改登录页面和主页title求助帖 下篇帖子: RHEL6启动原理和故障恢复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表