设为首页收藏本站

LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区!

 找回密码
 注册

QQ登录

只需一步,快速开始

#公告#抱歉,网站将关闭,不再开放。由于PC时代已远逝 。在这个后移动互联网时代,我们继续携手前行,保持对技术的热情。共同构建linuxtone知识星球欢迎加入,一起讨论技术、招聘人才、分享资源。请新老linuxtone人 扫码移步到 知识星球:linuxtone

学习是一种信仰!分享是一种快乐!能力= 心态 * 沟通 * 知识 (你的每一天需要正能量!)

 网站的发展需要你贡献一份力量!希望你能每天坚持看贴1小时,并回答网友的问题!祝你在浏览论坛的过程中取得进步!谢谢!linuxtone加油!大家加油! 友情提示: 你今天学习了吗?你今天进步了吗?少一点抱怨!多一点进步!Life is short ! Why not linuxtone ?  

网站的发展、感谢每位坛友的努力!

查看: 6034|回复: 11

通过Cobbler实现自动化安装FreeBSD [复制链接]

Rank: 7Rank: 7Rank: 7

签到
210
注册时间
2009-2-27
最后登录
2014-8-22
在线时间
89 小时
阅读权限
100
积分
17465
帖子
74
主题
27
精华
4
UID
1627
发表于 2012-9-11 14:59:27 |显示全部楼层
1. 挂载FreeBSD镜像
  1. mount -t iso9660 -o loop FreeBSD-8.3-RELEASE-amd64-disc1.iso  /mnt
复制代码
2. 导入镜像文件到Cobbler
  1. cobbler import --name=FreeBSD-8.3 --arch=x86_64 --path=/mnt
  2. 我们在导入过程中可能会提示TASK FAILED
复制代码


可以忽略

3. 修改loader.conf
  1. echo vfs.root.mountfrom=\"ufs:/dev/md0\" >> /var/www/cobbler/ks_mirror/FreeBSD-8.3-x86_64/boot/loader.conf
  2. echo vfs.root.mountfrom.options=\"rw\" >> /var/www/cobbler/ks_mirror/FreeBSD-8.3-x86_64/boot/loader.conf
复制代码
4. 挂载mfsroot.gz
  1. 将/var/www/cobbler/ks_mirror/FreeBSD-8.3-x86_64/boot/mfsroot.gz拷贝到一台FreeBSD机器上后,执行如下命令
  2. gzip -d mfsroot.gz
  3. mdconfig -atvnode -f mfsroot
  4. mount /dev/md0 /mnt
复制代码
5. 建立自动安装配置文件install.cfg
  1. cd /mnt
  2. cat > install.cfg < < EOF
  3. debug=YES
  4. nonInteractive=YES
  5. noConfirm=YES
  6. noWarn=YES
  7. disk=mfid0
  8. partition=all
  9. bootManager=standard
  10. diskPartitionEditor
  11. mfid0s1-1=ufs 0 /
  12. diskLabelEditor
  13. tryDHCP=YES
  14. netDev=bce0
  15. hostname=tFreeBSD
  16. distSetMinimum
  17. nfs=1.1.1.1:/var/www/cobbler/ks_mirror/FreeBSD-8.3-x86_64
  18. mediaSetNFS
  19. installCommit
  20. shutdown
  21. EOF
复制代码
6. 将install.cfg合并到mfsroot
  1. cd ~
  2. umount /mnt
  3. mdconfig -d -u0
  4. gzip mfsroot
  5. 再通过网络传输到Cobbler服务器覆盖原/var/www/cobbler/ks_mirror/FreeBSD-8.3-x86_64/boot/目录下的mfsroot.gz文件
复制代码
7. 安装配置nfs服务器
  1. # 默认FreeBSD的网络引导程序pxeboot只支持nfs,如果想支持tftp需要自行重新编译这个程序
  2. yum install -y nfs-utils
  3. echo "/var/www/cobbler/ks_mirror/FreeBSD-8.3-x86_64 *(ro,root_squash)" > /etc/exports
  4. /etc/init.d/rpcbind start
  5. /etc/init.d/nfs start
