RHCE双满分考试分享-来自屈同学
mb662a071af163c
3.4
72025/03/31
各位小伙伴大家好,相信大家都已在模考环境练了很多遍了,在这里主要跟大家分享一下练习环境和考试环境中的一些小差别。
考试里面的配置信息一定要仔细阅读,比如在登录容器的用户名和密码以及虚拟机的用户名和密码都会在这里显示。做题时也要仔细阅读题目,它跟我们练习的题目会有点一点点区别,比如用户名和挂载目录这些,但内容和做题的方法是不变的;RHCSA我未装任何一个软件(比如policycoreutils-python-utils、autofs、nfs-utils)都已经装了,RHCE我只装了ansible-core,其他的也都已经装好了,我是在成都考的,不知道其他地区是否也一样,建议大家还是装一下,已装的话会有提示;大家千万别慌,你已经理解记忆并反复练习多遍,对自己和题库要足够有信心。
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的管理节点都未开启防火墙,所以如果不是题目要求可以不开;我全部做完下来都没让开。我只用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模块名 去查看,这样自己记忆起来也容易了很多。遇到记不住的参数可以先尝试找到能让你获得参考的东西,这样写着写着或许就记住了;死记硬背的话考试卡壳了一紧张搞不好就忘了。做题的时候千万要看好要求和关键信息再去做。
最后祝各位小伙伴考试顺利,满分拿证!



©著作权归作者所有,未经许可不可转载及商用,否则将追究法律责任