zoukankan      html  css  js  c++  java
  • centos7系列Cobbler+kickstart全自动装机实战

    配置yum源,以及epel源

    [root@crobbler-90111 ~]# cat /etc/yum.repos.d/aliyun.repo

    [epel]
    name=ailiyun
    baseurl=http://mirrors.aliyun.com/epel/7/x86_64/
    enabled=1
    gpgcheck=0
    [centos]
    name=cobbler
    baseurl=http://mirrors.aliyun.com/centos/7/os/x86_64/
    enabled=1
    gpgcheck=0

     #yum install epel-release  #安装epel扩展源

    #yum install -y httpd  dhcp  tftp rsync cobbler cobbler-web  pykickstart  xinetd    #安装所需服务~
    [root@cobbler-90111 ~]# systemctl start  cobblerd httpd xinetd    #启动cobblerd,httpd以及xinetd服务

    [root@cobbler-90111 ~]# systemctl enable cobblerd httpd xinetd    #设置开机自启cobblerd,httpd以及xinetd服务
    Created symlink from /etc/systemd/system/multi-user.target.wants/cobblerd.service to /usr/lib/systemd/system/cobblerd.service.
    Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

    [root@crobbler-90111 ~]# cobbler check   #检测cobbler

     #修改主配置文件

    [root@cobbler-90111 ~]# cp /etc/cobbler/settings /etc/cobbler/settings.back

    [root@cobbler-90111 ~]# sed -i '/^<server/s/127.0.0.1/10.15.90.111/' /etc/cobbler/settings
    
    [root@cobbler-90111 ~]# sed -i '/next_server/s/127.0.0.1/10.15.90.111/' /etc/cobbler/settings
    
    [root@cobbler-90111 ~]# egrep "^<server|next_server" /etc/cobbler/settings
    next_server: 10.15.90.111
    server: 10.15.90.111

    #设置tftp服务

    [root@cobbler-90111 ~]# sed -i "/disable/s/yes/no/" /etc/xinetd.d/tftp
    
    [root@cobbler-90111 ~]# egrep "disable" /etc/xinetd.d/tftp 
    disable    = no

    [root@cobbler-90111 ~]# systemctl restart rsyncd
    [root@cobbler-90111 ~]# systemctl enable rsyncd
    Created symlink from /etc/systemd/system/multi-user.target.wants/rsyncd.service to /usr/lib/systemd/system/rsyncd.service.

      #下载网络引导文件

    [root@crobbler-90111 ~]# cobbler get-loaders 

    #启动rsyncd服务

    [root@crobbler-90111 ~]# systemctl start rsyncd   

    [root@cobbler-90111 ~]# systemctl enable rsyncd
    Created symlink from /etc/systemd/system/multi-user.target.wants/rsyncd.service to /usr/lib/systemd/system/rsyncd.service.

    [root@crobbler-90111 ~]# ps -ef | grep rsync
    root 14747 1 0 20:09 ? 00:00:00 /usr/bin/rsync --daemon --no-detach
    root 15030 10105 0 20:45 pts/0 00:00:00 grep --color=auto rsync

    #修改 etc/cobbler/settings 中'default_password_crypted'的值

    [root@crobbler-90111 ~]#xiaoyu=`openssl passwd -1 -salt 'xiaoyu' 'root'`    #定义变量
    [root@crobbler-90111 ~]# echo $xiaoyu
    
    [root@cobbler-90111 ~]# sed -i "/default_password_crypted/c/default_password_crypted: "$xiaoyu"" /etc/cobbler/settings   #赋值即可
    [root@cobbler-90111 ~]# sed -n "/default_password_crypted/p " /etc/cobbler/settings
    /default_password_crypted: "$1$xiaoyu$cZpdAZwX0o.3cAfeBTRoJ/"

     #安装电源管理工具fence-agents

    [root@crobbler-90111 ~]# yum install -y fence-agents  

    #重启cobbler服务,再次检测cobbler服务

    [root@crobbler-90111 ~]# systemctl restart cobblerd

    [root@cobbler-90111 ~]# cobbler check

     

    【配置DHCP】

    [root@crobbler-90111 ~]# vim /etc/cobbler/dhcp.template

     [root@cobbler-90111 ~]#sed -i '/^subnet/s/192.168.1.0/10.15.90.0/' /etc/cobbler/dhcp.template

    [root@cobbler-90111 ~]# sed -i '/routers/s/192.168.1.5/10.15.90.254/' /etc/cobbler/dhcp.template
    [root@cobbler-90111 ~]# sed -i '/domain-name-servers/s/192.168.1.1/144.144.144.144/' /etc/cobbler/dhcp.template
    [root@cobbler-90111 ~]# sed -i '/dynamic-bootp/s/192.168.1.100 192.168.1.254/10.15.90.100 10.15.90.150/' /etc/cobbler/dhcp.template

     

    #绑定dhcp,tftp以及rsyncd服务托管

    [root@cobbler-90111 ~]# sed -i '/manage_dhcp:/s/0/1/' /etc/cobbler/settings

    [root@cobbler-90111 ~]# sed -i '/manage_rsync:/s/0/1/' /etc/cobbler/settings

    [root@cobbler-90111 ~] sed -i '/manage_tftpd:/s/0/1/' /etc/cobbler/settings

    #检查三个服务时候托管

    [root@cobbler-90111 ~]# sed -n -e '/manage_tftpd:/p' -e '/manage_dhcp:/p' -e '/manage_rsync:/p' /etc/cobbler/settings
    manage_dhcp: 1
    manage_tftpd: 1
    manage_rsync: 1

    root@cobbler-90111 ~]# systemctl restart cobblerd   #重启cobbler服务

    [root@cobbler-90111 ~]# cobbler sync   #设置sync同步

     

    [root@cobbler-90111 ~]# cat /etc/dhcp/dhcpd.conf   #重启cobbler服务之后,检查dhcp配置文件中的配置是否生成!

     [配置系统安装镜像]

    [root@cobbler-90111 ~]# mkdir /mnt/centos7.6
    [root@cobbler-90111 ~]# mount -o loop CentOS-7-x86_64-DVD-1810.iso /mnt/centos7.6/   #挂载cnetos7.6镜像
    mount: /dev/loop0 is write-protected, mounting read-only

    [root@cobbler-90111 ~]# cobbler import --path=/mnt/centos7.6 --name=Centos7.6-x86_64 --arch=x86_64   #导入centos镜像到cobbler服务中

    [root@cobbler-90111 ~]# cobbler profile list
    Centos7.6-x86_64

     [root@crobbler-90111 ~]# cobbler distro report    #查看distro

    [root@cobbler-90111 ~]# cobbler distro report
    Name                           : centos7.6-x86_64
    Architecture                   : x86_64
    TFTP Boot Files                : {}
    Breed                          : redhat
    Comment                        : 
    Fetchable Files                : {}
    Initrd                         : /var/www/cobbler/ks_mirror/centos7.6/images/pxeboot/initrd.img
    Kernel                         : /var/www/cobbler/ks_mirror/centos7.6/images/pxeboot/vmlinuz
    Kernel Options                 : {}
    Kernel Options (Post Install)  : {}
    Kickstart Metadata             : {'tree': 'http://@@http_server@@/cblr/links/centos7.6-x86_64'}
    Management Classes             : []
    OS Version                     : rhel6
    Owners                         : ['admin']
    Red Hat Management Key         : <<inherit>>
    Red Hat Management Server      : <<inherit>>
    Template Files                 : {}

    [root@cobbler-90111 ~]# cobbler profile report     #查看导入系统之后的过程中,cobbler生成的配置文件,关联dhcp,pxe安装菜单
    Name : Centos7.6-x86_64
    TFTP Boot Files : {}
    Comment :
    DHCP Tag : default
    Distribution : Cebtos7.6-x86_64
    Enable gPXE? : 0
    Enable PXE Menu? : 1
    Fetchable Files : {}
    Kernel Options : {}
    Kernel Options (Post Install) : {}
    Kickstart : /var/lib/cobbler/kickstarts/sample_end.ks    #生成的kickstart文件,
    Kickstart Metadata : {}
    Management Classes : []
    Management Parameters : <<inherit>>
    Name Servers : []
    Name Servers Search Path : []
    Owners : ['admin']
    Parent Profile :
    Internal proxy :
    Red Hat Management Key : <<inherit>>
    Red Hat Management Server : <<inherit>>
    Repos : []
    Server Override : <<inherit>>
    Template Files : {}
    Virt Auto Boot : 1
    Virt Bridge : xenbr0
    Virt CPUs : 1
    Virt Disk Driver Type : raw
    Virt File Size(GB) : 5
    Virt Path :
    Virt RAM (MB) : 512
    Virt Type : kvm

     [root@cobbler-90111 kickstarts]# cobbler profile list

    centos7.6-x86_64

    [root@cobbler-90111 ~]# cd /var/lib/cobbler/kickstarts/

    [root@cobbler-90111 ~]#mv sample_end.ks sample_end.ks.back    #将原生成的ks文件备份重命名备份一下,我们使用自定义的ks文件

    [root@cobbler-90111 kickstarts]# vim  centos7u6-x64.ks   #自定义配置文件

    #version=RHEL7
    # System authorization information
    url --url=$tree    
    #url --url http://10.15.90.111/cobbler/ks_mirror/Cebtos7.6-x86_64/
    # Run the Setup Agent on first boot
    firewall --disabled
    selinux --disabled
    reboot
    
    ignoredisk --only-use=sda
     
    # Keyboard
    keyboard us
    # System language
    lang en_US.UTF-8
     
    # Network information
    network --onboot=yes --bootproto=dhcp --device=eth0 --ipv6=no
    
    # Installation logging level
    logging --level=debug
    
    # Root password
    rootpw --iscrypted $6$MfJqPNgPVd8b4aoL$VOHUZHT22qqOLp3e4uXEB.kcdRtW4s8mcqRKAnoL5L9CmHPDaZj/p17jsSvdif98VR0g0cW8wLgoxlooDcwfh.
    # System timezone
    timezone Asia/Shanghai --isUtc
     
    # System bootloader configuration
    #bootloader --location=mbr 
    bootloader --location=mbr --driveorder=sda 
    # Partition clearing information
    zerombr
    clearpart --all --initlabel
    #clearpart --none --initlabel
     
    # Disk partitioning information
    # Disk partitioning information
    #part / --fstype="xfs" --ondisk=sda --size=30720
    #part /home --fstype="xfs" --ondisk=sda --size=30720
    part /boot --fstype="xfs" --ondisk=sda --size=512
    part swap --fstype="swap" --ondisk=sda --size=16384
    #part /opt --fstype="xfs" --ondisk=sda  --size=1 --grow
    part / --fstype="xfs" --ondisk=sda  --size=1 --grow
     
    %packages
    @base
    @core
    @development
    @compat-libraries
    @scientific
    kexec-tools
    tree
    net-snmp
    nmap
    sysstat
    lrzsz
    dos2unix
    telnet
    iptraf
    ncurses-devel
    openssl-devel
    zlib-devel
    OpenIPMI-tools
    screen
    chrony
    wget
    net-tools
    ntp
    ntpdate
    %end
    
    %post
    cat << EOF > /etc/cron.hourly/ntp
    #!/bin/sh
    /usr/sbin/ntpdate itime.hexun.com;/usr/sbin/hwclock -w > /dev/null 2>&1
    EOF
    /bin/chmod 755 /etc/cron.hourly/ntp
    # Set default language
    [ -f /etc/sysconfig/i18n ] && cp /etc/sysconfig/i18n /etc/syconfig/i18n.ksbak
    cat << EOF > /etc/sysconfig/i18n
    LANG="en_US"
    SUPPORTED="en_US.UTF-8:en_US:en"
    SYSFONT="latarcyrheb-sun16"
    EOF
    
    cat << EOF >> /etc/rc.d/rc.tune
    echo 5 > /proc/sys/kernel/panic
    echo "409600" > /proc/sys/net/ipv4/ip_conntrack_max
    echo "3600" >/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
    EOF
    
    if [ -f /etc/rc.d/rc.tune ]; then
       chmod +x /etc/rc.d/rc.tune
       echo ". /etc/rc.d/rc.tune" >> /etc/rc.d/rc.local
       echo "*      soft    nofile  65535" >> /etc/security/limits.conf
       echo "*      hard    nofile  65535" >> /etc/security/limits.conf
       echo "*      soft    nproc   65535" >> /etc/security/limits.conf
       echo "*      hard    nproc   65535" >> /etc/security/limits.conf
    else
       echo Error! rc.tune can not be found!
    fi
    #confirm network-device eth0
    /bin/mv /etc/sysconfig/network-scripts/ifcfg-ens160 /etc/sysconfig/network-scripts/ifcfg-eth0
    /bin/sed -i 's#NAME="ens160"#NAME="eth0"#g'  /etc/sysconfig/network-scripts/ifcfg-eth0
    /bin/sed -i 's#DEVICE="ens160"#DEVICE="eth0"#g'  /etc/sysconfig/network-scripts/ifcfg-eth0
    cat << EOF > /etc/sysconfig/grub
    GRUB_TIMEOUT=5
    GRUB_DEFAULT=saved
    GRUB_DISABLE_SUBMENU=true
    GRUB_TERMINAL_OUTPUT="console"
    GRUB_CMDLINE_LINUX="crashkernel=auto rhgb net.ifnames=0 biosdevname=0 quiet"
    EOF
    /sbin/grub2-mkconfig -o /boot/grub2/grub.cfg
    #Set key
    /bin/wget http://10.0.251.154/scripts/hxyw_admin-key-centos7.sh
    /bin/chmod u+x /hxyw_admin-key-centos7.sh
    /bin/sh /hxyw_admin-key-centos7.sh
    
    # Set nameserver
    #cat << EOF > /etc/resolv.conf
    #nameserver 10.0.250.46
    #nameserver 10.0.250.40
    #EOF
    echo "nameserver 10.0.250.40" >> /etc/resolv.conf
    echo "nameserver 10.0.250.46" >> /etc/resolv.conf
    # Set default run level to 3
    echo "id:3:initdefault:" >> /etc/inittab
    #Disable IPV6
    echo "net.ipv6.conf.all.disable_ipv6 =1" >> /etc/sysctl.conf 
    echo "net.ipv6.conf.default.disable_ipv6 =1" >> /etc/sysctl.conf 
    systemctl disable postfix.service
    systemctl disable ntpd.service
    %end

    [root@cobbler-90111 kickstarts]# cobbler profile list

    Centos7.6-x86_64

    [root@cobbler-90111 ~]# cobbler profile getks --name "centos7.6-x86_64"   #自检 

    [root@cobbler-90111 kickstarts]# cobbler profile edit --name=Centos7.6-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7u6-x64.ks

    [root@cobbler-90111 kickstarts]# cobbler profile edit --name=syscentos7.6-x86_64 --kopts='net.ifnames=0 biosdevname=0'   #修改centos配置文件中的kickstart值
    [root@cobbler-90111 kickstarts]# cobbler sync   #执行rsync同步
    task started: 2019-04-18_174012_sync
    task started (id=Sync, time=Thu Apr 18 17:40:12 2019)
    running pre-sync triggers
    cleaning trees
    removing: /var/www/cobbler/images/centos7.6-x86_64
    removing: /var/lib/tftpboot/pxelinux.cfg/default
    removing: /var/lib/tftpboot/grub/images
    removing: /var/lib/tftpboot/grub/grub-x86.efi
    removing: /var/lib/tftpboot/grub/grub-x86_64.efi
    removing: /var/lib/tftpboot/grub/efidefault
    removing: /var/lib/tftpboot/images/centos7.6-x86_64
    removing: /var/lib/tftpboot/s390x/profile_list
    copying bootloaders
    trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi
    trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi
    copying distros to tftpboot
    copying files for distro: centos7.6-x86_64
    trying hardlink /var/www/cobbler/ks_mirror/centos7.6/images/pxeboot/vmlinuz -> /var/lib/tftpboot/images/centos7.6-x86_64/vmlinuz
    trying hardlink /var/www/cobbler/ks_mirror/centos7.6/images/pxeboot/initrd.img -> /var/lib/tftpboot/images/centos7.6-x86_64/initrd.img
    copying images
    generating PXE configuration files
    generating PXE menu structure
    copying files for distro: centos7.6-x86_64
    trying hardlink /var/www/cobbler/ks_mirror/centos7.6/images/pxeboot/vmlinuz -> /var/www/cobbler/images/centos7.6-x86_64/vmlinuz
    trying hardlink /var/www/cobbler/ks_mirror/centos7.6/images/pxeboot/initrd.img -> /var/www/cobbler/images/centos7.6-x86_64/initrd.img
    Writing template files for centos7.6-x86_64
    rendering DHCP files
    generating /etc/dhcp/dhcpd.conf
    rendering TFTPD files
    generating /etc/xinetd.d/tftp
    processing boot_files for distro: centos7.6-x86_64
    cleaning link caches
    rendering Rsync files
    running post-sync triggers
    running python triggers from /var/lib/cobbler/triggers/sync/post/*
    running python trigger cobbler.modules.sync_post_restart_services
    running: dhcpd -t -q
    received on stdout:
    received on stderr:
    running: service dhcpd restart
    received on stdout:
    received on stderr: Redirecting to /bin/systemctl restart dhcpd.service

    running shell triggers from /var/lib/cobbler/triggers/sync/post/*
    running python triggers from /var/lib/cobbler/triggers/change/*
    running python trigger cobbler.modules.manage_genders
    running python trigger cobbler.modules.scm_track
    running shell triggers from /var/lib/cobbler/triggers/change/*
    *** TASK COMPLETE ***

     #检查服务是否启动

     #systemctl  restart dhcp xinetd conler tftp

    #最终确保下面这些服务在运行,其中 25151 是 xmlrpc_port 端口 netstat -anutlp|egrep "httpd|rsync|xinetd|dhcpd|25151"

  • 相关阅读:
    2019-07-26
    2019-07-25
    免费的论文查重网站
    图片转链接
    hexo GitHub创建博客是遇到的问题
    苹果手机安装小火箭
    旅游--南京
    查看电脑基本信息以及电脑性能分析
    Android 不能root
    x-mind ZEN 指定安装路径(其他默认安装c盘可参考)
  • 原文地址:https://www.cnblogs.com/bixiaoyu/p/10726199.html
Copyright © 2011-2022 走看看