마짱짱의 지식창고
[Linux] 논리볼륨 Logical Volume (구성,추가,축소) 본문
* 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 -> 포맷되지 않은 디스크)
-
LV name = LV01
-
VG name = VG01
-
LV size = 50PE ( PE Size = 20MB )
-
LV 형식은 EXT4
-
/mnt/lvm 에 mount하고, 부팅시 자동으로 마운트 되게 하시오.
-
LV 크기를 70PE 로 확장하시오.
-
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 |