마짱짱의 지식창고

[Linux] 논리볼륨 Logical Volume (구성,추가,축소) 본문

Linux

[Linux] 논리볼륨 Logical Volume (구성,추가,축소)

마짱짱 2020. 5. 27. 17:05
반응형

* Centos 7 환경입니다.

CH04 디스크 관리

디스크 기본 구조

  • 디스크의 물리적인 구조2

MBR vs GPT 차이를 알아두자! (면접질문 기출)

x86 시스템이란? (알쓸신잡)

디스크 이름 및 확인

  • E-IDE 방식
  • SATA : sda, sdb
  • SCSI -> 스카시/스커지 로 읽는다.
  • SA-SCSI

E-IDE : hda, hdb

SATA, SCSI, SA-SCSI : sda,sdb

가상의 디스크의 경우에는 vda, vdb 이런 방식으로도 표기!

하드디스크 파티셔닝

  • fdisk : MBR 파티션 스키마 -> BIOS 펌웨어 최대 4개 주 파티션, 확장 및 논리 파티션 최대 15개, 2TiB(테라바이트) 파티션 가능

( 디스크에 4개보다 많은 파티션이 필요한 경우 3개의 주 파티션과 1개의 확장 파티션을 만들어 한도를 늘릴 수 있다. But 최대 15개 까지 가능! )

fdisk 사용법을 익혀두세요! (빈출)

  • gdisk : GPT 파티션 스키마 -> UEFI 표준, 최대 128개 파티션, 8ZiB(제타바이트) 파티션 가능
  • parted : 대화형/스크립트 둘 다 가능 -> 쉘 스크립트 작성시 많이 사용
  • partprobe : 파티션 테이블 다시 읽기를 강제 실행시키는 명령어

CH05 파일시스템 및 스왑 메모리

리눅스 파일 시스템 소개

  • 파일 시스템(File System) - 디스크(Disk)

  • 리눅스 파일 시스템 구조

주요 파일 시스템 구조

  • ext4(ext3) : 저널링 기능 추가 -> 데이터를 기록하는 도중에 오류가 발생했을 때 복구할 수 있다.
  • xfs : 최신 버전의 리눅스 시스템(RHEL7,8, CentOS7,8)에서 기본 파일 시스템으로 사용

inode 구조

파일 시스템 관리

주요 명령어

  • mkfs : 파일시스템으로 장치를 포맷
  • parted
  • file
  • blkid
  • mount/umount : 파일시스템 마운트

mount 명령어 vs /etc/fstab에 등록 두 가지의 차이는??! (중요)

Tip : 디스크 추가 -> 파티셔닝(fdisk) -> 파일 시스템 포맷(mkfs) -> 마운트(mount, /etc/fstab)

마운트(Mount)란??

기차는 서울역에서 정차한다. (=디스크를 디렉토리에 마운팅) 홍길동은 서울역에서 기차를 탄다. (=데이터를 마운트 디렉토리에 저장) 기차는 홍길동을 태우고 목적지까지 간다. (=실제 물리적으로 디스크에 저장됨) 여기에서 기차는 리눅스 상에 있는 물리적 장치이고, 서울역은 마운트 된 디렉토리, 홍길동은 저장될 데이터라고 보면 된다. test.txt라는 데이터를 /data 아래에 저장하면 실제로 해당 데이터는 /dev/sda1 디스크에 저장이 된다. 그렇다면 그 후 /dev/sda1에 /data2 디렉토리를 마운트 시키면 test.txt 데이터는 어떻게 될까? 정답은 test.txt는 안보이는 것일 뿐, 실제로는 /dev/sda1에 저장되어 있다.

스왑 메모리

  • 가상 메모리 = 물리 메모리(Ram) + 스왑(Swap)

  • swap 영역 구조

  • swapon
  • swapoff
  • free

CH06 논리 볼륨(Local Volume) 관리

논리 볼륨(Logical Volume)

논리볼륨을 사용하는 이유는?

  • 물리 볼륨(Pysical Volume)
  • 볼륨 그룹(Volume Group)
  • 논리 볼륨(Logical Volume)
  • RAID(0,1,5,6,...) -> RAID 종류 / 특징
  • 씬 프로비저닝

고가용성(High Availability)이란? (앞으로 자주 만날 용어!)

논리 볼륨(Logical Volume) 생성

  • lvmdiskscan : 파티션 정보를 확인
  • pvcreate : 물리 볼륨 생성
  • vgcreate : 볼륨 그룹 구성 / -s : PE사이즈 지정
  • vgremove : 볼륨 그룹 삭제
  • lvcreate : 논리 볼륨 생성 / -n : 논리볼륨 이름, -l: PE개수 지정, -L : 사이즈 지정
  • lvremove : 논리 볼륨 삭제

논리 볼륨(Logical Volume) 요소 확인

  • pvdisplay
  • pvs
  • vgdisplay
  • vgs
  • lvdisplay
  • lvs

