红帽系Linux系统安装流程及自动化安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了红帽系Linux系统安装流程及自动化安装相关的知识,希望对你有一定的参考价值。

本文以Centos6.9系统为例,讲解红帽系linux系统启动流程。以便于理解系统安装原理并能自定义系统安装配置完成自动安装。

一、系统启动基本流程

二、光盘镜像方式安装(U盘同理)

        1、配置文件概述

        2、光盘安装系统过程

三、自动化安装

        1、anaconda配置方式

        2、kickstart配置文件格式

        3、自动化安装示例



一、系统启动的基本流程

    系统安装与平时系统的启动流程相似,首先让我们简要了解下:

    1、Bios程序

            ①POST开机自检

              ②列出可以启动的设备顺序,确定第一个启动设备

    2、加载第一个启动设备的MBR

            MBR的前446字节存储就是Boot loader的第一部分(stage1)

            Boot loader是用来处理系统核心文件加载问题的管理程序统称(Centos6系列使用的BootLoader为grub),它的主要功能为:

            ① 识别加载操作系统中的核心文件,并提交到内存运行,进而来启动对应的操作系统。

            ② 提供菜单:向用户提供不同启动项目,来加载不同的内核或操作系统。

    3、加载系统内核Kernel,并执行初始化信息

            ① BootLoader程序运行与配置加载分三个阶段

                     stage1     :运行BootLoader最小主程序,MBR空间有限不能存储整个grub

                     stage1_5  :在MBR随后扇区存放,用于与stage2所在分区的文件系统进行交互。

                     stage2     :加载配置文件及相关的环境参数信息(存放在/boot目录下)

            ② BootLoader加载虚拟文件系统initrd到内存中,initrd会在内存中模拟一个根文件系统。

            ③ BootLoader读取内核文件Kernel将其解压缩装载到内存中,此时BootLoader将系统控制权转交给内核。

                ------>内核通过虚拟系统加载真正根文件系统所需的核心模块(RAID、LVM、SCSI等文件系统与磁盘的驱动程序)

                ------>加载硬盘等设备进行初始化。

                ------>释放虚拟根文件系统,并以只读方式挂载磁盘上真实的根文件系统。

                ------>之后开始正常的启动过程。

    4、启动用户空间第一个执行程序/sbin/init


二、    光盘镜像方式安装(U盘同理)

           1、配置文件概述

                这类安装采用anaconda安装程序进行管理安装(基于内核运行),安装方式分为两种

                        tui:基于curses的文本窗口(主机内存小于512m时自动打开)

                        gui:图形窗口

            Centos的安装程序位于光盘的isolinux目录中,如图所示:

技术分享

            ① 与MBR功能(stage1阶段)类似的是:boot.cat

            ② 与grub功能(stage2阶段)类似的是:isolinux.bin (它的配置文件为isolinux.cfg)            

            ③ vesamenu.c32 图形界面背景设置

            ④ splash.jpg 背景图片

            ⑤ vmlinuz 内核文件

            ⑥ initrd.img 虚拟文件系统文件

            让我们看一下isolinux.cfg文件的部分设置信息:

技术分享

    这部分内容对应光盘启动界面:

技术分享


   安装引导选项

        传递内核参数(可以在启动界面TAB键或Esc来添加内核参数)

nomodest 使用最基本的图形驱动,不让内核去识别真正显卡的驱动,分辨率较小

rescue  救援模式

        mentest 磁盘容量检测并不加载内核

        text:文本方式安装

        askmethod:手动指定的安装方法

        与网络相关的引导选项:

                ip=IPADDR    

                    netmask=MASK

                    gateway=GW

                    dns=DNS_SERVER_IP

                    ifname=NAME:MAC_ADDR

        与远程访问功能相关的引导选项:

               vnc

                    vmcpassword=PASSWD

        指明kickstart文件的位置:

                    ks=

                            DVD drive   :ks=cdrom:/PATH/TO/KICKSTART_FILE

                                HARD drive:ks=hd:/device/drectory/KICKSTART_FILE

                                HTTP server:ks=http://host:port/path/to/KICKSTART_FILE

                                FTP server   :ks=ftp://host:post/path/to/KICKSTART_FILE

                                HTTPS server:ks=https://host:port/path/to/KICKSTART_FILE

        2、系统安装过程

            (1)、BootLoader加载文件系统及内核(不会释放内存中加载的文件系统!)

            (2)、装载根文件系统(initrd),并启动anaconda

           注意:上述内容一般应位于引导设备,而后续的anaconda及安装用到的程序包有一下几种方式可用:

                    本地光盘

                    本地硬盘

                    ftp server:yum repository

                    http server:yum repository

                    nfs server

                    如果想指定安装源,可以在菜单界面安装系统条目TAB 后面键入askmethod 或Esc 键入内核参数linux askmethod

            (3)、anaconda应用工作过程:

                    ① 安装前配置阶段:

                            安装过程中使用的语言

                            键盘类型&&语言

                            安装目标存储设备

