이 페이지는 시험 연구소 브레인덤프 [ http://blog.examslabs.com ]에서 내보낸 페이지입니다. 내보내기 날짜:Sat Jan 4 3:40:28 2025 / +0000 GMT ___________________________________________________ Title: EX294 시험 덤프 (업데이트 된 35 문제) [Q10-Q26]로 RedHat 시험에 합격하십시오. --------------------------------------------------- EX294시험덤프(35문항 업데이트)로 RedHat시험에 합격하는 방법 EX294시험덤프 - RedHat 모의고사 문제 새로운 질문 10다음 호스트에 대한 일부 패키지를 설치하기 위해 /home/sandy/ansible에 packages.yml이라는 파일을 만듭니다. 개발, prod 및 웹서버에는 httpd, mod_ssl 및 mariadb 패키지를 설치합니다. 개발 호스트에는 개발 도구 패키지만 설치합니다. 또한 개발 호스트에서는 모든 패키지를 최신으로 업데이트합니다. 옵션** 참고 1 최신 설치를 요청하지 않으므로 '현재'가 더 적합한 답변일 가능성이 높습니다. 상태: 현재** 참고 2 개발 노드를 업데이트해야 함 - 이름: 개발 노드의 모든 패키지를 업데이트합니다. 이름: '*'상태: 최신 옵션** 참고 1 최신 상태 설치를 요청하지 않으므로 '현재'가 더 적합한 답변일 수 있음: 현재** 참고 2 개발 노드를 업데이트해야 함- 이름: 개발 노드의 모든 패키지 업데이트 nodeyum:name: '*'상태: 최신 새로운 질문 11 /home/sandy/ansible/roles에 httpd를 활성화 및 시작하고 방화벽을 활성화 및 시작하며 웹서버 서비스를 허용하는 sample-apache라는 역할을 생성합니다. index.html.j2라는 템플릿을 생성하여 /var/www/html/index.html에서 메시지를 생성하고 제공합니다. 파일의 내용이 변경될 때마다 웹 서버 서비스를 다시 시작합니다.Welcome to [FQDN] on [IP]에서 FQDN을 정규화된 도메인 이름으로, IP를 ansible facts를 사용하여 노드의 IP 주소로 바꿉니다. 마지막으로, /home/sandy/ansible/에 apache.yml이라는 플레이북을 만들고 이 역할을 사용하여 웹서버 호스트에서 인덱스 파일을 서비스합니다. Option/home/sandy/ansible/roles/sample-apache/tasks/main.yml/home/sandy/ansible/roles/sample-apache/templates/index.html.j2 In /home/sandy/ansible/roles/sample-apache/handlers/main.yml 옵션/홈/샌디/역할/샘플 아파치/작업/메인.yml/홈/샌디/역할/샘플 아파치/템플릿/인덱스.html.j2에서 /홈/샌디/역할/샘플 아파치/핸들러/main.yml에서 새 질문 12 /home/sandy/ansible에 myvault.yml이라는 빈 암호화된 파일을 만들고 비밀번호를 notsafepw로 설정하세요. 비밀번호를 iwejfj2221로 다시 설정합니다. ansible-vault create myvault.yml새 비밀번호 생성: notsafepw 비밀번호 확인: notsafepw ansible-vault rekey myvault.yml현재 비밀번호: notsafepw새 비밀번호: iwejfj2221 비밀번호 확인: iwejfj2221새 질문 13ansible 설치 및 구성사용자 sandy가 이미 적절한 권한으로 제어 노드에 생성되었으므로 ssh 키를 변경하거나 수정하지 마세요. 제어 노드에서 ansible을 실행하는 데 필요한 패키지를 설치합니다. ansible.cfg가 /home/sandy/ansible/ansible.cfg 폴더에 있도록 구성하고 sandy 사용자를 통해 원격 시스템에 액세스하도록 구성합니다. 모든 역할은 /home/sandy/ansible/roles 경로에 있어야 합니다. 인벤토리 경로는 /home/sandy/ansible/invenlory에 있어야 하며, 5개의 노드에 액세스할 수 있습니다.node1.example.comnode2.example.comnode3.example.comnode4.example.comnode5.example.com이 노드들이 인벤토리 파일에 있도록 구성하고, 노드 I는 dev 그룹의 구성원이고, 노드2는 test 그룹의 구성원, 노드3은 proxy 그룹의 구성원, 노드4와 5는 prod 그룹에 속하도록 구성하세요. 또한 prod는 웹서버 그룹의 멤버입니다. In/home/sandy/ansible/ansible.cfg[defaults]inventory=/home/sandy/ansible/inventoryroles_path=/home/sandy/ansible/rolesremote_user= sandyhost_key_checking=false[privilegeescalation]become=truebecome_user=rootbecome_ask_pass=false In /home/sandy/ansible/inventory[dev]node 1 .example.com[test]node2.example.comnode4.example.comnode5 .example.com[webservers:children]prod In/home/sandy/ansible/ansible.cfg[defaults]inventory=/home/sandy/ansible/inventoryroles_path=/home/sandy/ansible/rolesremote_user= sandyhost_key_checking=false[privilegeescalation]become=truebecome_user=rootbecome_method=sudobecome_ask_pass=false In /home/sandy/ansible/inventory[dev]node 1 .예제닷컴[테스트]노드2.예제닷컴[프록시]노드3 .예제닷컴[프로드]노드4.예제닷컴노드5 .예제닷컴[웹서버:자녀]프로드 새 질문 14호스트 파일 생성:* http://classroom.example.com/hosts.j2 에서 초기 템플릿 파일 hosts.j2 를 다운로드하여 /etc/hosts:172.25.250.9 workstation.lab.example.com 워크스테이션* 이 템플릿을 사용하여 개발 호스트 그룹의 호스트에 /etc/myhosts 파일을 생성하는 데 사용할 수 있도록 템플릿을 완성합니다.* 완료되면 개발 호스트 그룹의 호스트에 있는 /etc/myhosts 파일에 관리되는 각 호스트에 대한 줄이 있어야 합니다:127.0.0.1 localhost localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6172.25.250.10 serevra.lab.example.com servera172.25.250.11 serevrb.lab.example.com serverb172.25.250.12 serevrc.lab.example.com serverc172.25.250.13 serevrd.lab.example.com serverd----------------------이 파일을 만드는 연습을 하는 동안 귀에 들리도록 하세요. 그러나 시험에서는 다음과 같이 다운로드해야 합니다.hosts.j2 파일 구성.localhost localhost.localdomain localhost4 localhost4.localdomain4::1localhost localhost.localdomain localhost6 localhost6.localdomain6----------------------- 솔루션 as:# pwd/home/admin/ansible# wget http://classroom.example.com/hosts.j2# vim hosts.j2127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1localhost localhost.localdomain localhost6 localhost6.localdomain6{% for host in groups['all'] %}{{ hostvars[host]['ansible_facts']['default_ipv4']['address'] }} {{ hostvars[host]['ansible_facts']['fqdn'] }} {{ hostvars[host]['ansible_facts']['hostname'] }}{% endfor %}:wq!# vim gen_hosts.yml-- name: 수집하는 모든 호스트 정보hosts: alltasks:- name:template:src: hosts.j2dest: /etc/myhostswhen: inventory_hostname in groups['dev']:wq# ansible-playbook gen_hosts.yml -syntax-check# ansible-playbook gen_hosts.yml새 질문 15 /home/sandy/ansible/roles에 httpd를 활성화 및 시작하고 방화벽을 활성화 및 시작하며 웹 서버 서비스를 허용하는 sample-apache라는 역할을 생성합니다. index.html.j2라는 템플릿을 생성하여 /var/www/html/index.html에서 메시지를 생성하고 제공합니다. 파일의 내용이 변경될 때마다 웹 서버 서비스를 다시 시작합니다.Welcome to [FQDN] on [IP]에서 FQDN을 정규화된 도메인 이름으로, IP를 ansible facts를 사용하여 노드의 IP 주소로 바꿉니다. 마지막으로, /home/sandy/ansible/에 apache.yml이라는 플레이북을 만들고 이 역할을 사용하여 웹서버 호스트에서 인덱스 파일을 서비스합니다. /home/sandy/ansible/apache.yml/home/sandy/ansible/roles/sample-apache/tasks/main.yml/home/sandy/ansible/roles/sample-apache/templates/index.html.j2In /home/sandy/ansible/roles/sample-apache/handlers/main.yml새 질문 16rhel 시스템 역할 timesync를 사용하여 /home/sandy/ansible에 timesvnc.yml이라는 플레이북을 생성합니다. 현재 구성된 nip를 0.uk.pool.ntp.org 서버로 사용할 시간을 설정합니다. 버스트를 활성화합니다. 모든 호스트에서 이 작업을 수행합니다. 해결 방법:새 질문 17 /home/sandy/ansible/에서 logvol.yml이라는 플레이북을 만듭니다. 플레이에서 Iv0이라는 논리 볼륨을 생성하고 볼륨 그룹 vgO에 1500MiB 크기로 만듭니다. 볼륨 그룹에 공간이 충분하지 않으면 "논리 볼륨에 공간이 부족합니다"라는 메시지를 출력한 다음 대신 800MiB Iv0을 생성합니다. 그래도 볼륨 그룹이 존재하지 않으면 "볼륨 그룹이 존재하지 않습니다."라는 메시지가 표시됩니다. 모든 Iv0 논리 볼륨에 xfs 파일 시스템을 생성합니다. 논리 볼륨을 마운트하지 마세요. 다른 솔루션: 해결 방법 새 질문 18 /home/sandy/ansible/에서 logvol.yml이라는 플레이북을 만듭니다. 플레이에서 Iv0이라는 논리 볼륨을 생성하고 볼륨 그룹 vgO에 1500MiB 크기로 만듭니다. 볼륨 그룹에 공간이 충분하지 않으면 "논리 볼륨에 공간이 부족합니다"라는 메시지를 출력한 다음 대신 800MiB의 Iv0을 생성합니다. 그래도 볼륨 그룹이 존재하지 않으면 "볼륨 그룹이 존재하지 않습니다."라는 메시지가 표시됩니다. 모든 Iv0 논리 볼륨에 xfs 파일 시스템을 생성합니다. 논리 볼륨을 마운트하지 마세요. 해결 방법: 주제 1, 실습 설정5개의 관리 노드와 1개의 제어 노드를 생성하여 실습을 설정해야 하므로 총 6개의 머신이 필요합니다. 레드햇 개발자 웹사이트에서 무료 RHEL8 iso를 다운로드하세요.*** 설정해야 하는 제어 노드***관리 노드에 정적 IP를 생성한 다음 제어 노드에서 다음과 같이 /etc/hosts 파일에 설정해야 합니다.vim /etc/hosts10.0.2.21 node1.example.com10.0.2.22 node2.example.com10.0.2.23 node3.example.com10.0.2.24 node4.example.com10.0.2.25 node5.example.comyum -y install ansibleuseradd ansibleecho password | passwd -stdin ansibleecho"ansible ALL=(ALL) NOPASSWD:ALLsu - ansible; ssh-keygenssh-copy-id node1.example.comssh-copy-id node2.example.comssh-copy-id node3.example.comssh-copy-id node4.example.comssh-copy-id node5.example.com***각 관리 노드 설정***먼저, 각 제어 노드 1,2,3에 2GB의 가상 하드디스크를 추가합니다. 그런 다음 제어 노드 4에 추가 하드디스크를 추가합니다. 노드 5에는 추가 하드디스크를 추가하지 마세요. 이 머신을 시작할 때 추가 디스크는 /dev/sdb(또는 하이퍼바이저에 따라 /dev/vdb)에 아름답게 위치해야 합니다.useradd ansibleecho 비밀번호 | passwd -stdin ansibleecho "ansible ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible주 파이썬3는 기본적으로 설치되어야 하지만, 그렇지 않은 경우 제어 노드와 관리 노드 모두에 설치할 수 있습니다. 기본값이 파이썬2인 데 문제가 있는 경우 기본 파이썬3를 설정할 수도 있습니다.yum -y install python3alternatives -set python /usr/bin/python3 모든 머신은 리포지토리를 사용할 수 있어야 합니다. RHSCA에서 이 작업을 수행했습니다. 로컬로 설정하려면 각 머신에 대해 동일한 작업을 수행하면 됩니다. 가상박스, kvm 또는 사용 중인 하이퍼바이저(/dev/sr0이 될 것입니다)에 rhel8 iso를 디스크로 연결합니다. 그런 다음 머신 내부에서:마운트 /dev/sr0을 /mnt에 마운트하면 /mnt.mkdir /repocp -r /mnt /repovim /etc/yum.repos.d/base.repo이 파일 안에 있는 iso의 모든 파일이 있습니다:[baseos]name=baseosbaseurl=file:///repo/BaseOSgpgcheck=0또한 앱스트림vim /etc/yum.repos.d/appstream.repo이 파일 내부:[appstream]name=appstreambaseurl=파일:///repo/AppStreamgpgcheck=0새 질문 19 /home/sandy/ansible/에 jinja 템플릿을 생성하고 이름을 hosts.j2로 지정하세요. 이 파일을 아래와 같이 편집합니다. 노드의 순서는 중요하지 않습니다. 그런 다음 /home/sandy/ansible에 hosts.yml이라는 플레이북을 만들고 /root/myhosts의 개발 노드에 템플릿을 설치합니다. 솔루션으로 설치합니다: 해결책 새로운 질문 20새 리포지토리를 설정하기 위해 adhoc 명령을 사용하는 /home/sandy/ansible에 adhoc.sh라는 파일을 만듭니다. 리포지토리의 이름은 'EPEL', 설명은 'RHEL8', baseurl은 'https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rmp', gpgcheck는 없지만 리포지토리를 활성화해야 합니다.* adhoc 명령을 사용하는 bash 스크립트를 사용하여 리포트를 활성화할 수 있어야 합니다.실습 설정에 따라, 이 작업을 통과한 후 이 리포트를 "state=absent"로 만들어야 할 수도 있습니다. chmod 0777 adhoc.shvim adhoc.sh#I/bin/bashansible all -m yum_repository -a 'name=EPEL description=RHEL8baseurl=https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rmpgpgcheck=no enabled=yes'새 질문 21 'home/sandy/ansible'에 webdev.yml이라는 플레이북을 만드세요. 이 플레이북은 개발 호스트에 Avcbdev 디렉터리를 생성합니다. 디렉터리의 권한은 2755이고 소유자는 webdev입니다. Webdev에서 /var/www/html/webdev로 심볼릭 링크를 생성합니다. "개발" 텍스트를 표시하는 Avebdev7index.html의 파일을 http://node1.example.com/webdev/index.html 컬링하여 테스트합니다. 솔루션을 다음과 같이 설정합니다: Solution as: 새로운 질문 22제공된 usersjist.yml 파일에서 사용자를 생성하세요. 이 작업은 /home/sandy/ansible에 있는 users.yml이라는 플레이북에서 수행합니다. 이 사용자에 대한 비밀번호는 과제 7의 lock.yml 파일을 사용하여 설정해야 합니다. 플레이북을 실행할 때 TASK 7의 secret.txt 파일로 lock.yml 파일의 잠금을 해제해야 하며, 개발자 호스트에서 '개발자'라는 직업을 가진 모든 사용자를 생성하고 devops 그룹에 추가하고 비밀번호는 pw_dev 변수를 사용하여 설정해야 합니다. 마찬가지로 프록시 호스트에서 '관리자' 직업을 가진 사용자를 생성하고 해당 사용자를 '관리자들' 그룹에 추가하고 비밀번호는 pw_mgr 변수를 사용하여 설정해야 합니다. ansible-playbook users.yml -vault-password-file=secret.txt ansible-playbook users.yml -vault-password-file=secret.txt 새 질문 23파일 내용 수정하기.-------- 다음과 같이 /home/admin/ansible/modify.yml이라는 플레이북을 만듭니다.* 플레이북은 모든 인벤토리 호스트에서 실행됩니다.* 플레이북은 /etc/issue의 내용을 다음과 같이 한 줄의 텍스트로 바꿉니다.-> dev 호스트 그룹에 있는 호스트에서 이 줄은 이렇게 읽힙니다: "개발"-> 테스트 호스트 그룹의 호스트에서는 다음과 같이 표시됩니다: "Test"-> prod 호스트 그룹의 호스트에서는 다음과 같이 표시됩니다: "프로덕션" 솔루션 as:# pwd/home/admin/ansible# vim modify.yml-- 이름:호스트: 모든 작업:- 이름:복사:콘텐츠: "Development"dest: /etc/issuewhen: groups['dev']의 인벤토리_호스트명 - name:copy:content: "Test"dest: /etc/issuewhen: groups['test']의 인벤토리_호스트명 - name:copy:content: "Production"dest: /etc/issuewhen: inventory_hostname in groups['prod']:wq# ansible-playbook modify.yml -syntax-check# ansible-playbook modify.yml새 질문 24ansible 설치 및 구성제어 노드에 적절한 권한을 가진 사용자 sandy가 이미 생성되었으므로 ssh 키를 변경하거나 수정하지 마세요. 제어 노드에서 ansible을 실행하는 데 필요한 패키지를 설치합니다. ansible.cfg가 /home/sandy/ansible/ansible.cfg 폴더에 있도록 구성하고 sandy 사용자를 통해 원격 시스템에 액세스하도록 구성합니다. 모든 역할은 /home/sandy/ansible/roles 경로에 있어야 합니다. 인벤토리 경로는 /home/sandy/ansible/invenlory에 있어야 하며, 5개의 노드에 액세스할 수 있습니다.node1.example.comnode2.example.comnode3.example.comnode4.example.comnode5.example.com이 노드들이 인벤토리 파일에 있도록 구성하고, 노드 I는 dev 그룹의 구성원이고, 노드2는 test 그룹의 구성원, 노드3은 proxy 그룹의 구성원, 노드4와 5는 prod 그룹에 속하도록 구성하세요. 또한 prod는 웹서버 그룹의 멤버입니다. In/home/sandy/ansible/ansible.cfg[defaults]inventory=/home/sandy/ansible/inventoryroles_path=/home/sandy/ansible/rolesremote_user= sandyhost_key_checking=false[privilegeescalation]become=truebecome_user=rootbecome_method=sudobecome_ask_pass=false In /home/sandy/ansible/inventory[dev]node 1 .example.com[test]node2.example.com[proxy]node3 .example.com[prod]node4.example.comnode5 .example.com[webservers:children]prod새 질문 25 /home/sandy/ansible/에 jinja 템플릿을 만들고 이름을 hosts.j2로 지정하세요. 이 파일을 아래와 같이 편집합니다. 노드의 순서는 중요하지 않습니다. 그런 다음 /home/sandy/ansible에 hosts.yml이라는 플레이북을 만들고 /root/myhosts의 개발 노드에 템플릿을 설치합니다. 해결 방법:새 질문 26Ansible 설치 및 구성하기제어 노드에 사용자 bob이 생성되었습니다. 제어 노드에 대한 적절한 권한을 부여합니다. 제어 노드에서 ansible을 실행하는 데 필요한 패키지를 설치합니다.* 다음 요구 사항을 충족하도록 구성 파일 /home/bob/ansible/ansible.cfg를 만듭니다.* 역할 경로에는 /home/bob/ansible/roles 및 샘플 시험 과정에서 필요할 수 있는 다른 경로가 포함되어야 합니다.* 인벤토리 파일 경로는 /home/bob/ansible/inventory입니다.* 한 번에 10개 호스트를 관리할 수 있어야 합니다.* 다음 5개의 노드에 대한 인벤토리 파일을 생성합니다:nodel.example.comnode2.example.comnode3.example.comnode4.example.comnode5.example.com이러한 노드들이 인벤토리 파일에 있도록 구성합니다. node1은 dev 그룹의 멤버이고, nodc2는 test 그룹의 멤버, nodc3은 proxy 그룹의 멤버, nodc4와 5는 prod 그룹의 멤버입니다. 또한 prod는 웹서버 그룹의 멤버입니다. In/home/sandy/ansible/ansible.cfg[defaults]inventory=/home/sandy/ansible/inventoryroles_path=/home/sandy/ansi