볼륨 그룹(Volume Group) 및 논리 볼륨(Logical Volume) 관리

  • vgextend
  • vgreduce
  • pvmove
  • lvextend

리눅스 LVM 만드는 순서!!

RAID가 뭐에요?

RAID(Redundant Array of Independent Disks)

  • 하드디스크를 병렬로 배열해 사용하는 기법
  • 컴퓨터의 성능을 끌어올리기 위한 방법
  • 저장장치 여러 개를 묶어 고용량·고성능 저장장치 한 개와 같은 효과를 얻기 위해 개발된 기법 나무위키
  • RAID는 여러개의 디스크를 하나로 묶어 하나의 논리적 디스크로 작동하게 하며, 하드웨어적인 방법과 소프트웨어적인 방법이 있다 위키피디아
  • 하드웨어적인 방법 - 운영체제에 이 디스크가 하나의 디스크처럼 보이게함
  • 소프트웨어적인 방법 - 주로 운영체제 안에서 구현되며, 사용자에게 디스크를 하나의 디스크처럼 보이게함

RAID 0

  • 스트라이프(Stripe or Striping)
  • 두 개 이상의 하드디스크를 병렬로 연결해, 하나의 하드디스크처럼 이용하는 기술
  • 디스크의 접근 속도가 빠름

RAID 1

  • 미러(Mirror or Mirroring)
  • 두 개 이상의 하드디스크를 병렬로 연결해서 똑같은 복사본을 생성하는 기술

RAID 0 + 1

  • RAID 0(스트라이프)와 RAID 1(미러)를 혼용한 방식
  • 스트라이핑한 디스크 두 개를 서로 미러링
  • 속도 향상과 복사본 생성이라는 두 가지 목적을 동시에 어느정도 구현할 수 있다

RAID 1 + 0

  • 4개의 하드디스크를 사용해 RAID 1 방식으로 데이터를 미러링하고, 이를 다시 RAID 0 방식으로 스트라이핑하는 방식
  • 예를 들어, RAID 10 에 있는 4개의 400GB 하드디스크는 운영체제에서 하나의 800GB 하드디스크로 나타난다
  • RAID 10은 RAID 0의 속도적인 장점을 살리고, RAID 1으로 안전성을 보강
  • 한 디스크에서 장애가 발생할 경우, 데이터 무결성에 영향을 주지 않고 모든 데이터를 다른 미러에서 제공할 수 있고 고장난 드라이브만 교체하면 된다.

< 공통점 >

  • 용량이 같다
  • 속도가 같다

< 다른점 >

  • RAID 10은 안정성이 높으나 RAID 01은 상대적으로 낮다
  • 디스크를 재구성하는 방법이 다르다

논리 볼륨의 장점

  * 원하는 크기의 논리 볼륨을 생성 가능

  * 데이터를 유지한 채 확장이 가능

  * RAID 적용 가능

  * 스냅샷 기능 가능

 

생성순서

  물리볼륨(physical volume) -> 볼륨그룹(volume group) -> 논리볼륨(logical volume)

 

볼륨그룹 생성시 PE의 크기 지정 가능

  * PE(Physical Extent)란? 물리확장이라고 부르며 볼륨 그룹에서 논리 볼륨 생성 또는 확장 시 사용할 수 있는

                                                      최소단위, 기본적으로 PE 는 4MB 로 설정되어있다.

 

1. 파티션 생성->LVM 형태로 변경

2. PV 생성

2. VG 생성

3. LV 생성

 

EX) LVM 총정리

8G 짜리 디스크 하나를 추가하세요 (예: /dev/sdf 8GB -> 포맷되지 않은 디스크)

  1. LV name = LV01

  2. VG name = VG01

  3. LV size = 50PE ( PE Size = 20MB )

  4. LV 형식은 EXT4

  5. /mnt/lvm 에 mount하고, 부팅시 자동으로 마운트 되게 하시오.

  6. LV 크기를 70PE 로 확장하시오.

  7. LV 크기를 60PE 로 줄이시오.

        1. pvcreate 생성

        2. vgcreate -s20 VG01 /dev/sdf1

        3. lvcreate -l 50 -n LV01 /dev/vg01

        4. mkfs.ext4 /dev/VG01/LV01

        5.  vi /etc/fstab

        6.  lvextend -r -l +20 /dev/VG01/Lv01

        7. 축소는 반드시 umount 하고 난 후 할 것

               umount -> e2fsck -f /dev/VG01/LV01  -> lvreduce -l 60 /dev/VG01/LV01

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

출처 : CCCR 3기 수업中 강사님 자료

반응형

'Linux' 카테고리의 다른 글

[Ubuntu] 설치 후 할 일  (0) 2020.07.26
[Linux] Raid, Disk관리  (0) 2020.05.27
[Linux] ACL(Access Control List) 접근 제어 리스트  (0) 2020.05.26
[Linux] 기초명령어 , 실습문제  (0) 2020.05.26
[Linux] Maria DB 설치 및 기초  (0) 2020.04.09