본문 바로가기

Learning/ └Essential & Admin

Linux_ServerAdmin (6)RAID관리

Linux_ServerAdmin (6)RAID관리

 

 

RAID 종류 및 설명

RAID(Redudant Array of Inexpensive Disks, Redudant Array of Independant Disks)?

 

여러 디스크를 하나의 디스크처럼 사용할 수 있도록 하면서 동시에 신뢰성을 높이고 성능을 향상시킬 수 있는 저장 장치를 말한다. RAID의 종류는 크게 하드웨어 RAID와 소프트웨어 RAID가 있다. 하드웨어 RAID는 안정성이 높은 반면 가격이 비싸다는 단점이 있고, 소프트웨어 RAID는 신뢰성이나 속도가 하드웨어 RAID에 비해 떨어질 수 있으나 비용이 저렴하다는 장점이 있다. 여기서는 하드웨어 RAID에 대해서는 다루지 않기로 하고, 소프트웨어 RAID 구성 방법에 대해 살펴보도록 한다.

 

 

(1) RAID 종류

 

Hardware RAID(Firmware에서 지원, 단위: DISK)

EX) Storage, Array, RAID Controller

-> 성능 우수, 유연성 떨어짐

Software RAID(OS에서 지원, 단위: Partition)

EX) 운영체제 내에서 Software RAID 툴을 통해 작업

-> 성능 떨어짐, 유연성 우수

 

[참고] 참고 사이트 : http://www.acnc.com/raid

 

작업 과정

--------------------------------- 작업 과정 ------------------------------------

 

() 디스크 준비

# chkconfig kudzu on

# poweroff

새로운 디스크 장착(EX: /dev/sdi)

Power ON

# ls -l /dev/sd? (# fdisk -l | grep 'Disk /dev')

 

# fdisk /dev/sdc

# fdisk /dev/sdd

# fdisk /dev/sde

# fdisk /dev/sdf

# fdisk /dev/sdg

# fdisk /dev/sdh

# fdisk /dev/sdi

# fdisk -l | grep raid (# fdisk l /dev/sd? | grep raid)

 

() RAID 구성 작업

# mdadm --create /dev/md0 --level=0 --raid-device=2 /dev/sdc1 /dev/sdd1

# mdadm --create /dev/md1 --level=1 --raid-device=2 /dev/sde1 /dev/sdf1

# mdadm --create /dev/md5 --level=5 --raid-device=3 /dev/sdg1 /dev/sdh1 /dev/sdi1

# cat /proc/mdstat (# watch cat /proc/mdstat)

 

# echo "DEVICE partitions" > /etc/mdadm.conf

# mdadm --detail --scan >> /etc/mdadm.conf

# cat /etc/mdadm.conf

 

() 파일시스템 작업

# mkfs.ext3 /dev/md0

# mkfs.ext3 /dev/md1

# mkfs.ext3 /dev/md5

# tune2fs l /dev/md0

# tune2fs l /dev/md1

# tune2fs -l /dev/md5

 

() 마운트 작업

# mkdir -p /raid0 /raid1 /raid5

# vi /etc/fstab

# mount /raid0

# mount /raid1

# mount /raid5

# df -h

 

() 파일생성 테스트

# time dd if=/dev/zero of=/test/file1 bs=500M count=1 (0m5.689s:0m7.838s:0m6.675s:0m6.572s

# time dd if=/dev/zero of=/raid0/file1 bs=500M count=1 (0m3.325s:0m5.658s:0m8.190s:0m6.631s

# time dd if=/dev/zero of=/raid1/file1 bs=500M count=1 (0m2.314s:0m6.844s:0m9.022s:0m7.101s

# time dd if=/dev/zero of=/raid5/file1 bs=500M count=1 (0m1.925s:0m1.982s:0m7.252s:0m3.982s

 

() RAID 삭제

# umount /raid0

# umount /raid1

# umount /raid5

# vi /etc/fstab

# df -h

 

# mdadm --stop /dev/md0

# mdadm --stop /dev/md1

# mdadm --stop /dev/md5

