环境准备

[root@cobbler-server ~]# free -h
total used free shared buff/cache available
Mem: 2.9G 194M 79M 9.1M 2.7G 2.6G
Swap: 3.0G 0B 3.0G
[root@cobbler-server ~]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 44
model name : Intel(R) Xeon(R) CPU X5650 @ 2.67GHz
stepping : 2
microcode : 0x1f
cpu MHz : 2660.000
cache size : 12288 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes hypervisor lahf_lm ssbd ibrs ibpb stibp tsc_adjust arat spec_ctrl intel_stibp flush_l1d arch_capabilities
bogomips : 5320.00
clflush size : 64
cache_alignment : 64
address sizes : 43 bits physical, 48 bits virtual
power management:
[root@localhost ~]# sestatus
SELinux status: disabled
[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
[root@localhost ~]# uname -r
3.10.0-1062.el7.x86_64
[root@localhost ~]# hostnamectl --static set-hostname cobbler-server

部署cobbler

[root@cobbler-server ~]# yum -y install cobbler cobbler-web dhcp tftp-server pykickstart httpd xinetd  # cobbler需要epel源
# 启动服务
[root@cobbler-server ~]# systemctl enable httpd.service --now
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@cobbler-server ~]# systemctl enable cobblerd.service --now
Created symlink from /etc/systemd/system/multi-user.target.wants/cobblerd.service to /usr/lib/systemd/system/cobblerd.service.

cobbler语法检查以及排错

[root@cobbler-server ~]# 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 : change 'disable' to 'no' in /etc/xinetd.d/tftp
4 : 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.
5 : enable and start rsyncd.service with systemctl
6 : debmirror package is not installed, it will be required to manage debian deployments and repositories
7 : 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
8 : 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.

问题1

[root@cobbler-server ~]# sed -i 's/server: 127.0.0.1/server: 10.11.66.218/' /etc/cobbler/settings

问题2

[root@cobbler-server ~]# sed -i 's/next_server: 127.0.0.1/next_server: 10.11.66.218/' /etc/cobbler/settings  # 如果允许Cobbler接管DHCP服务,这个IP地址将传送给被安装操作系统在PXE启动时使用。如果地址错误,则会导致Tftp时提示timeout错误
[root@cobbler-server ~]# sed -i 's/pxe_just_once: 0/pxe_just_once: 1/' /etc/cobbler/settings # 允许被安装操作系统只安装一次操作系统,客户机重装需要 Cobbler system 中使用–netboot-enabled 指定

问题3

[root@cobbler-server ~]# sed -i 's#yes#no#' /etc/xinetd.d/tftp
[root@cobbler-server ~]# sed -i 's/manage_dhcp: 0/manage_dhcp: 1/' /etc/cobbler/settings # 允许Cobbler接管DHCP服务
[root@cobbler-server ~]# systemctl enable tftp.socket --now
Created symlink from /etc/systemd/system/sockets.target.wants/tftp.socket to /usr/lib/systemd/system/tftp.socket.

问题4

[root@cobbler-server ~]# cobbler get-loaders   # 下载包所需的软件包
task started: 2020-07-18_123919_get_loaders
task started (id=Download Bootloader Content, time=Sat Jul 18 12:39:19 2020)
downloading https://cobbler.github.io/loaders/README to /var/lib/cobbler/loaders/README
downloading https://cobbler.github.io/loaders/COPYING.elilo to /var/lib/cobbler/loaders/COPYING.elilo
downloading https://cobbler.github.io/loaders/COPYING.yaboot to /var/lib/cobbler/loaders/COPYING.yaboot
downloading https://cobbler.github.io/loaders/COPYING.syslinux to /var/lib/cobbler/loaders/COPYING.syslinux
downloading https://cobbler.github.io/loaders/elilo-3.8-ia64.efi to /var/lib/cobbler/loaders/elilo-ia64.efi
downloading https://cobbler.github.io/loaders/yaboot-1.3.17 to /var/lib/cobbler/loaders/yaboot
downloading https://cobbler.github.io/loaders/pxelinux.0-3.86 to /var/lib/cobbler/loaders/pxelinux.0
downloading https://cobbler.github.io/loaders/menu.c32-3.86 to /var/lib/cobbler/loaders/menu.c32
downloading https://cobbler.github.io/loaders/grub-0.97-x86.efi to /var/lib/cobbler/loaders/grub-x86.efi
downloading https://cobbler.github.io/loaders/grub-0.97-x86_64.efi to /var/lib/cobbler/loaders/grub-x86_64.efi
*** TASK COMPLETE ***

