사전 구성
덤프가 존재하는 시험을 보는 것은 단순 암기로 시작한다. 문제와 답만 알아도 시험에는 합격 할 수 있다. 하지만 문제 풀이를 진행하다보면 처음부터 진행이 막히게 된다. 내가 아는 것은 문제와 답 밖에 없는데, 사전 구성 정보가 없으니 문제를 풀어도 해결이 되지 않는 경우가 있다. 문제와 답만 외워서 진행하기에는 시험 가격이 너무 부담스럽다. 그래서 조금 더 완벽하게 준비하고 싶은 것은 당연하다.
RHCE의 시험의 경우에 덤프가 매우 잘 나와있다. 나도 그것을 보고 공부했고 그것 위주로 외우고 시험을 봐도 당락에 문제가 될 것 같지 않다. 반복적인 연습을 위해 사전 구성을 미리해서 테스트를 해봤지만 구성에 관한 부분은 부족한 내용이 있어 공부했던 내용을 공유하고자 한다.
Server 구성
- EX294V84K 시험을 기준으로 작성함
- VirtualBox를 사용했으며 RHEL8.4(minimal 설치)로 준비 했으며, Rocky도 무방하나 ansbile rpm은 확인이 필요
- 한 대 설치 후 clone을 사용하여 기본적인 사항은 동일하게 구성
hostname | ip address | 비고 |
rhgls.domain1.example.com | 192.168.59.100 | Repository 및 yml 다운로드 |
controller | 192.168.59.130 | CTRL 노드 |
node1 | 192.168.59.131 | Managed노드 |
node2 | 192.168.59.132 | Managed 노드 |
node3 | 192.168.59.133 | Managed 노드 |
node4 | 192.169.59.134 | Managed 노드 |
node5 | 192.168.59.135 | Managed 노드 |
공통 적용
- 공통 적용 이후 clone으로 7개의 서버를 복제한 뒤 각각 설정 값을 진행하면 된다.
패키지 설치
$ yum install vim bash-completion wget lvm2
/etc/hosts
$ cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.59.100 repo rhgls.domain1.example.com
192.168.59.130 ctrl ctrl.example.com
192.168.59.131 node1 node1.example.com
192.168.59.132 node2 node2.example.com
192.168.59.133 node3 node3.example.com
192.168.59.134 node4 node4.example.com
192.168.59.135 node5 node5.example.com
admin 계정 생성
$ useradd -G wheel admin
$ passwd admin
admin
$ vim /etc/sudoers
%wheel ALL=(ALL) NOPASSWD:ALL
# 계정 switching 확인
$ su - admin
$ exit
Repo Server
- repo server 는 http 설치가 되어 있어야 하고 미리 준비된 패키지와 파일을 upload해야 한다.
- 컨트롤 노드 및 수행 노드에서 패키지 or yml 파일을 받아갈 수 있어야 한다.
HTTP Server 구성 및 설정
$ systemctl enable --now httpd
$ systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2025-01-15 09:00:03 KST; 1 day 8h ago
Docs: man:httpd(8)
man:apachectl(8)
...
### http DocumentRoot 경로 /var/www 로 변경
$ vi /etc/httpd/conf/httpd.conf | grep DocumentRoot
$ cat /etc/httpd/conf/httpd.conf | grep DocumentRoot
DocumentRoot "/var/www"
$ systemctl restart httpd
### repo 서버 구성 (iso 이미지는 RHEL8.4 준비)
- /var/www/os 경로에 iso 이미지 마운트
$ mkdir /var/www/os
$ mount rhel-8.4-x86_64-dvd.iso /var/www/os
$ mount /dev/sr0 /var/www/os
$ mount
Ansible PKG 업로드 및 repo 구성
$ mkdir/var/www/ansible
$ ls -1
ansible-2.9.27-1.el8ae.noarch.rpm
ansible-test-2.9.27-1.el8ae.noarch.rpm
sshpass-1.06-3.el8ae.x86_64.rpm
$ createrepo /var/www/ansible/
ansible-2.9.27-1.el8ae.noarch.rpm
ansible-test-2.9.27-1.el8ae.noarch.rpm
sshpass-1.06-3.el8ae.x86_64.rpm
repodata
시험 간 필요 파일 업로드
$ mkdir /var/www/materials
$ ls -1
haproxy.tar
phpinfo.tar
hosts.j2
hosts.yml
hwreport.empty
salaries.yml
user_list2.yml
- haproxy.tar 와 phpinfo.tar 파일은 각각 roles 문제에서 사용 될 파일들이다.
- 아래 주소에있는 파일들을 다운로드 받은 이후 수정해서 tar로 묶어 진행했다.
- haproxy의 경우에 template 파일 하위 파일을 수정해야하는 문제가 나오는데, 아래 파일과는 전혀 다르다.
https://github.com/geerlingguy/ansible-role-haproxy
http://dywang.csie.cyut.edu.tw/materials/phpinfo.tar.gz
materials 하위 파일 내용
# hosts.j2 #
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
# hosts.yml #
빈 파일
# hwreport.empty #
HOSTNAME=
MEMORY=
BIOS=
DISK_VDA_SIZE=
DISK_VDB_SIZE=
# salaries.yml # (패스워드 : test / 내용 : TEST)
$ANSIBLE_VAULT;1.1;AES256
33353338386137653138663166626264643763656639343330393538326338383433343337393262
3833613232353636373736636465313832383130633562390a613836393630393363666161396462
63353138333337313634303337316662343766633565326264643836346133653935333965626233
6534663739646261370a313261613665316363326136663636663962636235623162663161646534
3264
# user_list2.yml #
---
users:
- name: sallay
job: manager
- name: bob
job: developer
- name: fred
job: developer
CTRL Node
localrepo 구성
$ cat /etc/yum.repos.d/local.repo
[BaseOS]
name=BaseOS
baseurl=http://rhgls.domain1.example.com/os/BaseOS
enabled=1
gpgcheck=0
[AppStream]
name=AppStream
baseurl=http://rhgls.domain1.example.com/os/AppStream
enabled=1
gpgcheck=0
[Ansible]
name=Ansible
baseurl=http://rhgls.domain1.example.com/ansible
enabled=1
gpgcheck=0
$ yum clean all
$ yum repolist all
$ yum list
$ yum repoinfo
sskkey 복사
# 계정 switching
$ su - admin
# Controll Node에서 ssh-keygen 생성 및 복사
$ ssh-keygen
$ ssh-copy-id admin@node1~5
# Controll Node > Node[1-5] 계정 접속 확인
$ ssh admin@node[1-5]
Managed Node
따로 변경 사항 없으며, /etc/fstab 과 admin 스위칭 여부 확인 진행
마무리
사전 구성의 경우 위애 내용만 충실하게 따라가도 EX294V84K에서는 막히는 문제가 없을 것 같다. 하지만 RHEL9를 기준으로 할 때는 다를 수도 있다. 인터넷에서 찾아본 rhce의 경우에 materials 디렉토리 생성 후 설치하는 부분이 내가 본 시험에 없는 것으로 보아 버전 차이가 아닐까 싶은데, 해당 내용의 차이가 있을 경우에도 ansible.cfg 파일을 수정할 때 빼고는 큰차이가 없는 것 같다.
'리눅스 > 자격증' 카테고리의 다른 글
[RHCE] 시험 전 Check Point + 후기 (3) | 2025.04.18 |
---|---|
[RHCSA] 시험 전 Check Point + 후기 (0) | 2024.01.17 |