본문 바로가기
Linux/실습

CentOS 8 하드디스크 관리와 사용자 공간 할당

by JihoK 2024. 4. 18.

IDE

SATA

SCSI

NVMe

 

리눅스에서 처음 장착된 SCSI 하드디스크 이름을 /dev/sda 라고 부른다.

추가로 장착 시 /dev/sdb, /dev/sdc...sdd...sde

 

파티션은 /dev/sda1...sda2...sda3...sda4 순차적으로 숫자가 붙음

 

추가한 하드디스크 /dev/sdb는 사용하려면. 최소 1개의 파티션으로 나누어야 함.

논리 파티션 이름은 /dev/sdb1이 되고 파티션은 바로 사용할 수 없고 반드시 특정 디렉터리에 mount 시켜줘야 함.

 

파티션 설정 명령 예시

fdisk /dev/sdb  # SCSI 0:1 선택

Command : n  #새로운 파티션 분할

Select : p # Primary 파티션 선택

Partition number : 1  #파티션 번호 , 최대 4개까지 생성 가능

First sector : Enter   # 디스크 사용 크기? 범위 첫 구간

Last sector : Enter    # 사용 할 마지막 구간

command : p  # 설정 내용 확인

command : w  # 설정 저장

 

 

Linux Server A 에 SCSI 를 추가합니다.

 

root 계정으로 로그인 합니다.

 

터미널을 열고 명령을 입력합니다.

 

/dev 에 sdb 가 추가된 모습.

ls -l /dev sd* 명령을 입력하면 디스크가 추가된 것을 확인 할 수 있습니다.

m을 입력하면 help를 볼 수 있습니다.

파티션이 생긴 것을 확인 할 수 있습니다.

 

파일 시스템을 ext4 형식으로 생성 방법 (포맷 과정)

 

mkfs -t 파일시스템 파티션장치      #mkfs : make file system    #ext2, ext3, ext4, xfs  (swap 제외하고 ext4나 xfs 파일 시스템이 여러 면에서 향상된 파일 시스템이므로 사용을 권장)

 

 

mkfs -t ext4 /dev/sdb1

 

파일 시스템을 마운트 합시다.

 

mydata 디렉터리를 만들고 그 안에 anaconda-ks.cfg 파일을 test1 이름으로 바꿔서 저장

 

test1 은 /dev/sda2에 mydata 디렉터리에 있었고, 마운트 후 mydata는 sdb1에 있습니다.

앞에 복사한 test2 는 /dev/sdb1에 있습니다..  sda2에 있던 test1은 사라진게 아니고 잠시 숨어있다고 생각하면 된다고 합니다.

 

test2는 사라진게 아니라 장치에 보관되어 있으므로 아무 디렉터리에 /dev/sdb1을 마운트하면 다시 test2 파일을 사용 할 수 있습니다.

 

 

/etc/fstab 파일을 vi 에디터나 gedit으로 수정해서 컴퓨터를 킬때 항상 마운트 되도록 설정하겠습니다.

 

만일을 대비해 스냅샷 추가 권장

/etc/fstab 파일은 리눅스가 부팅될 때마다 자동으로 읽는 중요한 파일 입니다. 이파일에는 마운트 정보가 수록되어 있으며

글자가 틀릴경우 아예 부팅이 안될 수 있습니다.

 

reboot

ls -l /mydata

 

명령을 입력해서 /dev/sdb1 장치가 자동으로 마운트가 되어있는걸 확인 합니다.

 

 


 

RAID

 

RAID는 Redundant Array Inexpensive/Independent Disk 의 줄임말 입니다.

여러개의 하드디스크를 하나의 하드디스크처럼 사용하는 방식입니다.

비용을 절감하면서 신뢰성을 높이며 성능까지 향상시킬 수 있습니다.

 

하드웨어 RAID 와 소프트웨어 RAID로 나눌 수 있습니다.

 

 

하드웨어 RAID는 안정적이고 각 제조업체에서 기술 지원을 받을 수 있어 많이 선호하는 방법입니다.

고가의 경우 SA-SCSI 하드디스크를 중저가는 SATA 하드디스크를 사용해 만들어집니다.

 

소프트웨어 RAID는 고가의 하드웨어 RAID의 대안으로 하드디스크만 여러 개 있으면 운영체제에서 지원하는 방식으로 RAID를 구성하는 방법을 말합니다. 하드웨어 RAID 보다 신뢰성이나 속도는 떨어질 수 있지만, 저렴한 비용으로 안정적으로 데이터를 저장할 수 있다는 점에서 적극 고려 가능한 방식입니다.

 

 

RAID 레벨

 

RAID는 기본적으로 구성방식에 따라 Linear RAID, RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5 등 7가지로 분류할 수 있습니다.

실무에서 주로 사용하는 방식은 Linear RAID, RAID 0, RAID 1, RAID 5, RAID 5의 변형인 RAID 6, RAID 0과 1의 혼합인 RAID 1+0 등을 주로 사용합니다.

 

 

단순 볼륨

Linear RAID 와 RAID 0

RAID 1

RAID 5

RAID 6

RAID 1+0

 

 

 

fdisk /dev/sdb

n

p

1

enter

enter

t

fd

p

w

 

이 과정을 /dev/sdj 까지 반복

 

스냅샷을 만듭시다.

 

 


 

 

 

 

Linear RAID 를 구축합시다.

 

