# 第一部分:配置chrony服务器 # 安装chront软件包 yum install -y chrony # 编辑配置文件 cat > /etc/chrony.conf << EOF server 1.centos.pool.ntp.org server ntp.aliyun.com server cn.pool.ntp.org stratumweight 0 driftfile /var/lib/chrony/drift rtcsync makestep 1.0 3 allow 192.168.0.0/24 logdir /var/log/chrony EOF # 当即启动chrony服务而且设置为开机启动 systemctl start --now chronyd # 校准时间 chronyc tracking # 第二部分:配置chrony客户端 yum install -y chrony # 192.168.0.12是刚才配置好的chrony cat > /etc/chrony.conf << EOF server 192.168.0.12 stratumweight 0 driftfile /var/lib/chrony/drift rtcsync logdir /var/log/chrony EOF systemctl start --now chronyd chronyc tracking
# 实验条件 # 一、使用最小化安装方式进行安装并且没有进行配置的CentOS7系统 # 二、虚拟化软件为VMWare Workstation Pro 16 # 三、关闭VMWare软件NAT网络自带的DHCP服务 # 四、虚拟机开机前提早挂载好CentOS7系统的ISO镜像文件 # 五、本次实验选择大小超过4DB的ISO镜像文件,直接额外安装一些经常使用软件 # 六、全部命令均以root身份执行 # 七、用于测试自动化安装系统的虚拟机使用的内存不能低于2G # 配置静态IP、DNS等网络参数实现正常联网 nmcli con add con-name static \ ifname ens33 autoconnect yes type ethernet \ ip4 192.168.0.13/24 gw4 192.168.0.2 nmcli con up static echo 'nameserver 192.168.0.2' > /etc/resolv.conf ip route add 192.168.0.0/24 via 192.168.0.2 dev ens33 systemctl restart NetworkManager # 安装相关软件 yum install -y epel-release yum install -y dhcp cobbler cobbler-web pykickstart xinetd systemctl enable --now xinetd httpd dhcpd cobblerd tftp # 修改Cobbler的配置文件 # 此处的192.168.0.13是刚才配置的本机IP # “cobbler get-loaders”命令可否正常下载文件取决于实际的网络情况 # 若是不能正常下载相关文件,须要配置proxy_url,也就是代理服务器的ip地址和端口 # proxy_url是提供代理服务的主机地址,是为了让“cobbler get-loaders”命令正常下载文件 sed -i 's/^server: 127.0.0.1/server: 192.168.0.13/' /etc/cobbler/settings sed -i 's/^next_server: 127.0.0.1/next_server: 192.168.0.13/' /etc/cobbler/settings sed -i 's@^proxy_url_ext:.*@proxy_url_ext: "http://192.168.0.1:12333"@' /etc/cobbler/settings sed -i 's@manage_dhcp: 0@manage_dhcp: 1@' /etc/cobbler/settings # 下载必要的文件 cobbler get-loaders # 设置xinetd服务接管tftp cat > /etc/xinetd.d/tftp << EOF service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /var/lib/tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 } EOF systemctl enable rsyncd systemctl restart cobblerd # 此时执行“cobbler check”命令应该至少会看见两处须要配置的项目 # 这两个项目与Cobbler实现自动化安装系统无关,能够忽略 cobbler check # 配置Cobble接管DHCP服务和相关的参数 sed -i.bak '21,25d' /etc/cobbler/dhcp.template sed -i '20a \ subnet 192.168.0.0 netmask 255.255.255.0 { \ option routers 192.168.0.2; \ option domain-name-servers 192.168.0.2; \ option subnet-mask 255.255.255.0; \ range dynamic-bootp 192.168.0.50 192.168.0.200; \ ' /etc/cobbler/dhcp.template systemctl restart cobblerd.service cobbler sync > /dev/null && echo OK systemctl status dhcpd # 导入ISO镜像文件 mount /dev/cdrom /mnt cobbler import --path=/mnt --name=Centos-7.8 --arch=x86_64 cobbler list # 编辑kickstart文件 cat > /var/lib/cobbler/kickstarts/Centos7.8-x86_64.cfg << EOF auth --enableshadow --passalgo=sha512 # graphical text ignoredisk --only-use=sda keyboard --vckeymap=us --xlayouts='us' lang en_US.UTF-8 --addsupport=zh_CN.UTF-8 network --bootproto=dhcp --device=ens33 --ipv6=auto --activate url --url="\$tree" rootpw --iscrypted \$6\$PZQDlNOAE8CoR6dc\$DRTjMEghl6nB8W1m0hEjxGKHnWAvT3LOVFdYe2eC8atpAiFRpnC0hvT4Jleb31hXU1IezHMoMSo4RugErz8Ya0 selinux --disabled firewall --disabled firstboot --disable services --disabled="chronyd" reboot timezone Asia/Shanghai --isUtc --nontp user --groups=wheel --name=admin --password=\$6\$c.zcA6c8hLkmAy54\$uRnJPM9J/40FfbuyMwLhpjU.DF9bWpeG6TYD8K6ijLQECbLyBuEq12nsgNzfpJ3ai4xAJfk9PYUDUuNB8MfNR. --iscrypted --gecos="admin" bootloader --location=mbr --boot-drive=sda zerombr clearpart --all --initlabel part swap --fstype="swap" --ondisk=sda --size=2048 part /boot --fstype="ext4" --ondisk=sda --size=488 part / --fstype="xfs" --ondisk=sda --size=17943 %packages @^minimal @core @"Development Tools" vim-enhanced lrzsz net-tools bash-completion lsof wget %end %addon com_redhat_kdump --disable --reserve-mb='auto' %end %anaconda pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty %end EOF # 导入ks文件 cobbler profile edit --name Centos-7.8-x86_64 --kickstart=/var/lib/cobbler/kickstarts/Centos7.8-x86_64.cfg cobbler validateks cobbler sync
在配置好Cobbler服务后,若是再进行变动配置参数好比修改kickstart文件,须要执行“cobbler sync”命令。
完成新建一个用于测试的虚拟机以后,必须手动将选项调整到“Centos-7.8-86_64”这一行。以下图所示:linux