kickstart+cobbler系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html


1.1 pxe安装系统

pxe的大致过程如下图。

其中pxelinux.0为bootloader。pxelinux.cfg目录下的文件(一般使用默认的default文件)定义了安装操作系统前的菜单项,如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文章。

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.3 安装和配置cobbler

1.3.1 安装cobbler

cobbler在epel源中提供。由于还依赖于httpd、dhcp,所以httpd和dhcp也应该装上。

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

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

安装后,在/etc/cobbler生成以下文件。

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

先启动httpd,再启动cobblerd。

  1. [root@xuexi cobbler]# systemctl start httpd.service
  2. [root@xuexi cobbler]# systemctl start cobblerd.service
  1. [root@xuexi cobbler]# netstat -tnlp
  2. Active Internet connections (only servers)
  3. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
  4. tcp 0.0.0.0: 0.0.0.0:* LISTEN /sshd
  5. tcp 127.0.0.1: 0.0.0.0:* LISTEN /master
  6. tcp 0 0 127.0.0.1:25151 0.0.0.0:* LISTEN 14091/python2
  7. tcp 0.0.0.0: 0.0.0.0:* LISTEN /mysqld
  8. tcp ::: :::* LISTEN /sshd
  9. tcp ::: :::* LISTEN /master
  10. tcp ::: :::* LISTEN /httpd
  11. tcp ::: :::* LISTEN /httpd

启动之后,首先执行cobbler check检查配置是否正确。根据提示修改相关的配置项。

  1. [root@xuexi cobbler]# cobbler check
  2. The following are potential configuration items that you may want to fix:
  3.  
  4. : 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.
  5. : 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.
  6. : 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., menu.c32, elilo.efi, and yaboot. The 'cobbler get-loaders' command is the easiest way to resolve these requirements.
  7. : change 'disable' to 'no' in /etc/xinetd.d/rsync
  8. : comment out 'dists' on /etc/debmirror.conf for proper debian support
  9. : comment out 'arches' on /etc/debmirror.conf for proper debian support
  10. : ksvalidator was not found, install pykickstart
  11. : 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
  12. : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them
  13.  
  14. Restart cobblerd and then run 'cobbler sync' to apply changes.

第一和第二个问题:

  1. [root@xuexi cobbler]# vim /etc/cobbler/settings
  2.  
  3. next_server: 172.16.10.10
  4. server: 172.16.10.10

第三个问题:获取pxelinux.0和menu.c32文件(对于centos来说只需这两个文件),可以像pxe一样从syslinux包中手动复制到/var/lib/cobbler/loaders目录下,也可以执行cobbler get-loaders自动下载,但要求联网。

  1. [root@xuexi cobbler]# cobbler get-loaders

第四个问题:有可能该问题不是如此的,而是说要将rsyncd.service使用给start且enable,只需systemctl enable rsyncd,systemctl start rsyncd。

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

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

第7个问题:因为之前安装的时候写成了pykicstart,所以出错了这里。

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

第8个问题:

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

第九个问题和电源管理有关,不用管了。直接重启cobbler,然后cobbler sync。

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

cobbler sync命令用于将tftpboot目录和/var/www/cobbler保持最新,当/var/lib/cobbler或者kickstart文件发生了变化,应该执行一次cobbler sync或者直接重启cobbler服务。

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。

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

关于tftp,在/etc/cobbler/settings中默认启用了由cobbler管理tftp,所以此处无需配置它。只要知道它的根目录为/var/lib/tftpboot即可。但是如果后面装系统的时候如果找不到tftp(应该是cobbler管理tftp的bug),则手动启动tftp即可。

1.4 cobbler从本地光盘安装系统

1.4.1 生成distro

生成distro的方法有多种,可以从本地镜像导入生成,也可以根据网络上的资源生成。显然,从本地生成的效率是最好的。

从本地导入的过程实际上是将系统镜像中的文件复制到/var/www/cobbler/目录(默认)下。

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

