统安装过程

配置anaconda

自动化安装系统

制作引导光盘和U盘

DHCP服务

PXE安装系统

cobbler企业级应用

运维自动化发展历程及技术应用

运维自动化—Linux系统自动化安装-LMLPHP

CentOS系统安装

系统启动流程:

bootloader-->kernel(initramfs)-->rootfs-->/sbin/init

anaconda: 系统安装程序

  • gui:图形窗口
  • tui: 基于图形库curses的文本窗口

MBR: isolinux/boot.cat

在linux 系统的iso中有个isolinux/boot.cat

stage2: isolinux/isolinux.bin

配置文件: isolinux/isolinux.cfg 安装启动菜单:安装、救援等

每个对应的菜单选项:

  • 加载内核: isolinuz/vmlinuz
  • 向内核传递参数: append initrd=initrd.img ...

装载根文件系统,并启动anaconda

默认启动GUI接口

  • 若是显式指定使用TUI接口: 向内核传递text参数即可
  • (1)按tab键,在后面增加text
  • (2)按ESC键: boot: linux text

system-config-kichstart

第一步:挂载光盘

boot.iso 刻录U盘

dd if=boot.iso of=/dev/sdb5

hexdump -C boot.iso in 512 检查u盘中的引导数据是否写进去了

第一步: 

1、 [root@localhost ~]# cd /misc/cd		##进入光盘
[root@localhost cd]# cd isolinux/		      ##光盘目录中的isolinux目录
[root@localhost isolinux]# ls
boot.cat   initrd.img    memtest     vesamenu.c32
boot.msg   isolinux.bin  splash.jpg  vmlinuz
grub.conf  isolinux.cfg  TRANS.TBL
[root@localhost isolinux]# hexdump -C boot.cat 
00000000  01 00 00 00 43 65 6e 74  4f 53 20 50 72 6f 6a 65  |....CentOS Proje|
00000010  63 74 00 00 00 00 00 00  00 00 00 00 4b 8f 55 aa  |ct..........K.U.|
00000020  88 00 00 00 00 00 04 00  a1 02 00 00 00 00 00 00  |................|
00000030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000040  91 ef 01 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000060  88 00 00 00 00 00 e8 02  e7 01 00 00 00 00 00 00  |................|
00000070  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000800

第二步:

2、 isolinux/isolinux.bin			##等价于grub2阶段

第三步:

3、isolinux/isolinux.cfg			##相当于启动菜单	它是个文本文件

运维自动化—Linux系统自动化安装-LMLPHP

此图为演示图片,作者使用的是centos6版本,道理是相同的

[root@localhost isolinux]# cat isolinux.cfg 		###centos7中的isoliux.cfg文件内容
default vesamenu.c32
timeout 600
label linux
  menu label ^Install CentOS 7
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet
label check
  menu label Test this ^media & install CentOS 7
  menu default
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet
menu separator # insert an empty line
# utilities submenu
menu begin ^Troubleshooting
  menu title Troubleshooting
label vesa
  menu indent count 5
  menu label Install CentOS 7 in ^basic graphics mode
  text help
        Try this option out if you're having trouble installing
        CentOS 7.
  endtext
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 xdriver=vesa nomodeset quiet
label rescue
  menu indent count 5
  menu label ^Rescue a CentOS system
  text help
        If the system will not boot, this lets you access files
        and edit config files to try to get it booting again.
  endtext
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rescue quiet
label memtest
  menu label Run a ^memory test
  text help
        If your system is having issues, a problem with your
        system's memory may be the cause. Use this utility to
        see if the memory is working correctly.
  endtext
  kernel memtest
menu separator # insert an empty line
label local
  menu label Boot from ^local drive
  localboot 0xffff
menu separator # insert an empty line
menu separator # insert an empty line
label returntomain
  menu label Return to ^main menu
  menu exit

centso6中isolinux.cfg配置文件内容

####定义Linux启动菜单,注意文件中每个label后面的标题,每个标题代表一种模式,分别表示菜单中的一种启动项。

 

运维自动化—Linux系统自动化安装-LMLPHP

[root@centos6 isolinux]# cat 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 linux
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz
  append initrd=initrd.img

运维自动化—Linux系统自动化安装-LMLPHP

