震惊君的Linux之旅 ------ 时间同步和自动化装机

本文介绍了两项信息技术内容。一是在Centos7上配置chrony服务实现服务器时间自动同步,通过修改配置文件和启动服务达成。二是实现cobbler+pxe自动化装机,包括pxe装机的多步骤操作,如安装服务、准备yum源和ks文件等,以及cobbler装机的相关步骤,最后新建虚拟机测试安装。

1、配置chrony服务,实现服务器时间自动同步

前提:Centos7(本机)上确保已安装chrony,远程主机由Centos6担任

为了验证是否同步成功,我们先将 系统时间 改为为上一年,并将 硬件时间 与其同步

[root@centos7 ~]# date
Thu Dec 10 15:46:07 CST 2020
[root@centos7 ~]# date -s “-1 year”
Tue Dec 10 15:46:18 CST 2019
[root@centos7 ~]# date
Tue Dec 10 15:46:19 CST 2019

[root@centos7 ~]# clock -w
[root@centos7 ~]# clock
Tue 10 Dec 2019 03:46:25 PM CST -0.462350 seconds

随后进入chrony(本机)配置文件进行修改

vim /etc/chrony.conf

# 将第一行修改为你要同步的远程主机,若有别的则添加第二行,别的都注释掉即可
server 192.168.37.6 iburst			# iburst用于加快同步速度                                                                                                                          
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

:由于本例是Centos6当远程主机(即作服务器),所以我们在/etc/ntp.conf中做一些设置,Centos7则在/etc/chrony.conf中

#注释掉相应行即可
vim /etc/ntp.conf
#restrict default kod nomodify notrap nopeer noquery 

# 启动服务
service ntpd start

启动本机chrony服务,稍加等待时间就同步了

[root@centos7 ~]# service start chrony
[root@centos7 ~]# date
Thu Dec 10 16:13:57 CST 2020

也可通过此命令查看同步状态,* 号表示已经同步
[root@centos7 ~]# chronyc sources -v
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 192.168.37.6 2 6 377 47 +106us[+1715us] +/- 125ms

2、实现cobbler+pxe自动化装机

pxe 自动化装机

1)分别安装 httpd, tftp-server, dhcp, syslinux, 并使他们处于 start状态,如有需要设定开机启动 enable
yum install httpd tftp-server dhcp syslinux

systemctl start httpd tftp dhcpd 

注意:第一次启动 dhcp服务时,由于配置文件 /etc/dhcpd/dhcp.conf中缺少本机网段的分配可能会出现报错,之后修改即可

2)准备 yum源,Centos6 和 Centos7都要 (事先需要配置好两个光盘, 并分别挂载, 使我们可以通过网络途径找到他们)
mkdir /var/www/html/centos/{6,7}/os/x86_64 -pv

mount /dev/sr0 /var/www/html/centos/7/os/x86_64
mount /dev/sr1 /var/www/html/centos/6/os/x86_64
3)ks(应答)文件准备

安装并执行 system-config-kickstart, 并且保存为相应的 .cfg文件

yum install system-config-kickstart
system-config-kickstart

确保通过网络途径可以下载这两个 .cfg文件

mkdir /var/www/html/ksdir
cp ks6_mini.cfg ks7_mini.cfg /var/www/html/ksdir/
4)配置DHCP服务
# 拷贝dhcpd配置文件模板至指定位置并改名
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

# 修改该配置文件
vim /etc/dhcp/dhcpd.conf
option domain-name "magedu.com";
option domain-name-servers 114.114.114.114, 180.76.76.76;

default-lease-time 86400;			# 租期
max-lease-time 864000;

subnet 192.168.37.0 netmask 255.255.255.0 {
    range 192.168.37.50 192.168.37.100;			# 范围
    option routers 192.168.37.1;			# 网关
    next-server 192.168.37.7;			# tftp服务器地址
    filename "pxelinux.0";			# 基于网络的bootloader文件名
}

此时 dhcp服务可以启动了

systemctl start dhcpd
5)准备相关文件,一般而言都放在 /var/lib/tftpboot/下
cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/

创建两个目录分别存放centos6/7的启动文件

mkdir /var/lib/tftpboot/centos{6,7}

cp /var/www/html/centos/7/os/x86_64/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos7
cp /var/www/html/centos/6/os/x86_64/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos6

