Linux自动网络装机 —— Cobbler

前言:

最近整理一些之前的学习笔记。
过去都是存储在本地,这次传到网络留待备用。python


 

Cobblerlinux

  • 补鞋匠,快速创建linux网络装机环境,下降了linux装机的技术门槛
  • 官网: http://cobbler.github.io/
  • ps:
    • VMWare使用默认桥接便可
    • KVM须要建立桥接,不然不能使用pxe批量安装

 

1、搭建Cobbler服务

0.初始环境

]# yum-config-manager --add-repo http://mirrors.aliyun.com/repo/epel-7.repo     #部署yum源
]# systemctl stop firewalld                                                     #关闭防火墙
]# setenforce 0                                                                 #关闭selinux

1.安装相关软件

]# yum -y install dhcp httpd tftp rsync cobbler cobbler-web pykickstart xinetd
dhcp            //DHCP服务,分配ip
httpd           //Apache web服务,提供yum源
tftp-server     //TFTP服务,传送配置文件
rsync           //用于同步cobbler配置
cobbler         //cobbler程序包
pykickstart     //cobbler检查kickstart语法错误
xined           //提供tftp的daemon运行
cobbler-web     //可选,cobbler的web服务包
system-config-kickstart //可选,ks图形生成

2.配置cobbler配置文件

]# ps=`openssl passwd -1 -salt "自定义描述信息" "123456"`          //test随意字符串,生成密码123456
]# vim /etc/cobbler/settings
    101修改default_password_crypted: 生成的加密密码                //设置默认安全密码
]# sed -ri "s#(default_password_crypted: \")[^\"]*#\1$ps#" /etc/cobbler/settings
    242修改manage_dhcp:0为manage_dhcp:1                           //设置cobbler管理dhcp服务
]# sed -i "/manage_dhcp:/ s/0/1/" /etc/cobbler/settings
    261修改manage_rsync: 0为1                                     //接管rsync
]# sed -i "/manage_rsync:/s/0/1/" /etc/cobbler/settings
    272修改next_server: 192.168.4.1                               //设置下一个服务器为本机
]# sed -i "/next_server/ s/127.0.0.1/192.168.4.1/" /etc/cobbler/settings
    292修改pxe_just_once:0为pxe_just_once:1                       //防止客户端重复安装操做系统
]# sed -i "/pxe_just_once:/ s/0/1/" /etc/cobbler/settings
    384修改server:127.0.0.1为server:192.168.4.1                   //设置本机为cobbler服务器
]# sed -i "/^server:/ s/127.0.0.1/192.168.4.1/" /etc/cobbler/settings

3.配置cobbler的dhcp

  • 修改后会覆盖到本机dhcp的配置文件
]# vim /etc/cobbler/dhcp.template
subnet 192.168.4.0 netmask 255.255.255.0 {                    #设置网段,子网掩码
    option routers             192.168.4.1;                   #设置路由
    option domain-name-servers 192.168.4.1;                   #设置dns
    option subnet-mask         255.255.255.0;                 #子网掩码
    range dynamic-bootp        192.168.4.100 192.168.4.254;   #子网ip启末地址池
    ...
]# #vim /etc/sysconfig/dhcpd                //非必要
DHCPDARGS=private1                      //表示dhcp将只在private1网络接口上提供DHCP服务

4.配置tftp

]# sed -i "/disable/s/yes/no/" /etc/xinetd.d/tftp

5.获取cobbler其它引导文件

]# tar -xPf /root/桌面/Cobbler/cobbler_boot.tar.gz      #绝对路径解压
或下载
]# systemctl start cobblerd httpd                       #自动下载须要启动这两个服务
]# cobbler get-loaders                                  #下载其它引导文件

6.可选软件

  • 安装 debmirror,部署debian系统须要

    ]# yum -y install debmirror
    ]# sed -i "s/^@dists/#  @dists/" /etc/debmirror.conf
    ]# sed -i "s/^@arches/#  @arches/" /etc/debmirror.conf
  • 安装fence-agents或cman,管理电源选项使用

    ]# yum -y instalr

7.同步刷新cobbler配置

]# cobbler sync
]# systemctl restart dhcpd httpd tftp cobblerd rsyncd xinetd
]# cat /etc/dhcp/dhcpd.conf                                       #查看生成的dhcp配置文件
]# ss -utnlp | egrep "69|80|25251"