运维自动化—Linux系统自动化安装-LMLPHP

label vesa
  menu label Install system with ^basic video driver
  kernel vmlinuz
  append initrd=initrd.img nomodeset
label rescue	###救援模式进入
  menu label ^Rescue installed system
  kernel vmlinuz
  append initrd=initrd.img rescue

运维自动化—Linux系统自动化安装-LMLPHP

运维自动化—Linux系统自动化安装-LMLPHP

label local
  menu label Boot from ^local drive
  localboot 0xffff
label memtest86
  menu label ^Memory test
  kernel memtest
  append -

2、安装时在一下图形界面键入Esc键

运维自动化—Linux系统自动化安装-LMLPHP

进入boot:界面

运维自动化—Linux系统自动化安装-LMLPHP

输入:boot: rescue ##表示也是进入救援模式

运维自动化—Linux系统自动化安装-LMLPHP

同样也可以进入救援模式;

当我们了解了这些启动菜单文件后,我们就知道了Linux系统的安装启动过程,它是由在系统光盘中的/isolinux.cfg文件中的每个label项定义引导;从而来选择光盘中的系统文件用来安装系统。

那么我们利用这个文件也可以自己编辑定义Linux的启动菜单和菜单下引导系统安装的文件路径

 

使用 yum 定义菜单引导安装Linux系统路径

准备环境:2台虚拟主机 A B

主机A:安装好的Linux主机作为yum源;后续安装系统的菜单路径利用网络搭建好的yum源来引导安装。

运维自动化—Linux系统自动化安装-LMLPHP

主机B:未安装系统

运维自动化—Linux系统自动化安装-LMLPHP

第一步:在yum源主机下建立yum路径

[root@centos6 ~]# yum install httpd ###安装http服务包

[root@centos6 ~]# service httpd start ###启动http服务

[root@centos6 ~]# cd /var/www/html/ ###进入HTTP默认网站文件路径

[root@centos6 html]# mkdir centos/6 -pv ###创建yum源路径

[root@centos6 html]# mount /dev/sr0 centos/6 ###挂在光盘

第二步:测试yum源是否正常

http://192.168.161.128/centos/6/

运维自动化—Linux系统自动化安装-LMLPHP

测试成功。

第三步:在主机B上设置通讯

运维自动化—Linux系统自动化安装-LMLPHP

这个界面在以上有说明。

运维自动化—Linux系统自动化安装-LMLPHP

选择eth0网卡

运维自动化—Linux系统自动化安装-LMLPHP

运维自动化—Linux系统自动化安装-LMLPHP

运维自动化—Linux系统自动化安装-LMLPHP

运维自动化—Linux系统自动化安装-LMLPHP

运维自动化—Linux系统自动化安装-LMLPHP

运维自动化—Linux系统自动化安装-LMLPHP

运维自动化—Linux系统自动化安装-LMLPHP

运维自动化—Linux系统自动化安装-LMLPHP

省略一下安装过程.......

运维自动化—Linux系统自动化安装-LMLPHP

atl+F2调出字符安装界面。查看安装过程

运维自动化—Linux系统自动化安装-LMLPHP

最小化安装成功。

输入用户名口令登陆

运维自动化—Linux系统自动化安装-LMLPHP

另一中方法:

接以上第三步开始

如果想手动指定安装源:

  • boot: linux askmethod

第一步:重启主机B esc进入光盘引导

运维自动化—Linux系统自动化安装-LMLPHP

运维自动化—Linux系统自动化安装-LMLPHP

运维自动化—Linux系统自动化安装-LMLPHP

输入:linux askmethod

运维自动化—Linux系统自动化安装-LMLPHP

运维自动化—Linux系统自动化安装-LMLPHP

运维自动化—Linux系统自动化安装-LMLPHP

运维自动化—Linux系统自动化安装-LMLPHP

选择URL安装,连接主机A的yum源

运维自动化—Linux系统自动化安装-LMLPHP

运维自动化—Linux系统自动化安装-LMLPHP

点击ok

可以手动指定也可以自动获取,我们这里选择自动获取,因为网中有dhcp服务器

运维自动化—Linux系统自动化安装-LMLPHP

运维自动化—Linux系统自动化安装-LMLPHP

继续重复同以上安装步骤

10-06 18:56