开源中文网

您的位置: 首页 > RedHat Enterprise Linux > 正文

使用RHCI搭建redhat培训环境的应用例子

来源: 网络整理  作者: 佚名

本文章来为各位介绍一篇关于使用RHCI搭建redhat培训环境的应用例子,希望这篇教程可以对各位运维的朋友带来帮助的哦。

 

操作之前,面要先找一个大的U盘(根据所要配置哪些练习环境而定)制作U盘引导安装工具,我这里准备一个128G的U盘。另外需要从红帽的相关网装上下载如下包:

* RHCIfoundation-RHEL7-*.icmf                 (manifest file)
* RHEL-7.x-*-Server-x86_64-dvd1.iso           (RHEL 7.x DVD)
* foundation-config-7.x-*.rpm                 (student/instructor RPM)
* foundation0-config-7.x-*.rpm                (instructor RPM)
* redhat-survey-7*.rpm                        (survey RPM)
* rhci-foundation-7.x-*.iso                   (RHCI CD-ROM ISO)
* rht-usb-7.x-*.py                            (USB creator script)
* ClassroomSetup-7.x-*.txt                    (first day instructions)
* ClassPrep-7.x-*.txt                         (this document)


一、U盘引导安装的制作

1、文件准备

首先找一台LINUX主机,将所有需要安装的程序需要的虚拟机文件、ISO文件、ICMF文件等收集好,并保存到一个目录里,如下:

RHCI-files

 

我将所有的保存在了/content目录下,然后插入U盘(不用挂载),fdisk -l 查看能识别就行。

2、格式化U盘为ext4

通过如下命令格式化U盘为ext4格式:

# partprobe /dev/sdb
# mkfs.ext4 /dev/sdb1
上面这步注意,你U盘显示的分区名是什么就写什么,很多U盘识别的是/dev/sdb4,这里就mkfs.ext4 /dev/sdb4 。

创建/root/.icrm/config.yml 文件,并在该文件里写下如下内容:

---
repository: /root/.icrm/repository
repository:/content
注意,不要忘了上面的横线。

3、rht-usb格式化U盘

使用上面下载的rht-usb的python脚本格式U盘,如下:

[root@foundation0 content]# rht-usb-xxxx.py usbformat /dev/sdb1
后面的XXXX是你下载时对应的版本。执行过程中会有Confirm reformatting /dev/sdb1的提示,按y 确认。

二、环境安装

第一个安装的是RHCI 相关的镜像和配置,还是使用rht-usb.py脚本(这里我将脚本重命名了rht-usb,后面都是这样表示),如下:

# rht-usb  usbadd RHCIfoundation-RHEL71-3.r31619-ILT-7-en_US.icmf
其中icmf 是一个配置文件,安装时会通过该文件找到与该课程相关的其他包和文件。该文件可以直接通过vim 等文本查看命令打开,我这里只取该文件的一部分给大家看下:

[root@foundation0 manifests]# pwd
/content/manifests
[root@foundation0 manifests]# more RHCIfoundation-RHEL71-3.r31619-ILT-7-en_US.icmf
---
manifest version: 1
curriculum:
 name: RHCIfoundation
 release: 3.r31619
 description: RHCI foundation Hypervisor Layer Files
 technology: RHEL71
 modality: [ ILT ]
 generation: 7
 locale: [ en_US ]
 publish date: 2015-06-02 16:05:38-04:00
 publisher: rlocke
 artifacts:
 - filename: rhel-server-7.1-x86_64-dvd.iso
   type: content
   content type: iso
   target directory: rhel7.1/x86_64/isos
   final name: rhel7.1/x86_64/dvd
   usage: [ classroom ]
   checksum: 370662c78e36528bbaf3f2b901c29d6f
 - filename: foundation-config-7.1-3.r31619.noarch.rpm
   type: content
   content type: file
   target directory: rhel7.1/x86_64/extras/Packages
   usage: [ classroom ]
   checksum: 190355331d12cf245e83b90abfcca9a5
……………………省略
写入完成后,我们再以同样的方法通过icmf文件写入其他课程所需要的文件,如下:

# rht-usb  usbadd RH442-RHEL70-2.r29766-ILT-7-en_US.icmf
比如下,我这里有以下相关红帽的课程环境,就将如下对应的icmf 全部按上面的方法执行一遍:

redhat-rhci-icmf

所有写完以后,U盘制作就完成了。

三、主机安装部署

在需要安装环境的服务器或pc 插上U盘,选择U盘启动 ---这里实际上也可以能过rhci-foundation-xx.iso文件引导安装的。

foundation0 install

