티스토리 뷰

Certificate/RHCSA

RHCSA 8 기출 6-1 ( LVM )

우주아줌마 2023. 2. 14. 17:42
728x90
반응형

얼마전 시험 보고 온 분이 LVM 문제에 Extend 와 size 축소 가 나왔다고 하고

방화벽 설정 문제와 , 스크립트 문제가 나왔다고 한다... 그래서  하나 더 올리게 되었습니다.

 

이건 덤프 내용은 없고 그냥 사이즈 를 변경하고 방화벽 설정 하고 스크립트 예를 들어 본다.

주로 설명 을 하게 될것 같은데... 쓰다보면 좀더 세부적으로 갈수도 있고 ... 댓글에 질문이 있으면

새로 포스팅을 하나 더 할수도 있고..

 

1. LVM (확장 , 축소)

 앞선 문제에서 생성 했던 VG - vg00 , LV - lvo 를 명칭으로 해야 할거 같다 

  하는 김에 아에 LVM 기초 부터 생성 , 확장 , 축소 까지 설명 들어간다... 

  아... 이거 언제 다쓰냐... 그래고 찾아주시고 댓글 달아주시는 분들에게 감사하는 마음에 해볼께요..

  (사랑합니다. 유튜버 분들이  왜 " 좋아요 구독 은 사랑입니다." 라는 말을 하는지 ... 이제 공감하게 되었다.)

  그리고 개인이 실습 하셔야 하니 설정부터 길게 가볼께요 ( 이거 2틀에 나눠 쓰던가 하게 될듯 하다...)  

참고 : 물리볼륨 ,  볼륨 그룹 , 논리 볼륨 등에 대한 설명은 안 할게요( 필요하신 분은 댓글 달아주세요 )

 

-  redhat 8 부터는 공익 교육에서 fdisk 명령어로  물리 리소스 생성을 하지 않고

   parted 를 사용 한다 물론 fdisk 로 해도 전혀 문제가 되지 않는데 ( fdisk , parted 의 차이는 나중에 기회되면)
   설명은 parted 위주로 진행 합니다.

 

1 .실습 구성  ( LVM 파티션 생성)

  우선 LVM 정의 부터 알고 가야 할거 같아요

  PV(물리볼륨) 

  - 기본 물리 스토리지 , 장치를 LVM 시스템에서 사용하려면 물리 볼륨으로 초기화 하고

     LVM 툴은 물리 볼륨을 PE(물리 확장영역)으로 분할 합니다.

     PE는 물리 볼륨에서 가장 작은 블록 이고 작은 데이터 청크 라고 보시면 됩니다.

  VG(볼륨 그룹)

  - 하나 이상의 물리 볼륨으로 구성된 스토리지 POOL , PV는 단일 VG에만 할당 가능하고 

    VG는 디스크의 사용되지 않은 공간을 활용 하여 여러 논리 볼륨으로 생성 할수 있습니다.

 LV(논리 볼륨)
 - 볼륨 그룹에서 사용하지 않는 물리 확장 영역으로  프로그램, 사용자, 운영체제 에서 사용하게 되는

   "저장공간" 장치를 제공 하고 LV는 PV의 가장 작은 저장공간 청크인 LE(논리 확장 영역)의 구역 입니다.

   LE는 하나의 PE에 매핑 되며 특정 LV 옵션을 설정하게되면 매핑이 변경되는 구조이고요

 

순서는 PV 생성 - VG 생성 - LV 생성  순으로  VG의 사용 가능 공간으로 만든 LV 은 파일 시스템으로 포멧하고

 SWAP 공간으로 활성화하여 마운트 하고 활성화 할수 있습니다.

*** 쉽게 말하자면 300g DISK 를 PV, VG , LV 를 거처 필요한 용량만큼 공간으 나누어서 사용자가 그 구역을 사용 하게 되는겁니다.

 

  • 논리 볼륨 만들기 
    위에서 말한대로 parted,gdisk , fdisk 를 사용하여 LVM 에 사용할 파티션을 만들고 LVM 파티션에서 파티션 유형은 항상 Linux LVM 으로 설정 MBR 파티션에 0x8e를 사용 합니다. 경우에 따라 partprobe 를 사용 해서 새파티션 을 등록 할수도 있고요 ( 디스크 전체 , RAID , SAN 을 사용 가능 합니다.)

        시니어 엔지니어급 이거나 rhel7 이전 버전 까지 익숙한 분들은 fdisk 를 주로 사용 하시게 되고 이 포스팅 에서는

        parted 를 사용 하여 한 줄 명령어로 설명 해가겠습니다.

       (parted 는 나중에 포스팅 할께요)

   

-- 사용할 디스크 : /dev/sdb 

[root@rhel9~] pvcreate /dev/sdb      ( 물리볼륨 pv를 /dev/sdb 디스크의 레이블이 VG그롭 할당 준비)
### PV 생성은 해당 디스크에 PV 가 없는 경우에만 생성 해야 합니다.
  •  볼륨 그룹 만들기
    vgcreate 를 통해 한개 이상의 VG를 만들수 있고 VG는 기능적으로 하드 디스크와 동일한 역할을 합니다.
