马哥教育第二次作业(半自动和自动化安装系统)

文章目录

    • 重点 实验一:使用 kickstart 半自动化安装CentOS系统
        • 配置步骤
        • 配置文件目录介绍
        • 配置过程
    • 重点 实验二:实现pxe安装双系统centos6、centos7
        • 配置步骤
        • 配置文件目录介绍
        • 配置过程

重点 实验一:使用 kickstart 半自动化安装CentOS系统

配置步骤

1. 配置 kickstart 文件

2. 启动主机,指定 kickstart 文件所在位置

配置文件目录介绍

anaconda-ks.cfg			系统安装的文件
/var/www/html			http 的站点目录
/var/lib/tftpboot/		tftp server 的站点目录

配置过程

`1. 配置 kickstart 文件`
(1) 安装必须软件
[root@centos7 yum.repos.d]# yum install syslinux tftp-server httpd dhcp
(2) 配置 kickstart 文件
两种方式:
修改 anaconda-ks.cfg 文件
通过 system-config-kickstart 来设置
这里通过 anaconda-ks.cfg 文件来定义 kickstart 文件



Centos 7 kickstart 文件
[root@centos7 ~]# cat /var/www/html/ks/centos7.cfg
install
auth --enableshadow --passalgo=sha512
text
reboot
firstboot --enable
ignoredisk --only-use=sda
keyboard --vckeymap=us --xlayouts='us'
lang en_US.UTF-8
network  --bootproto=dhcp --device=ens33 --onboot=on
network  --hostname=dingchen.club
rootpw --iscrypted $6$jZqAiha6/jpJAUSZ$L.K.g0FgjZ2TiW3Dr78jwnsJr/gDeg23U0Z1VcYSzwFIbIIuklVpyhEfCbsjoqkDDtuOpiMix56AwqUeSHsTV/
services --enabled="chronyd"
timezone America/New_York --isUtc
bootloader --location=mbr --boot-drive=sda
autopart --type=lvm
clearpart --all --initlabel
%packages
@^minimal
@core
chrony
%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

Centos 6 kickstart 文件
[root@centos7 ks]# cat centos6.cfg 
install
text
reboot
lang en_US.UTF-8
keyboard us
network --onboot yes --device eth0 --bootproto dhcp  --noipv6
rootpw --plaintext 123.com
firewall --disabled
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
zerombr
clearpart --all --initlabel
part /boot --fstype=ext4 --size=1024
part / --fstype=ext4 --size=10240
part /data --fstype=ext4 --size=3000
part swap --size=2048
%packages
@core
@server-policy
@workstation-policy
autofs
vim-enhanced
%end
%post
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/* /etc/yum.repos.d/bak
cat > /etc/yum.repos.d/base.repo <<EOF
[base]
name=base
baseurl=file:///misc/cd
gpgcheck=0
EOF
%end
`2. 开启主机,指定文件`
开启使用光盘启动,按下 ESC 进入 boot: 字符界面
输入 linux ks=KSFILEURL
例:linux ks=http://100.0.0.10/ks/centos6.cfg

重点 实验二:实现pxe安装双系统centos6、centos7

配置步骤

接着上面的步骤配置
1. 配置 dhcp
2. 配置安装源
3. 配置 tftp server
4. 配置菜单文件
5. 在 kickstart 文件中添加源地址
6. 重启服务,验证

配置文件目录介绍


├── centos6
│   ├── initrd.img		# 启动的文件系统参数
│   └── vmlinuz			# 内核文件
├── centos7
│   ├── initrd.img
│   └── vmlinuz
├── menu.c32			# 菜单背景
├── pxelinux.0
└── pxelinux.cfg
    └── default			# 启动菜单参数

配置过程

`1. 配置 dhcp`
[root@centos7 html]# vim /etc/dhcp/dhcpd.conf 
option domain-name "dingchen.com";
option domain-name-servers 100.0.0.2;
default-lease-time 99999;
max-lease-time 7200;
 log-facility local7;

subnet 100.0.0.0 netmask 255.0.0.0 {
     
   range 100.0.0.100 100.0.0.200;
   option routers 100.0.0.2;
   next-server 100.0.0.10;
   filename "pxelinux.0";
}
[root@centos7 html]# systemctl restart dhcpd
`2. 配置安装源`
[root@centos7 ks]# mkdir -pv /var/www/html/centos/6/
[root@centos7 ks]# mkdir -pv /var/www/html/centos/7/
[root@centos7 ks]# mount /dev/sr0 /var/www/html/centos/7/
[root@centos7 ks]# mount /dev/sr1 /var/www/html/centos/6/
[root@centos7 html]# chmod 444 /var/www/html/ks/centos6.cfg 
[root@centos7 html]# chmod 444 /var/www/html/ks/centos7.cfg 
# 使用浏览器访问测试,可以访问即可,根目录由 /var/www/html 开始算起,后面的 centos/6 是子目录
`3. 配置 tftp server`
[root@centos7 syslinux]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@centos7 syslinux]# cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/
[root@centos7 tftpboot]# mkdir centos{6,7}
[root@centos7 syslinux]# cp /var/www/html/centos/7/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos7/
[root@centos7 syslinux]# cp /var/www/html/centos/6/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos6/
[root@centos7 tftpboot]# cp /var/www/html/centos/6/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
################ tree #############
[root@centos7 tftpboot]# tree
.
├── centos6
│   ├── initrd.img
│   └── vmlinuz
├── centos7
│   ├── initrd.img
│   └── vmlinuz
├── menu.c32
├── pxelinux.0
└── pxelinux.cfg
    └── default
`4. 配置菜单文件`
[root@centos7 tftpboot]# cat /var/lib/tftpboot/pxelinux.cfg/default 
default menu.c32
timeout 600
menu title PXE INSTALL MENU
display boot.msg
label linux
  menu label Auto Centos ^6
  kernel centos6/vmlinuz
  append initrd=centos6/initrd.img text ks=http://100.0.0.10/ks/centos6.cfg
label linux
  menu label Auto Centos ^7
  kernel centos7/vmlinuz
  append initrd=centos7/initrd.img text ks=http://100.0.0.10/ks/centos7.cfg
label local
  menu label Boot from ^local drive
  localboot 0xffff
  menu default
`5. 在 kickstart 文件中添加源地址`
[root@centos7 tftpboot]# vim /var/www/html/ks/centos6.cfg 
url --url="http://100.0.0.10/centos/6/"

[root@centos7 tftpboot]# vim /var/www/html/ks/centos7.cfg 
url --url="http://100.0.0.10/centos/7/"
`6. 重启服务,验证`
[root@centos7 tftpboot]# systemctl restart dhcpd tftp.service httpd

你可能感兴趣的:(马哥教育)