[RHCSA] 학습 포인트, RHCSA v9 Dumps

dan·2026년 2월 25일

Red Hat Linux

목록 보기
3/9

이번 포스팅에서는 RHCSA v9 응시를 위해 수집한 Dump와 풀이를 담아보려 한다. Red Hat 공식 홈페이지에서는 RHCSA의 주요 학습 포인트를 다음과 같이 제시한다.


1. 시험 대비를 위한 학습 포인트(Red Hat 공식)

시험 대비를 위한 학습 포인트

"RHCSA 시험 응시자는 도움 없이 아래 태스크를 수행할 수 있어야 합니다. 태스크는 몇 가지 카테고리로 분류되어 있습니다."

1. 필수 툴 이해 및 사용

> 셸 프롬프트에 액세스하고 올바른 구문으로 커맨드 실행
> 입력-출력 리디렉션(>, >>, |, 2> 등) 사용
> grep 및 정규 표현식을 사용하여 텍스트 분석
> SSH를 사용하여 원격 시스템에 액세스
> 로그인하여 멀티유저 타겟에서 사용자 변경
> tar, gzip, bzip2를 사용하여 파일 아카이브, 압축, 압축 풀기, 압축 해제
> 텍스트 파일 생성 및 편집
> 파일 및 디렉토리 생성, 삭제, 복사, 이동
> 하드 링크와 소프트 링크 생성
> 표준 ugo/rwx 권한 나열, 설정 및 변경
> man, info 및 /usr/share/doc의 파일을 포함한 시스템 문서를 찾고, 읽고, 사용

2. 소프트웨어 관리

> RPM 리포지토리에 대한 액세스 구성
> RPM 소프트웨어 패키지 설치 및 제거
> Flatpak 리포지토리에 대한 액세스 구성
> Flatpak 소프트웨어 패키지 설치 및 제거

3. 간단한 셸 스크립트 생성

> 조건부 코드 실행(if, test, [] 등 사용)
> 파일, 커맨드라인 입력 등의 처리에 루프 구문(for 등) 사용
> 스크립트 입력 처리($1, $2 등)
> 스크립트에 포함된 셸 명령 출력 처리

4. 실행 시스템 운영

> 시스템을 정상적으로 부팅, 재부팅, 셧다운
> 시스템을 수동으로 다른 타겟으로 부팅
> 시스템에 액세스하기 위해 부팅 프로세스 중단
> CPU/메모리 사용이 많은 프로세스를 식별하여 종료
> 프로세스 스케줄링 조정
> 튜닝 프로파일 관리
> 시스템 로그 파일 및 저널을 찾고 해석
> 시스템 저널 보존
> 네트워크 서비스 시작, 중단 및 상태 점검
> 안전하게 시스템 간 파일 전송

5. 로컬 스토리지 구성

> GPT 디스크에서 파티션 나열, 생성, 삭제
> 물리 볼륨 생성 및 제거
> 볼륨 그룹에 물리 볼륨 할당
> 논리 볼륨 생성 및 제거
> UUID(Universally Unique ID) 또는 레이블을 사용하여 부팅 시 파일 시스템을 마운트하도록 시스템 구성
> 어떠한 손실/손상 없이 시스템에 새로운 파티션 및 논리 볼륨과 스왑 추가

6. 파일 시스템 구축 및 구성

> vfat, ext4, xfs 파일 시스템 생성, 마운트, 분리 및 사용
> NFS를 사용하여 네트워크 파일 시스템 마운트 및 분리
> autofs 구성
> 기존 논리 볼륨 확장
> 파일 권한 문제 진단 및 수정

7. 시스템 배포, 구성 및 유지 관리

> at cron 과 systemd 타이머 유닛을 사용하여 작업 예약
> 서비스를 시작 및 중단하고 부팅 시 자동으로 시작하도록 서비스 구성
> 자동으로 특정 타겟에 시스템이 부팅되도록 구성
> 타임 서비스 클라이언트 구성
> Red Hat Content Delivery Network, 원격 리포지토리 또는 로컬 파일 시스템에서 소프트웨어 패키지 설치와 업데이트
> 시스템 부트로더 수정

