【红帽RHCE9.0认证】2024年第一个证书
wx647334aeaeb6a
2024/01/17

     大家好,我是红帽RHCE33期精品班学员,从11月28号拿到备考环境到1月15号拿到RHCE证书,差不多用了1个月半左右。最后顺利拿证,RHCSA300分;RHCE270分。分享下我的经验。

一.备考

1.刚拿到备考环境的时候,就迫不及待想去上手敲,结果发现错误百出,特别是RHCE,第一次敲完RHCE差不多花了4个多小时,边敲边看答案,敲完一遍后,发现根本没什么记忆,就像是机械的抄答案。这样特别没有效率,这样搞了一次后,我转变了策略,先去认真审题,然后去理解答案为什么要这么写等理解了后,根据自己的理解尝试去notepad++里面去手工敲,然后对照答案去理解去修改,这样比在练习环境中有效率。大概这样练了两天后,去练习环境里上手练,熟练度立马就提上来了,RHCE差不多在2.5小时内就能敲完。多理解多记忆,不要死记硬背。

2.刷题要刷到什么时候去考试呢,我个人理解是要信手拈来,一看到题目就知道要做些什么,哪些地方容易出错。你的每道错题都要自己能找出答案来,知道怎么去定位错误。遇到不会的模块,要会使用ansible-doc,记住常用的模块名,你不会的答案都在ansible-doc里,哈哈哈 。

3.多关注群里其他同学的问题错题,尝试去解答。这样是对你自己所掌握的知识的应用和巩固,在帮别人解决问题的同时,也能加深自己对于知识点的理解。在自己遇到错误的时候,先尝试自己解决,不要一遇到错误就找人帮忙,这不利于对知识的理解和应用。

二.考试

RHCSA考试:进入考场,根据老师的提示填入相应的信息就可以开干了。深呼吸,放松,要相信庚老师 。

当你看到题的一瞬间,就不会紧张了,这些题都是你千锤百炼刷过的,无非就是值稍微有一点不一样,这个时候你要做的就是认真审题,在做题的时候能复制的时候尽量复制,鼠标中键是粘贴。在做题之前,先开启ssh允许root帐户登录,默认是禁止以root帐号登录的。vim /etc/ssh/sshd_config  找到 #PermitRootLogin probihit-passwd,复制该行并粘贴,将前面的#去掉,prohibit-passwd 改成yes , 结果是  PermitRootLogin yes 。然后重启sshd服务  systemctl restart sshd,这样ssh就可以用root登录了,或者你自己创建一个用户,用这个帐号登录到node1,然后用su切换到root帐户。

关于容器题,给一个参考。考的题和老庚的练习环境稍微有一点不一样,Containerfile直接下载就可以了,不用自己去写

**容器第1题:为普通用户siaho构建指定名称的镜像。仓库配置/etc/containers/registries.conf文件已预先设好,考试用户已提前建好(密码与root用户的密码相同)。**

- 使用 https://server1.net1.example.com/materials/1/Containerfile,构建名为watcher的容器镜像

- 请勿对Containerfile文件做任何更改

- 操作参考: 考试的时候用户名貌似是wallah ~~~bash

[siaho@node1 ~]$ mkdir watcher //创建工作目录[siaho@node1 ~]$ cd watcher //进入工作目录

[siaho@node1 watcher]$ wget https://server1.net1.example.com/materials/1/Containerfile   //下载配置文件,切勿修改此文件

[siaho@node1 watcher]$ podman build -t watcher . //使用当前目录下的配置文件创建名为watcher的镜像.. ..考试时镜像是process_file

[siaho@node1 watcher]$ podman images //检查镜像列表(要能看到watcher)REPOSITORY TAG IMAGE ID CREATED SIZElocalhost/watcher latest 5aa36a65a1a1 8 minutest ago 412MBregistry.net1.example.com latest dc1f1272aec3 16 minutest ago 390MB

**容器第2题:为普通用户创建一个rootless容器以作为systemd服务,并实现开机自启动。

- 容器名称为ascii2pdf

- 容器使用之前在其他项目中创建的watcher镜像

- 容器仅供现有用户siaho作为systemd服务运行

- 服务名称为container-ascii2pdf

- 系统重新启动后,容器应自动启动,无需任何人工干预

- 本地目录/opt/files附加到容器的/opt/incoming目录

- 本地目录/opt/processed附加到容器的/opt/outgoing目录

如果服务工作正常,则置入/opt/files的任何纯文本文件都将自动转换为PDF文件,并使用相同的文件名置入/opt/outgoing目录 ~~~bash

[root@node1~]# mkdir /opt/{file1,processed}

[root@node1~]# chown siaho:siaho /opt/{file1,processed}

[root@node1~]# ssh siaho@node1 //注意不能su切换,否则启动容器会失败

[siaho@node1 watcher]$ podman run --name ascii2pdf -d -v /opt/files:/opt/incoming:Z -v /opt/processed:/opt/outgoing:Z watcher //启动容器[siaho@node1 watcher]$ podman ps //检查运行了哪些容器