等待导入完成,则表示distro生成完成。

  1. [root@xuexi cobbler]# ls -l /var/www/cobbler/images/CentOS7.-x86_64/
  2. total
  3. -r--r--r-- root root Oct initrd.img
  4. -r-xr-xr-x root root Oct vmlinuz
  1. [root@xuexi cobbler]# ls -l /var/www/cobbler/ks_mirror/CentOS7./ # 此目录完全来源于镜像
  2. total
  3. -r--r--r-- root root Oct CentOS_BuildTag
  4. dr-xr-xr-x root root Oct EFI
  5. -r--r--r-- root root Nov EULA
  6. -r--r--r-- root root Nov GPL
  7. dr-xr-xr-x root root Oct images
  8. dr-xr-xr-x root root Oct isolinux
  9. dr-xr-xr-x root root Oct Packages
  10. -r--r--r-- root root Oct RELEASE-NOTES-en-US.html
  11. dr-xr-xr-x root root Oct repodata
  12. -r--r--r-- root root Nov RPM-GPG-KEY-CentOS-
  13. -r--r--r-- root root Nov RPM-GPG-KEY-CentOS-Debug-
  14. -r--r--r-- root root Nov RPM-GPG-KEY-CentOS-Security-
  15. -r--r--r-- root root Nov RPM-GPG-KEY-CentOS-Testing-
  16. -r--r--r-- root root Oct TRANS.TBL

确保url路径http://172.16.10.10/cobbler/ks_mirror/CentOS7.2/是有效的。

1.4.2 提供kickstart文件