8. 기본 네트워킹 관리

> IPv4 및 IPv6 주소 구성
> 호스트 이름 확인 구성
> 부팅 시 네트워크 서비스가 자동으로 시작하도록 구성
> firewalld 및 firewall-cmd를 사용하여 네트워크 액세스 제한

9. 사용자 및 그룹 관리

> 로컬 사용자 계정 생성, 삭제, 수정
> 로컬 사용자 계정의 비밀번호 변경 및 비밀번호 유효 기간 설정 조정
> 로컬 그룹 및 그룹 멤버십 생성, 삭제, 수정
> 관리자 권한 접근 설정

10. 보안 관리

> firewall-cmd/firewalld를 사용하여 방화벽 구성
> 기본 파일 권한 관리
> 키 기반 SSH 인증 구성
> SELinux 실행 및 허용 범위 모드 설정
> SELinux 파일 나열 및 식별, 컨텍스트 처리
> 기본 파일 컨텍스트 복원
> SELinux 포트 레이블 관리
> 부울 설정을 사용하여 시스템 SELinux 설정 수정

2. RHCSA v9 Dumps

과제는 두 개의 카테고리(설정 과제/관리 및 복구 과제)로 되어있다. 제공되는 두 개의 node에서 각각의 카테고리에 해당하는 과제를 수행한다.


2.1 설정 과제(Node 1에서 수행)

1-1. 네트워크 설정

- 호스트 이름: node1.domain250.example.com
- IPv4 주소: 172.25.250.100
- 서브넷 마스크: 255.255.255.0
- 게이트웨이: 172.25.250.254
- DNS: 172.25.250.254

나의 답안:

1. 호스트 이름 변경
hostnamectl set-hostname node1.domain250.example.com
	
# 확인
hostnamectl

2. 네트워크 설정 변경
# 연결 및 인터페이스 확인
nmcli con show
nmcli dev show

# 네트워크 설정
nmcli con mod enp0s8 ipv4.addresses 192.168.56.104/24 ipv4.gateway 192.168.56.1 ipv4.dns 8.8.8.8 ipv4.method manual autoconnect yes
	
# 변경사항 적용(down -> up)
nmcli con down enp0s8
nmcli con up enp0s8
nmcli con show
	
# 확인
ip a

1-2. Yum Repository 설정

다음 링크를 사용하여 YUM 레포지토리를 구성하시오:
- BaseOS: http://content.example.com/rhel8.0/x86_64/dvd
- AppStream: http://content.example.com/rhel8.0/x86_64/dvd/AppStream

나의 답안:

# 0. 실습용 환경 구성
# repo server의 IP ADDR = 192.168.56.108
# BaseOS : /var/www/html/repo/BaseOS
# AppStream : /var/www/html/repo/AppStream
-----------------------------------------------
# 1.repo 파일 생성(remote.repo)
vi /etc/yum.repos.d/remote.repo

[BaseOS]
name=RHEL-9-7-0-x86_64-BaseOS
baseurl=http://192.168.56.108/repo/BaseOS
enabled=1
gpgcheck=0

[AppStream]
name=RHEL-9-7-0-x86_64-AppStream
baseurl=http://192.168.56.108/repo/AppStream
enabled=1
gpgcheck=0

:wq
    
#2. 적용 및 확인
dnf clean all
dnf repolist -v

1-3. SELinux 포트 트러블슈팅

비표준 포트 82번에서 실행 중인 웹 서버의 문제를 해결하시오:

- /var/www/html의 기존 파일을 수정 없이 제공해야 함.
- 웹 서버가 포트 82에서 정상 서비스되어야 함.
- 부팅 시 서비스가 자동 시작되도록 설정.

나의 답안:

# httpd 서비스 상태 확인
systemctl status httpd
    
# file context확인
ll -Z /var/www/html/

semanage fcontext -m -t httpd_sys_content_t /var/www/html/file1
restorecon -Rv /var/www/html

semanage port -a -t http_port_t -p tcp 82

