티스토리 뷰

728x90
반응형

몇일 일도 바쁘고 개인적으로 어려움이 있어 포스트 이 늦었습니다
기대 안하고 올린 글들이 RHCSA8 막바지 셤을 치르시는 분들이 찾아주시고
댓글을 남겨주셔서 많은 힘이 되어 계속 이어가게 되었내요
 

- 이 포스팅은 문제를 뒤에서 풀더 풀자....

1번 으로 시작 하지만 vdo 문제 먼저 풀고 나머지를 풀자 ...
( 글을 쓰다 다시 올라와서 작성중 )
VDO 문제를 먼저 안풀고 swap 이나 lvm 문제를 할당되어 있지 않은
빈디스크 를 사용 해버리면 vdo 문제를 풀지 못 할수 있는 상황이 발생한다.
-
1. 문제 

756MB 크기의 파티션을 생성하고 swap을 추가합니다.
새로 추가된 swap 은 다음 부팅시에도 계속 유지되어아 합니다.
이전 존재하는 swap을 삭제하거나 변경해서는 안됩니다.

# 문제에 보면 756MB 을 파티션 생성과 swap 추가 , 다음 부팅시 유지
기존 swap 을 삭제하거나 변경하면 안되는 조건이 있다.
아마 서버에 디스크를 확인해보면 3~4개 가 있는데 이중에
아무 지정도 없는 빈디스크가 있을거다 이건 절대 건드려선 안된다.
다음 에 나올 VDO 문제에 할당 해야 하기 때문에
기존 디스크에서 용량 설정이 어려워 그냥 편하게 하자 하고  사용해버리면
VDO 문제 를 풀수가 없다... (있긴 한데 swap 다시 풀고 초기화 해서 VDO 설정시 이미 사용된 디스크 이다 라고 나와버리는 니 일이 복잡해진다. 이러한 문제를 해결 하는 방법은 포스트 를 다 끝내고 각 문제들 에서 경험 했던 문제 들을 트러블 슈팅 해 볼까 한다... .하는데... 할지는...)
 
- 정답

정답이 길어 보이지만 fdisk 를 이용해서 파티션을 생성하고 swap 에 할당 하는
해보면 쉬울수 있다 순서와 방법을 이해 하면된다.
 
- 풀이
# 추가 설명 #
정답 을 보고 풀기 전에 확인 과정을 설명 해야 할거 같다.
# fdisk -l     로 현제 디스크와 파티션이 어떻게 되어 있나 확인해보고
통으로 사용 하지 않는 디스크는 절대 건드리지 말고
756MB 이상 남은 사용 중인 디스크를 확인해서 이용하자 
* 절대 통으로 남은 디스크 를 사용 해선 안된다! *
# fdisk -l 로 756MB 가 를 할당 할수 있는 디스크를 확인하고 사용 하자 몇번 개속 강조 한다 제발...
-- 풀이 ( 조건 : fdisk -l 로 확인한 디바이스 가 /dev/sdb 이라는 가정 )
# fdisk /dev/sdb            # /dev/sdb 를 fdisk 를 통해 파티션 구성 시작
Command (m for help):  n          # n 을 눌러 새파티션 구성 시작
select (default p ): p            # primary 로 지정 
Partition number (1-4 , default 1): 1         # 파티션 순서를 1번으로 설정
First sector (2048-1048759 , default 2048) :
Last sector , + sctors or +size(K,M,G,T,P) (2048-10485759, default 10485759): + 756M        # 용량을 추가 할거니 + 로하고 756M 을 입력
 
Command (m for help) : t              # 파티션 타입을 지정
Selected partition 1
Hex code (type L to list all codes): 82          # 문제에서 swap 생성이니 타입을 L 를 눌러 확인 하고 해도 되고 Swap 는 82 이다
 
Command ( m for help) : p         # 파티션 확인
~~~~
device       boot start        End  Sectors   Size   Id  Type
/dev/sdb1   2048          1550335 1548288 756M Linux swap  / Solaris
( 여기서 확인 해야 할건 /dev/sdb1 로 새로 Linux swap 이 생성 된는지 확인 해야한다)
Command ( m for help ): w        # W 로 저장
** 참고 /dev/sdb1 이 생성 되는 되었는지 확이는 fdisk -l 또는 lsblk 로 확인 가능
 
# mkswap /dev/sdb1          # mkswap 명령어 로 위에서 생성한 /dev/sdb1 에 swap 를 지정
Setting up swapspace version 1, size = 756 MiB(~~~~~)
no label , UUID=037e4927-d375-43de-9db4-aa3f4b98abb4
( 여기서 UUID=~ 를 복사해두거나  lsblk -f 로 UUID 를 확인 해야한다.)
 
# vim /etc/fstab           # vim 편집기로 /etc/fstab 를 편집 한다.
* 아래 내용 추가 (UUID 는 보인이 작업한 /dev/sdb1 을 확인하고 넣어야 한다.)

UUID=037e4927-d375-43de-9db4-aa3f4b98abb4  swap   swap  defaults  0 0

# swapon -a      # swapon -a 옵션을 넣어 활성화 시킨다.
                              # swapon 명령어에 -s 옵션을 넣어 활성화 시킨다.  <<<
                             @아이벡스 님에 확인으로 오타 수정합니다.( 감사합니다!)

  
** 참고 Hex code **

 
 
2. 문제 ( 논리 볼륨 생성 ,lvm)

