클라우드 엔지니어 꿈나무
Disk 관리 : Storage 및 LVM - CentOS 7 본문
Storage
1.Storage 관리
1-1. 종류
● DAS (Direct Attach Storage)
ㆍ전용 케이블(IDE, SATA, SCSI)를 통해서 시스템과 연결된 저장 장치
ㆍ확장성이 떨어져 원거리 설치에 좋지 않다.
ㆍ속도가 빠르고 안정적이며 저렴하다.
● NAS (Network Area Storage)
ㆍ기존에 구축되어 있는 네트워크(100M ~ 1G)에 설치하는 저장 장치
ㆍ속도가 느리고 네트워크 병목 현상이 발생하면 더욱 느려진다.
ㆍ확장성이 뛰어나 원거리 설치가 가능하다.
ㆍ설치가 쉬우며 저렴하다.
● SAN (Storage Area Network)
ㆍ스토리지 영액 내 별도로 구축하는 네트워크
ㆍSAN Swithch 별도로 존재 (서버 - SAN Switch - Storage)
ㆍ네트워크를 별도로 구축해야 하고 모든 연결은 Fiber Channel 로 구성된다.
ㆍ원거리 설치가 가능하고 확장성이 뛰어나며 속도가 빠르지만 비용이 비싸다.
● Cloud Storage
ㆍBlock Storage : 일반적으로 사용하는 HDD
ㆍObject Storage : ResetAPI 지원, 객체별로 URL을 부여해서 사용
2.Storage 사용 순서
2-1. Partition
● 물리적인 디스크를 사용하기 위해서는 반드시 하나 이상의 파티션이 존재해야 한다.
● 물리적인 디스크는 논리적으로 분할
● BIOS : 주 파티션 4개, 주 파티션 중 오직 1개만 확장 파티션으로 만들어 논리적인 파티션을 12개까지 생성 가능
● UEFI : 주 파티션 128개 (2Tera)
2-2. File System
● 파일과 디렉토리를 효과적으로 관리하기 위한 시스템
● Windows : FAT16 → FAT32 → NTFS (Nest Technology File System)
● Linux : EXT2 → EXT3 → EXT4 → XFS
ㆍEXT3는 Jornaling File System을 사용하여 파일으 생성하거나 삭제할 경우 log를 기록
ㆍlog를 기록함으로써 속도 저하 현상이 있어 이를 개선한 것이 EXT4
2-3. Windows
● Partition → File System → 드라이브명 할당(C,D)
2-4. Linux
● Partition → File System → Mount
ㆍMount : Linux 에서는 장치 디바이스를 사용하기 위해서 반드시 디렉토리와 연결해야 한다.
LVM (Logical Volume Manager)
1. 사용자가 파일 시스템을 이용해서 직접 storage를 관리하는 것이 아니라 file system과 storage 사이에 계층을 하나 더 추가하여 논리적으로 storage를 관리
2. 물리적인 복수 개의 storage를 논리적으로 합치거나 분리하는 것이 가능
3. 생성 과정
● LVM 파티션 생성 → PV 생성 → VG 생성 → LV 생성 →파일시스템 → Mount (mount /dev/vg명/lv 명 /마운팅할 위치)
4. 중요개념
4-1. fdisk
● 디스크 장착하는 것
● 사용법
ㆍfdisk /dev/디스크명
4-2. PV(Physical Voulume)
● 물리적인 디스크를 LVM으로 사용하겠다는 선언
● 사용법
● pvcreate 장치명1 장치명2 (device : sdb1)
ㆍ pvscan
ㆍ pvs
ㆍ pvdisplay
ㆍ pvremove 장치명1 장치명2
4-3. VG(Volume Group) : PV를 관리하는 단위
● PV를 관리하는 단위
● VG에 용량만 있다면 LV를 얼마든지 만들어 낼 수 있다.
● 사용법
ㆍvgcreate vg명 pv명1 pv명2
ㆍvgscan
ㆍvgs
ㆍvgdisplay
ㆍvgextend vf명 pv명 추가할pv명
ㆍvgreduce vf명 pv명 제거할pv명 (권장X)
ㆍvgremove vg명
4-4. LV(Logical Volume)
● 디스크의 파티션과 같은 기능
● 사용법
ㆍlvcreate -L 용량 -n lv명 vg명
ㆍlvextend -L +추가할용량 /dev/vg명/lv명
ㆍlvexted -L 용량 /dev/vg명/lv명 : 위에는 추가할 용량만큼, 이거는 최종 용량
ㆍlvreduce -L -2G /dev/vg명/lv명 : 디스크가 중구남방하게 쓰이기 때문에 삭제될 때 깨질 확률이 커 권장하지 않음
ㆍlvexted -L 용량 /dev/vg명/lv명 -r 옵션 하면 xsf_growfs /dev/vg명/lv명 까지 한 번에 적용 가능
ㆍlvremove /dev/vg명/lv명
4-5. 파일시스템
● 파일시스템 만들기
● 사용법
ㆍmkfs.시스템명 /dev/vg명/lv명 (생성 시)
ㆍresize2fs /dev/vg명/lv명(디스크 추가 후 적용 시 ext4)
ㆍxsf_growfs /dev/vg명/lv명(디스크 추가 후 적용 시xsf)
4-6. 마운트
● 파일시스템을 특정 디렉토리에 연결
● mount /dev/vg명/lv명 /마운팅할directory명
5. 원상태로 돌리기
● umount → 파일시스템 삭제 → LV 삭제 → VG 삭제 → PV 삭제 → LVM 파티션 제거
● 과정
ㆍ언마운트 하기 : umount 마운트한directory명
ㆍ파일시스템 삭제 : wipefs -a -f /dev/디스크명
: wipefs -a -f /dev/vg명/lv명
ㆍLV 삭제 : lvremove
ㆍvg 삭제
ㆍpv 삭제
ㆍ디스크 해제
6. 예시
● 시나리오
ㆍsdb를 vg그룹명 HI로 생성
ㆍlv1 과 lv2를 생성하고 이름은 각각 HI1, HI2로 지정.
ㆍsdc를 각각 3G와 나머지 용량으로 파티셔닝
ㆍsdc의 두 번째 파티션을 vg에 추가
ㆍlv1과 lv2의 용량을 각각 4G로 증설
ㆍ위에 단계 수행 후, 원래 상태로 되돌리기.
● 풀이
# fdisk /dev/sdb1
ㆍfdisk로 생성 : n (새로 만들기) > defalut(엔터) > default > default > 10G 그대로 default
ㆍLinux LVM으로 해줄 거라 t 입력 후 8e
ㆍ저장
ㆍ나가기
ㆍpvcreate 로 선언 후, vg HI를 만들었다.
ㆍ확인해보면 sdb1이 추가가 되었고 VG Size에 10G 할당된 것을 볼 수 있다.
ㆍHI1과 HI2의 lv를 각각 생성 후, 마운트할 디렉토리인 /lv1과 /lv2를 생성한다.
ㆍlv1에 ext4 시스템 파일을 설정한다.
ㆍlv2에 xfs 시스템 파일을 설정한다.
ㆍdf-Th 에서 내용을 확인할 수 있다.
ㆍsdc도 똑같이 진행하되 sdc에 각각 용량을 2G, 3G 나누어 줄 것이기 때문에 fdisk 를 두 번 실행
ㆍlv에 사이즈 추가 -L 뒤에 +2G는 2G만큼 추가해주겠다는 뜻이고 4G는 총 용량을 뜻하는 것이므로
여기서는 똑같은 의미이다.
ㆍ시스템 파일에 자동으로 적용이 되 지 않으니 ext4와 xfs 용량을 업데이트 한다.
ㆍlv1 과 lv2에 언마운트를 한다
ㆍ시스템 파일을 지운다.
ㆍlv와 vg, 그리고 pv를 각각 삭제한다.
ㆍfdisk 로 삭제까지 하면 끝.
'Linux' 카테고리의 다른 글
네트워크 서비스와 프로토콜 및 DHCP 입력- Rocky9 (0) | 2023.08.16 |
---|---|
Archive 와 압축 - CentOS 7 파일 관리 (0) | 2023.08.15 |
사용자 및 그룹 관리- CentOS 7 (0) | 2023.08.14 |
ACL 설정하기 - CentOS 7 (0) | 2023.08.14 |
메타데이터 정보 분석 - CentOS 7 (0) | 2023.08.14 |