2020-09-12

实验一:使用 kickstart 半自动化安装CentOS7系统

1.安装system-config-kickstart工具

[root@centos7 ~]#yum -y install   system-config-kickstart

2.利用system-config-kickstart生成ks文件

[root@centos7 ~]#export DISPLAY=10.0.0.1:0.0
[root@centos7 ~]#system-config-kickstart

3.生成配置文件内容

[root@centos7 ~]#vim  /root/anaconda-ks.cfg 
#platf orm=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --plaintext centos
# System language
lang en_US
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use text mode install
text
firstboot --enable
# SELinux configuration
selinux --disabled


# Firewall configuration
firewall --disabled
# Network information
network  --bootproto=dhcp --device=eth0
network  --hostname=centos7.pex.org
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai  --nontp
# Use network installation
url --url="http://10.0.0.8/centos/7/os/x86_64/"
# System bootloader configuration
bootloader --append="net.ifnames=0"  --location=mbr --boot-drive=sda
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
autopart --type=lvm

%post
mkdir /etc/yum.repos.d/backup 
mv /etc/yum.repos.d/* /etc/yum.repos.d/backup
cat > /etc/yum.repos.d/base.repo < /root/.ssh/authorized_keys <

4.在centos8建立http的yum仓库,和ks文件

#挂载centos7的光盘文件到http目录下
[root@centos8 ~]#mount  /dev/sr1 /var/www/html/centos/7/os/x86_64/

#把centos7的ks文件放到http目录下
[root@centos7 ~]scp ks7.cfg 10.0.0.8:/var/www/html/ksdir

#启动httpd服务
[root@centos8 ~]#systemctl start httpd

5.centos7使用ks文件安装系统

#进入开机界面,按esc键进入boot界面
#指定ks文件路径和ip
boot> linux ks=http://10.0.0.8/ksdir/ks7.cfg ip=dhcp

实验八:实现pxe安装双系统centos6、centos7

1.安装相关软件包并启动

[root@centos8 ~]#dnf -y install dhcp-server tftp-server httpd syslinux-nonlinux 
[root@centos8 ~]#systemctl enable --now httpd tftp dhcpd

2.配置DHCP服务

[root@centos8 ~]#cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf
[root@centos8 ~]#cat /etc/dhcp/dhcpd.conf 
option domain-name "xbd.com";
option domain-name-servers 180.76.76.76, 223.5.5.5;
default-lease-time 86400;
max-lease-time 172800;

subnet 10.0.0.0 netmask 255.255.255.0 {
    range 10.0.0.50 10.0.0.100;
    range 10.0.0.150 10.0.0.200;
    option routers 10.0.0.2;
    next-server 10.0.0.8;
    filename "pxelinux.0";
}

[root@centos8 ~]#systemctl start dhcpd

3.准备yum 源和相关目录

[root@centos8 ~]#mkdir  -pv /var/www/html/centos/{6,7,8}/os/x86_64/ 
[root@centos8 ~]#mount /dev/sr0 /var/www/html/centos/6/os/x86_64/
[root@centos8 ~]#mount /dev/sr1 /var/www/html/centos/7/os/x86_64/
[root@centos8 ~]#mount /dev/sr2 /var/www/html/centos/8/os/x86_64/

4.准备kickstart文件

[root@centos8 ~]#mkdir /var/www/html/ksdir/
[root@centos8 ~]#vim /var/www/html/ksdir/ks6.cfg  
[root@centos8 ~]#vim /var/www/html/ksdir/ks7.cfg  
[root@centos8 ~]#vim /var/www/html/ksdir/ks8.cfg

5.准备PXE启动相关文件

[root@centos8 ~]#mkdir /var/lib/tftpboot/centos{6,7,8}
#准备CentOS6,7,8各自的内核相关文件
[root@centos8 ~]#cp /var/www/html/centos/6/os/x86_64/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos6
[root@centos8 ~]#cp /var/www/html/centos/7/os/x86_64/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos7
[root@centos8 ~]#cp /var/www/html/centos/8/os/x86_64/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos8
[root@centos8 ~]#cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/

#以下三个文件是CentOS8安装所必须文件,CentOS6,7则不需要
[root@centos8 ~]#cp /var/www/html/centos/8/os/x86_64/isolinux/{ldlinux.c32,libcom32.c32,libutil.c32} /var/lib/tftpboot/

#生成安装菜单文件
[root@centos8 ~]#mkdir /var/lib/tftpboot/pxelinux.cfg/
[root@centos8 ~]#cp /var/www/html/centos/8/os/x86_64/isolinux/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default
#最终目录结构如下
[root@centos8 ~]#tree /var/lib/tftpboot/
/var/lib/tftpboot/
├── centos6
│   ├── initrd.img
│   └── vmlinuz
├── centos7
│   ├── initrd.img
│   └── vmlinuz
├── centos8
│   ├── initrd.img
│   └── vmlinuz
├── ldlinux.c32
├── libcom32.c32
├── libutil.c32
├── menu.c32
├── pxelinux.0
└── pxelinux.cfg
    └── default

4 directories, 12 files

6.准备启动菜单文件

[root@centos8 ~]#vim  /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
timeout 60


menu title CentOS Linux 8.0.1905


label linux8
  menu label Auto install  CentOS Linux ^8.0
  kernel centos8/vmlinuz
  append initrd=centos8/initrd.img quiet ks=http://10.0.0.8/ksdir/ks8.cfg

label linux7
  menu label Auto install  CentOS Linux ^7.6
  kernel centos7/vmlinuz
  append initrd=centos7/initrd.img quiet ks=http://10.0.0.8/ksdir/ks7.cfg

label linux^6
  menu label Auto install  CentOS Linux ^6.10
  kernel centos6/vmlinuz
  append initrd=centos6/initrd.img quiet ks=http://10.0.0.8/ksdir/ks6.cfg

label rescue8
  menu label Rescue a CentOS Linux system
  kernel centos8/vmlinuz 
  append initrd=centos/initrd.img inst.repo=http://10.0.0.8/centos/8/os/x86_64/ rescue quiet  


label local
  menu default 
  menu label Boot from ^local drive
  localboot 0xffff

7.测试客户端基于PXE实现自动安装

新准备一台主机,设置网卡引导,可看到看启动菜单,并实现自动安装

你可能感兴趣的:(2020-09-12)