리눅스/자격증

[RHCE] Repo Server 및 사전 구성

ㅎㄷㄹㅁㅇ 2025. 4. 28. 11:32
반응형

 

사전 구성

덤프가 존재하는 시험을 보는 것은 단순 암기로 시작한다. 문제와 답만 알아도 시험에는 합격 할 수 있다. 하지만 문제 풀이를 진행하다보면 처음부터 진행이 막히게 된다. 내가 아는 것은 문제와 답 밖에 없는데, 사전 구성 정보가 없으니 문제를 풀어도 해결이 되지 않는 경우가 있다. 문제와 답만 외워서 진행하기에는 시험 가격이 너무 부담스럽다. 그래서 조금 더 완벽하게 준비하고 싶은 것은 당연하다.

 

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
TOP