firewall-cmd --permanent --add-port=82/tcp
firewall-cmd --permanent --add-service=http
firewall-cmd --reload

# 서비스 구동 및 enable처리
systemctl enable --now httpd

1-4. 사용자 및 그룹 생성

- "sysadms" 그룹 생성.
- "natasha", "harry" 사용자를 생성하고 보조 그룹으로 "sysadms" 지정.
- "sarah" 사용자 생성 (로그인 불가능한 쉘 부여, sysadms 멤버 아님).
- 모든 사용자 비밀번호: "trootent".
- "sysadms" 그룹에 사용자 추가 권한 부여.
- "harry" 사용자에게 sudo 암호 입력 없이 비밀번호를 변경할 수 있는 권한 부여.

나의 답안:

groupadd sysmgrs
useradd -G sysmgrs natasha
useradd -G sysmgrs harry
useradd -s /usr/sbin/nologin sarah
echo flectrag | passwd natasha --stdin
echo flectrag | passwd harry --stdin
echo flectrag | passwd sarah의 --stdin

visudo
## Allow root to run any commands anywhere 
root    ALL=(ALL)       ALL
harry   ALL=(ALL)       NOPASSWD: /usr/bin/passwd harry

su - harry
sudo passwd harry(확인용)

1-5. 크론탭(Crontab) 설정

- "natasha" 사용자로 2분마다 실행되는 크론 작업 설정.
- 실행 내용: logger "EX200 in progress"

나의 답안:

systemctl status crond
systemctl enable --now crond
crontab -u natasha -e

*/2 * * * * logger "EX200 in progress"
#~마다 일때는 / 표시 오전 10시 20분일 경우 20 10 * * * * 의 표기 형식

## 참고 14시 30분 이런 식으로 문제가 나오는 경우도 있는데 그런 경우에는 밑에 주석 제거 후, 하기와 같이 입력
# 30 14 * * * logger "EX200 in progress"

systemctl restart crond
crontab -lu natasha
cat /var/log/messages

1-6. 협업 디렉터리 설정

- "/home/manager" 디렉터리 생성.
- 소유 그룹: "sysadms".
- 권한: "sysadms" 멤버는 모든 권한을 가지며, 그 외 사용자(root 제외)는 접근 불가.
- 향후 해당 디렉터리 내에 생성되는 파일이 자동으로 "sysadms" 그룹 소유가 되도록 설정(SGID).

나의 답안:

# 방법 1
mkdir /home/manager
chgrp sysmgrs /home/manager
chmod 2770 /home/manager
ls -ld /home/manager

# 방법 2
mkdir /home/manager
chgrp sysmgrs /home/manager
chmod g+s
setfactl -m o::--- /home/manager
setfactl -m g:sysmgrs:rwx /home/manager

1-7. NTP 구성

- 시스템 시간을 "ntp.example.com" 서버와 동기화하도록 설정.

나의 답안:

systemctl status chronyd
systemctl start chronyd
systemctl enable --now chronyd
systemctl status ntpd
systemctl stop ntpd
systemctl disable ntpd

vi /etc/chrony.conf

# 다음 라인을 추가
server ntp.example.com iburst prefer

systemctl restart chronyd

# 검증
timedatectl
chronyc
chronyc> sources

1-8. Autofs 구성

- 모든 `remoteuserX`의 홈 디렉토리는 NFS를 통해 공유됩니다. 이 서버는 `utility.example.com(172.24.10.100)`에서 사용 가능하며, NFS 공유 경로는 `/netdir`입니다.
- `remoteuserX`의 실제 홈 디렉토리 위치는 `utility.example.com:/home/remoteuserX`입니다. (여기서 X는 본인의 스테이션 번호입니다.)
- `remoteuserX`의 홈 디렉토리는 **Autofs 서비스**에 의해 자동으로 마운트되어야 합니다.
- 홈 디렉토리는 해당 사용자가 **쓰기 가능(writable)**해야 합니다.

나의 답안:

# 전제 조건 체크(utility.example.com 서버)
# 다음 작업이 미리 완료되어 있음을 전제로 한다.