[siaho@node1 watcher]$ mkdir -p ~/.config/systemd/user //创建用户服务配置目录

[siaho@node1 watcher]$ cd ~/.config/systemd/user //进入用户服务配置目录

[siaho@node1 user ]$ podman generate systemd --name ascii2pdf --files --new //生成服务配置文件(使用名为ascii2pdf的容器)/home/siaho/.config/systemd/user/container-ascii2pdf.service

[siaho@node1 user ]$ systemctl --user daemon-reload //更新服务配置

[siaho@node1 user ]$ systemctl --user enable container-logserver.service //设置开机自启动

[siaho@node1 user ]$ exit //退出

—— 重启node1主机后,再次以siaho登录,检查容器运行情况

[siaho@node1 user ]$ podman ps

创建逻辑分区那题,要求20个扩展块,每个扩展块是32M,在分配分区大小 的时候,一定要大于640M,不然有可能创建逻辑卷不成功。

还有道很简单的题需要提一下。在给定的目录下创建一个脚本,该脚本用于查找/usr目录下所以文件并将文件的名字记录/root/myfile文件中(此处文件名我乱写的),文件应满足大小小于10M,且该文件具有setgid特殊权限。 该题很简单,为什么要提呢,是因为考完RHCSA出来,同考场有个哥们说不会做。但我相信咱们庚老师的学员都没有问题。

RHCE考试:一样的,进入考场根据的要求填写完基本信息就可以开始答题了,重要配置信息一定要仔细阅读。 题目都是在练习环境中练习过的,所以不要紧张,用老庚的话说,咱们51CTO出去的,进考场前不用紧张,进考场后更不用紧张了。  

第三题是安装集合,其实就是collections那题,只不过正式考试的时候把roles和collections分成了两题来做。

配置 conllections

https://classroom/materials/    //这里给了一个链接,后面给了三个文件名

redhat-insights-1.0.7.tar.gz

community-general-5.5.0.tar.gz

redhat-rhel_system_roles-1.19.3.tar.gz

~~~bash

[admin@control ansible]$ vim collections.yml

---

collections:

 - name: https://classroom/materials/redhat-insights-1.0.7.tar.gz

 - name: https://classroom/materials/community-general-5.5.0.tar.gz

 - name: https://classroom/materials/redhat-rhel_system_roles-1.19.3.tar.gz

[admin@control ansible]$ ansible-galaxy collections install -r collections.yml  //安装collections

[admin@control ansible]$ ansible-galaxy collection list  //查看是否安装成功 ~~~

关于创建和使用分区题,我们这一回考的是parted,上一次北京考的lvol 题目大概是: playbook运行在balancers上,就是node5那台机子,

在vdb上创建一个1500m的分区,用ext4格式化,立即并挂载在/newpart上;在vdc上创建一个1500的分区,如果空间不足,输出空间不足的提示,并创建800m的分区,用ext4格式化,立即并挂载在/newpart1上,如果vdd不存在则输出 disk not exist  .(实际node5上vdb有2G,vdc有1G,vdd不存在)

~~~bash

---

- name:

 hosts: balancers

 tasks:

   - name: parted1500 on vdb

     parted:

       device: /dev/vdb

       number: 1

       state: present

       part_end: 1500MiB

- name: format1500 on vdb

     filesystem:

       fstype: ext4

       dev: /dev/vdb1

- name:  mounted vdb

     mount:

       path: /newpart

       src: /dev/vdb1

       fstype: ext4

       state: mounted  //此处必须用mounted,题目要求立即并挂载,present只是会写fstab,不会立即挂载

   - name: fail

     fail:

       msg: "disk not exist"

     when: "'vdd' not in ansible_devices"

     ignore_errors: yes

   - block:

       - name: parted1500 on vdc

         parted:

           device: /dev/vdc

           number: 1

           state: present

           part_end: 1500MB

     rescue:

       - name: Output

         debug:

           msg: "insufficient free space"

       - name: parted800 on vdc

         parted:

           device: /dev/vdc

           number: 1

           state: present

           part_end: 800MB

         when: ansible_devices.vdc is defined

     always:

       - name: gs

         setup:

       - name: format800 on vdc

         filesystem:

           fstype: ext4

           dev: /dev/vdc1

         when: ansible_devices.vdc.partitions.vdc1 is defined

       - name: mounted  vdc

         mount:

           path: /newpart1

           src: /dev/vdc1

           fstype: ext4

           state: mounted

         when: ansible_devices.vdc.partitions.vdc1 is defined

     以上代码仅供参考,不负责任,哈哈哈!!!!。不过这个代码是可以正常跑成功的,就当是提供一个思路。

总之,你只要认真的练习了庚老师的备考,那么通过考试不是问题。

有关于考试的问题可以来群里找我,我还算是比较活跃的。

继续阅读
©著作权归作者所有,未经许可不可转载及商用,否则将追究法律责任
浏览2.8K
点赞5