Chrony和Cobbler實踐
1、配置chrony服務,實現伺服器時間自動同步
# 第一部分:配置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
2、實現cobbler+pxe自動化裝機
# 實驗條件
# 1、使用最小化安裝方式進行安裝而且沒有進行配置的CentOS7系統
# 2、虛擬化軟體為VMWare Workstation Pro 16
# 3、關閉VMWare軟體NAT網路自帶的DHCP服務
# 4、虛擬機器開機前提前掛載好CentOS7系統的ISO映象檔案
# 5、本次實驗選擇大小超過4DB的ISO映象檔案,直接額外安裝一些常用軟體
# 6、所有命令均以root身份執行
# 7、用於測試自動化安裝系統的虛擬機器使用的記憶體不能低於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”這一行。如下圖所示:
「其他文章」
- 單點登入(一)| LDAP 協議
- 炸了!炸了!微信十週年炸裂更新(附安卓版)
- JS中的防抖函式
- 記一次商品推薦演算法優化過程中的思考與總結
- 一篇ACSAC的關於可編輯區塊鏈的論文分析
- 思科N9K交換機 QOS配置(8佇列)
- 原來只要變更一下資料來源的表結構
- Chrony和Cobbler實踐
- 2021年第1期《微控制器與嵌入式系統應用》電子刊新鮮出爐!
- 期末學習總結
- 用t-io從零寫一個像微信的IM(05):架構設計
- torch.utils.ffi is deprecated. Please use cpp extensions instead
- MyBatis-Plus條件構造器
- LAMP環境的搭建
- Android依賴注入-Hilt
- 位元組跳動面試只問了1個架構問題,我被錄取了!
- std::__cxx11::basic_string編譯錯誤解決方案
- 無線感測網路
- TiKV原始碼解析系列文章
- .NET 5的重大改變:消失的歷史技術