使用RHCI搭建redhat培训环境
操作之前,面要先找一个大的U盘(根据所要配置哪些练习环境而定)制作U盘引导安装工具,我这里准备一个128G的U盘。另外需要从红帽的相关网装上下载如下包:
1* RHCIfoundation-RHEL7-*.icmf (manifest file)
2* RHEL-7.x-*-Server-x86_64-dvd1.iso (RHEL 7.x DVD)
3* foundation-config-7.x-*.rpm (student/instructor RPM)
4* foundation0-config-7.x-*.rpm (instructor RPM)
5* redhat-survey-7*.rpm (survey RPM)
6* rhci-foundation-7.x-*.iso (RHCI CD-ROM ISO)
7* rht-usb-7.x-*.py (USB creator script)
8* ClassroomSetup-7.x-*.txt (first day instructions)
9* ClassPrep-7.x-*.txt (this document)
一、U盘引导安装的制作
1、文件准备
首先找一台LINUX主机,将所有需要安装的程序需要的虚拟机文件、ISO文件、ICMF文件等收集好,并保存到一个目录里,如下:
我将所有的保存在了/content目录下,然后插入U盘(不用挂载),fdisk -l 查看能识别就行。
2、格式化U盘为ext4
通过如下命令格式化U盘为ext4格式:
1# partprobe /dev/sdb
2# mkfs.ext4 /dev/sdb1
上面这步注意,你U盘显示的分区名是什么就写什么,很多U盘识别的是/dev/sdb4,这里就mkfs.ext4 /dev/sdb4 。创建/root/.icrm/config.yml 文件,并在该文件里写下如下内容:
1---
2repository: /root/.icrm/repository
3repository:/content
注意,不要忘了上面的横线。
3、rht-usb格式化U盘
使用上面下载的rht-usb的python脚本格式U盘,如下:
1[root@foundation0 content]# rht-usb-xxxx.py usbformat /dev/sdb1
后面的XXXX是你下载时对应的版本。执行过程中会有Confirm reformatting /dev/sdb1的提示,按y 确认。
二、环境安装
第一个安装的是RHCI 相关的镜像和配置,还是使用rht-usb.py脚本(这里我将脚本重命名了rht-usb,后面都是这样表示),如下:
1# rht-usb usbadd RHCIfoundation-RHEL71-3.r31619-ILT-7-en_US.icmf
其中icmf 是一个配置文件,安装时会通过该文件找到与该课程相关的其他包和文件。该文件可以直接通过vim 等文本查看命令打开,我这里只取该文件的一部分给大家看下:
1[root@foundation0 manifests]# pwd
2/content/manifests
3[root@foundation0 manifests]# more RHCIfoundation-RHEL71-3.r31619-ILT-7-en_US.icmf
4---
5manifest version: 1
6curriculum:
7 name: RHCIfoundation
8 release: 3.r31619
9 description: RHCI foundation Hypervisor Layer Files
10 technology: RHEL71
11 modality: [ ILT ]
12 generation: 7
13 locale: [ en_US ]
14 publish date: 2015-06-02 16:05:38-04:00
15 publisher: rlocke
16 artifacts:
17 - filename: rhel-server-7.1-x86_64-dvd.iso
18 type: content
19 content type: iso
20 target directory: rhel7.1/x86_64/isos
21 final name: rhel7.1/x86_64/dvd
22 usage: [ classroom ]
23 checksum: 370662c78e36528bbaf3f2b901c29d6f
24 - filename: foundation-config-7.1-3.r31619.noarch.rpm
25 type: content
26 content type: file
27 target directory: rhel7.1/x86_64/extras/Packages
28 usage: [ classroom ]
29 checksum: 190355331d12cf245e83b90abfcca9a5
30……………………省略
写入完成后,我们再以同样的方法通过icmf文件写入其他课程所需要的文件,如下:
1# rht-usb usbadd RH442-RHEL70-2.r29766-ILT-7-en_US.icmf
比如下,我这里有以下相关红帽的课程环境,就将如下对应的icmf 全部按上面的方法执行一遍:
所有写完以后,U盘制作就完成了。
三、主机安装部署
在需要安装环境的服务器或pc 插上U盘,选择U盘启动 ---这里实际上也可以能过rhci-foundation-xx.iso文件引导安装的。
在boot后面,我们输入“ f0 课程代码 回车 ” 就会开始安装该课程的环境。安装过程和redhat os 安装差不多,仅需要时区和分区项做下选择,即可完成安装。
由于上面的安装我们仅仅部署了其中一门课程的环境,要想将U盘上所有课程的环境部署到一台主机上,也可以的,可以在安装完成进入系统后再安装其他课程,如下:
注意,U盘插在主机上后,不要挂载,挂载安装课程时会报错。想要安装哪一门,支接执行rht-usb courseusb 课程代码就行了。
四、rht相关指令
上面我们安装的foundation0即是教师机,也是一台学生机。局域网内的其他主机可以通过pxe安装相应的学生练习机。同时红帽本身为了方便练习、难证等,也提供了一套rht相关的指令,非常方便,如下:
1、rht-verify-f0
该命令可以验证foundation0安装的是否有问题:
1[root@foundation0 ~]# rht-verify-f0
2Hardware report (compare to Hardware Requirements for course)
3 CPU Cores: 4 CPU Flags: nx lm vmx ept vpid
4 Total RAM: 16G Total disk: 968G
5 Virtualization enabled
6Confirm hardware requirements ............. PASS
7Test for required hostname ................ PASS
8Test for required packages ................ PASS
9 Slave interfaces of br0: enp3s0 vnet0
10 Warning: br0 slave (enp3s0) speed detected is 100Mb/s
11 Warning: None of br0 slaves are GigE
12 Slave interfaces of br1: vnet1
13Confirm current network settings .......... PASS
14Test for active services and sockets ...... PASS
15 Warning: only foundation manifest found
16 CL220-CF31-1.r30561-ILT-7-en_US.icmf
17 CL280-OSE21-1.r27797-ILT-7-en_US.icmf
18 DO280-OSE30-1.r34582-ILT-7-en_US.icmf
19 RH236-RHSTOR30-4.r34927-ILT-7-en_US.icmf
20 RH254-RHEL70-2.r31095-ILT-7-en_US.icmf
21 RH270-RHEL71-1.r30566-ILT-7-en_US.icmf
22 RH318-RHEV35-1.r31286-ILT-7-en_US.icmf
23 RH436-RHEL71-2.r34386-ILT-7-en_US.icmf
24 RH442-RHEL70-2.r29766-ILT-7-en_US.icmf
25 RHCIfoundation-RHEL71-3.r31619-ILT-7-en_US.icmf
26Confirm existence of manifests ............ PASS
27 keyboard --vckeymap=us --xlayouts='us'
28 lang en_US.UTF-8
29 timezone Asia/Shanghai --isUtc
30Confirm locale settings ................... PASS
31 Current local time: Tue Apr 19 22:31:59 CST 2016
32Correct as needed the local time .......... PASS
33 foundation0-ose-3.0-1.r34582.x86_64
34 foundation0-rhstor-3.0-1.r30734.x86_64
35 foundation0-rh442-7.0-1.r29766.x86_64
36 foundation0-atomic-7.1-1.r30566.x86_64
37 foundation0-rhev-3.5-1.r31286.x86_64
38 foundation0-rhelha-7.1-1.r34386.x86_64
39 foundation0-cfme-3.1-1.r30535.x86_64
40Test for course packages .................. PASS
41 RHT_VENUE=ilt
42 RHT_ENROLLMENT=0
43 RHT_ROLE=foundation
44 RHT_COURSE=rh270
45 RHT_TITLE="Managing Containers with Red Hat Enterprise Linux Atomic Host"
46 RHT_VMS="workstation servera serverb serverc serverd "
47 RHT_MAXSTATIONS=20
48 RHT_VM0="classroom "
49 RHT_HVMS=""
50 RHT_VMTREE=atomic7.1/x86_64
51Confirm course settings ................... PASS
52*** SUMMARY: [PASS=10] [WARNING=2] [FAIL=0] ***
2、rht-setcourse
使用该命令可以方便的在多个环境之间切换,如下:
1[root@foundation0 ~]# rht-setcourse rh270
2Course set to rh270
上面就将练习环境切到了docker这门课程了。
3、rht-pushcourse
给学习机推送练习环境(实际上就是推送对应的虚拟机)
1[root@foundation0 ~]# rht-pushcourse 7
2Preparing to push to foundation7.ilt.example.com...
上面是给7号机推送。
4、rht-vmctl
练习时学生机经常可能会把本机的练习环境里的东西搞的不对,可以通过该命令将练习环境重置。
1[root@foundation0 ~]# rht-vmctl fullreset servera
2[root@foundation0 ~]# rht-vmctl fullreset all
可以重置其中一台,也可以重置所有的。原理说白了就是从教师机上wget qcow2的虚拟机文件,练习环境底层都是基于通过kvm虚拟机的。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/redhat-rhci/5053.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.