isolinux.cfg文件需要改名 default,并存放在名为 pxelinux.cfg的目录下

mkdir /var/lib/tftpboot/pxelinux.cfg/
cp /var/www/html/centos/7/os/x86_64/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

最后如下所示:

[root@centos7 tftpboot]# tree /var/lib/tftpboot/
/var/lib/tftpboot/
├── centos6
│ ├── initrd.img
│ └── vmlinuz
├── centos7
│ ├── initrd.img
│ └── vmlinuz
├── menu.c32
├── pxelinux.0
└── pxelinux.cfg
└── default
3 directories, 7 files

6)准备启动菜单

需要修改相应的参数,并删除一些无用参数(占大部分)

vim /var/lib/tftpboot/pxelinux.cfg/default
 
default menu.c32
timeout 600
menu title CentOS Auto Install 

label mini7
  menu label Install CentOS ^Mini 7			# ^符号设定后一个字母为显示的快捷键
  kernel centos7/vmlinuz				# 注意centos6、7需要突出不同路径,以免搞混
  append initrd=centos7/initrd.img ks=http://192.168.37.7/ksdir/ks7_mini.cfg			# 输入ks的网络地址

label mini6
  menu label Install CentOS Mi^ni 6
  kernel centos6/vmlinuz
  append initrd=centos6/initrd.img ks=http://192.168.37.7/ksdir/ks6_mini.cfg

# 本地硬盘启动,并设为默认
label local
  menu default			# 默认,若菜单界面到时(60秒后)会自动选择此项,避免再次安装系统的风险
  menu label Boot from ^local drive
  localboot 0xffff
7)找一台干净的虚拟机,启动可见菜单栏,选择一项安装即可

在这里插入图片描述

cobbler 自动化装机 (重设一个干净主机192.168.37.17)

1)安装并启动相关服务

注意:cobbler安装由于依赖性原因,会将除了 dhcp外的所有包全都安装上

yum install cobbler
yum install dhcp

systemctl start cobblerd dhcpd tftp httpd 
2)检查提醒并修改相应文件

输入命令后会出现总计8条提醒,一般来说我们修改 1, 2, 4, 7 步

cobbler check

修改:

vim /etc/cobbler/settings

next_server: 192.168.37.17			# tftp服务器
server: 192.168.37.17			# cobbler服务器

# 修改密码,默认为单词cobbler,不安全,用openssl生成一个新的
openssl passwd -l
default_password_crypted: "xxxxxxxx"

manage_dhcp: 1			# dhcp服务器自动根据模板修改,默认为0(手动)

重启服务:

systemctl restart cobblerd
3)修改DHCP
vim /etc/cobbler/dhcp.template

subnet 192.168.37.0 netmask 255.255.255.0 {
     option routers             192.168.37.2;
     option domain-name-servers 192.168.37.2;
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        192.168.37.100 192.168.37.254;

使设定同步:

cobbler sync

此时,可以启动 dhcp服务了

systemctl start dhcpd
4)从网上下载 boot loaders,并同步
cobbler get-loaders
cobbler sync
5)导入yum源

前提:Centos6光盘已挂载在 /mnt上 ; Centos7光盘已挂载在 /mi

# Centos6
cobbler import --path=/mnt --name=Centos6.10-x86_64 --arch=x86_64

# Centos7
cobbler import --path=/misc/cd --name=Centos7.6-x86_64 --arch=x86_64

cat /var/lib/tftpboot/pxelinux.cfg/default

菜单已经生成,系统默认会生成一个应答文件,但并不符合我们的安装要求,所以接下去我们要把自己的 ks文件 将其替换

6)准备 ks文件

有几套 yum源:

cobbler distro list

有几套 ks文件:

cobbler profile list

关联 ks:

cobbler profile add --name Centos6.10-x86_64_mini --distro=Centos6.10-x86_64 --kickstart=/var/lib/cobbler/kickstart/ks6.cfg

cobbler profile add --name Centos7.6-x86_64_mini --distro=Centos7.6-x86_64 --kickstart=/var/lib/cobbler/kickstart/ks7.cfg

cobbler profile list			可见添加的信息
7)大功告成~新建一台新的虚拟机测试安装即可
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值