fdisk -l /dev/sdb; fdisk -l /dev/sdc 명령을 입력해서 확인만 합시다.

 

fdisk -l 은 파티션의 상태를 출력해줍니다.

; 세미클론은 명령을 연속으로 출력할때 사용합니다.

 

sdb1 과 sdc1을 Linear RAID 장치인 /dev/md9로 생상하고 잘 생성되었는지 확인 하겠습니다.

 

RAID 생성과 RAID를 확인하는 명령어 입니다.

--create /dev/md9  는 md9 장치에 RAID 생성

--level=linear 는  Linear RAID로 지정, 0은 RAID 0, 1은 RAID 1.

--raid-devices==2 /dev/sdb1 /dev/sdc1 는 2개의 하드디스크를 사용하며 장치의 이름

 

man mdadm 명령으로 자세한 내용을 볼 수 있다.

 

mkfs.ext4 /dev/md9 또는 mkfs -t ext4 /dev/md9/ 명령으로 /dev/md9 장치에 파일 시스템을 생성한다.

 

mkdir /raidLinear 로 디렉터리 만들어주고

mount /dev/md9 /raidLinear 입력으로 마운트

df 명령을 입력 해보면 /dev/md9 가 잡혀 있는 것을 볼 수 있다.

 

gedit /etc/fstab 명령으로 /dev/md9 가 실행 할때마다 자동으로 마운트 되도록 설정

 

오타 났습니다. defaults 입니다. 


 

 

RAID 0을 구축 해 봅시다

 

 

gedit /etc/fstab

 

오타 났습니다. defaults 입니다. 

 


 

RAID 1 을 구축해봅시다.

 

앞에 RAID 0과 거의 동일합니다.

 

 

continue creating array ? 물음이 뜨면 y를 입력해준다.

 

 

vi /etc/fstab 으로도 수정가능하다
mdadm --detail /dev/md1 으로 구축한 RAID 1 을 자세히 확인 할 수 있다.

 


RAID 5를 구성해봅시다.

 

gedit /etc/fstab

mdadm --detail /dev/md5 명령으로 구축한 RAID 5를 확인 해봅시다.

 


 

 

모든 구성이 완료되었으면 

혹시 모르는 상황을 대비해 스냅샷을 찍고 reboot 명령어로 재부팅 후  

df 명령으로 RAID 장치를 확인합니다.

 

(/etc/fstab 은 오타가 있으면 정상부팅이 안될 수 있습니다.)

 


 

 

 

LVM 

 

Physical Volume

Volume Group

Logical Volume

 

하드 디스크 2개를 추가합니다.

하나는 2GB 하나는 3GB 추가하겠습니다. (SCSI)

 

sdk 와 sdl 이 추가되었습니다.

장착한 디스크에 파티션을 할당 해줍니다.

 

fdisk /dev/sdk (sdl)

n

p

1

enter

enter

t

8e

p

w

 

pvcreate /dev/sdk1 명령과 pvcreate /dev/sdl1 명령을 입력해서 물리적 볼륨을 생성합니다.

vgcreate myVG /dev/sdk1 /dev/sdl1 명령으로 두개의 물리 볼륨을 하나로 묶어줍니다.

 

vgdisplay 명령으로 볼륨 그룹이 잘 생성되었는지 확인합니다.

현재 물리 볼륨(Cur PV)이 2개로 구성 되었고, VG Size가 2+3GB 인 것을 확인 할 수 있습니다. 

이제 /dev/myVG는 하나의 하드디스크처럼 생각하고 작업하면 됩니다.

 

일반적인 하드디스크 파티션을 생성할때는 fdisk 명령을 사용했지만

볼륨 그룹의 파티션은 lvcreate 명령을 사용합니다.

 

 

논리 그룹을 1GB, 3GB, 1GB 로 나누어 봅시다.

 

myLG1 과 myLG2 는 각각 1기가 3기가 씩 할당해서 생성

myLG3은 나머지 용량 모두 할당하여 생성

 

 

mkfs.ext4 /dev/myVG/myLG1

mkfs.ext4 /dev/myVG/myLG2

mkfs.ext4 /dev/myVG/myLG3

으로 파일 시스템을 생성합니다.

 

새 디렉터리를 생성하고 myLG1~3 장치를 새로만든 디렉터리에 각각 마운트합니다

그후 아무 파일이나 복사하고 df 명령을 입력해서 여유 공간을 확인해 봅시다.

gedit /etc/fstab 도 수정합니다.

 

 


CentOS를 RAID에 설치합니다.

 

새로운 VM 생성

 

장치 유형 모두 RAID로 사진과 같이 구성

 

 

 

 

 

RAID 1 이 잘 작동하는 것을 볼 수 있습니다.

 

CentOS RAID 가상머신의 하드디스크 2개중 1개를 제거하고 재부팅해서 

mdadm --detail /dev/md/root 를 해보면 

RAID 1은 결함 허용 기능이 있어서 하드디스크 하나가 고장인도 운영체제 자체는 잘 작동합니다.

'Linux > 실습' 카테고리의 다른 글

CentOS 8 쉘 스크립트 프로그래밍  (0) 2024.04.22
CentOS 8 하드디스크 관리와 사용자 공간 할당 2  (1) 2024.04.18
CentOS 8 7  (0) 2024.04.18
CentOS 8 6  (0) 2024.04.17
CentOS 8 5  (0) 2024.04.17