复制代码
8. 更改Cobbler的dhcp模板文件dhcp.template
  1. # ******************************************************************
  2. # Cobbler managed dhcpd.conf file
  3. #
  4. # generated from cobbler dhcp.conf template ($date)
  5. # Do NOT make changes to /etc/dhcpd.conf. Instead, make your changes
  6. # in /etc/cobbler/dhcp.template, as /etc/dhcpd.conf will be
  7. # overwritten.
  8. #
  9. # ******************************************************************

  10. ddns-update-style interim;
  11. ignore client-updates;
  12. deny unknown-clients;
  13. allow booting;
  14. allow bootp;

  15. ignore client-updates;
  16. set vendorclass = option vendor-class-identifier;

  17. subnet 192.168.2.0 netmask 255.255.255.0 {
  18.      option routers             192.168.2.1;
  19.      option domain-name-servers 192.168.2.12;
  20.      option subnet-mask         255.255.255.0;
  21.      # range dynamic-bootp        192.168.2.235 192.168.2.236;
  22.      # filename                   "/pxelinux.0";
  23.      filename                   "/images/FreeBSD-8.3-x86_64/pxeboot";
  24.      option root-path           "192.168.2.134:/var/www/cobbler/ks_mirror/FreeBSD-8.3-x86_64";
  25.      default-lease-time         21600;
  26.      max-lease-time             43200;
  27.      group pxe {
  28.           next-server                192.168.2.134;
  29.           host test{
  30.                hardware ethernet 11:11:11:11:11:11;
  31.                fixed-address 192.168.2.235;
  32.           }
  33.      }
  34. }

  35. #for dhcp_tag in $dhcp_tags.keys():
  36.     ## group could be subnet if your dhcp tags line up with your subnets
  37.     ## or really any valid dhcpd.conf construct ... if you only use the
  38.     ## default dhcp tag in cobbler, the group block can be deleted for a
  39.     ## flat configuration
  40. # group for Cobbler DHCP tag: $dhcp_tag
  41. group {
  42.         #for mac in $dhcp_tags[$dhcp_tag].keys():
  43.             #set iface = $dhcp_tags[$dhcp_tag][$mac]
  44.     host $iface.name {
  45.         hardware ethernet $mac;
  46.         #if $iface.ip_address:
  47.         fixed-address $iface.ip_address;
  48.         #end if
  49.         #if $iface.hostname:
  50.         option host-name "$iface.hostname";
  51.         #end if
  52.         #if $iface.netmask:
  53.         option subnet-mask $iface.netmask;
  54.         #end if
  55.         #if $iface.gateway:
  56.         option routers $iface.gateway;
  57.         #end if
  58.         #if $iface.enable_gpxe:
  59.         if exists user-class and option user-class = "gPXE" {
  60.             filename "http://$cobbler_server/cblr/svc/op/gpxe/system/$iface.owner";
  61.         } else {
  62.             filename "undionly.kpxe";
  63.         }
  64.         #else
  65.         filename "$iface.filename";
  66.         #end if
  67.         ## Cobbler defaults to $next_server, but some users
  68.         ## may like to use $iface.system.server for proxied setups
  69.         next-server $next_server;
  70.         ## next-server $iface.next_server;
  71.     }
  72.         #end for
  73. }
  74. #end for
复制代码
9. 同步Cobbler配置
  1. cobbler sync
复制代码
现在就可以通过网络自动安装FreeBSD系统了

该贴已经同步到 atkisc的微博

Rank: 8Rank: 8

注册时间
2009-8-18
最后登录
2016-3-27
在线时间
249 小时
阅读权限
90
积分
36816
帖子
194
主题
16
精华
0
UID
4865
发表于 2012-9-11 15:45:37 |显示全部楼层
好文,学习一下。

使用道具 举报

Rank: 8Rank: 8

注册时间
2011-9-16
最后登录
2019-8-23
在线时间
902 小时
阅读权限
90
积分
247221
帖子
2158
主题
2
精华
0
UID
15647
发表于 2012-9-12 21:51:32 |显示全部楼层
感谢楼主分享,终于可以回复了。

使用道具 举报

Rank: 6Rank: 6

注册时间
2008-6-13
最后登录
2014-8-6
在线时间
219 小时
阅读权限
70
积分
8688
帖子
971
主题
181
精华
0
UID
74

