自动化安装

自动化安装总结:

centos系统安装:
系统启动流程:bootloader --->kernel(initramfs)-->rootfs--->/sbin/init


anaconda:系统安装程序
gui:图形窗口
tui:基于图形库curses的文本窗口
MBR:isolinux/boot.cat
stage2:isolinux/isolinux.bin

配置文件:isolinux/isolinux.cfg
每个对应的菜单选项:
加载内核:isolinux/vmlinuz
向内核传递参数:append initrd=initrd.img

装载根文件系统,并启动anaconda
默认启动GUI接口
若是显式指定使用TUI接口:向内核传递text参数即可
(1)按tab键,在后面增加text
(2)按ESC键,boot:linux text

Anaconda安装分为三个阶段:
安装前配置阶段:
安装过程使用的语言
键盘类型
安装目标存储设备
Basic Storage:本地磁盘
特殊设备:iSCSI
设定主机名
配置网络接口
时区
管理员密码
设定分区及MBR的安装位置
创建一个普通用户
选定要安装的程序包

安装阶段:
在目标磁盘创建分区,执行格式化操作等
将选定的程序包安装至目标分区
安装bootloader和initramfs
图形模式首次启动
iptables
selinux
core dump


系统安装

启动安装过程一般应位于引导设备;后续的anaconda及其安装用到的程序包等可来自小面几种方式:
本地光盘
本地磁盘
    NFS
    URL:
      ftp sever:yum repository
      http sever:yum repostory
如果想手动指定安装源:
    boot:linux askmethod

自动安装之kickstart文件的配置:

此文件的配置需要用到工具是:Xmanager Enterprise 5 我们可以利用此工具弹出图形化界面然后自动生成文件。此文件与/root/anaconda-ks.cfg相似,可以参照此文件做更改。

使用的程序包:system-config-kickstart
此工具在centos7上使用必须将yum中的[base]改为[development]才能正常使用。

语法检测:ksvalidator /path/file

使用方法:将此文件配置好后将其方在ftp或者http目录下然后再启动页面按tab键,在后面加上:ks=ftp://ip/pub/ks.cfg 然后启动即可实现自动化回答系统安装是的选项。

制作引导光盘:

(1)将六和七的光盘挂载到http的/var/www/html下的目录上,分别创建目录为6,7.
例如:

vim /etc/fstab
/dev/sr0 /var/www/html/6 iso9660 defaults 0 0
/dev/sr1 /var/www/html/7 iso9660 defaults 0 0 

 

(2)将在/app下创建一个目录/myiso并将六中的isolinux/ 目录拷到/app/myiso中
     

 例如:cp -a /var/www/html/6/isolinux myiso/

(3)编辑/myiso/isolinux/isolinux.cfg文件

default vesamenu.c32
#prompt 1
timeout 600

display boot.msg

menu background splash.jpg
menu title Welcome to CentOS 6.9!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000

label centos6
menu label ^Install mini centos system
kernel vmlinuz
append initrd=initrd.img ks=ftp://172.18.254.97/pub/pb/ks.cfg

label centos6-d
menu label Install an ^Dodktop centos6 system
kernel vmlinuz
append initrd=initrd.img ks=ftp://172.18.254.97/pub/pb/ks6d.cfg

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

(4)文件编辑完成后既可以制作镜像文件:

[root@centosliuhua ~]# mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.9 magedu boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/centos_mage.iso /app/myiso/
完成后我们可以查看文件卷标:file centos_mage.iso

  