# cat /proc/mdstat

 

# mdadm --remove /dev/md0

# mdadm --remove /dev/md1

# mdadm --remove /dev/md5

 

# mdadm --zero-superblock /dev/sdc1 /dev/sdd1

# mdadm --zero-superblock /dev/sde1 /dev/sdf1

# mdadm --zero-superblock /dev/sdg1 /dev/sdh1 /dev/sdi1

 

# rm -f /etc/mdadm.conf

# ls -l /etc/mdadm.conf

 

--------------------------------- 작업 과정 ------------------------------------

 

 

RAID 구성 방법의 종류

 

NAS(Network Attached Storage, Network Area Storage)

NFS/CIFS(SMB) 서비스 제공(TCP/IP)

 

NAS[나쓰]는 네트웍에 접속되도록 특화된 파일서버이다. 이것은 이더넷이나 TCP/IP와 같은 전통적인 LAN 프로토콜을 사용하며, 오직 유닉스의 NFS와 도스/윈도우의 SMB와 같은 파일 입출력 요청만을 처리한다. (terms.co.kr 참조)

 

 

SAN(Storage Area Network), 스토리지 전용 네트웍

Server - SAN(SAN Switch) - Storage

 

SAN[]은 대규모 네트웍 사용자들을 위하여 서로 다른 종류의 데이터 저장장치를 관련 데이터 서버와 함께 연결하는 특수목적용 고속 네트웍(또는 서브네트웍)이다. 대체로, SAN은 한 기업의 전체 컴퓨팅 자원을 연결해 놓은 네트웍의 일부가 된다. SAN은 대개 IBM S/390 메인프레임과 같은 다른 컴퓨팅 자원에 아주 근접하여 밀집해 있게 되는 것이 보통이지만, 그러나 백업이나 기록의 영구보관 저장을 위해 ATM이나 SONET 등과 같은 광역통신망 기술을 이용하여 원거리에 있는 장소로 확장될 수도 있다.

 

SAN은 서로 다른 종류의 저장장치들이 네트웍 서버를 통한 모든 사용자들에 의해 공유될 수 있도록 서로 연결되어 있는 시스템이다. SANIBM의 광섬유인 ESCON과 같은 기존의 통신기술을 이용하거나, 새로운 파이버 채널 기술을 이용할 수도 있다. SAN 시스템 통합 기술을 가진 일부 회사들은, 이것을 하드디스크나 CD-ROM 플레이어와 같이 서로 다른 종류의 저장 장치들에 의해 공유될 수 있는 PC의 공통 저장 버스에 비유하기도 한다.

 

SAN은 디스크 미러링, 백업 및 복원, 영구보관 및 영구보관용 데이터의 검색, 한 저장장치에서 다른 저장장치로 데이터 이동, 그리고 네트웍 상의 서로 다른 서버들 간에 데이터의 공유 등을 지원한다.

 

RAID LEVEL

  (1) RAID 0

-데이터 보존용 이 아닌 프로그램 설치/실행 및 캐시 용도로 사용(복구능력이 필요 없는 경우 적합)

성능은 높으나 1개의 하드라도 고장 날 경우 RAID 0 으로 구성된 데이터를 전부 날리게 된다.

(장점: 효율/성능 단점: 안정성)

  (2) RAID 1

-데이터 복구가 용이한 미러링 구조로써 안정성이 높다.

(장점: 안정성/r성능 단점: 효율)

  (3) RAID 0 + 1

  (4) RAID 1 + 0

  (5) RAID 2

  (6) RAID 3

  (7) RAID 4

  (8) RAID 5

- 패리티에 의해 어느정도의 안정성을 가지지만 최소 디스크 개수가 최소3장 이상 필요하므로 디스크 사용 효율 면에서 좋지않다.

(장점: 안정성/r성능 단점: 효율/w성능)

  (9) RAID 6

(10) RAID 7

(11) RAID 53

(12) JBOD

 

 

mdadm CMD

 

RAID 설정

# mdadm --create /dev/md0 --level=<RAID 레벨> --raid-device=<RAID 구성할 Disk> <디스크장치명> ...