LT粉丝

发表于 2012-9-12 22:52:56 |显示全部楼层
文档写的很清晰、简洁,非常好!

Cobbler可以作WEB化装机管理吗?

我一直想做个WEB管理的装机系统,输入IP,选择系统的版本,可以自定义一些脚本,一点按钮就安装好了,

安装完以后将硬件信息主动上报我的资产DB系统里
工作太忙,不上QQ/MSN,但每天会上LinuxTone学习!

使用道具 举报

Rank: 8Rank: 8

注册时间
2011-6-26
最后登录
2017-6-16
在线时间
276 小时
阅读权限
90
积分
36006
帖子
374
主题
7
精华
0
UID
14691
发表于 2012-9-13 08:35:54 |显示全部楼层
楼主 图挂了一个

使用道具 举报

Rank: 7Rank: 7Rank: 7

注册时间
2009-2-27
最后登录
2014-8-22
在线时间
89 小时
阅读权限
100
积分
17465
帖子
74
主题
27
精华
4
UID
1627
发表于 2012-9-17 08:37:12 |显示全部楼层
斗战剩佛 发表于 2012-9-13 08:35
楼主 图挂了一个

可能是我链接到我blog的图的原因(blog在linode),我在下面重新贴一个图

使用道具 举报

Rank: 7Rank: 7Rank: 7

注册时间
2009-2-27
最后登录
2014-8-22
在线时间
89 小时
阅读权限
100
积分
17465
帖子
74
主题
27
精华
4
UID
1627
发表于 2012-9-17 08:39:47 |显示全部楼层
nginxman 发表于 2012-9-12 22:52
文档写的很清晰、简洁,非常好!

Cobbler可以作WEB化装机管理吗?

可以通过web管理cobbler
可以针对不同机器安装不通系统,并定义不通脚本
想写入你的资产DB,可能需要你二次开发下了。

使用道具 举报

Rank: 8Rank: 8

注册时间
2010-12-25
最后登录
2018-1-17
在线时间
344 小时
阅读权限
90
积分
156934
帖子
64
主题
9
精华
0
UID
11573
发表于 2012-9-17 11:05:53 |显示全部楼层
好文,学习了。

使用道具 举报

Rank: 6Rank: 6

注册时间
2011-10-20
最后登录
2014-2-20
在线时间
36 小时
阅读权限
70
积分
9699
帖子
130
主题
2
精华
0
UID
15807
发表于 2013-2-26 11:14:16 |显示全部楼层
不错的文档,收藏了,辛苦了楼主。
好久木有回来了,感觉真亲切!

使用道具 举报

Rank: 6Rank: 6

注册时间
2010-12-29
最后登录
2014-11-17
在线时间
67 小时
阅读权限
70
积分
8449
帖子
106
主题
6
精华
0
UID
11626
发表于 2013-3-3 19:32:21 |显示全部楼层
如果二次开发,还是自己搭pxe+ks装机服务器了
装机系统本身还是不难

使用道具 举报

Rank: 8Rank: 8

注册时间
2012-1-9
最后登录
2014-7-21
在线时间
136 小时
阅读权限
90
积分
39866
帖子
4
主题
0
精华
0
UID
17234
发表于 2013-8-13 10:43:09 |显示全部楼层
楼主  请问如果是用RootOnZFS的模式安装Freebsd,可以用Cobbler实现吗?

使用道具 举报

Rank: 8Rank: 8

注册时间
2012-1-9
最后登录
2014-7-21
在线时间
136 小时
阅读权限
90
积分
39866
帖子
4
主题
0
精华
0
UID
17234
发表于 2013-8-13 10:45:50 |显示全部楼层
楼主  请问如果是用RootOnZFS的模式安装Freebsd,可以用Cobbler实现吗?

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

IT运维专家网感谢您的支持

合作联系: QQ:67888954/MSN:cnseek@msn.com/mail:netseek@linuxtone.org

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2019-8-23 19:57 , Processed in 0.025186 second(s), 10 queries , Apc On.

Powered by Discuz! X2 Licensed

© 2001-2011 Comsenz Inc.

回顶部