• Cobbler


    Cobbler是一个开源项目,用来部署和安装系统。Cobbler不仅仅是一个pxe服务器,他还可以管理dns和dhcp。一般数据中心里或者生产环境,是不允许dhcp, 但是pxe需要使用dhcp,所以我们这里根据mac地址来分配IP,这样dhcp就不会影响现有网络了。

    1. 首先关闭selinux

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. sudo sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config  


    重新启动linux系统

    2. 关闭防火墙iptables

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. sudo chkconfig iptables off  
    2. sudo chkconfig ip6tables off  
    3. sudo /etc/init.d/iptables stop  
    4. sudo /etc/init.d/ip6tables stop  


    3. 安装 epel 包

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. sudo yum install http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm  


    4. 安装 Cobbler 和它需要的第三方工具包

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. sudo yum install cobbler cobbler-web xinetd pykickstart cman dhcp tftp-server bind   


    安装完成后需要设置几个服务自动启动

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. sudo chkconfig httpd on  
    2. sudo chkconfig dhcpd on  
    3. sudo chkconfig cobblerd on  
    4.   
    5. sudo service httpd start  
    6. sudo service cobblerd start  


    注:此时dhcpd应该启动失败,因为还没有对dhcp做配置。

    5. 配置
    5.1 修改/etc/xinetd.d/tftp

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. disable = yes  
    2. =>   
    3. disable = no  


    5.2 修改/etc/xinetd.d/rsync 

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. disable = yes  
    2. =>  
    3. disable = no  


    5.3 编辑 /etc/cobbler/settings 文件,设置以下各项,其中 192.168.145.102 是当前机器IP。

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. server: 192.168.145.102  
    2. next_server: 192.168.145.102  
    3. pxe_just_once: 1  
    4. manage_rsync: 1  
    5. manage_dhcp: 1  


    5.4 设置默认 root 用户的秘密

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. $ sudo openssl passwd -1 -salt 'random-phrase-here' 'Letmein'  


    然后将结果替换 /etc/cobbler/settings 文件中的
    default_password_crypted:

    5.5 设置 Cobbler Web访问的密码

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. sudo htdigest /etc/cobbler/users.digest "Cobbler" cobbler  


    5.6 编辑 /etc/cobbler/dhcp.template 文件,下面是我改动部分的配置信息

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. ...  
    2. subnet 192.168.145.0 netmask 255.255.255.0 {  
    3.      option routers             192.168.145.102;  
    4.      option domain-name-servers 192.168.145.1;  
    5.      option subnet-mask         255.255.255.0;  
    6.      #range dynamic-bootp        192.168.145.150 192.168.145.200;  
    7.      default-lease-time         21600;  
    8.      max-lease-time             43200;  
    9.      next-server                $next_server;  
    10.      filename           "/pxelinux.0";  
    11.      host test { # 为指定机器指定ip地址   
    12.          hardware ethernet 08:00:27:2C:30:8C;     
    13.          fixed-address 192.168.145.155;  
    14.      }  
    15. }  
    16. ...  


    注意:如果在现有网段内已经有DHCP服务器,需要把 range dynamic-bootp 注释掉,否则会有冲突。这个地方需要特别注意,要根据自己的网络情况来设置。

    5.7 重启服务

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. sudo service xinetd restart  
    2. sudo service httpd restart  
    3. sudo service cobblerd restart  


    5.8 启动和检测 cobbler

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. sudo cobbler get-loaders  
    2. sudo cobbler check  


    此时如果有错误,cobbler会提示,可以根据提示来修复。但是对参数的任何修改都需要使用下面的命令来使其生效

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. sudo cobbler sync  


    5.9 Web 测试

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. 访问 http://192.168.145.102/cobbler_web  
    2. 用户名/密码:cobbler/Letmein  


    6. 导入系统镜像
    这里假定使用CentOS-6.6-x86_64来测试

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. sudo mount -t auto -o loop /home/kongxx/share/os/CentOS-6.6-x86_64-bin-DVD1.iso /mnt  
    2. sudo cobbler import --path=/mnt --name=CentOS-6.6 --arch=x86_64  


    运行这两条命令后,可以使用下面的命令来查看了

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. $ sudo cobbler distro list  
    2. $ sudo cobbler profile list  


    也可以通过 Web 界面的 Distros 和 Profiles 来查看。

    7. 自动安装系统
    由于是在家里的虚拟机里做测试,所以没法使用 IPMI 来管理物理机。这里就只测试一下新的虚拟机可以通过PXE来自动安装系统。

    使用VirtualBox创建一个虚拟机,网络设置使用和上面同样的桥接模式。但是在 "虚拟机设置-> 系统 -> 启动顺序" 里把网络勾上并上移到第一位,然后启动虚拟机。此时就可以进入 Cobbler 的网络安装界面,选择上面创建的 CentOS-6.6-x86_64 然后就可以自动安装了。装完后,记得把虚拟机启动顺序改回到硬盘启动优先,然后就可以启动新安装的虚拟机了。

  • 相关阅读:
    NSURLConnection的异步请求方式
    <iOS>关于Xcode上的Other linker flags
    使用十六进制色值表示UIColor
    kubernetes & docker
    01 docker的安装与基本使用
    08 数组
    07 grep 正则
    06 信号处理和expect
    05 函数
    04 流程控制
  • 原文地址:https://www.cnblogs.com/mark-zhou/p/6118254.html
Copyright © 2020-2023  润新知