## utility.example.com 주소와 IP주소가 매핑되어 있음
echo "192.168.56.106 utility.example.com" >> /etc/hosts
## remoteuser10의 home dir는 이렇게 설정되어 있음
[root@localhost home]# ll
total 0
drwxrwxrwx.  3 root  root    80 Jan 16 16:36 remoteuser10
## 모든 remoteuser의 home dir는 NFS를 통해 exported되어 있음
echo "/home 192.168.56.0/24(rw,no_root_squash)" >> /etc/exports
exportfs -ra
## 서비스가 방화벽에 등록되어 있음
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-service=rpc-bind
## remoteuser10 계정이 생성되어 있음
useradd -M remoteuser10

# 1. autofs 활성화
systemctl enable --now autofs

# 2. remoteuser10의 비밀번호 설정
echo "remoteuser10./" | passwd --stdin remoteuser10

# 3. master map 수정(/etc/auto.master)
## 작성 형식 : [마운트될 상위 dir] [map file 경로]
vi /etc/auto.master

#/misc   /etc/auto.misc 주석처리
/netdir  /etc/auto.misc

# 4. map file 생성(/etc/auto.misc)
## 작성 형식 : [상대 경로] [마운트 옵션] [원격서버 주소:공유경로]
remoteuser10   -fstype=rw,nfs,sync 
utility.example.com:/home/remoteuser10

# 5. autofs 재시작 및 확인
systemctl restart autofs
su - remoteuser10
cd /home
touch test # w 권한 확인
ls -al

1-9. 파일 찾기 및 복사

- "natasha" 사용자에 의해 생성된(소유권이 natasha인) 모든 파일 및 디렉터리 찾기.
- 해당 항목들을 "/root/natashafiles" 디렉터리로 복사.

나의 답안:

# 대상 디렉토리 생성
mkdir -p /root/natashafiles

# 검색 실행
find / -user natasha -exec cp -a {} /root/natashafiles/ \;
or
find / -user natasha -exec cp -rp {} /root/natashafiles/ \;

# 확인
ls -al /root/natashafiles

1-10. 문자열 검색

- "/usr/share/dict/words" 파일에서 "ich"가 포함된 모든 줄 찾기.
- 검색된 내용을 "/root/lines" 파일에 저장.

나의 답안:

grep ich /usr/share/dict/words > /root/lines
cat lines

1-11. 아카이브 생성

- "/usr/local"의 내용을 tar로 묶고 bzip2로 압축.
- 결과물 저장 위치: "/root/backup.tar.bz2".

나의 답안:

tar -cvjf backup.tar.bz2 /usr/local/
mv backup.tar.bz2 /root

1-12. 파일 권한 설정

- /etc/fstab 파일을 /var/tmp/fstab으로 복사 후 다음 권한 설정:
- 소유자/그룹: root.
- 모든 사용자에게 실행 권한 없음.
- "natasha" 사용자: 읽기 및 쓰기 가능.
- "harry" 사용자: 읽기 및 쓰기 불가.
- 기타 모든 사용자: 읽기 전용.

나의 답안:

## -a(archive) : 모든 파일 속성 보존(symlink도 그대로 복사)
## -R(recursive) : 디렉토리 내 모든 하위 파일 및 디렉토리 함께 cp
## -p(preserve) : 파일 권한, 소유권, 타임스탬프 보존
cp -aRp /etc/fstab /var/tmp/fstab

chown -R root:root /var/tmp/fstab
chmod a-x /var/tmp/fstab
setfacl -m u:natasha:rw- /var/tmp/fstab
setfacl -m u:harry:--- /var/tmp/fstab
setfacl -m o::r-- /var/tmp/fstab

# 확인
getfacl /var/tmp/fstab

1-13. 특정 UID 사용자 생성

- UID "2334", 비밀번호 "souspolo"인 "unilao" 사용자 생성.

나의 답안:

useradd unilao -u 2334
echo "souspolo" | passwd --stdin "unilao"

# UID 확인
[root@node1 ~]# id unilao
uid=2334(unilao) gid=2334(unilao) groups=2334(unilao)