在boot后面,我们输入“ f0 课程代码 回车 ” 就会开始安装该课程的环境。安装过程和redhat os 安装差不多,仅需要时区和分区项做下选择,即可完成安装。

由于上面的安装我们仅仅部署了其中一门课程的环境,要想将U盘上所有课程的环境部署到一台主机上,也可以的,可以在安装完成进入系统后再安装其他课程,如下:

foundation0 install

注意,U盘插在主机上后,不要挂载,挂载安装课程时会报错。想要安装哪一门,支接执行rht-usb courseusb 课程代码就行了。

四、rht相关指令

上面我们安装的foundation0即是教师机,也是一台学生机。局域网内的其他主机可以通过pxe安装相应的学生练习机。同时红帽本身为了方便练习、难证等,也提供了一套rht相关的指令,非常方便,如下:

1、rht-verify-f0

该命令可以验证foundation0安装的是否有问题:

[root@foundation0 ~]# rht-verify-f0
Hardware report (compare to Hardware Requirements for course)
   CPU Cores: 4  CPU Flags: nx lm vmx ept vpid
   Total RAM: 16G  Total disk: 968G
   Virtualization enabled
Confirm hardware requirements .............  PASS
Test for required hostname ................  PASS
Test for required packages ................  PASS
   Slave interfaces of br0: enp3s0 vnet0
   Warning: br0 slave (enp3s0) speed detected is 100Mb/s
   Warning: None of br0 slaves are GigE
   Slave interfaces of br1: vnet1
Confirm current network settings ..........  PASS
Test for active services and sockets ......  PASS
   Warning: only foundation manifest found
   CL220-CF31-1.r30561-ILT-7-en_US.icmf
   CL280-OSE21-1.r27797-ILT-7-en_US.icmf
   DO280-OSE30-1.r34582-ILT-7-en_US.icmf
   RH236-RHSTOR30-4.r34927-ILT-7-en_US.icmf
   RH254-RHEL70-2.r31095-ILT-7-en_US.icmf
   RH270-RHEL71-1.r30566-ILT-7-en_US.icmf
   RH318-RHEV35-1.r31286-ILT-7-en_US.icmf
   RH436-RHEL71-2.r34386-ILT-7-en_US.icmf
   RH442-RHEL70-2.r29766-ILT-7-en_US.icmf
   RHCIfoundation-RHEL71-3.r31619-ILT-7-en_US.icmf
Confirm existence of manifests ............  PASS
   keyboard --vckeymap=us --xlayouts='us'
   lang en_US.UTF-8
   timezone Asia/Shanghai --isUtc
Confirm locale settings ...................  PASS
   Current local time: Tue Apr 19 22:31:59 CST 2016
Correct as needed the local time ..........  PASS
   foundation0-ose-3.0-1.r34582.x86_64
   foundation0-rhstor-3.0-1.r30734.x86_64
   foundation0-rh442-7.0-1.r29766.x86_64
   foundation0-atomic-7.1-1.r30566.x86_64
   foundation0-rhev-3.5-1.r31286.x86_64
   foundation0-rhelha-7.1-1.r34386.x86_64
   foundation0-cfme-3.1-1.r30535.x86_64
Test for course packages ..................  PASS
   RHT_VENUE=ilt
   RHT_ENROLLMENT=0
   RHT_ROLE=foundation
   RHT_COURSE=rh270
   RHT_TITLE="Managing Containers with Red Hat Enterprise Linux Atomic Host"
   RHT_VMS="workstation servera serverb serverc serverd "
   RHT_MAXSTATIONS=20
   RHT_VM0="classroom "
   RHT_HVMS=""
   RHT_VMTREE=atomic7.1/x86_64
Confirm course settings ...................  PASS
*** SUMMARY: [PASS=10] [WARNING=2] [FAIL=0] ***
2、rht-setcourse

使用该命令可以方便的在多个环境之间切换,如下:

[root@foundation0 ~]# rht-setcourse rh270
Course set to rh270
上面就将练习环境切到了docker这门课程了。

3、rht-pushcourse

给学习机推送练习环境(实际上就是推送对应的虚拟机)

[root@foundation0 ~]# rht-pushcourse 7
Preparing to push to foundation7.ilt.example.com...
上面是给7号机推送。

4、rht-vmctl

练习时学生机经常可能会把本机的练习环境里的东西搞的不对,可以通过该命令将练习环境重置。

[root@foundation0 ~]# rht-vmctl fullreset servera
[root@foundation0 ~]# rht-vmctl fullreset all
  可以重置其中一台,也可以重置所有的。原理说白了就是从教师机上wget qcow2的虚拟机文件,练习环境底层都是基于通过kvm虚拟机的。

Tags:例子 环境
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明