问题5

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

问题6

# 和debian系统相关,不需要处理

问题7

[root@cobbler-server ~]# sed -ri "/default_password_crypted/s#(.*: ).*#\1\"`openssl passwd -1 -salt 'cobbler' '123.com'`\"#" /etc/cobbler/settings   # 安装好的系统,root密码会被设置为123.com

问题8

[root@cobbler-server ~]# yum -y install fence-agents

修改dhcp模板

[root@cobbler-server ~]# cp /etc/cobbler/dhcp.template{,.bak}
[root@cobbler-server ~]# vim /etc/cobbler/dhcp.template
subnet 10.11.66.0 netmask 255.255.255.0 {
option routers 10.11.66.1;
option domain-name-servers 210.22.84.3;
option subnet-mask 255.255.255.0;
range dynamic-bootp 10.11.66.100 10.11.66.254;
default-lease-time 21600;
max-lease-time 43200;

重启服务,再次检查

[root@cobbler-server ~]# systemctl restart cobblerd.service   # 重启cobbler
[root@cobbler-server ~]# cobbler sync # 同步配置到数据目录,否则修改的不生效
task started: 2020-07-18_131850_sync
task started (id=Sync, time=Sat Jul 18 13:18:50 2020)
running pre-sync triggers
cleaning trees
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/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 images
generating PXE configuration files
generating PXE menu structure
rendering DHCP files
generating /etc/dhcp/dhcpd.conf
rendering TFTPD files
generating /etc/xinetd.d/tftp
cleaning link caches
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 ***
[root@cobbler-server ~]# cobbler check
The following are potential configuration items that you may want to fix: 1 : debmirror package is not installed, it will be required to manage debian deployments and repositories Restart cobblerd and then run 'cobbler sync' to apply changes.
# 这个是debian系统相关的,忽略不计
[root@cobbler-server ~]# systemctl restart httpd.service # 重启一下相关的服务
[root@cobbler-server ~]# systemctl restart dhcpd.service
[root@cobbler-server ~]# systemctl restart rsyncd.service
[root@cobbler-server ~]# systemctl restart tftp.socket

镜像配置

# 先自行下载一个centos7镜像,然后挂载到本地,之后导入到cobbler
[root@cobbler-server ~]# ls
anaconda-ks.cfg CentOS-7-x86_64-DVD-1908.iso
[root@cobbler-server ~]# mkdir /mnt/centos7.7 # 创建一个挂载目录
[root@cobbler-server ~]# mount -t iso9660 -o loop CentOS-7-x86_64-DVD-1908.iso /mnt/centos7.7/ # 将本地镜像挂载到 /mnt/centos7.7 目录下
mount: /dev/loop0 is write-protected, mounting read-only
[root@cobbler-server ~]# df -Th # 查看挂载
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 1.5G 0 1.5G 0% /dev
tmpfs tmpfs 1.5G 0 1.5G 0% /dev/shm
tmpfs tmpfs 1.5G 9.0M 1.5G 1% /run
tmpfs tmpfs 1.5G 0 1.5G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 26G 6.4G 20G 25% /
/dev/sda1 xfs 1014M 136M 879M 14% /boot
tmpfs tmpfs 301M 0 301M 0% /run/user/0
/dev/loop0 iso9660 4.4G 4.4G 0 100% /mnt/centos7.7

镜像导入

[root@cobbler-server ~]# cobbler import --path=/mnt/centos7.7 --name=CentOS_7.7_1908 --arch=x86_64
task started: 2020-07-18_134526_import
task started (id=Media import, time=Sat Jul 18 13:45:26 2020)
Found a candidate signature: breed=redhat, version=rhel6
Found a candidate signature: breed=redhat, version=rhel7
Found a matching signature: breed=redhat, version=rhel7
Adding distros from path /var/www/cobbler/ks_mirror/CentOS_7.7_1908-x86_64:
creating new distro: CentOS_7.7_1908-x86_64
trying symlink: /var/www/cobbler/ks_mirror/CentOS_7.7_1908-x86_64 -> /var/www/cobbler/links/CentOS_7.7_1908-x86_64
creating new profile: CentOS_7.7_1908-x86_64
associating repos
checking for rsync repo(s)
checking for rhn repo(s)
checking for yum repo(s)
starting descent into /var/www/cobbler/ks_mirror/CentOS_7.7_1908-x86_64 for CentOS_7.7_1908-x86_64
processing repo at : /var/www/cobbler/ks_mirror/CentOS_7.7_1908-x86_64
need to process repo/comps: /var/www/cobbler/ks_mirror/CentOS_7.7_1908-x86_64
looking for /var/www/cobbler/ks_mirror/CentOS_7.7_1908-x86_64/repodata/*comps*.xml
Keeping repodata as-is :/var/www/cobbler/ks_mirror/CentOS_7.7_1908-x86_64/repodata
*** TASK COMPLETE ***
[root@cobbler-server ~]# cobbler distro list # 查看镜像列表
CentOS_7.7_1908-x86_64
[root@cobbler-server ~]# ls /var/www/cobbler/ks_mirror/ # 镜像被保存在HTTP的目录中
CentOS_7.7_1908-x86_64 config
[root@cobbler-server ~]# cobbler distro report # 下面的一些变量我们在写 kickstarts 配置的时候可能会用到
Name : CentOS_7.7_1908-x86_64
Architecture : x86_64
TFTP Boot Files : {}
Breed : redhat
Comment :
Fetchable Files : {}
Initrd : /var/www/cobbler/ks_mirror/CentOS_7.7_1908-x86_64/images/pxeboot/initrd.img
Kernel : /var/www/cobbler/ks_mirror/CentOS_7.7_1908-x86_64/images/pxeboot/vmlinuz
Kernel Options : {}
Kernel Options (Post Install) : {}
Kickstart Metadata : {'tree': 'http://@@http_server@@/cblr/links/CentOS_7.7_1908-x86_64'}
Management Classes : []
OS Version : rhel7
Owners : ['admin']
Red Hat Management Key : <<inherit>>
Red Hat Management Server : <<inherit>>
Template Files : {}

kickstarts 文件配置

[root@cobbler-server ~]# cd /var/lib/cobbler/kickstarts/
[root@cobbler-server kickstarts]# ls # 一般centos系统安装完成后会在/root/anaconda-ks.cfg产生一个ks配置文件,记录安装过程,我们可以根据这个文件修改一下,修改好后放到/var/lib/cobbler/kickstarts目录
default.ks legacy.ks sample_esx4.ks sample.ks
esxi4-ks.cfg pxerescue.ks sample_esxi4.ks sample_old.seed
esxi5-ks.cfg sample_autoyast.xml sample_esxi5.ks sample.seed
install_profiles sample_end.ks sample_esxi6.ks sample.seed.28
[root@cobbler-server kickstarts]# mv sample_end.ks{,.bak} # 将原生成的ks文件备份重命名备份一下,我们使用自定义的ks文件

最小化安装

[root@cobbler-server kickstarts]# vim centos7u7-x64.ks
#System language
lang en_US
#System keyboard
keyboard us
#Sytem timezone
timezone Asia/Shanghai
#Root password
rootpw --iscrypted $default_password_crypted
#Use text mode install
text
#Install OS instead of upgrade
install
#Use NFS installation Media
url --url=$tree
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr
#Partition clearing information
clearpart --all --initlabel
#Disk partitioning information
part /boot --fstype xfs --size 1024 --ondisk sda
part swap --fstype="swap" --size 2048 --ondisk sda
part / --fstype xfs --size 1 --grow --ondisk sda
#System authorization infomation
auth --useshadow --enablemd5
#Network information
$SNIPPET('network_config')
# network --bootproto=dhcp --device=em1 --onboot=on
# Reboot after installation
reboot
#Firewall configuration
firewall --disabled
#SELinux configuration
selinux --disabled
#Do not configure XWindows
skipx
#Package install information
%pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
# Enable installation monitoring
$SNIPPET('pre_anamon')
%end %packages
@ base
@ core
sysstat
iptraf
ntp
lrzsz
ncurses-devel
openssl-devel
zlib-devel
OpenIPMI-tools
mysql
nmap
screen
%end %post
systemctl disable postfix.service
%end

图形化安装

# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$m1pE0DG6$vALBphGGynqvUzfJaWZ6U1
# Use network installation
url --url="$tree"
# System language
lang en_US
# Firewall configuration
firewall --disabled
# System authorization information
auth --useshadow --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# SELinux configuration
selinux --disabled # Network information
network --bootproto=dhcp --device=eth0
network --bootproto=dhcp --device=eth1
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --asprimary --fstype="xfs" --size=1024
part swap --fstype="swap" --size=2048
part / --fstype="xfs" --grow --size=1
%packages
@base
@core
@compat-libraries
@debugging
@development
@gnome-desktop
@X Window System
%end

查看kickstart的配置

[root@cobbler-server kickstarts]# cobbler profile report --name=CentOS_7.7_1908-x86_64
Name : CentOS_7.7_1908-x86_64
TFTP Boot Files : {}
Comment :
DHCP Tag : default
Distribution : CentOS_7.7_1908-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 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-server kickstarts]# cobbler profile list
CentOS_7.7_1908-x86_64
[root@cobbler-server kickstarts]# cobbler profile edit --name=CentOS_7.7_1908-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7u7-x64.ks
[root@cobbler-server kickstarts]# cobbler profile edit --name=CentOS_7.7_1908-x86_64 --kopts='net.ifnames=0 biosdevname=0'
[root@cobbler-server kickstarts]# cobbler sync
task started: 2020-07-18_141252_sync
task started (id=Sync, time=Sat Jul 18 14:12:52 2020)
running pre-sync triggers
cleaning trees
removing: /var/www/cobbler/images/CentOS_7.7_1908-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/CentOS_7.7_1908-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: CentOS_7.7_1908-x86_64
trying hardlink /var/www/cobbler/ks_mirror/CentOS_7.7_1908-x86_64/images/pxeboot/vmlinuz -> /var/lib/tftpboot/images/CentOS_7.7_1908-x86_64/vmlinuz
trying hardlink /var/www/cobbler/ks_mirror/CentOS_7.7_1908-x86_64/images/pxeboot/initrd.img -> /var/lib/tftpboot/images/CentOS_7.7_1908-x86_64/initrd.img
copying images
generating PXE configuration files
generating PXE menu structure
copying files for distro: CentOS_7.7_1908-x86_64
trying hardlink /var/www/cobbler/ks_mirror/CentOS_7.7_1908-x86_64/images/pxeboot/vmlinuz -> /var/www/cobbler/images/CentOS_7.7_1908-x86_64/vmlinuz
trying hardlink /var/www/cobbler/ks_mirror/CentOS_7.7_1908-x86_64/images/pxeboot/initrd.img -> /var/www/cobbler/images/CentOS_7.7_1908-x86_64/initrd.img
Writing template files for CentOS_7.7_1908-x86_64
rendering DHCP files
generating /etc/dhcp/dhcpd.conf
rendering TFTPD files
generating /etc/xinetd.d/tftp
processing boot_files for distro: CentOS_7.7_1908-x86_64
cleaning link caches
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 ***
[root@cobbler-server kickstarts]# cobbler profile report --name=CentOS_7.7_1908-x86_64 | grep -i kickstart # 查看一下,kickstart是否已经关联到了我们自己的ks文件
Kickstart : /var/lib/cobbler/kickstarts/centos7u7-x64.ks
Kickstart Metadata : {}
# 确保服务和端口都起来了
[root@cobbler-server kickstarts]# systemctl restart dhcpd xinetd cobblerd tftp
[root@cobbler-server kickstarts]# ss -nltp | egrep "httpd|rsync|xinetd|dhcpd|25151"

修改启动菜单

[root@cobbler-server ~]# cobbler system add --name=default --profile=CentOS_7.7_1908-x86_64
[root@cobbler-server ~]# cobbler system list
default
[root@cobbler-server ~]# cobbler sync
[root@cobbler-server ~]# cat /var/lib/tftpboot/pxelinux.cfg//default
DEFAULT menu
PROMPT 0
MENU TITLE Cobbler | http://cobbler.github.io/
TIMEOUT 200
TOTALTIMEOUT 6000
ONTIMEOUT CentOS_7.7_1908-x86_64 LABEL local
MENU LABEL (local)
MENU DEFAULT
LOCALBOOT -1 LABEL CentOS_7.7_1908-x86_64
kernel /images/CentOS_7.7_1908-x86_64/vmlinuz
MENU LABEL CentOS_7.7_1908-x86_64
append initrd=/images/CentOS_7.7_1908-x86_64/initrd.img ksdevice=bootif lang=kssendmac text ks=http://10.111.66.218/cblr/svc/op/ks/profile/CentOS_7.7_1908-x86_64
ipappend 2 MENU end
到此,cobber已经配置完成,只需要将机器启动方式改为网络启动即可

Cobbler 批量安装操作系统的更多相关文章

  1. 使用cobbler批量安装操作系统(基于Centos7.x )

    1.1 cobbler简介 Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装.重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等. Cobbler可以使 ...

  2. Cobbler批量安装操作系统

    1,关闭selinux getenforce  查看selinux状态 Disabled 修改/etc/selinux/config 文件 将SELINUX=enforcing改为SELINUX=di ...

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

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

  4. 一键cobbler批量安装脚本

    前几天机房上架180台服务器,太多了,使用了cobbler批量安装,具体的看我上代码,我把配置cobbler的命令给堆积起来,也算是个脚本吧,欢迎拍砖指正,下面我上脚本: #!/bin/bash # ...

  5. 批量安装操作系统之cobbler

    Cobbler 部署文档 服务端配置 操作系统:Centos6.4 关闭防火墙及 selinux 安装cobbler软件 添加yum源 rpm -Uvh https://dl.fedoraprojec ...

  6. 基于CentOS7系统部署cobbler批量安装系统(week3_day5_part1)-技术流ken

    前言 cobbler是一个可以实现批量安装系统的Linux应用程序.它有别于pxe+kickstart,cobbler可以实现同个服务器批量安装不同操作系统版本. 系统环境准备及其下载cobbler ...

  7. 末学者笔记--Centos7系统部署cobbler批量安装系统

      [前言]: cobbler是一个可以实现批量安装系统的Linux应用程序.它有别于pxe+kickstart,cobbler可以实现同个服务器批量安装不同操作系统版本. 系统环境准备及其下载cob ...

  8. cobbler批量安装系统使用详解-技术流ken

    前言 cobbler是一个可以实现批量安装系统的Linux应用程序.它有别于pxe+kickstart,cobbler可以实现同个服务器批量安装不同操作系统版本. 系统环境准备及其下载cobbler ...

  9. 基于Centos7系统部署cobbler批量安装系统

    前言 cobbler是一个可以实现批量安装系统的Linux应用程序.它有别于pxe+kickstart,cobbler可以实现同个服务器批量安装不同操作系统版本 系统环境的准备及下载cobbler 一 ...

随机推荐

  1. SYCOJ4972的幂次方

    题目- 2的幂次方 (shiyancang.cn) 递归题 #include<bits/stdc++.h> using namespace std; int k; void f(int n ...

  2. [MAUI] 在.NET MAUI中结合Vue实现混合开发

    ​ 在MAUI微软的官方方案是使用Blazor开发,但是当前市场大多数的Web项目使用Vue,React等技术构建,如果我们没法绕过已经积累的技术,用Blazor重写整个项目并不现实. Vue是当前流 ...

  3. 学习javaScript必知必会(3)~数组(数组创建,for...in遍历,辅助函数,高级函数filter、map、reduce)

    一.数组: 1.js是弱语言,js中的数组定义时:不用指定数据类型.不用功指定数组长度:数组可以存储任何数据类型的数据 2.数组定义的[ ] 的实质: [] = new Array(); {} = n ...

  4. Shell 脚本循环遍历日志文件中的值进行求和并计算平均值,最大值和最小值

    本文为博主原创,转载请注明出处: 最近在进行压测,为了观察并定位服务性能的瓶颈,所以在代码中很多地方加了执行耗时的日志,但这种方式只能观察,却在压测的时候,不太能准确的把握代码中某些方法的性能,所以想 ...

  5. FilterConfig接口(Servlet)

    Javax.Servet 包中提供了一个 FilterCofig 接口,它与 ServletConfig 接口相似,用于在过滤器初始化期间向其传递信息.FilterConfig 接口由容器实现,容器将 ...

  6. gin框架中集成casbin-权限管理

    概念 权限管理几乎是每个系统或者服务都会直接或者间接涉及的部分. 权限管理保障了资源(大部分时候就是数据)的安全, 权限管理一般都是和业务强关联, 每当有新的业务或者业务变化时, 不能将精力完全放在业 ...

  7. iOS14新功能一览

    这是转载的6月份的一篇文章,但是和今天发布的 ios14 正式版基本一致,可以大概参考一下. 23 号凌晨的 WWDC ,小狐也是恪尽职守啊!从开场到收尾,小狐一点也没落下,整场大会围绕着 Apple ...

  8. Shell 脚本进阶,经典用法及其案例

    一.条件选择.判断 1.条件选择if (1)用法格式 if 判断条件 1 ; then 条件为真的分支代码 elif 判断条件 2 ; then 条件为真的分支代码 elif 判断条件 3 ; the ...

  9. pyhon笔记入门

    人生苦短,我用Python 博客园精华区01-15 23:46 (一)认识Python Python背景介绍 Python的格言: Life is short,use python. (人生苦短,我用 ...

  10. SNAT技术

    前面在讲解 firewall-config 工具的功能时,曾经提到了 SNAT(Source Network Address Translation,源网络地址转换)技术.SNAT 是一种为了解决 I ...