# mdadm --create /dev/md0 --level=1 --raid-device=2 /dev/sdc1 /dev/sdd1

# mdadm -C /dev/md0 -l 1 -n 2 /dev/sdc1 /dev/sdd1

/* --create : -C */

/* --level=1 : -l 1 */

/* --raid-device=2 : -n 2 */

 

RAID 장치 설정 확인

# mdadm --detail /dev/md0 /* --detail : -D */

 

/etc/mdadm.conf 파일 설정

# echo "DEVIECE partitions" > /etc/mdadm.conf

# mdadm --detail --scan >> /etc/mdadm.conf /* --scan : -s */

# cat /etc/mdadm.conf

DEVIECE partitions

ARRAY /dev/md0 level=raid0 num-devices=2 metadata=0.90 UUID=26989dc0:d41ac869:f76fb5d7:a077d304

 

RAID 삭제

() RAID Device stop

# mdadm --stop /dev/md0 /* --stop : -S */

 

() RAID Device remove

# mdadm --remove /dev/md0 /* --remove : -r */

 

() superblock 정보 삭제

# mdadm --zero-superblock /dev/sdb1 /dev/sdc1 /dev/sdd1

 

 

[예 제]

 

 

[ex] RAID 구성을 위한 디스크 설정(System Partition ID 설정 : fd)

 

RAID 작업 절차

() System Partition ID(fd) (fdisk CMD)

() RAID 작업 (mdadm CMD)

() 파일시스템 작업 (mkfs CMD)

() 마운트 작업 (mount CMD, /etc/fstab)

 

mdadm패키지 유무 확인 

#rpm -qa | grep mdadm    

mdadm-2.6.9-2.el5