以下是CentOS7的Kickstart内容。如果要改为适合CentOS6的内容,只需将keyboard项设置为"keyboard us",并修改下分区方式(如有必要的话)以及%post脚本段的内容即可。

  1. [root@xuexi ~]# vim /var/lib/cobbler/kickstarts/CentOS7..ks
  2. #version=DEVEL
  3. # System authorization information
  4. auth --enableshadow --passalgo=sha512
  5. # Install OS instead of upgrade
  6. install
  7. # Use network installation
  8. url --url=$tree
  9. # Use text mode install
  10. text
  11. # Firewall configuration
  12. firewall --disabled
  13. firstboot --disable
  14. # ignoredisk --only-use=sda # 此项是CentOS7默认的项,但cobbler编译ks文件时不支持此语法,所以必须将此项注释掉
  15. # Keyboard layouts
  16. # old format: keyboard us
  17. # new format:
  18. keyboard --vckeymap=us --xlayouts='us'
  19. # System language
  20. lang en_US.UTF-
  21.  
  22. # Network information
  23. network --onboot=yes --bootproto=dhcp --device=eth0 --noipv6
  24. network --hostname=node1.xuexi.com
  25. # Reboot after installation
  26. reboot
  27. # Root password
  28. rootpw --iscrypted $$KIPkwGVYqtjHln80$quxmkE5MKKA2LyzLOAc/s3FWH/jX76sObq6hqwOsEBoeMc/wIrzGG4xm72lkXwLeOfRLS/sl5vdajY9j34D4J.
  29. # SELinux configuration
  30. selinux --disabled
  31. # Do not configure the X Window System
  32. skipx
  33. # System timezone
  34. timezone Asia/Shanghai
  35. # System bootloader configuration
  36. bootloader --append="quiet crashkernel=auto" --location=mbr --boot-drive=sda
  37. # Clear the Master Boot Record
  38. zerombr
  39. # Partition clearing information
  40. clearpart --all --initlabel
  41. # Disk partitioning information
  42. part /boot --asprimary --fstype="xfs" --size=
  43. part swap --fstype="swap" --size=
  44. part / --asprimary --fstype="xfs" --grow --size=
  45.  
  46. # 如果是要LVM分区,则考虑以下分区
  47. # part /boot --fstype ext4 --size=
  48. # part swap --fstype=swap --size=
  49. # part pv26 --size= --grow
  50. # volgroup VG00 --pesize= pv26
  51. # logvol / --fstype ext4 --name=LVroot --vgname=VG00 --size=
  52. # logvol /data --fstype ext4 --name=LVdata --vgname=VG00 --size= --grow
  53.  
  54. %post
  55. rm -f /etc/yum.repos.d/*
  56. cat >>/etc/yum.repos.d/my.repo<<eof
  57. [base]
  58. name=sohu
  59. baseurl=http://mirrors.sohu.com/centos/7/os/x86_64/
  60. gpgcheck=0
  61. enable=1
  62. [epel]
  63. name=epel
  64. baseurl=http://mirrors.aliyun.com/epel/7Server/x86_64/
  65. enable=1
  66. gpgcheck=0
  67. eof
  68. sed -i "s/rhgb //" /boot/grub2/grub.cfg
  69. sed -i "/UUID/d" /etc/sysconfig/network-scripts/ifcfg-eth0
  70. echo "DNS1=114.114.114.114" >> /etc/sysconfig/network-scripts/ifcfg-eth0
  71. echo "UseDNS no" >> /etc/ssh/sshd_config
  72. sed -i "s/GSSAPIAuthentication yes/GSSAPIAuthentication no/" /etc/ssh/ssh_config
  73. sed -i "s/^SELINUX=.*$/SELINUX=disabled/" /etc/sysconfig/selinux
  74. systemctl disable firewalld
  75. %end
  76.  
  77. %packages
  78. @base
  79. @core
  80. @development
  81. @platform-devel
  82. kexec-tools
  83. lftp
  84. tree
  85. lrzsz
  86.  
  87. %end
  88.  
  89. %addon com_redhat_kdump --enable --reserve-mb='auto'
  90.  
  91. %end

上面的url也可以写成url --url="http://172.16.10.10/cobbler/ks_mirror/CentOS7.2/"。

1.4.3 提供profile

在导入镜像生成distro的过程中,会自动生成一个profile。

  1. [root@xuexi cobbler]# cobbler profile list
  2. CentOS7.-x86_64

该profile默认使用的kickstart是/var/lib/cobbler/kickstarts/sample_end.ks,所以需要修改此项。

  1. [root@xuexi cobbler]# cobbler profile report --name=CentOS7.-x86_64
  2. Name : CentOS7.-x86_64
  3. TFTP Boot Files : {}
  4. Comment :
  5. DHCP Tag : default
  6. Distribution : CentOS7.-x86_64
  7. Enable gPXE? :
  8. Enable PXE Menu? :
  9. Fetchable Files : {}
  10. Kernel Options : {}
  11. Kernel Options (Post Install) : {}
  12. Kickstart : /var/lib/cobbler/kickstarts/sample_end.ks
  13. Kickstart Metadata : {}
  14. Management Classes : []
  15. Management Parameters : <<inherit>>
  16. Name Servers : []
  17. Name Servers Search Path : []
  18. Owners : ['admin']
  19. Parent Profile :
  20. Internal proxy :
  21. Red Hat Management Key : <<inherit>>
  22. Red Hat Management Server : <<inherit>>
  23. Repos : []
  24. Server Override : <<inherit>>
  25. Template Files : {}
  26. Virt Auto Boot :
  27. Virt Bridge : xenbr0
  28. Virt CPUs :
  29. Virt Disk Driver Type : raw
  30. Virt File Size(GB) :
  31. Virt Path :
  32. Virt RAM (MB) :
  33. Virt Type : kvm
  1. [root@xuexi cobbler]# cobbler profile edit --name=CentOS7.-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS7..ks
  2. [root@xuexi cobbler]# cobbler profile report --name=CentOS7.-x86_64 | grep -i kickstart
  3. Kickstart : /var/lib/cobbler/kickstarts/CentOS7..ks
  4. Kickstart Metadata : {}

对于centos7系列,则加上内核启动参数net.ifnames和biosdevname使得网卡名使用ethN系列而不使用enoXXXXXXX这样的随机名称。

  1. [root@xuexi cobbler]# cobbler profile edit --name=CentOS7.-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS7..ks --kopts="net.ifnames=0 biosdevname=0"
  2. [root@xuexi cobbler]# cobbler profile report --name=CentOS7.-x86_64 | grep -Ei 'kernel|kickstart'
    Kernel Options : {'biosdevname': '0', 'net.ifnames': '0'}
  3. Kernel Options (Post Install) : {}
  4. Kickstart : /var/lib/cobbler/kickstarts/CentOS7.2.ks
  5. Kickstart Metadata : {}

当然,不使用自生成的profile,自己添加一个profile也可以,同时还可以设置profile选项,如"--kickstart"项。如下:其中"--distro"指定该profile是添加到哪个distro下的。

  1. [root@xuexi cobbler]# cobbler profile add --name=CentOS7.2.1-x86_64 --distro=CentOS7.-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS7..ks

实际上,每添加一个profile都是在向/var/lib/tftpboot/pxelinux.cfg/default中添加一个label。

  1. [root@xuexi cobbler]# cat /var/lib/tftpboot/pxelinux.cfg/default
  2. DEFAULT menu
  3. PROMPT
  4. MENU TITLE Cobbler | http://cobbler.github.io/
  5. TIMEOUT
  6. TOTALTIMEOUT
  7. ONTIMEOUT local
  8.  
  9. LABEL local
  10. MENU LABEL (local)
  11. MENU DEFAULT
  12. LOCALBOOT -
  13. LABEL CentOS7.2-x86_64
  14. kernel /images/CentOS7.2-x86_64/vmlinuz
  15. MENU LABEL CentOS7.2-x86_64
  16. append initrd=/images/CentOS7.2-x86_64/initrd.img ksdevice=bootif lang= text net.ifnames=0 biosdevname=0 kssendmac ks=http://172.16.10.10/cblr/svc/op/ks/profile/CentOS7.2-x86_64
  17. ipappend 2
  18. LABEL CentOS7.2.1-x86_64
  19. kernel /images/CentOS7.2-x86_64/vmlinuz
  20. MENU LABEL CentOS7.2.1-x86_64
  21. append initrd=/images/CentOS7.2-x86_64/initrd.img ksdevice=bootif lang= kssendmac text ks=http://172.16.10.10/cblr/svc/op/ks/profile/CentOS7.2.1-x86_64
  22. ipappend 2
  23.  
  24. MENU end

也就是说,其实可以不用生成profile,自己手动编辑label也可以。

默认使用的菜单背景图片是menu.c32,此处我改为vesamenu.c32,该背景图片是从syslinux包中提取的,背景图片而已,看个人喜好了。另外默认菜单等待时间是2秒,在自动安装的环境中,可以将其设置的短些。并且进入菜单默认停留在local,即从本地启动系统,但是此时系统还没装,所以要实现自动化,建议修改此项。

以下是修改后的项。

  1. DEFAULT vemamenu
  2. DEFAULT menu
  3. PROMPT
  4. MENU TITLE Cobbler | http://cobbler.github.io/
  5. TIMEOUT 20
  6. TOTALTIMEOUT
  7. ONTIMEOUT CentOS7.2-x86_64
  8.  
  9. LABEL local
  10. MENU LABEL (local)
  11. LOCALBOOT -
  12.  
  13. LABEL CentOS7.-x86_64
  14. kernel /images/CentOS7.-x86_64/vmlinuz
  15. MENU DEFAULT
  16. MENU LABEL CentOS7.-x86_64
  17. append initrd=/images/CentOS7.2-x86_64/initrd.img ksdevice=bootif lang= text net.ifnames=0 biosdevname=0 kssendmac ks=http://172.16.10.10/cblr/svc/op/ks/profile/CentOS7.2-x86_64
  18. ipappend
  19.  
  20. LABEL CentOS7.2.1-x86_64
  21. kernel /images/CentOS7.-x86_64/vmlinuz
  22. MENU LABEL CentOS7.2.1-x86_64
  23. append initrd=/images/CentOS7.-x86_64/initrd.img ksdevice=bootif lang= kssendmac text ks=http://172.16.10.10/cblr/svc/op/ks/profile/CentOS7.2.1-x86_64
  24. ipappend
  25.  
  26. MENU end

在开始安装之前,要确保该ks路径是有效的且kickstart内容是正确的。有时候提供的Kickstart内容错误了,在制作成profile的时候不会报错,但实际上浏览器访问该ks路径的内容提示错误。例如,访问CentOS7.2.1-x86_64这个LABEL的kickstart文件,将其ks文件url地址http://172.16.10.10/cblr/svc/op/ks/profile/CentOS7.2.1-x86_64输入浏览器中。如果得到如下结果,则表示出错了,很大的可能是cobbler不支持kickstart中的某指令,这个需要慢慢检查。

  1. # This kickstart had errors that prevented it from being rendered correctly.
  2. # The cobbler.log should have information relating to this failure.

修改kickstart文件后,需要重新编译profile加载新的kickstart文件。只需使用cobbler profile edit --name=XXXXX --kickstart=YYYYY即可重新编译XXXXX这个profile,或者执行cobbler sync命令。直到浏览器中能获取到kickstart的内容时才算成功。

或者,使用cobbler profile getks --name=XXXXX命令获取名为XXXXX的profile的ks内容。

总之,必须要保证能正确获取到ks内容。

1.4.4 开始安装

准备一个新的机器开机就会自动进入菜单,2-3秒超时后自动进行安装,安装完成后自动重启,重启时自动从本地启动。

所以,除了对新机器进行开机,其他的一切完完全全是全自动的。

建议在真正开始安装前,将dhcpd/rsyncd/tftp/cobbler等给重启一遍,防止中间改过哪些地方忘记重启而导致装机时出错。

1.5 比pxe+kickstart好的地方

仅就cobbler基本功能而言,它跟pxe的能力基本是一样的,只是提供了更多花哨的功能。

但cobbler能够使用变量,能够通过几个命令自动完成文件复制,修改等繁琐的动作,另外它提供了api接口,常用的是它的图形界面。在这一点上,它还是不错的。

1.6 让新机器自动执行脚本

有些时候新机器上要进行很多配置,在kickstart的%post段也可以配置,但是这里能进行的配置是有限的。

可以在cobbler服务端写好要执行的脚本,然后在新机器上将脚本使用scp复制过去,但是scp复制需要确认和输入密码,所以需要在kickstart的选包部分指定安装expect包,然后使用expect进行非交互scp。

最后在%post段直接执行此脚本即可。

cobbler无人值守批量安装Linux系统的更多相关文章

  1. (转)Cobbler无人值守批量安装Linux系统

    本文目录: 1.1 pxe安装系统 1.2 cobbler基本介绍 1.3 安装和配置cobbler 1.3.1 安装cobbler 1.3.2 配置dhcp和tftp 1.4 cobbler从本地光 ...

  2. kvm cobbler无人值守批量安装操作系统

    kvm cobbler无人值守批量安装操作系统 cobbler:一个自动网络安装系统的工具,集成PEX.dhcp.dns.tftpd.sync等服务.可以供大家管理安装操作系统 kvm:Linux系统 ...

  3. pxe+kickstart实现无人值守批量安装linux

    pxe+kickstart实现无人值守批量安装linux 实验准备:主机myrhel2作为服务器端,新建一个没有安装操作系统的虚拟主机,而且其与服务器端在同一个网段 安装的条件: 服务器端:      ...

  4. Cobbler自动化批量安装Linux操作系统 - 运维总结

    一.Cobbler简述 Cobbler是一个自动化和简化系统安装的工具,通过使用网络引导来控制和启动安装.Cobbler的特性包括存储库镜像.Kickstart模板和连接电源管理系统.Cobbler通 ...

  5. Cobbler自动化批量安装linux服务器的操作记录

    Cobbler为何物?Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows.该工具使用python开发,小巧轻便(才15k行python代码),使用简单的命 ...

  6. 利用cobbler无人值守批量安装centos

    准备: 至少两台机器,分别用作cobbler的服务端和安装测试端 准备一个iso的安装文件,最好是4G多的那个dvd包,以前用网易源上那个centos 6.4 x86_64 通过xen安装时就报错:N ...

  7. 基于 cobbler 实现自动安装 linux 系统

    使用 cobbler 实现自动安装 centos 6.7系统 1.yum install cobbler -y 安装 cobbler ,有依赖关系,会自动把 TFTP .HTTP 服务安装上:cobb ...

  8. pxe+kickstart无人值守批量安装linux

    一.原理和概念: 1.PXE:         PXE 并不是一种安装方式,而是一种引导的方式.进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 ...

  9. cobbler无人值守自动安装

      无人值守安装(自动按定制的需求来批量安装linux系统) kickstart cobbler linux安装系统的方法: 1,光盘 把iso镜像刻录(windows下有类似nero这类软件)到光盘 ...

随机推荐

  1. iOS基于AVPlayer的视频播放

    基于 AVPlayer 自定义播放器http://www.cocoachina.com/ios/20160921/17609.html,http://www.2cto.com/kf/201608/53 ...

  2. USACO-palsquare 遇到的一个坑

    /** ID: njuwz151 TASK: palsquare LANG: C++ */ #include <iostream> #include <cstdio> #inc ...

  3. jsp注册页面验证,easyui的jsp+js表单验证

    1.1下面的代码是写在Js里面的,就直接写进去不用什么其他东西,这样一个表单验证就好了(1.2图) $.extend($.fn.validatebox.defaults.rules, { phone: ...

  4. MySQL二进制日志备份和恢复详解

    原文链接:http://www.showerlee.com/archives/681 ****经实践,该教程ok,特在此分享**** 基本概念 定义: 二进制日志包含了所有更新了数据或者已经潜在更新了 ...

  5. webpack热更新问题和antd design字体图标库扩展

    标题也不知道怎么写好,真是尴尬.不过话说回来,距离上一次写文快两个月了,最近有点忙,一直在开发新项目, 今天刚刚闲下来,项目准备提测.借这个功夫写点东西,把新项目上学到的一些好的干活分享一下,以便之后 ...

  6. 在Docker Hub上查找可用的Image映像

    任何人都可以创建Docker Image映像,你可以浏览Docker Hub来查找这些Image映像. 定位Whalesay 映像 打开你的浏览器,浏览Docker Hub: Docker Hub包含 ...

  7. 奔跑在Docker上的Spark

    转自:马踏飞燕--奔跑在Docker上的Spark 目录 为什么要在Docker上搭建Spark集群 网络拓扑 Docker安装及配置 ssh安装及配置 基础环境安装 Zookeeper安装及配置 H ...

  8. 1、微信小程序----弹幕的实现(无后台)

    小程序刚刚出来,现在网上的demo是多,但是要找到一个自己需要的却不容易.今天跟大家分享自己写的一个弹幕功能. 先来一张效果图: 我的思路是这样的,先用<switch>标签确定是否打开弹幕 ...

  9. 机器学习 —— 类不平衡问题与SMOTE过采样算法

    在前段时间做本科毕业设计的时候,遇到了各个类别的样本量分布不均的问题——某些类别的样本数量极多,而有些类别的样本数量极少,也就是所谓的类不平衡(class-imbalance)问题. 本篇简述了以下内 ...

  10. zTree新增的根结点再新增子节点reAsyncChildNodes不生效解决方案

    zTree新增的根结点再新增子节点reAsyncChildNodes不生效解决方案, zTree新的根结点不能异步刷新,reAsyncChildNodes不生效解决方案, reAsyncChildNo ...