1-14. 패스워드 만료 설정

- 비밀번호 최대 사용 기간을 20일로 설정.

나의 답안:

vi /etc/login.defs

PASS_MAX_DAYS   20
# 기존 값 99999에서 수정 후 저장

1-15. 로그인 메시지 출력

- 특정 사용자로 로그인 시 메시지를 출력하는 스크립트/애플리케이션(rhcsa) 구성.

나의 답안:

# 스크립트 생성
vi /usr/local/bin/rhcsa

#!/bin/bash
echo "Welcome to user ngepc"

chmod 755 /usr/local/bin/rhcsa

# 방법 1)
vi /home/ngepc/.bashrc
# 방법 2) 
vi /home/ngepc/.bash_profile

둘 중 하나의 파일 내부에서
fi 밑에 다음라인 추가:
/usr/local/bin/rhcsa

# 확인
[root@node1 ~]# su - ngepc 
Welcome to user ngepc
[ngepc@node1 ~]$ 

1-16. 특정 유저 umask 설정

- "natasha" 사용자가 생성하는 파일/디렉터리에 대해 다음 권한이 적용되도록 설정:
- 파일 기본 권한: rw------- (0600)
- 디렉터리 기본 권한: rwx------ (0700)

나의 답안:

vi /home/natasha/.bash_profile

다음 항목을 추가:
umask 277

# 확인
[root@node1 ~]# su - natasha
[natasha@node1 ~]$ touch hello
[natasha@node1 ~]$ mkdir hi
[natasha@node1 ~]$ ls -lt
total 0
dr-x------. 2 natasha natasha 6 Jan 14 18:18 hi
-r--------. 1 natasha natasha 0 Jan 14 18:18 hello

[natasha@node1 ~]$ getfacl hello
# file: hello
# owner: natasha
# group: natasha
user::r--
group::---
other::---

1-17. 컨테이너 빌드

- "walhalla" 사용자로 http://classroom/Containerfile 다운로드.
- 파일 수정 없이 이미지 이름을 "pdf"로 하여 빌드.

나의 답안:

# podman 서비스 활성화
systemctl status podman
systemctl enable podman

# container file 설치할 디렉토리 생성
mkdir /container
cd /container

# 파일 다운로드(완제품<docker file>이 아닌 설계도임)
wget http://classroom.example.com/Containerfile

# 컨테이너 이미지 생성하기(설계도 이름이 Containerfile로 같을 때)
# -t : tag, 이미지_이름:버전
#  . : 빌드 컨텍스트, 현재 디렉토리 내 파일들을 빌드 재료로 사용)
podman build -t myimg.v1 .
# 명령어 수행 시, Containerfile에 적힌 지시사항을 한 줄씩 실행함
# "**현재 디렉토리(.)**에 있는 설계도를 바탕으로, 
# **myimg**라는 이름의 v1 버전 이미지를 **빌드(build)**해라!"

# 확인
podman images

1-18. 컨테이너 서비스 등록 (Rootless & Systemd)

- 컨테이너 이름: mycontainer
- 위에서 생성한 "pdf" 이미지 사용.
- 재부팅 시 수동 개입 없이 자동 시작되도록 systemd 서비스 등록.
- /opt/file -> /opt/incoming, /opt/processed -> /opt/outgoing으로 자동 마운트 설정.

나의 답안:

# 17번 문제를 완료하면, /container를 base dir로 해서 이미지 생성

# 1. 인프라 및 권한 준비(root)
# 일반 사용자가 접근할 수 없는 시스템 영역을 설정
## root가 chown 권한을 주지 않으면 ngepc가 podman run 실행 시 -v 옵션의 :Z에서 에러 발생 
## Error: lsetxattr /opt/processed: operation not permitted
## :Z 옵션 에러 -> 컨테이너가 해당 디렉토리를 쓸 수 있도록 SELinux 보안 레이블을 자동 변경(root로 변경해야 함)
su - root
mkdir /opt/file
mkdir /opt/processed

