您的位置:新葡亰496net > 电脑系统 > 新葡亰496netcobbler无人值守批量安装Linux系统

新葡亰496netcobbler无人值守批量安装Linux系统

发布时间:2019-12-01 03:19编辑:电脑系统浏览(116)

    kickstart cobbler连串文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html**


    一、cobbler 介绍;


    本文目录:

     

    1.1 pxe安装系统

    pxe的大约进程如下图。

    新葡亰496net 1

    中间pxelinux.0为bootloader。pxelinux.cfg目录下的文书(平常接纳暗许的default文件卡塔尔(英语:State of Qatar)定义了安装操作系统前的菜单项,如kernel和Initrd的门路,kickstart的路子等。

    首先客商端诉求pxe服务器上的dhcp,dhcp上钦点了next-server和filename,它们各自是tftpd之处和pxelinux.0的路子;然后客商端乞请tftpd获取pxelinux.0,执行pxelinux.0后将教导踏向安装分界面,随后拿到pxelinux.cfg目录下的文件并读取此中的布置,从当中获得kernel和initrd的路线所在,假如有定义kickstart项则还有或许会去赢得kickstart文件并读取配置;再然后客商端央浼获取kernel和initrd文件,以开展内核并步向到根文件系统;最终客商端获取成功系统设置所需的任何文件,那么些文件能够是在pxe的本土,也得以是互连网络等能收获到的地点。

    在翻阅本文在此之前,假设不懂pxe kickstart,建议先读书下,对学习cobbler很有协助。能够参照作者所写的pxe kickstart文章。

    新葡亰496net, 

    1.1 pxe安装系统

    Cobbler 是叁个系统运转服务(boot server),能够经过网络运营(PXE)的不二法门用来异常的快安装、重装物理服务器和设想机,扶助安装分裂的 Linux 发行版和 Windows。该工具使用python开荒,小巧轻易(才15k行代码),使用简便的通令就可以成功PXE网络安装景况的计划,同一时间还是能够管理DHCP,DNS,以致yum包镜像。

    1.2 cobbler基本介绍

    cobbler能够用作是一个越来越多效果与利益的pxe,它达成系统安装和pxe也基本上,要求的文件和进度大概都生龙活虎致。

    cobbler能自动管理dns/tftp/dhcp/rsync那多少个服务(但如同对tftp的军事拘系有个别bug,须求手动运营tftp卡塔尔,且cobbler信任于httpd(pxe扶植http/nfs/ftp卡塔尔(قطر‎。

    骨干的类别安装,cobbler只需生成多个distro和三个profile就可以。

    distro也就是叁个镜像,它提供安装系统经过中所需的全体文件,如vmlinuz,initrd以至rpm包等。

    profile的意义是为了活动修正pxelinux.cfg/default文件,每生成或涂改贰回profile,都会在default文件中期维改良或增添对应的label。

    而外distro/profile之外,cobbler还管理system/images/repositories等,但是用的少之又少。

    1.2 cobbler基本介绍

    Linux学习,http:// linux.it.net.cn

    1.3 安装和安排cobbler

    1.3 安装和布署cobbler

    新葡亰496netcobbler无人值守批量安装Linux系统。 

    1.3.1 安装cobbler

    cobbler在epel源中提供。由于还凭仗于httpd、dhcp,所以httpd和dhcp也理应装上。

    yum -y install cobbler cobbler-web pykickstart debmirror httpd dhcp
    

    个中cobbler-web是提供web管理分界面包车型客车,pykicstart是检查kicstart文件语法错误的,debmirror是维护debian源的工具,此处用不上但有依赖关系,所以装上。

    设置后,在/etc/cobbler生成以下文件。

    [root@xuexi ~]# cd /etc/cobbler/
    
    [root@xuexi cobbler]# ls
    auth.conf       distro_signatures.json  modules.conf    reporting           tftpd.template  zone_templates
    cheetah_macros  dnsmasq.template        mongodb.conf    rsync.exclude       users.conf
    cobbler_bash    import_rsync_whitelist  named.template  rsync.template      users.digest
    completions     iso                     power           secondary.template  version
    dhcp.template   ldap                    pxe             settings            zone.template
    

    新葡亰496net 2

    先启动httpd,再启动cobblerd。

    [root@xuexi cobbler]# systemctl start httpd.service
    [root@xuexi cobbler]# systemctl start cobblerd.service
    
    [root@xuexi cobbler]# netstat -tnlp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name  
    tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1298/sshd          
    tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1402/master        
    tcp        0      0 127.0.0.1:25151             0.0.0.0:*                   LISTEN      14091/python2       
    tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      2261/mysqld        
    tcp        0      0 :::22                       :::*                        LISTEN      1298/sshd          
    tcp        0      0 ::1:25                      :::*                        LISTEN      1402/master        
    tcp        0      0 :::443                      :::*                        LISTEN      14037/httpd        
    tcp        0      0 :::80                       :::*                        LISTEN      14037/httpd
    

    启航现在,首西施行cobbler check检查计划是还是不是科学。依据提醒修改有关的安顿项。

    [root@xuexi cobbler]# cobbler check
    The following are potential configuration items that you may want to fix:
    
    1 : The 'server' field in /etc/cobbler/settings must be set to something other than localhost, or kickstarting features will not work.  This should be a resolvable hostname or IP for the boot server as reachable by all machines that will use it.
    2 : For PXE to be functional, the 'next_server' field in /etc/cobbler/settings must be set to something other than 127.0.0.1, and should match the IP of the boot server on the PXE network.
    3 : some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run 'cobbler get-loaders' to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely.  Files in this directory, should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The 'cobbler get-loaders' command is the easiest way to resolve these requirements.
    4 : change 'disable' to 'no' in /etc/xinetd.d/rsync
    5 : comment out 'dists' on /etc/debmirror.conf for proper debian support
    6 : comment out 'arches' on /etc/debmirror.conf for proper debian support
    7 : ksvalidator was not found, install pykickstart
    8 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed, try: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one
    9 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them
    
    Restart cobblerd and then run 'cobbler sync' to apply changes.
    

    第后生可畏和第贰个难点:

    [root@xuexi cobbler]# vim /etc/cobbler/settings
    
    next_server: 172.16.10.10
    server: 172.16.10.10
    

    其多少个难题:获取pxelinux.0和menu.c32文件(对于centos来说只需那四个文本卡塔尔(英语:State of Qatar),能够像pxe相似从syslinux包中手动复制到/var/lib/cobbler/loaders目录下,也足以执行cobbler get-loaders自动下载,但必要联网。

    [root@xuexi cobbler]# cobbler get-loaders
    

    第七个难点:有相当大也许该难点不是那般的,而是说要将rsyncd.service使用给start且enable,只需systemctl enable rsyncd,systemctl start rsyncd。

    [root@xuexi cobbler]# vim /etc/xinetd.d/rsync
    disable=no
    
    [root@xuexi cobbler]# service xinetd start
    

    第5、6个难题,注释掉/etc/debmirror.conf中相关项就可以。

    第7个难题:因为前边设置的时候写成了pykicstart,所以出错了这里。

    [root@xuexi cobbler]# yum -y install pykickstart
    

    第8个问题:

    [root@xuexi cobbler]# openssl passwd -1 -salt `openssl rand -hex 8` '123456'
    $1$77e1022c$D9rxuxUWdc0NN46gzj9XT.
    
    [root@xuexi cobbler]# vim /etc/cobbler/settings
    default_password_crypted: "$1$77e1022c$D9rxuxUWdc0NN46gzj9XT."
    

    第八个难点和电源管理有关,不用管了。直接重启cobbler,然后cobbler sync。

    [root@xuexi cobbler]# service cobblerd restart
    
    [root@xuexi cobbler]# cobbler check
    The following are potential configuration items that you may want to fix:
    1 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them
    
    [root@xuexi cobbler]# cobbler sync
    

     cobbler sync命令用于将tftpboot目录和/var/www/cobbler保持最新,当/var/lib/cobbler或许kickstart文件发出了转换,应该实行壹回cobbler sync只怕直接重启cobbler服务。

    1.3.1 安装cobbler

    Cobbler 使用命令市价势管理,也提供了基于 Web 的界面管理工科具(cobbler-web),还提供了API接口,能够方便叁遍开荒使用。 IT网,

    1.3.2 配置dhcp和tftp

    假设在/etc/cobbler/setting中安装了manage_dhcp:1,表示由cobbler管理dhcp(暗许为0即人为手动管理卡塔尔,则cobbler管理的dhcp的布置模板/etc/cobbler/dhcp.template会覆盖/etc/dhcp/dhcpd.conf中布局,所以应这个学院勘dhcp.template。

    此间接选举拔默许的不由cobbler管理dhcp。

    [root@xuexi cobbler]# yum-y install dhcp
    [root@xuexi cobbler]# vim /etc/dhcp/dhcpd.conf
    ddns-update-style none;
    default-lease-time 259200;
    max-lease-time 518400;
    subnet 172.16.10.0 netmask 255.255.255.0 {
            range 172.16.10.20 172.16.10.50;
            option subnet-mask 255.255.255.0;
            next-server 172.16.10.10;          # tftp的地址
            filename "pxelinux.0";             # pxelinux.0的路径,此为tftp根目录(/var/lib/tftpboot)的相对路径
    }
    
    [root@xuexi cobbler]# service dhcpd restart
    

    有关tftp,在/etc/cobbler/settings中默许启用了由cobbler管理tftp,所以这里无需配置它。只要驾驭它的根目录为/var/lib/tftpboot就能够。但是借使前边装系统的时候借使找不到tftp(应该是cobbler管理tftp的bug卡塔尔国,则手动运维tftp就可以。

    1.3.2 配置dhcp和tftp

    Cobbler提供以下服务集成:
    PXE服务支撑
    DHCP服务管理
    DNS服务管理(可选bind,dnsmasq卡塔尔(قطر‎
    电源管理
    Kickstart服务支撑
    yum酒店管理
    TFTP (PXE运转时需求卡塔尔 Linux学习,http:// linux.it.net.cn
    Apache(提供kickstart 的设置源,并提供定制化的kickstart配置卡塔尔国 IT网,

    1.4 cobbler从本地光盘安装系统

    1.4 cobbler从地点光盘安装系统

    再者,它和apache做了纵深整合。通过 cobbler,能够实现对RedHat/Centos/Fedora系统的敏捷安顿,同一时候也支撑Suse 和Debian(Ubuntu卡塔尔(قطر‎系统。 Linux学习,http:// linux.it.net.cn

    1.4.1 生成distro

    生成distro的措施有各个,能够从地面镜像导入生成,也得以依赖网络上的财富转移。显明,从本地转移的频率是最棒的。

    从地面导入的进度实际上是将系统镜像中的文件复制到/var/www/cobbler/目录(暗中同意卡塔尔(英语:State of Qatar)下。

    mkdir /mnt
    mount /dev/cdrom /mnt
    cobbler import --name=CentOS7.2 --path=/mnt
    

    等待导入完结,则意味着distro生成完毕。

    [root@xuexi cobbler]# ls -l /var/www/cobbler/images/CentOS7.2-x86_64/
    total 38056
    -r--r--r-- 3 root root 34815427 Oct 24  2014 initrd.img
    -r-xr-xr-x 3 root root  4152336 Oct 24  2014 vmlinuz
    
    [root@xuexi cobbler]# ls -l /var/www/cobbler/ks_mirror/CentOS7.2/   # 此目录完全来源于镜像
    total 340
    -r--r--r-- 1 root root     14 Oct 24  2014 CentOS_BuildTag
    dr-xr-xr-x 3 root root   4096 Oct 24  2014 EFI
    -r--r--r-- 1 root root    212 Nov 28  2013 EULA
    -r--r--r-- 1 root root  18009 Nov 28  2013 GPL
    dr-xr-xr-x 3 root root   4096 Oct 24  2014 images
    dr-xr-xr-x 2 root root   4096 Oct 24  2014 isolinux
    dr-xr-xr-x 2 root root 278528 Oct 24  2014 Packages
    -r--r--r-- 1 root root   1354 Oct 20  2014 RELEASE-NOTES-en-US.html
    dr-xr-xr-x 2 root root   4096 Oct 24  2014 repodata
    -r--r--r-- 1 root root   1706 Nov 28  2013 RPM-GPG-KEY-CentOS-6
    -r--r--r-- 1 root root   1730 Nov 28  2013 RPM-GPG-KEY-CentOS-Debug-6
    -r--r--r-- 1 root root   1730 Nov 28  2013 RPM-GPG-KEY-CentOS-Security-6
    -r--r--r-- 1 root root   1734 Nov 28  2013 RPM-GPG-KEY-CentOS-Testing-6
    -r--r--r-- 1 root root   3380 Oct 24  2014 TRANS.TBL
    

    确保url路径

    新葡亰496net 3

     

    1.4.1 生成distro

    cobbler装机系统是较在这里以前kickstart的升迁版,优点比较便于配置,还自带web分界面相比比较容易于管理,不足在于中文资料超少。和 Kickstart区别的是,使用cobbler不会因为在局域网中运转了dhcp而以致有个别机器因为私下认可从pxe运转在重启服务器后加载tftp内容招致运转终止。 IT网,

    1.4.2 提供kickstart文件

    以下是CentOS7的Kickstart内容。如果要改为符合CentOS6的从头到尾的经过,只需将keyboard项设置为"keyboard us",并修正下分区方式(如有须要的话卡塔尔以致%post脚本段的剧情就能够。

    [root@xuexi ~]# vim /var/lib/cobbler/kickstarts/CentOS7.2.ks
    #version=DEVEL
    # System authorization information
    auth --enableshadow --passalgo=sha512
    # Install OS instead of upgrade
    install
    # Use network installation
    url --url=$tree
    # Use text mode install
    text
    # Firewall configuration
    firewall --disabled
    firstboot --disable
    # ignoredisk --only-use=sda   # 此项是CentOS7默认的项,但cobbler编译ks文件时不支持此语法,所以必须将此项注释掉
    # Keyboard layouts
    # old format: keyboard us
    # new format:
    keyboard --vckeymap=us --xlayouts='us'
    # System language
    lang en_US.UTF-8
    
    # Network information
    network  --onboot=yes --bootproto=dhcp --device=eth0 --noipv6
    network  --hostname=node1.xuexi.com
    # Reboot after installation
    reboot
    # Root password
    rootpw --iscrypted $6$KIPkwGVYqtjHln80$quxmkE5MKKA2LyzLOAc/s3FWH/jX76sObq6hqwOsEBoeMc/wIrzGG4xm72lkXwLeOfRLS/sl5vdajY9j34D4J. 
    # SELinux configuration
    selinux --disabled
    # Do not configure the X Window System
    skipx
    # System timezone
    timezone Asia/Shanghai
    # System bootloader configuration
    bootloader --append="quiet crashkernel=auto" --location=mbr --boot-drive=sda
    # Clear the Master Boot Record
    zerombr
    # Partition clearing information
    clearpart --all --initlabel
    # Disk partitioning information
    part /boot --asprimary --fstype="xfs" --size=250
    part swap --fstype="swap" --size=2000
    part / --asprimary --fstype="xfs" --grow --size=5000
    
    # 如果是要LVM分区,则考虑以下分区
    # part /boot --fstype ext4 --size=100
    # part swap --fstype=swap --size=2048
    # part pv26 --size=100 --grow
    # volgroup VG00 --pesize=32768 pv26
    # logvol / --fstype ext4 --name=LVroot --vgname=VG00 --size=29984
    # logvol /data --fstype ext4 --name=LVdata --vgname=VG00 --size=100 --grow
    
    %post
    rm -f /etc/yum.repos.d/*
    cat >>/etc/yum.repos.d/my.repo<<eof
    [base]
    name=sohu
    baseurl=http://mirrors.sohu.com/centos/7/os/x86_64/
    gpgcheck=0
    enable=1
    [epel]
    name=epel
    baseurl=http://mirrors.aliyun.com/epel/7Server/x86_64/
    enable=1
    gpgcheck=0
    eof
    sed -i "s/rhgb //" /boot/grub2/grub.cfg
    sed -i "/UUID/d" /etc/sysconfig/network-scripts/ifcfg-eth0
    echo "DNS1=114.114.114.114" >> /etc/sysconfig/network-scripts/ifcfg-eth0
    echo "UseDNS no" >> /etc/ssh/sshd_config
    sed -i "s/GSSAPIAuthentication yes/GSSAPIAuthentication no/" /etc/ssh/ssh_config
    sed -i "s/^SELINUX=.*$/SELINUX=disabled/" /etc/sysconfig/selinux
    systemctl disable firewalld
    %end
    
    %packages
    @base
    @core
    @development
    @platform-devel
    kexec-tools
    lftp
    tree
    lrzsz
    
    %end
    
    
    		

    本文由新葡亰496net发布于电脑系统,转载请注明出处:新葡亰496netcobbler无人值守批量安装Linux系统

    关键词:

上一篇:新葡亰496netNginx配置详整

下一篇:没有了