논리 볼륨의 lv0이고 vg00 에 속한 60개의 논리 볼륨을 생성합니다.
lvo 의 논리 크기는 16MB 가 되어야 합니다.
논리 볼륨 vg00은 ext4로 포맷되고 /volume에 마운트 됩니다.
다음 부팅시에도 유지되어야 합니다.

이 문제도 랜덤으로 나오는 문제이다.(사실 대부분에 문제들이 랜덤으로 나온다)
문제가 60개의 논리 볼륨 을 생성합니다 인데... 이걸 이해 못한다면... LVM 공부 좀 더 하고 이해하고 넘어가야 한다....( 실무에서 도 자주 쓰인다.)
lvo 의 논리 크기는 16M 가 되어야 한다 라고 했으니
16M * 60 개를 vg00 에 할당 할수 있도록 용량을 지정 하라는 말이다.
(LVM 포스팅은 필요하다면 다음에 올릴까 한다...)
 
- 정답
 

 - 풀이
# fdisk /dev/sdb       # fdisk 로 /dev/sdb 를 더 나누어준다.
command ( m for help ): n         # n 으로 새로 생성
~
Select (default p ): p                    #  파티션 생성
Partition number (2-4, default 2): 2            # 파티션 번호 2번 으로 생성 (위에서 1번으로 하나 만들었으니 2부터 시작한다)
Last sector (155~~- 10~~~):   + 240M     # 생성해야 할 용량 입력
~
Command (m for help) : t        # Type  선택
Partition number ( 1,2 default 2) : 2         # Type 변경할 파티션 선택 2번
Hex code (type L to list all codes): 8e       # Hex code 는 LVM 인 8e 선택
~
Command ( m for help) : p    # 구성 내용 확인
~
Device~~
/dev/sdb1
/deb/sdb2  ~~~~~      ~~~~       ~~~~~     240M 8e Linux LVM 
Command ( m for help ) : w           # w 로 저장
 
# pvcreate /dev/sdb2            # pvcreate 로 /dev/sdb2 에 pv 생성
# vgcreate vg00 /dev/sdb2       # vgcreate 명령어로 vg00 이름에 vg 생성하는데 대상은 /dev/sdb2 
# lvcreate -n lvo -l +100%free vg00     # lvcreate 명령어로 옵션 -n 이름을 lvo 으로  -l 옵션 용량 지정은 +100%free  vg00 을 지정
# lvs            # lvs 명령어 로 lvm 확인
 
# mkfs.ext4 /dev/vg00/vlo            # mkfs.ext4 로 /dev/vg00/lvo 포맷(문제에서 ext4 로 포멧 하라고 했는데 ext4 가아니고 xfs 일수도 있다.
#  mkdir /volume             # mkdir 명령어로 /volume 를 생성(문제에 나온 디렉토리)
# vim /etc/fstab               # vim 편집기로 /etc/fstab 를 수정

/dev/mapper/vg00-lvo         /volume     ext4  defaults 1 2

** fdisk -l | grep vg00  으로 vg00 라인만 보고 포멧할 경로 확인
# mount -a         # mount 명령어로 옵션 -a 사요애 /etc/fstab 를 모두 마운트
** 여기서 경로가 잘못되거나 /etc/fstab 내용이 잘못 되면 오류가 난다. (오타 주의 하자)
 
 
3. 문제 - VDO 문제다 꼭 VDO 문제 먼저 풀자!! 제발!!

사용되지 않은 디스크를 이용하여 생성합니다.
VDO 이름은 vdough 이며 논리 볼륨 크기는 50GB 입니다.
vdough는 xfs로 포맷되고 /vdough에 마운트 됩니다.
다음 부팅시에도 유지되어야 합니다.

 
- 정답

 
- 풀이
# yum install vdo kmod-kvdo         #yum 으로 vdo , kmod-kvdo 패키지 설치(앞서 yum 설정이 정상적으로 되지 않았다면 문제 진행 안됨)
 
# systemctl enable -- now vdo      # systemctl 명령어로 enable --now vod 를 시작(enable 는 시스템 시작시 자동으로 시작 하도록함)
 
# vdo create -n vdough --device=/dev/vdb --vdoLogicalSize=20G
( 이줄은 암기해야 하고 -n 은 이름 지정 --device 는 경로  --vdoLogicalSize=20G 는 대소문자 구분 )
# vdo status -n vdough |grep "Logical size"    # 사이즈 확인 명령어
# vdostats --human-readable         # 상태를 알아보기 쉽게 출력
# mkfs.xfs -K /dev/mapper/vdough   # mfks.xfs 로 포맷 -K 는 빠르게 포멧
# mkdir /vdough         #vdough 디렉토리 생성
# vim /etc/fstab          # vim 편집기로 /etc/fstab 수정

/dev/mapper/vdough /vdough     xfs defaults, x-systemd.requires=vdo.service 0 0

# mount -a                   # mount 명령어 와 옵션 -a 로 /etc/fstab 를 모두 마운트( 역시 /etc/fstab 에 오타 가 있거나, 경로가 틀리면 에러가 난다.)
 
 
 
 
-----------
휴 길었다........ 1시간이 넘게 걸려서 작성 했는데... 도움들이 되시지 모르겠다.
그러고보니 덤프에 랜덤으로 나오는 문제들이 있어서 NFS 문제도 추가 해야 할거 같다. 
vdo 문제는  stratis 로도 나올수 있으니 다음 포스팅에 podman 문제와 같이 작성 하고 마무리 하고 트러블 슈팅 이나 질문들을 받아야 할거 같다...
 
오늘도 고생하셨습니다.
 

728x90
반응형
댓글