chown ngepc:ngepc /opt/file
chown ngpec:ngepc /opt/porcessed

# Linger 설정(root 권한으로)
# 일반 사용자 logout시에도 서비스가 active 상태로 유지되도록
loginctl enable-linger ngepc

# 2. 사용자 환경 진입(ngepc) 및 컨테이너 실행
# su보다 ssh 연결 수립 추천(환경변수 때문)
## systemctl --user 명령어 -> XDG_RUNTIME_DIR이라는 환경변수가 제대로 작동해야 동작함
## su는 사용자만 바꿈
## ssh 접속은 해당 사용자의 완전한 로그인 세션 생성(모든 설정이 자동으로 활성화)
ssh ngepc@localhost

# 컨테이너 실행 및 서비스 파일 생성
## -d : 백그라운드 실행(터미널 닫아도 계속 동작하도록)
## -v : 마운트 옵션(호스트 폴더 /opt/files를 컨테이너 폴더/opt/incoming에 마운트)
## :Z : SELinux 레이블 자동 조정 -> 컨테이너에 안전한 액세스 허용
## localhost/myimg:v1 : 로컬 레지스트리에서 가져오겠다.
podman run -d --name mycontainer 
-v /opt/file/:/opt/incoming:Z 
-v /opt/processed/:/opt/outcoming:Z 
localhost/myimg:v1

# container 실행 확인
podman ps -a
# /opt 경로에 마운트가 잘 되었는지 확인
podman exec mycontainer ls /opt/
# 출력값 : 
> incoming
> outcoming
# 컨테이너 내부에서 외부 디렉토리로 파일 생성 가능한지 확인
podman exec mycontainer touch /opt/incoming/t1

# 3. systemd 유닛 파일 생성 및 설정
# systemd 유닛 파일 저장 위치 확인
man systemd.unit
mkdir -p /home/ngepc/.config/systemd/user
# systemd 유닛 파일 생성
podman generate systemd --name mycontainer --files
# 생성 확인 
ls
mv container-mycontainer.service
/home/ngepc/.config/systemd/user/
systemctl --user daemon-reload
# Linger 설정
## ngepc가 로그아웃 해도 systemd가 계속 활성화 되도록
loginctl enable-linger ngepc
# 확인
loginctl show-user ngepc

# 4. 서비스 동작 테스트 및 자동화 등록
# container 실행 중지(수동으로 띄운 컨테이너 종료)
## 종료하는 이유 : systemd가 관리하는 컨테이너 실행 위해
## 수동 실행 컨테이너 : podman 명령어 사용
## systemd 관리 컨테이너 : systemctl 명령어 사용
podman stop mycontainer
# 확인
podman ps -a
# systemd를 통해 컨테이너 시작
systemctl --user start container-mycontainer.service
# 확인
podman ps -a
# systemd를 통해 컨테이너 중지
systemctl --user stop container-mycontainer.service
# 확인
podman ps -a
# 시스템 재부팅 시 자동 활성화 설정
systemctl --user enable --now container-mycontainer.service

2.2 관리 및 복구 과제(Node 2에서 수행)

2-1. Root 패스워드 재설정

- 패스워드를 분실한 상황을 가정하여 root 패스워드 재설정 또는 응급 모드 진입.

나의 답안:

# 방법 1) 추천 방식
VM 재부팅
부트로더 스크린 뜨면 e
linux열 맨 끝에 rw init=/bin/bash
ctrl + x로 재부팅

bash-5.1# passwd root
bash-5.1# (password 2회 입력)
bash-5.1# touch /.autorelabel
bash-5.1# /usr/sbin/reboot -f

-------------------------------------------------------

# 방법 2) 비추천 방식
VM 재부팅
부트로더 스크린 뜨면 e
linux열 맨 끝에 rd.break
ctrl + x로 재부팅

switch_root:/# mount -o rw,remount /sysroot
switch_root:/# chroot /sysroot
switch_root:/# passwd
switch_root:/# (password 2회 입력)
switch_root:/# touch /.autorelabel
switch_root:/# exit
exit

2-2. LVM 생성

