RHCE双满分考试分享-来自屈同学

mb662a071af163c

3.4
7

2025/03/31

各位小伙伴大家好,相信大家都已在模考环境练了很多遍了,在这里主要跟大家分享一下练习环境和考试环境中的一些小差别。

考试里面的配置信息一定要仔细阅读,比如在登录容器的用户名和密码以及虚拟机的用户名和密码都会在这里显示。做题时也要仔细阅读题目,它跟我们练习的题目会有点一点点区别,比如用户名和挂载目录这些,但内容和做题的方法是不变的;RHCSA我未装任何一个软件(比如policycoreutils-python-utils、autofs、nfs-utils)都已经装了,RHCE我只装了ansible-core,其他的也都已经装好了,我是在成都考的,不知道其他地区是否也一样,建议大家还是装一下,已装的话会有提示;大家千万别慌,你已经理解记忆并反复练习多遍,对自己和题库要足够有信心。

RHCSA

1、远程连接配置修改

考试环境的两台虚拟机(node1和node2)都禁用了虚机的root远程登录,直接ssh的话会提示(permission denied);大家想要能够进行复制粘贴需要分别去到两台虚拟机修改配置文件里PermitRootLogin的参数:

第一步:vi /etc/ssh/sshd_config

第二步:进行搜索找到PermitRootLogin关键字(可以直接修改此行,把前面的注释“#”去掉 后面改成yes;或者在下一行添加 PermitRootLogin yes

第三步: systemctl restart sshd  重启sshd服务即可

2、 node1的网络配置

配置网络的命令跟我们练习的一样,根据它题目要求正常操作即可,主机名建议复制粘贴进去,手动敲容易敲漏或字母顺序颠倒;做完可以nmcli dev show 查看所有网络配置信息。

考试时node2没有要求更改配置信息以及主机名,都已经配置好了,只要求破密码;破完密码不放心的话可以进去简单查看一下配置信息与重要配置信息内的内容是否一致即可。

3、 调试selinux

这题的selinux已经配置完毕,semanage也已经装好,考试时检查一下配置文件/etc/selinux/confing中SELINUX=enforcing,其他只需要给端口和文件打上标签再开防火墙即可。

4、 配置NTP

做法与练习环境一样,只是它本身已存在一个NTP服务器,自己再加一条,操作完重启chronyd之后,检查会出现两条,配置成功后chronyc  -n sources看到的应该是二条。

5、配置autofs

这题操作跟练习是一样的,只是验证的时候需要ssh到它指定的普通用户来验证,进而触发自动挂载。

6、创建存档

考试我只让压缩一个gzip的压缩包,并没有bzip2,tar包也是已经装好的。

7、 重置node2的密码

考试我两种方法都试了,都能成功修改。

第一种:在linux末尾直接加rd.break就进到救援模式,进行密码修改就行,在执行mount -oremount,rw /sysroot命令后悔出现一行内,这个是正常的,忽略即可。

第二种:在linux末尾直接加console=tty0 rd.break进入救援模式,进行密码修改即可。

8、 添加交换分区

默认本机就有500多M的swap分区,你在做完这道题之后应该能看到1个G左右的swap分区。

9、创建逻辑卷

步骤跟我们练习的差不多,只是数值和名做了修改。

10、 容器

这题我考到的版本是拉取镜像,运行容器,创建systemd管理文件目录,生成服务配置文件,停止并删除容器,重新启动自己生成的容器服务。

重要配置信息里面给了登录镜像仓库要使用的用户名和镜像仓库地址。

#创建容器目录,直接ssh连接sai用户,千万别su - sai  切过去

mkdir watcher

cd watcher

#登录镜像仓库,拉取镜像。这里给的没有端口,在重要配置信息和/etc/containers/registries.conf配置文件里都能找到

podman login registry.domain10.example.com --username gls --password glshenshuai

podman pull watcher

#用root用户创建两个目录,并修改文件所有人和文件属组

mkdir /opt/test

mkdir /opt/log

chown  sai:sai /opt/test /opt/log

#运行容器并挂载目录;创建出来的容器名为ascii2pdf

podman run --name ascii2pdf -d -v /opt/test:/opt/ining:Z -v /opt/log:/opt/outing:Z watcher .

检查容器是否运行:

#创建systemd管理文件目录

mkdir ~/.config/systemd/user -p

cd ~/.config/systemd/user

#生成服务配置文件

podman generate systemd --new --files --name ascii2pdf

#停止并删除容器

podman stop ascii2pdf

podman rm ascii2pdf

#启用当前用户管理systemd

loginctl enable-linger  (执行这条不会报错)

#重新加载

systemctl --user daemon-reload

systemctl --user enable container-ascii2pdf.service --now

查看容器是否运行:

验证容器是否正常:在你往/opt/ining里面放入文本文件就会自动转换为pdf文件放到/opt/outing。我测试是直接在/opt/ining里touch一个文件,再ls /opt/outing就可以看到转换出的文件。

RHCE

RHCE的管理节点都未开启防火墙,所以如果不是题目要求可以不开;我全部做完下来都没让开。我只用root用户到control节点上安装了ansible-core,不用安装rhel-system-roles(后面题中会让你装集合,其中包含了系统角色);看好配置信息要求用哪个用户来连接控制节点写ansible剧本,这个很重要。

1、安装与配置ansible

这题根据它的要求进行配置即可,我遇到的roles_path和collections_paths路径是:

roles_path=/home/sar/ansible/roles  (我只写了这一个)

collections_paths=/home/sar/ansible/mycollections

2、配置软件仓库这题只需要编写playbook即可,当然,备考还是建议两种都会。

3、 安装collections

题目会先给你一个url,再给出三个文件报名,直接下载即可,其中有一个redhat-rhel_system_roles-1.xxx.tar.gz是一个系统角色,后面做系统角色的时候得用(- redhat-rhel_system_roles.selinux):

编辑collections.yml

collections:

- name: https://xxxxxxxxxx.tar.gz

- name: https://xxxxxxxxxx.tar.gz

- name: https://xxxxxxxxxx.tar.gz

在安装后我没有在ansible.cfg中的roles_path里添加,我给的路径跟这个是一样的,具体的还得看小伙伴们所遇到题的要求,灵活应对。

4、创建web role

这题跟我们练习环境是一样的,需要改动的是我把设置防火墙服务那个模块删除,因为我加上它提示我防火墙未开启,删除后重跑就成功了。

6、管理分区

题目大致如下:

(1) 在vdb上分1500M

(2) 格式化,挂载到/newpart

(3) 在vdc上分1500M

(4) 格式化,挂载到/newpart1

(5) 如果空间不够,输出错误信息,并改为800M

(6) 判断vdd是否存在,不存在输出错误信息

这道题,我将其分成三部分

第一部分:判断vdd是否存在,不存在输出错误信息,并忽略错误

第二部分:在vdb和vdc上创建一个1500M的分区

第三部分:空间不够输出错误信息并改为800M

第四部分:收集变量并格式化文件系统

其实就是我们练习环境的block、rescue、always,按照练习那样做即可:

---

- name: part

  hosts: all

  tasks:

    - name: fail message

      fail:

        msg:  "disk not exist"

      when: "'vdd' not in ansible_devices"

      Ignore_errors: yes

    - block:

      - name: part 1500MiB on vdb

      parted:

        device: /dev/vdb

        state: present

        number: 1

        part_end: 1500MiB

      - name: part 1500MiB on vdc

      parted:

        device: /dev/vdc

        state: present

        number: 1

        part_end: 1500MiB

     rescue:

        - name: output error message

          debug:

            msg: "insufficient free space"

        - name: part 800M on vdb

          parted:

            device: /dev/vdb

            state: present

            number: 1

            part_end: 800MiB

          when: ansible_devices.vdb is defined

         - name: part 800M on vdc

          parted:

            device: /dev/vdc

            state: present

            number: 1

            part_end: 800MiB

          when: ansible_devices.vdc is defined

     always:

        - name: get facts

          setup:

        - name: mkfs ext4 on 800vdb

          filesystem:

            dev: /dev/vdb1

            fstype: ext4

          when: ansible_devices.vdb.partitions.vdb1 is defined

        - name: mount vdb1

          mount:

            src: /dev/vdb1

            path: /newpart

            fstype: ext4

            state: mounted

          when: ansible_devices.vdb.partitions.vdb1 is defined

        - name: mkfs ext4 on 800vdc

          filesystem:

            dev: /dev/vdc1

            fstype: ext4

          when: ansible_devices.vdc.partitions.vdc1 is defined

        - name: mount vdc1

          mount:

            src: /dev/vdc1

            path: /newpart1

            fstype: ext4

            state: mounted

          when: ansible_devices.vdc.partitions.vdc1 is defined

7、生成主机文件

这道题需要注意的是题目给的只有一个空行,在编写hosts.j2是留一行即可。hosts.yml已经编写好不要去修改,直接运行就行。

8、创建批量用户

这题我遇到的是不需要我们设置密码有效期,而是改成uid了,只需要把password_expire_max这个改为uid: “{ { item[‘mode’] } }”就行。

总结:练习环境的题认真去敲,一定要理解性的去记忆,知道每一行密令的含义;考试题和练习环境基本一样,就是数值改了改,并且题量还没我们练习的多。只要你把练习环境刷明白了,通过考试肯定没问题。也要学会去用ansible-doc模块名  去查看,这样自己记忆起来也容易了很多。遇到记不住的参数可以先尝试找到能让你获得参考的东西,这样写着写着或许就记住了;死记硬背的话考试卡壳了一紧张搞不好就忘了。做题的时候千万要看好要求和关键信息再去做。

最后祝各位小伙伴考试顺利,满分拿证!

代理合作
关注微信

扫一扫关注我们

客服投诉