8.web登录

]# htdigest /etc/cobbler/users.digest "自定义描述信息" cobbler    #建立用户名
    #设置用户密码
]# yum -y install Django                                          #web的python组件,解决500错误
]# yum -y install python2-pip
]# pip install ipaddress
]# firefox https://192.168.4.1/cobbler_web                        #访问web页面
    #账号:cobbler  密码:123456

 

2、导入镜像

  • cobbler导入的镜像存放在:/var/www/cobbler/ks_mirror/引导名/
  • 注意保证目录的足够空间
  • 导入镜像
    ]# mount /dev/cdrom /dvd                                    #挂载本地镜像
    ]# cobbler import --path=/dvd --name=centos7 --arch=x86_64  #导入安装镜像
    ]# cobbler 导入 --系统镜像路径  --自定义镜像名 --系统架构
    ]# cobbler profile report                                   #查看cobler导入信息
    ]# cobbler profile list                                     #查看导入的镜像文件
    ]# cobbler distro list                                      #查看导入的镜像
    ]# #killall -9 dnsmasq                                      #虚拟化服务会干扰DHCP服务,干掉
  • 导入出错再次导入时会报错,解决方法
    ]# systemctl restart cobblerd; cobbler get-loaders      #解决,再次导入
    ]# cobbler signature update                             #依然报错执行后,再次导入
  • 添加第三方rpm仓库
    ]# cobbler repo add --name=自定义repo名 --mirror=repo的url      #添加repo
    ]# cobbler reposync                                             #同步repo到本地,要保证空间

 

3、修改kickstart文件:

  • kickstart自动应答文件
  • 默认kickstart文件存放位置:/var/lib/cobbler/kickstarts/
  • 生成ks文件
    • 图形ks生成工具:system-config-kickstart
      ]# yum -y install system-config-kickstart
      ]# vim /etc/yum.repos.d/nsd.repo        #搭建本地yum仓库,图形工具显示软件包须要
       [development]                          #cobbler图形工具要求标示源名必须是:development
       name=dvd
       baseurl=file:///dvd
       enabled=1
       gpgcheck=0
      ]# system-config-kickstart              #启动图形工具,应用程序-系统工具-kickstart
                                              #保存到/var/lib/cobbler/kickstarts/
      #注意: http安装要具体到镜像系统目录 --url=http://192.168.4.1/cobbler/ks_mirror/centos7-x86_64
    • 使用逻辑卷管理磁盘
      part pv.数字 --size=1 --grow --fstype="xfs" --ondisk=sda  #建立物理卷 --大小 --增加 --文件系统类型 --指定磁盘
      volgroup 卷组名 --siza=大小 物理卷
      logvol 挂载点 --name=逻辑卷名 --fstype="系统格式" --size=大小 --vgname=卷组名
    • 符号:
      @表明软件组
      直接写名字表明软件名
  • 修改镜像关联的ks文件
    ]# cobbler profile edit --name=镜像名 --kickstart=/var/lib/cobbler/kickstarts/对应的ks文件.cfg
    ]# cobbler profile report [profile名]       #确认修改
    ]# cobbler sync                             #每次修改profile都要同步
  • 修改镜像内核
    ]# #cobbler profile edit --name=CentOS-7.1-x86_64 --kopts='net.ifnames=0 biosdevname=0'

 

4、定制化安装

  • 装机页面定制化

    ]# vim /etc/cobbler/pxe/pxedefault.template
    DEFAULT menu
    PROMPT 0
    MENU TITLE Cobbler | http://cobbler.github.io/     #自定义选单标题,不能用中文
    TIMEOUT 200
    TOTALTIMEOUT 6000
    ONTIMEOUT CentOS-7-x86_64          //超时后自动执行的label,写入选项名
    ​LABEL local
        MENU LABEL (local)
        MENU DEFAULT                   //默认显示的选项
        LOCALBOOT -1
    $pxe_menu_items
    MENU end
    ]# cobbler sync

 

5、重装客户端

  • 客户端软件: Koan

]# yum -y install koan                                                  #客户端安装
]# koan --server=192.168.4.1 --list=profiles                            #查看服务器上的profile
]# koan --server=192.168.4.1 --display --profile=centos7-x86_64         #查看更多信息
]# koan --server=192.168.4.1 --replace-self --profile=centos7-x86_64    #从新安装已存在的系统
]# koan --server=192.168.4.1 --virt --profile=centos7-x86_64            #安装虚拟系统,须要qemu软件
]# koan --server=192.168.4.1 --update-config                            #根据cobbler定义更新系统
相关文章
相关标签/搜索