技术分享警告可能会损坏现有磁盘数据:yes删除所有磁盘数据并进行安装,no保存现有数据(使用硬盘上的其他空闲分区),对勾选项意为是否将设定作用与所有磁盘设备上(慎重选择!)

                            配置网络设置&&时区

                            管理员密码

                            设定分区方式及MBR安装位置

技术分享Use all Space:使用所有空间,如果磁盘装有其他系统谨慎选择

Replace Exiting linux system :替换现有的操作系统

Shrink Current System:如果空闲空间不够,将收缩现有磁盘空间。把腾出来的空间用来安装

Use Free Space:使用空闲空间

Create Custom Layout:自定义创建磁盘分区

勾选最下角选项可以预览分区方式或自定义修改,确认无误next即可。

                            选定要安装的软件包

                    ② 安装阶段

                         在目标磁盘创建分区,执行格式化操作

                            将选定的安装包安装到目标位置

                            安装BootLoader

                    ③ 首次启动

                            设置iptables && selinux && core dump


三、自动化安装

        1、anaconda配置方式

                (1)、交互式配置方式

                (2)、通过事先给定的配置方式自动完成配置

                        kickstart文件:按特定语法给出的配置选项

                        ①安装完系统后会自动生成/root/anaconda-ks.cfg可作为模板手动编辑创建。

                        ②安装包system-config-kickstart来创建或修改(图形工具)

                        ③检测kickstart文件语法使用命令

                                    ksvalidator /PATH/TO/KICKSTART_FILE

        2、kickstart文件格式        

             (1)  ① 命令段:指明安装前各种配置

                          ② 程序包段:指明要安装的程序包组或包,不安装的程序包。

                                        %packages    安装的起始标志

                                        @grup_name 安装的包组

                                        package         安装的包

                                        -package        不安装的包

                                        %end              安装结束标识

                          ③ 脚本段:

                                        %pre :   安装前脚本

                                                      运行环境:运行于安装介质上的微型linux环境

                                        %post:安装后脚本

                                                       运行环境:安装完成的系统

                   (2) 命令段中的命令

                            必备命令

                                    authconfig:认证方式

                                    bootloader:安装位置及相关配置

                                    keyboard:设定键盘类型

                                    lang:语言类型

                                    rootpw:指明root用户密码

                                    timezone:时区

                                    

                            可选命令

            3、非交互自动安装过程示例

                  ⑴   kickstart位于http服务器安装:

                  光盘启动界面Esc键进入boot选择界面,需配置网络,设置kickstart文件地址。 之后可实现自动安装。

技术分享                  ⑵    创建引导光盘:

                           cp -r /misc/cd/isolinux/  /tmp/myiso/

                            将光盘内引导目录/isolinux 复制到指定目录内

                           ② vim /tmp/myiso/isolinux/isolinux.cfg
                                initrd=initrd.img text  ks=cdrom:/myks.cfg

                                修改isolinux.cfg文件,指定kickstart文件路径

                            cp  /root/myks.cfg  /tmp/myiso/

                                将自定义的kickstart文件同时放到/isolinux同级目录内

                        技术分享

                            mkisofs -R -J -T -v  --no-emul-boot  --boot-load-size  4  --boot-info-table  -V "CentOS 6.9x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso  myiso/

                                制作光盘镜像命令,
                        注意:以上命令的路径都是相对于光盘的根, 而和工作目录无关

                        将生成的iso文件上传至windos系统,就可以在虚拟机作为启动光盘进行自动化安装。

                ⑶ 创建U盘引导盘

                      ①创建U盘启动盘需将上例做好的boot.iso文件进行转换

                            安装软件syslinucxyum install syslinux③

        使具有启动功能:  isohybrid  boot.iso

                      ②将引导镜像导入U盘(本例为/dev/sdb

       dd if=/root/boot.iso  of=/dev/sdb

     ③导入过程不显示速度等信息,若想显示需另开窗口触发显示速度

                               kill -USR1 `pidofdd`






                    

                    

                                    

本文出自 “linux运维” 博客,请务必保留此出处http://arm2012.blog.51cto.com/2418467/1965743

以上是关于红帽系Linux系统安装流程及自动化安装的主要内容,如果未能解决你的问题,请参考以下文章

红帽系自动安装光盘制作及使用

红帽7制作全自动安装光盘

Linux-运维自动化之系统安装

Linux利用PXE实现自动化安装CentOS流程介绍

linux软件管理之------编译安装nginx服务器并手动编写自动化运行脚本

自动化运维之Ansible安装及基本模块应用