kjh00n의 기록저장소

Linux UUID,RAID 정의 본문

Linux

Linux UUID,RAID 정의

kjh00n 2024. 10. 28. 09:55

● UUID (Universally Unique IDentifier)

- 네트워크 상에서 서로 모르는 개체들을 식별하고 구별하기 위한 고유한 이름

- 중앙 관리 시스템이 없는 분산 시스템에서 정보를 유일하게 식별하기 위한 값

- blkid <---명령어로 UUID확인 가능

※ 엔지니어가 되고 싶으면 UUID는 알아야한다.


● RAID

- 장애 발생 요인을 최대한 제거한 고성능 무정지 저장 장치

- 하드웨어 RAID와 소프트웨어 RAID 2가지 방식이 있다.

 

RAID 패키지 설치 확인 명령어

- rpm -qa mdadm

 

● mdadm 명령어

 

● Striping (RAID-0)

- 최소 2개의 디스크 필요

- 최적의 성능(속도)을 제공한다.

- 내결함성(장애를 대비)이 없다.

- 확장 및 축소 불가능

● Mirroring (RAID-1)

- 최소 2개의 디스크 필요

- 하나의 파티션을 미러링 한다.

- 동일한 복사본을 두개 만들어서 중복성을 제공한다.(내결함성O)

※ 완성된 자료를 복사하는게 아닌 자료를 2번 쌓아서 유지한다.

- 저장공간,비용이 2배 사용된다.

- 확장 및 축소 불가능

● Fault Tolerannce using Distributed Parity Bit (RAID-5)

- 최소 3개 이상의 디스크 필요

- Stripping과 Mirroring의 장점을 모두 사용한다.

- 현재 저장된 데이터를 XOR방식으로 해석해서 다른 디스크에 저장한다.

- 오류검사(복구된 데이터와 복구되기 이전의 데이터 비교)를 위해 Parity Bit를 사용한다.

- 내결함성을 해결하기 위해 사용한다.(복구가 가능)

- 확장 및 축소 불가능

- 디스크 2개가 망가지면 복구가 불가능하다.

 

ex) 맨 왼쪽 데이터가 날아갔다면 새로운 디스크를 만들어서 2와P1을 이용해서 1이라는 데이터를 복구하고

B2와 C2로 P2데이터를 복구하고 P3과 C1을 이용하여 A1이라는 데이터를 복구하고 B0과 P4를 이용하여

A0이라는 데이터를 복구한다.

 

ex) 1101(A)이라는 데이터와 0011(B)이라는 데이터가 있다.

XOR연산을 하면 1110(P)이라는 데이터가 나온다.

A가 없어졌다 ---> 1110과 0011을 XOR연산하면 1101이라는 A데이터가 나온다.


● Bit 연산

- AND 연산

→ 0 and 0 = 0

→ 0 and 1 = 0

→ 1 and 0 = 0

→ 1 and 1 = 1

 

- OR 연산

→ 0 or 0 = 0

→ 0 or 1 = 1

→ 1 or 0 = 1

→ 1 or 1 = 1

 

- XOR 연산

→ 0 xor 0 = 0

→ 0 xor 1 = 1

→ 1 xor 0 = 1

→ 1 xor 1 = 0

 

- NOT 연산

→ not 1 = 0

→ not 0 = 1


실습

● RAID 0 실습

- /dev/sda의 하드디스크 분할해서 Primary로 1G분할해주고 t를 눌러서 type을 변경

fd를 입력해서 type을 Linux에서 Linux raid autodetect로 변경

 

- /dev/sdb의 하드디스크 분할해서 Primary로 1G분할해주고 t를 눌러서 type을 변경

fd를 입력해서 type을 Linux에서 Linux raid autodetect로 변경

 

mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sda1 /dev/sdb1

mdadm --detail /dev/md0

파일 시스템 생성해야함

mkfs -t ext4 /dev/md0

마운트 해줘야함

mkdir /raid0

mount -t ext4 /dev/md0 /raid0

마운트 됐는지 확인

df -h

vim /etc/fstab에서 마운트 설정해줘야함

mdadm --detail --scan > /etc/mdadm.conf   <===RAID 설정

init 6

df -h


● mount 설정도 해줘야함

vim /etc/fstab들어가서 설정해야함

● raid 설정해줘야함

mdadm설정 => /etc/mdadm.conf인데 이 파일은 없는 파일임

그래서 mdadm --detail --scan > /etc/mdadm.conf로 생성해주고 reboot해야한다.


● RAID 1 실습

RAID0이 마운트되어 있어서 해제

umount /raid0

mdadm --stop /dev/md0

 

↓시작

mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1   (생성)

mdadm --detail /dev/md1    (상세정보 확인)

파일 시스템 생성해야함

mkfs -t ext4 /dev/md1

마운트 해줘야함

mkdir /raid1

mount -t ext4 /dev/md1 /raid1

마운트 됐는지 확인

df -h

vim /etc/fstab에서 마운트 설정해줘야함

mdadm --detail --scan > /etc/mdadm.conf   <===RAID 설정

init 6

df -h


● RAID 5 실습

파티션 3개 필요해서 /dev/sdc도 동일하게 만들어줌

이전 설정 마운트 해제,RAID 해제

 

mdadm --create /dev/md5 --level=5 --raid-devices=3 /dev/sda1 /dev/sdb1 /dev/sdc1   (생성)

mdadm --detail /dev/md5

파일 시스템 생성해야함

mkfs -t ext4 /dev/md5

마운트 해줘야함

mkdir /raid5

mount -t ext4 /dev/md5 /raid5

마운트 됐는지 확인

df -h

vim /etc/fstab에서 마운트 설정해줘야함

mdadm --detail --scan > /etc/mdadm.conf   <===RAID 설정

↓장애 구성

sdd에도 파티션분할 똑같이 해주기(디스크 1개가 망가졌을때 복구하기위해 장치를 추가한거임) (장애대비위해서)

mdadm /dev/md5 -a /dev/sdd1 (md5에 sdd1을 추가한거임) (-a는 add임)

mdadm --detail /dev/md5를 하면 spare로 sdd1이 추가되었다.(사용하려고 추가한게 아닌 장애대비용임)

Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1
       3       8       33        2      active sync   /dev/sdc1

       4       8       49        -      spare   /dev/sdd1

장비3개중 1개가 망가지면 자동으로 스페어가 추가된다.

mdadm /dev/md5 -f /dev/sdb1 (-f 는 fault임)

mdadm --detail /dev/md5를 하면 망가진 sdb1는 내려가고 sdd1이 장치로 추가되었다

Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       4       8       49        1      active sync   /dev/sdd1
       3       8       33        2      active sync   /dev/sdc1

       1       8       17        -      faulty   /dev/sdb1

장애가 발생된 장비 삭제

mdadm /dev/md5 -r /dev/sdb1 (-r은 삭제)

 

'Linux' 카테고리의 다른 글

리눅스 종합 실습6  (0) 2024.10.25
Linux 파티션 분할 실습  (0) 2024.10.25
Linux 디스크  (0) 2024.10.25
Linux 시스템 프로세스 관리  (0) 2024.10.24
Linux 파일 속성  (0) 2024.10.24