(5)将光盘导出安装到新的虚拟机上保持网段是通的就可以自动安装系统了。

 制作完整的自动安装镜像:

    (1)将/var/www/html/6/* 拷到/app/fulliso 目录下包括隐藏文件
             

  [root@centosliuhua fulliso]# cp -r /var/www/html/6/* .
 [root@centosliuhua app]# cd /var/www/html/6
 [root@centosliuhua 6]# cp .discinfo .treeinfo /app/fulliso/

  

 

    (2)删除文件中的TRANS.TBL

[root@centosliuhua fulliso]# find -name TRANS.TBL -exec rm -rf {} \;

  

    (3)删除repodata 文件并创建一个新的并拷贝包组信息到repodata目录中

[root@centosliuhua fulliso]# rm repodata/ -rf
[root@centosliuhua fulliso]# mkdir repodata	[root@centosliuhuafulliso]#cp/var/www/html/6/repodata/43d8fd068164b0f042845474d6a22262798b9f0d1f49ad1bf9f95b953089777d-c6-x86_64-comps.xml repodata/

    (4)创建包组:

[root@centosliuhua fulliso]# createrepo -g repodata/43d8fd068164b0f042845474d6a22262798b9f0d1f49ad1bf9f95b953089777d-c6-x86_64-comps.xml ./

  

    (5)拷贝kickstart文件到当前目录即:/app/fulliso/isolinux并将网络安装源改为cdrom

[root@centosliuhua isolinux]# cp /var/ftp/pub/pb/ks.cfg /app/fulliso
[root@centosliuhua isolinux]# cp /var/ftp/pub/pb/ks6d.cfg /app/fulliso

  

    (6)编写isolinux.cfg文件

label centos6-mini
menu label ^Install an centos6 mini system
kernel vmlinuz
append initrd=initrd.img ks=cdrom:/ks.cfp
label centos6-disk
menu label ^Install an centos6 disk system
kernel vmlinuz
append initrd=initrd.img ks=cdrom:/ks6d.cfg

label rescue
menu label ^Rescue installed system
kernel vmlinuz
append initrd=initrd.img rescue
label local

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

 

  

 

    (7)制作镜像包

[root@centosliuhua fulliso7]# mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 7 Automatic Install DVD" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /app/centos_auto7dvd.iso /app/fulliso7/

  

 


dhcp实现:
首先要将虚拟机配置一块网卡并配置为静态IP地址关闭DHCP

 vim /etc/udev/rules.d/70-persistent-net.rules
[root@centosliuhua network-scripts]# cd /etc/sysconfig/network-scripts/
[root@centosliuhua network-scripts]# vim ifcfg-eth2

  


        (1)安装DHCP服务
        (2)查看配置文件:/etc/dhcp/dhcpd.conf
     (3)将模板拷到配置文件中:

[root@centosliuhua network-scripts]# cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

  

    (4)编辑配置模板:

option domain-name "example.org";
option domain-name-servers 114.114.114.114,8.8.8.8;

default-lease-time 6000;
max-lease-time 72000;

log-facility local7;
subnet 172.21.0.0 netmask 255.255.0.0 {
range 172.21.0.1 172.21.255.253;
option routers 172.21.0.254;
}

  

    (5)启动dhcp服务:[root@centosliuhua network-scripts]# /etc/init.d/dhcpd restart
          dhcp开机启动:chkconfig dhcp on

 

 

tftp安装:
    两个包客户端和服务端的:tftp tftp-server
    tftp是一个非独立的软件包/etc/xinetd.dz 中找到它
    启动方式为:[root@centosliuhua xinetd.d]# chkconfig tftp on
          或者:/etc/init.d/xinetd restart
    让tftp开机启动须保证xinetd开机启动就行:chkconfig xinetd on

 

 

 

PXE制作过程:
centos7(内存必须大于1024才能启动)准备好6,7的镜像光盘
    (1)关闭防火墙:

[root@pxe7 ~]# systemctl stop firewalld.service 
[root@pxe7 ~]# systemctl disable firewalld.service 

  


    (2)关闭selinux:[root@pxe7 ~]# vim /etc/selinux/config 进入文件改为disabled

    (3)配置静态ip地址:

[root@pxe7 ~]# nmcli connection modify ens34 ipv4.method manual ipv4.addresses 192.168.88.254/24
[root@pxe7 ~]# nmcli connection down ens34
[root@pxe7 ~]# nmcli connection up ens34

  


    (4)将光盘挂载特定位置在此之前要将httpd服务安装好:

/dev/sr0 /var/www/html/centos/6 iso9660 defaults 0 0
/dev/sr1 /var/www/html/centos/7 iso9660 defaults 0 0

  

    (5)重启httpd服务并保证重启后有效:

[root@pxe7 ~]# systemctl start httpd
[root@pxe7 ~]# systemctl enable httpd

    (6)配置自己的yum仓库:

[base]
name=Centos $releasever
baseurl=http://192.168.88.254/centos/$releasever/
gpgcheck=0
[root@pxe7 ~]# cp /etc/yum.repos.d/magedu.repo /var/www/html/centos/

  

    (7)准备kickstart文件(centos7在制作时要将yum库第一行[base]改为[development]),并将文件放在/var/www/html/ksdir 目录下

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$GFELZkfW$.2lOGr8X2xEa36HBb9DKW1
# Use network installation
url --url="http://192.168.88.254/centos/7/"
# System language
lang en_US
# Firewall configuration
firewall --disabled
# System authorization information
auth --useshadow --passalgo=sha512
# Use text mode install
text
firstboot --disable
# SELinux configuration
selinux --disabled

# Network information
network --bootproto=dhcp --device=ens33
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part / --fstype="xfs" --size=20480
part /boot --fstype="xfs" --size=10240
part /app --fstype="xfs" --size=10240
part swap --fstype="swap" --size=2048

%packages
@development
@^minimal
@core
autofs
vim
kexec-tools

%end

%post
rm -rf /etc/yum.repos.d/*
wget -P /etc/yum.repos.d/ http://192.168.88.254/centos/magedu.repo
mkdir /root/.ssh
chmod 700 /root/.ssh
cat > /root/.ssh/authorized_keys << EOF
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCoY4YWigEMihehVgClbidZF0fZmepMh1JVvMulPENN8+TwbMT5sOg1V1NHEVd0mrtmSQJSPjJGkLHr6syIkPk2tQ+F4Bmpkyi8dWgbUKPc8hbVq/ivvpPeDqTXU2KXbyyrB7e8WdS+V7FwOcANJPzOB3+tJebMEYJ7L8JOSs8sKuBW+6+Jv9p99dmBfQ/ERn8dfmunUKh988sqsDD1MblRALR5jxsp2mn5yrmOwhjjg2HboqFRu81spnh2KOUjRPDMGd8PelujhCWDPGhsFRI1V8WLUlpIMRInHkIjv6Px2KKrqn0eF8h94XSZtGVIvlBnQtBbiCiEY6MOHfTga1Bx root@pxe7.mage.com
EOF
echo 'PS1="\[\e[1;31m\][\u@\h \W]\\$ \[\e[0m\]"' >> /etc/profile
%end

 

  

 

    (8)配置tftp服务:

安装tftp安装包:[root@pxe7 ~]# yum -y install tftp-server
[root@pxe7 xinetd.d]# systemctl status tftp.socket 查看tftp状态

[root@pxe7 xinetd.d]# systemctl start tftp.socket 
[root@pxe7 xinetd.d]# systemctl enable tftp.socket 启动
[root@pxe7 xinetd.d]# ss -unlp 查看端口监听状态

    (9)配置DHCP服务器:

[root@pxe7 tftpboot]# yum -y install dhcp
[root@pxe7 dhcp]# cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
[root@pxe7 ~]# vim /etc/dhcp/dhcpd.conf

option domain-name "magedu.com";
option domain-name-servers 192.168.88.254;

default-lease-time 6000;
max-lease-time 7200;
log-facility local7;
subnet 192.168.88.0 netmask 255.255.255.0 {

range 192.168.88.2 192.168.88.253;
option routers 192.168.88.254;
next-server 192.168.88.254;
filename "pxelinux.0";
}
host fantasia {
hardware ethernet 08:00:07:26:c0:a5;
fixed-address fantasia.fugue.com;
}

[root@pxe7 ~]# systemctl start dhcp
[root@pxe7 ~]# systemctl enable dhcpd

  

 

    (10)准备pxe相关的文件。

[root@pxe7 ~]# yum provides "*/pxelinux.0"

[root@pxe7 ~]# yum -y install syslinux

[root@pxe7 ~]# rpm -ql syslinux |grep "pxelinux.0"

[root@pxe7 ~]# cd /var/lib/tftpboot/
[root@pxe7 tftpboot]# cp /var/www/html/centos/7/isolinux/{vmlinuz,initrd.img} .
[root@pxe7 tftpboot]# cp /usr/share/syslinux/{pxelinux.0,menu.c32} .
[root@pxe7 tftpboot]# mkdir pxelinux.cfg
[root@pxe7 tftpboot]# cp /var/www/html/centos/7/isolinux/isolinux.cfg pxelinux.cfg/default 

    (11)制作启动菜单编辑default文件:

default menu.c32
timeout 600
menu title CentOS PXE
label mini
menu label Install an ^Mini CentOS 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.88.254/ksdir/ks7-mi.cfg
label distop
menu label Install an ^distop CentOS 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.88.254/ksdir/ks7-disk.cfg
label liunx
menu label Manual ^Install an CentOS 7
kernel vmlinuz
append initrd=initrd.img

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

  


转载于:https://www.cnblogs.com/sanqianfanhua01/p/8853575.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值