[root@rhel9] vgcreate vg00 /dev/sdb 
# VG 이름이 vg01 이라는 지정하고 대사은 /dev/sdb 를 사용 한다는 뜻
  여기서 VG는 PE단위로 생성됨
  • 논리 볼륨 만들기
    VG에 사용 가능 물리 확장 영역에서 새 LV 를 생성하려면  lvcreate 명령어를 사용 한다.
[root@rhel9] lvcreate -n lv0 -L 700M vg00
  # -n 옵션 으로 'lv01' 이라는 lv 이름을 지정 , -L 옵션 으로 할당할 크기 지정, vg01 이라는 VG 를 사용

   RHCSA8 시험 문제에서 PE 를 10개 로 생성 하라고 문제가 나오면 이거 만 보면 답이 없는데

  : -L 옵션 , -I 옵션 을 잘 사용 해야 한다.

 

lvcreate -L 128M  과  lvcreate -I 128 은 엄연히 다르다
#        대문자 엘(L)          대문자 아이(I)

lvcreate -L 128M : LV 크기를 정확히 128M 로 지정 (오차가 있을수 있음)
lvcreate -I 128  : LV 크기르르 정확히 128개의 확장영역(PE) 으로 지정
# 총 바이트 수는 기본 PV의 PE 블록 크기에 따라 다르게 된다.
# PE Size 는 LV 의 최소 할당 가능 공간인 물리 확장 영역 크기

 

  • 파일 시스템 추가
    리눅스 에 파일 시스템은 xfs, ext4 를 주로 사용 하고 용량 할당 별 다양하지만
    다 옛날 디스크 가 용량이 작고 비싸고 해서 ext 계열을 주고 사용 했지만
    요즘은 거의 xfs 사용 하는거 같다.( 이건 뭐 선호도 차이 일수도....)

mkfs -t xfs /dev/vg01/lv01   (lv 로 생성한 /dev/vg01/lv01 을 xfs 포멧 형식으로 추가)
# mkfs.xfs /dev/vg01/lv01  로 해도 된다.

mkdir /data       ( /data 디렉토리 만들고)

vi /etc/fstab 수정
/dev/vg01/lv01        /data      xfs    defaults 1 2

 

여기 까지 생성을 알아 보았고 이제 수정 하는 실습 을 해보자

  • 볼륨 삭제 방법
    삭제는 역순 으로 진행 하면 되고 ( LV - VG - PV)  
    lvremove /dev/vg00/lv0 
    vgremove /vg00
    pvremove /dev/sdb
    으로 징행 하면 된다.
  • 볼륨 그룹  확장 과 축소
    pvcreate , vgextend 를 사용하여 VG를 확장하고 ,vgdisplay 명령어로 결과 확인
    pvmove , vgreduce 사용해서 VG 줄이기
    lvextend 사용해서 LV 확장 하기
    xfs_growfs 사용하여 XFS 파일 시스템 크기 조정
    resize2fs 를 사용하여 ext 시스템의 크기를 조정 
  • vgextend 사용 방법

vgextend vg00 /dev/sdc   # vg00 에 /dev/sdc 의 pv의 크기만큼 확장

vgdisplay vg00 명령어로 상태 확인 하는데 사용할 수 있는 용량을 본다.
/dev/sdc 디스크의 PV의 크기가 300G 라면 300G 가 늘어 나게 된다.

 

  • 볼륨 그룹 축소
    pvremove 를 사용하여 장치를 pv 에서 중지 시킬수 있다.
vgreduce vg00 /dev/sdc    (/dev/sdc PV가 vg00 VG가 제거)
  • LV 확장
    vgdisplay 명령어로 사용 가능한 물리 확장 영역을 확인하고
    Free PE/Size 검사 

lvextend -L +300M /dev/vg00/lv0
# lv0 의 크긱 300M 만큼 증가 된다 (+ 는 추가 입니다.)
lvextend - I 300  lv 의 크기를 정확하게 300개의 확장 영역으로 설정
lvextend -I +300  확장 영역 128개를 현재 LV 크기에 추가
lvextend -L 300M LV 의 크기를 정확하게 300M 로 설정
lventend -L +300M LV 의 크기를 300M 추가
lvextend -I +50%FREE VG에서 현재 사용 가능한 공간의 50%를 LV 에 추가
xfs_growfs /data       # 파일 시스템을 확장되게 /data 에 적용

***** 중요 ******

RHCSA8 문제에서 LVM 확장 문제가 나오면 항상 틀리는 분들은

lvextend 로 확장까지만 하고 할당을 안해서 틀리는데

꼭 xfs_growfs 명령어로 마무리 해주어야 한다!( lvextend -r 옵션으로 도 가능)

 

ex4 확장은

resize2fs /dev/vg00/lv0

swap 공강 활성화 

swapon -a /dev/vg00/lv0
728x90
반응형
댓글