- 볼륨 그룹 "wgroup" 내에 "wshare" 논리 볼륨 생성.
- PE 크기: 8MB.
- 크기: 50 extents.
- 파일시스템: ext4.
- 마운트: /mnt/wshare에 자동 마운트 설정.

나의 답안:

# 1. block device 및 file system 보기
lsblk

## 파티션 생성
fdisk /dev/sdb
Command (m for help): n -> t -> w 순
    [command n]
    * Partition Type : p
    * Partition Number : (default)
    * First Sector : (default)
    * Last Sector : +1G

    [command t]
    * Hex Code or Alias : 8e

    [command w]
    * Synced on the disk

lsblk

# 2. pv, vg, lv, fs 생성
## 순서
## 2-1) PV - physical volume
## 2-2) VG - volume group
## 2-3) LV - logical volume
## 2-4) FS - file system
## 2-5) mount directory

### 2-1)
pvcreate /dev/sdb1
### 2-2)
vgcreate -s 8M wgroup /dev/sdb1
vgdisplay # PE 확인
### 2-3)
lvcreate -n wshare -l 50 wgroup
lvs
### 2-4)
mkfs.ext4 /dev/mapper/wgroup-wshare
### 2-5)
mkdir /mnt/wshare

# 3. 부팅 시 자동 mount 설정
vi /etc/fstab
/dev/mapper/wgroup-wshare       /mnt/wshare     ext4    defaults        0 0 #행추가
## fstab 변경 -> systemctl에 알리기
systemctl daemon-reload

# 4. 점검 및 확인
mount -a # 마운트 안된 사항 점검
df -Th # 마운트 된 사항 점검

2-3. Swap 파티션 추가

- 400MB 크기의 스왑 파티션 생성 및 영구 활성화.

나의 답안:

free -m # swap 사이즈 확인

# 1. 새로운 파티션 생성(/dev/sdb2)
fdisk /dev/sdb
Command (m for help): n -> t -> w 순
    [command n]
    * Partition Type : p
    * Partition Number : 2
    * First Sector : (default)
    * Last Sector : +400M

    [command t]
    * Partition Number : 2
    * Hex Code or Alias : 82

    [command w]
    * Synced on the disk

## partition 2(/dev/sdb2) 생성 확인
lsblk

# 2. swap 생성
## 2-1) mkswap
## 2-2) swapon

## 2-1)
mkswap /dev/sdb2
## 부팅시 자동 마운트 설정
vi /etc/fstab

/dev/sdb2       none    swap    defaults        0 0 # 행추가

## 2-2)
swapon /dev/sdb2

systemctl daemon-reload

# 3. 확인
free -m

2-4. LVM 크기 조정

- 주어진 조건에 맞게 Logical Volume의 크기를 확장.

나의 답안:

[방법 1] : lvresize -r 활용
[방법 2] : resize -r(수동 리사이즈)
----------------------------------------------------
[방법 1]
df -h # 마운트 지점 확인
umount /mnt/wshare # 마운트 해제

# 1. 파일시스템 오류 검사(축소 전 필수 단계)
e2fsck -f /dev/mapper/wgroup-wshare

# 2. lvresize -r 사용하여 LVM resize
lvresize -r -L 280M /dev/mapper/wgroup-wshare

# 3. 확인 후 마운트
lvs
mount -a

----------------------------------------------------
[방법 2]
df -h
umount /mnt/wshare
# 1.
e2fsck -f /dev/mapper/wgroup-wshare
# 2.
resize2fs /dev/mapper/wgroup-wshare 280M
lvreduce --fs ignore -L 300M /dev/mapper/wgroup-wshare

# 3. 
mount -a

2-5. Tuned 설정

- 시스템에 권장되는 tuned 프로파일을 확인하고 적용.

나의 답안:

# 설치 확인
rpm -qa | grep tune

# 현재 profile 확인
tuned-adm active
# 추천 profile 확인
tuned-adm recommend
> virtual-guest

tuned-adm profile virtual-guest
tuned-adm active
> virtual-guest
profile
Hello Engineering World

0개의 댓글