관리 메뉴

드럼치는 프로그래머

[Linux] LINUX RAID5 구축 본문

★─Programing/☆─Linux

[Linux] LINUX RAID5 구축

드럼치는한동이 2007. 8. 6. 20:43
 

- 자 이제 raid0, raid1 을 구축해 봤으니  raid 5를 구축해보겠다.

- raid5 구축을 위해서는 최소한 3개의 디스크가 필요하다. 패러티라는것을 각각의 디스크에 추가해서 하나의 디스크가 깨졌을대도 문제없이 2개의 디스크가 구동하도록 하기 위함이다. 패러티는 찾아보기 바란다. 쉽게 말해 오라클의 undo tablespace 같다고 하면 될까나? commit 된 데이터에 대한 rollback 기능?? 머 좀 틀린 개념이지만 여하튼 일반적인 raid5 구성은 적어도 4개의 디스크를 이용하여 3개는 raid5 로 구성하고 하나는 hot space 로 두어서 3개의 디스크중 하나가 깨지면 hot space디스크가 패러티를 이용해서 깨진 하나의 디스크를 대체하는 식으로 구성된다. 자세한건 구글에 가서 raid5 치면 엄청 자료가 나올꺼다..ㅎㅎ


- 앞에서 sdb1,sdc1 은 raid0을 구성했고 sad1, sde1 은 raid1로 구성했다. sdf1, sdg1, hda1 을 raid5로 구성하겠다. 신기한게 vmware 로 디스크를 추가했더니 7개까지(g까지)는 scsi 로 추가되는데 8개째는 IDE로 추가되더라..ㅎㅎ 그래서 마지막 하나는 hda 가됐다. 잘될지 모르겠다..ㅡㅡ^


1) sdf , sdg, hda 에 각각 파일시스템을 fd(linux raid auto)로 만든다..(생략한다.. 모르는 사람은 앞에 raid0, raid1 구축할때 자료 보시길)


2) /dev/md5 를 만든다.

[root@localhost ~]# mknod /dev/md5 b 9 2
[root@localhost ~]# ls -al /dev/md?
brw-r-----  1 root disk 9, 0  3??26 00:24 /dev/md0  <-- raid0
brw-r-----  1 root disk 9, 1  3??26 01:20 /dev/md1  <-- raid1
brw-r--r--  1 root root 9, 2  3??26 01:41 /dev/md5  <-- raid5
[root@localhost ~]#

** 주의 ) 꼭 md5롤 만들지 않고 md3로 만들어도 무방하다.. 단지 관리자가 알아보기 편하도록 이렇게 만드는 것일뿐..


3) mdadm 명령으로 raid 5 구성한다.

[root@localhost ~]# mdadm --create /dev/md5 --level=5 --raid-devices=3 /dev/sdf1 /dev/sdg1 /dev/hda1 mdadm: array /dev/md5 started.
[root@localhost ~]# mdadm --detail --scan
ARRAY /dev/md2 level=raid5 num-devices=3 UUID=01f7d1aa:589215f3:16996d05:c4a2d6f7
   devices=/dev/sdf1,/dev/sdg1,/dev/hda1   <--- raid 5
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=6780793c:b171ede2:d0a38176:a24fbe36
   devices=/dev/sdd1,/dev/sde1  <--- raid0
ARRAY /dev/md0 level=raid0 num-devices=2 UUID=80ce56ed:8a0ca06d:d96d03b6:77ae5f91
   devices=/dev/sdb1,/dev/sdc1  <-- raid1
[root@localhost ~]#


4) /dev/md2 에 파일시스템 만들고 /raid5 로 마운트한다. 어라 분명 /dev/md5 로 만들었는데.. 보이는건 md2 다.. 음.. 이상하내..                                            [root@localhost ~]# mkfs.ext3 /dev/md2
mke2fs 1.37 (21-Mar-2005)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
104448 inodes, 417536 blocks
20876 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67633152
51 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

Writing inode tables: done                           
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 22 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@localhost ~]# ls -al /dev/md?
brw-r-----  1 root disk 9, 0  3??26 00:24 /dev/md0
brw-r-----  1 root disk 9, 1  3??26 01:20 /dev/md1
brw-r-----  1 root disk 9, 2  3??26 01:44 /dev/md2
brw-r--r--  1 root root 9, 2  3??26 01:41 /dev/md5

허거덩.. md2 로 정말 만들어 졌다..ㅎㅎ 이상하지만 머 그런가부다 한다. 필자가 만드는 과정의 명령과 out 은 편집하지 않은것임을 말해둔다. 여튼 md2로 만들어져 버렸다.


이제 마운트한다.

[root@localhost ~]# mkdir /raid5
[root@localhost ~]# mount /dev/md2 /raid5
[root@localhost ~]#


5) 마지막으로 /etc/fstab 에 추가해주면 다 끝

[root@localhost ~]# vi /etc/fstab

# This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/                 /                       ext3    defaults        1 1
/dev/devpts             /dev/pts                devpts  gid=5,mode=620  0 0
/dev/shm                /dev/shm                tmpfs   defaults        0 0
/dev/proc               /proc                   proc    defaults        0 0
/dev/sys                /sys                    sysfs   defaults        0 0
/dev/md0                /raid0                  ext3    defaults        1 1
/dev/md1                /raid1                  ext3    defaults        1 1
/dev/md2                /raid5                  ext3    defaults        1 1   <-- 추가
LABEL=SWAP-sda2         swap                    swap    defaults        0 0
/dev/fd0                /media/floppy           auto    pamconsole,exec,noauto,managed 0 0
/dev/hdc                /media/cdrecorder       auto    pamconsole,exec,noauto,managed 0 0


'★─Programing > ☆─Linux' 카테고리의 다른 글

[Linux] linux rescue (grub 재설치)  (0) 2007.08.29
[Linux] 리눅스 LVM 구축하기  (0) 2007.08.06
[Linux] LINUX RAID1 구축  (0) 2007.08.06
[Linux] LINUX RAID0 구축  (0) 2007.08.06
[Linux] mkfs 란? (사용법)  (0) 2007.08.06
Comments