(없으면 설치 :  # yum -y install mdadm)

버전 검색

#mdadm -V

 

보유한 디스크 확인

#ls -l /dev/sd?

/dev/sd[cde] 3장의 디스크 시스템형식을 Linux raid autodetect 로 변경(fd)

 

 

 

 

 

[ex] RAID 0 구성

 

RAID 0 구성 절차

() 파티션 타입 설정

# fdisk /dev/sdc

# fdisk /dev/sdd

() RAID 구성

# mdadm --create /dev/md0 --level=0 --raid-device=2 /dev/sdc1 /dev/sdd1

# echo "DEVICE partitions" > /etc/mdadm.conf

# mdadm --detail --scan >> /etc/mdadm.conf

() F/S 생성

# mkfs.ext3 /dev/md0

() 마운트

# vi /etc/fstab

# mkdir /raid0 ; mount /raid0

 

RAID 0 구성 해제 절차

() 언마운트

# vi /etc/fstab

# umount /raid0

() RAID 구성 삭제

# mdadm --stop /dev/md0

# mdadm --remove /dev/md0

# mdadm --zero-superblock /dev/sdc1 /dev/sdd1

# rm /etc/mdadm.conf

 

mdadm 명령어를 사용 RAID 0 볼륨 구성 및 확인

 

# mdadm --create /dev/md0 --level=0 --raid-device=2 /dev/sdc1 /dev/sdd1

# cat /proc/mdstat

 

 

 

 

# mdadm --detail /dev/md0

 

 

/etc/mdadm.conf 파일 생성

 

         (현재) mdadm CMD

         (부팅) /etc/mdadm.conf

 

# ls -l /etc/mdadm.con

 

# mdadm --detail --scan

 

 

# echo "DEVICE partitions" > /etc/mdadm.conf

# mdadm --detail --scan >> /etc/mdadm.conf

# cat /etc/mdadm.conf

 

파일시스템 생성

# mkfs.ext3 /dev/md0

 

파일 시스템 superblock 정보 출력

# tune2fs -l /dev/md0

 

장치 마운트 확인

# mkdir -p /raid0
# mount /dev/md0 /raid0
# df -h

 

 

# vi /etc/fstab (RAID Configuration)

/dev/md0               /raid0                  ext3    defaults        1 2

 

언마운트 작업 및 RAID 설정 삭제 과정

# cd
# umount /raid0
# vi /etc/fstab

 

 

 

RAID 설정 삭제

 

# mdadm --stop /dev/md0

 

# mdadm --remove /dev/md0

# mdadm --zero-superblock /dev/sdc1 /dev/sdd1

 

# cat /proc/mdstat

 

# rm -f /etc/mdadm.conf

 

 

■ 일반적인 디스크 구성 & LVM & RAID 비교

(일반적인 디스크 구성)

LVM

RAID

# fdisk /dev/sdc(83)

# fdisk /dev/sdd(83)

 

 

 

 

 

# mkfs.ext3 /dev/sdc1

# mkfs.ext3 /dev/sdd1

# vi /etc/fstab

# mkdir /oracle /data

# mount /oracle

# mount /data

# fdisk /dev/sdc(8e)

# fdisk /dev/sdd(8e)

# pvcreate /dev/sd[cd]1

# vgcreate vg1 /dev/sd[cd]1

# lvcreate -L 1G -n lv1 vg1

# lvcreate –l 100%FREE \

-n lv2 vg1

# mkfs.ext3 /dev/vg1/lv1

# mkfs.ext3 /dev/vg1/lv2

# vi /etc/fstab

# mkdir /oracle /data

# mount /oracle

# mount /data

# fdisk /dev/sdc(fd)

# fdisk /dev/sdd(fd)

# mdadm --create /dev/md0 \

--level=0 —raid-device=2 \

/dev/sdc1 /dev/sdd1

 

 

# mkfs.ext3 /dev/md0

# vi /etc/fstab

# mkdir /oracle

# mount /oracle

 

 

 

 

[ex] RAID 1 구성

 

         ■ RAID 1 구성 절차

         (ㄱ) 파티션 타입 설정

                  # fdisk /dev/sdc

                  # fdisk /dev/sdd

         (ㄴ) RAID 구성

                  # mdadm --create /dev/md0 --level=1 --raid-device=2 /dev/sdc1 /dev/sdd1

                  # echo "DEVICE partitions" > /etc/mdadm.conf

                  # mdadm --detail --scan >> /etc/mdadm.conf

         (ㄷ) F/S 생성

                  # mkfs.ext3 /dev/md0

         (ㄹ) 마운트

                  # vi /etc/fstab

                  # mkdir /raid1 ; mount /raid1

 

         ■ RAID 1 구성 해제 절차

         (ㄱ) 언마운트

                  # vi /etc/fstab

                  # umount /raid1

         (ㄴ) RAID 구성 삭제

                  # mdadm --stop /dev/md0

                  # mdadm --remove /dev/md0

                  # mdadm --zero-superblock /dev/sdc1 /dev/sdd1

                  # rm /etc/mdadm.conf

 

 

RAID 1 구성 및 확인

 

 

/etc/mdadm.conf 파일 생성

# cat /etc/mdadm.conf

 

 

파일시스템 생성

# tune2fs -l /dev/md0 /* superblock information */

-> 출력 정보 생략

 

# dumpe2fs /dev/md0 /* (superblock + block group) information */

-> 출력 정보 생략

 

 

마운트 및 확인

 

 

 

파일 생성 테스트

 

 

# cd /raid1

# cp /etc/services file1

# cp file1 file2

# cp file1 file3

# cp file1 file4

# cp file1 file5

# ls

file1 file2 file3 file4 file5 lost+found/

 

 

언마운트

 

 

RAID 설정 해제

 

 

 

[ex] RAID 5 구성

 

         ■ RAID 5 구성 절차

         (ㄱ) 파티션 타입 설정

                  # fdisk /dev/sdc

                  # fdisk /dev/sdd

                  # fdisk /dev/sde

         (ㄴ) RAID 구성

                  # mdadm --create /dev/md0 --level=5 --raid-device=3 /dev/sdc1 /dev/sdd1 /dev/sde1

                  # echo "DEVICE partitions" > /etc/mdadm.conf

                  # mdadm --detail --scan >> /etc/mdadm.conf

         (ㄷ) F/S 생성

                  # mkfs.ext3 /dev/md0

         (ㄹ) 마운트

                  # vi /etc/fstab

                  # mkdir /raid5 ; mount /raid5

 

         ■ RAID 5 구성 해제 절차

         (ㄱ) 언마운트

                  # vi /etc/fstab

                  # umount /raid5

         (ㄴ) RAID 구성 삭제

                  # mdadm --stop /dev/md0

                  # mdadm --remove /dev/md0

                  # mdadm --zero-superblock /dev/sdc1 /dev/sdd1 /dev/sde1

                  # rm /etc/mdadm.conf

 

 

RAID 5 구성 

 

 

/etc/mdadm.conf 파일 생성

# mdadm --detail /dev/md0

 

 

 

 

파일시스템 생성

# tune2fs -l /dev/md0

-> 출력 내용 확인

 

 

 

마운트 및 확인

 

# mkdir -p /raid5

# mount /dev/md0 /raid5

# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda1 17G 3.4G 12G 22% /

/dev/sda8 487M 11M 451M 3% /data1

/dev/sda7 487M 11M 451M 3% /data2

/dev/sda6 487M 11M 451M 3% /data3

/dev/sda5 487M 11M 451M 3% /data4

/dev/sda3 487M 11M 451M 3% /home

tmpfs 506M 0 506M 0% /dev/shm

/dev/md0 2.0G 36M 1.9G 2% /raid5

 

# vi /etc/fstab

 

 

 

파일 생성 테스트

 

 

언마운트 및 RAID 설정 해제 생략

 

# cd

# umount /raid5

# vi /etc/fstab

 

# mdadm --stop /dev/md0

mdadm: stopped /dev/md0

 

# mdadm --remove /dev/md0

# mdadm --zero-superblock /dev/sdc1 /dev/sdd1 /dev/sde1

 

# rm -f /etc/mdadm.conf

#

 

 

 

 

 

 

[EX]장애 디스크 교체 과정(시스템 종료없이 디스크 교체)

 

 

RAID 1 / RAID 5 구성된 장치에 대해서는 온라인상에서 장애 디스크 교체가 가능하다.(RAID 1) # mdadm --create /dev/md0 --level=1 --raid-device=2 /dev/sdc1 /dev/sdd1(RAID 5) # mdadm --create /dev/md0 --level=5 --raid-device=3 /dev/sdc1 /dev/sdd1 /dev/sde1

아래 실습에서는 RAID 5 가지고 실습을 하였다.

 

RAID 5 구성

# mdadm --create /dev/md0 --level=5 --raid-device=3 /dev/sdc1 /dev/sdd1 /dev/sde1

mdadm: /dev/sdc1 appears to contain an ext2fs file system

size=2088192K mtime=Sun Apr 29 17:50:00 2012

mdadm: /dev/sdc1 appears to be part of a raid array:

level=raid5 devices=3 ctime=Sun Apr 29 17:45:16 2012

mdadm: /dev/sdd1 appears to be part of a raid array:

level=raid5 devices=3 ctime=Sun Apr 29 17:45:16 2012

mdadm: /dev/sde1 appears to contain an ext2fs file system

size=2088192K mtime=Sun Apr 29 17:50:00 2012

mdadm: /dev/sde1 appears to be part of a raid array:

level=raid5 devices=3 ctime=Sun Apr 29 17:45:16 2012

Continue creating array? y

mdadm: array /dev/md0 started.

-> 임시적인 테스트이기 때문에 /etc/mdadm.conf 파일에 정의하지는 않는다.

 

[참고] watch CMD (# watch CMD)

# watch cat /proc/mdstat

<CTRL + C>

 

파일시스템 생성

# mkfs.ext3 /dev/md0

mke2fs 1.39 (29-May-2006)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

261120 inodes, 522048 blocks

26102 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=536870912

16 block groups

32768 blocks per group, 32768 fragments per group

16320 inodes per group

Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912

 

Writing inode tables: done

Creating journal (8192 blocks): done

Writing superblocks and filesystem accounting information: done

 

This filesystem will be automatically checked every 34 mounts or

180 days, whichever comes first. Use tune2fs -c or -i to override.

 

마운트 작업 및 RAID 5(EX: /dev/md0) 상태 정보 확인

# mount /dev/md0 /raid5

-> 실습에서는 /etc/fstab 정의하지는 않는다.

 

# df -h /raid5

Filesystem Type Size Used Avail Use% Mounted on

/dev/md0 ext3 2.0G 36M 1.9G 2% /raid5

-> 마운트 확인

 

(필요하면 명령어 수행)

# cd /raid5

# cp /etc/passwd file1

# cp /etc/group file2

# ls

# cd

 

 

# mdadm --detail /dev/md0

/dev/md0:

Version : 0.90

Creation Time : Sat May 12 10:33:07 2012

Raid Level : raid5

Array Size : 2088192 (2039.59 MiB 2138.31 MB)

Used Dev Size : 1044096 (1019.80 MiB 1069.15 MB)

Raid Devices : 3

Total Devices : 3

Preferred Minor : 0

Persistence : Superblock is persistent

 

Update Time : Sat May 12 10:34:06 2012

State : clean

Active Devices : 3

Working Devices : 3

Failed Devices : 0

Spare Devices : 0

 

Layout : left-symmetric

Chunk Size : 64K

 

UUID : 9d77d247:131ed99b:c965729f:87938a9b

Events : 0.2

 

Number Major Minor RaidDevice State

0 8 33 0 active sync /dev/sdc1

1 8 49 1 active sync /dev/sdd1

2 8 65 2 active sync /dev/sde1

-> 정보 확인

 

장애가 발생한 디스크를 fault(fail) 상태로 설정 및 확인

# mdadm /dev/md0 -f /dev/sdd1 /* faulty : 결함 있는 상태로 설정 */

mdadm: set /dev/sdd1 faulty in /dev/md0

 

[참고] 명령어 옵션 비교

# mdadm /dev/md0 --fail /dev/sdd1

# mdadm /dev/md0 -f /dev/sdd1

 

# mdadm --detail /dev/md0 | tail

UUID : 366a9619:ed283577:108041dc:050b88cb

Events : 0.6

 

Number Major Minor RaidDevice State

0 8 33 0 active sync /dev/sdc1

1 0 0 1 removed /* 장치가 지워진 상태 */

2 8 65 2 active sync /dev/sde1

 

3 8 49 - faulty spare /dev/sdd1 /* 결함 상태로 표시 */

 

(필요하면 명령어 수행)

# touch /raid5/file3

# ls /raid5

 

장애가 발생한 디스크를 remove 및 확인

# mdadm /dev/md0 -r /dev/sdd1 /* removed : 장치를 제거 함 */

mdadm: hot removed /dev/sdd1

 

[참고] 명령어 옵션 비교

# mdadm /dev/md0 --remove /dev/sdd1

# mdadm /dev/md0 -r /dev/sdd1

 

# mdadm --detail /dev/md0 | tail

UUID : 366a9619:ed283577:108041dc:050b88cb

Events : 0.8

 

Number Major Minor RaidDevice State

0 8 33 0 active sync /dev/sdc1

1 0 0 1 removed /* 장치가 지워진 상태 */

2 8 65 2 active sync /dev/sde1

 

(필요하면 명령어 수행)

# touch /raid5/file4

# ls /raid5

장애가 발생한 디스크를 새로운 디스크로 교체 및 확인

# mdadm /dev/md0 -a /dev/sdd1 /* add : 장치를 추가 함 */

mdadm: added /dev/sdd1

 

[참고] 명령어 옵션 비교

# mdadm /dev/md0 --add /dev/sdd1

# mdadm /dev/md0 -a dev/sdd1

 

# mdadm --detail /dev/md0 | tail

Rebuild Status : 28% complete

 

UUID : aae7137b:a49d0b43:05d20e8f:02a22cbe

Events : 0.6

 

Number Major Minor RaidDevice State

0 8 33 0 active sync /dev/sdc1

3 8 49 1 spare rebuilding /dev/sdd1

2 8 65 2 active sync /dev/sde1

 

# mdadm --detail /dev/md0

Number Major Minor RaidDevice State

0 8 33 0 active sync /dev/sdc1

1 8 49 1 active sync /dev/sdd1

2 8 65 2 active sync /dev/sde1

 

RAID 5 삭제

# cd

# umount /raid5

# mdadm --stop /dev/md0

# mdadm --remove /dev/md0

# mdadm --zero-superblock /dev/sdc1 /dev/sdd1 /dev/sde1

 

 

 

 

 

[EX] 추가적인 실습

 

(ㄱ) 디스크 준비

/dev/sdc1(1G), /dev/sdd1(1G), /dev/sde1(1G), /dev/sdf1(1G),

/dev/sdg1(1G), /dev/sdh1(1G), /dev/sdi1(1G)

 

(ㄴ) RAID 구현 절차

RAID 구성(mdadm --create) -> F/S(mkfs.ext3) -> Mount(mount,/etc/fstab)

          /etc/mdadm.conf

 

(ㄷ) 작업 시나리오

RAID 0 (/dev/md0) - /dev/sdc1, /dev/sdd1            => /raid0

RAID 1 (/dev/md1) - /dev/sde1, /dev/sdf1            => /raid1

RAID 5 (/dev/md5) - /dev/sdg1, /dev/sdh1, /dev/sdi1 => /raid5

 

# time dd if=/dev/zero of=/test/file1  bs=500M count=1

# time dd if=/dev/zero of=/raid0/file1 bs=500M count=1

# time dd if=/dev/zero of=/raid1/file1 bs=500M count=1

# time dd if=/dev/zero of=/raid5/file1 bs=500M count=1

 

(ㄹ) RAID 삭제

Umount(umount, /etc/fstab) -> RAID 구성 삭제(mdadm --stop)

                                            /etc/mdadm.conf

 

(ㅁ) 참고

# cat /proc/mdstat

# mdadm —detail /dev/md0

# ls –l /etc/mdadm.conf

 

 

 

 

 

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

 

■ RAID & LVM 비교

RAID

LVM

RAID 0 concatenate

RAID 0 stripe

 

RAID 1 Mirror

 

RAID 5 with parity(stripe)

LVM 기본 구성

LVM stripe 구성

 

LVM Mirror 구성

 

기능 지원 X

 

■ 물리적인 디스크 작업 & LVM 디스크 작업 & RAID 디스크 작업

 

새로운 DISK 장착(/dev/sda1, /dev/sda2, /dev/sda3)

Physical(Traditional)

LVM

RAID

# fdisk /dev/sda (83)

 

 

 

 

# fdisk /dev/sda (8e)

# pvcreate /dev/sda1

# vgcreate vg1 /dev/sda1

# lvcreate -l 100%FREE

-n testlv vg1

# fdisk /dev/sda (fd)

# mdadm --create /dev/md0 --level=0

 --raid-device=1 /dev/sda1

# mdadm --detail --scan >> /etc/mdadm.conf

 

# mkfs.ext3 /dev/sda1

# mkfs.ext3 /dev/vg1/testlv

# mkfs.ext3 /dev/md0

# vi /etc/fstab

# mkdir /was ; mount /was

# vi /etc/fstab

# mkdir /was ; mount /was

# vi /etc/fstab

# mkdir /was ; mount /was

 

 

 

 

(실무 예) RAID/LVM 사용 예

 

■ 운영체제 디스크(OS DISK)

         H/W RAID 구성(RAID Controller)

 

         ----- H/W -----            ----- OS -----

         Disk1   ------+-----------> /dev/sda(적당하게 파티션 작업)

                       |

         Disk2   ------+

 

■ 데이터 디스크(DATA DISK)

         H/W RAID(Storage/Array) + LVM 구성

 

         ----- Storage -----        ----- OS -----

         RAID 1 + 0(LUN) -----------> /dev/sd[bcdefg] --- LVM Stripe --->

         or

         RAID 5 / 6(LUN) -----------> /dev/sd[bcdefg] --- LVM Stripe --->