Skip to content

DRBD Network Mirroring

조회 수 19999 추천 수 0 2012.01.16 16:00:02

DRBD Network Mirroring (http://www.drbd.org/)

 

OS Version : CentOS5.2

 

 

drbd란?  => 노드가2개인 HA일경우 (2개의 서버 모두 같은 데이터를 네트워크 미러링을 통해서 저장)

 

 

동작순서

2대의 서버가 primary,secondary로 설정.
primary의 로컬에 data저장후 => /dev/sdb1에 저장 => drbd(/dev/drbd0장치)저장.
secondary drbd에 저장후 => /dev/sdb1에 저장됨.

 

 

설치법

http://rpm.pbone.net/index.php3/stat/26/dist/43/size/352769/name/drbd82-8.2.6-1.el5.centos.src.rpm 다운받은뒤  rpm설치,  

yum install kmod-drbd82

 

 

1.rpm -Uvh drbd82-8.2.6-1.el5.centos.src.rpm (파일명)
cd /usr/src/redhat/SPECS/밑에 파일생성 된것 확인.
rpmbulid --ba 파일명(rpm 파일생성)
cd /usr/src/redhat/RPMS/i386 이동후 => rpm -Uvh 파일명.i386.rpm(만든파일 rpm 설치)

 

하드디스크 추가후 => fdisk /dev/sdb 파티션 분할.
partprobe 새로 생성한 파티션 인식시키기.

 

 

2. drbd.conf 설정
최초 /etc/drbd.conf에는 아무것도 설정안되어 있음.

cp /usr/share/doc/drbd82-8.2.6/drbd.conf /etc/drbd.conf 파일복사
불필요한행 470줄은 삭제후 resource3부터 변경해서 설정.

 

resource drbd1 {                     (drbd1=> 디바이스 장치명)
  protocol C;

  startup { wfc-timeout 0; degr-wfc-timeout 120; }
  disk { on-io-error detach; }
  syncer {
  }
  on node1 {                         (node1 primary 호스트명)
    device /dev/drbd1;          (디바이스명)
    disk /dev/sdb2;           (디스크명)
    address 10.10.24.14:7791;    (primary ip)
    meta-disk internal;            (node1,node2 동일하게 internal로 맞출것)
  }
  on node2 {
    device /dev/drbd1;
    disk /dev/sdb2;
    address 10.10.25.14:7791;
    meta-disk internal;
  }
}

 


vi /etc/hosts(node1,node2 서버 hosts 파일 설정을 해야 각서버로 접근허용됨.)
10.10.24.14 node1
10.10.25.14 node2

 

 

 

3. 디바이스 생성(primary,secondary 2대모두설정)
drbdadm create-md drbd0
service drbd start (서비스 시작)

 

cat /proc/drbd
version: 8.2.6 (api:88/proto:86-88)
GIT-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by buildsvn@c5-i386-build, 2008-10-03 11:42:32

 1: cs:SyncSource st:Secondary/Secondary(두대모두 Secondary 보이면됨) ds:UpToDate/Inconsistent C r---
    ns:616164 nr:0 dw:4 dr:616305 al:0 bm:37 lo:0 pe:0 ua:0 ap:0 oos:224312
 [=============>......] sync'ed: 73.8% (224312/840472)K        (sync 동기화 진행중)
 finish: 0:06:13 speed: 416 (320) K/sec

 

 


# primary 서버설정
4. drbdsetup /dev/drbd0 primary -o 설정
   cat /proc/drbd 확인시  1: cs:SyncSource st:Primary/Secondary (앞쪽에 Primary 보이면됨)
   Secodary 서버는 st:Secondary/Primary (이렇게 보이면됨)

 

 

 

5. 파일시스템 생성 및 마운트
   mkfs -t ext3 /dev/drdb0
   mount /dev/drbd0 /drbd 마운트 걸어서 사용
   df -h 마운트 설정확인.

 

 


# test진행
1. 기존 마운트 설정된 /drbd 폴더이동 => touch aa.txt bb.txt 테스트 파일 생성.
2. umount (마운트 해제후) => service drbd stop(두대모두 차례대로 종료)
3. mkdir test 폴더 생성후 => mount /dev/sdb2 /test 폴더에 마운트
4. 2대의 서버 모두 ls -al /test 폴더에 aa.txt,bb.txt 파일 있으면 정상!

[출처] DRBD Network Mirroring |작성자 ckwnan

profile

일요일은 짜빠게뤼~ 먹는날~^^

엮인글 :
http://adminplay.com/74319/1d6/trackback
List of Articles
번호 제목 글쓴이 날짜 조회 수sort

도메인 Status 상태별 설명 안내

HDD Guardian (a graphical user interface for smartctl)

dpkg 사용법

top 화면 내용중 load average와 PRI : priority(우선순위...

ubuntu 10.04 에서 Nginx, Mysql, PHP5

HP 서버 disk 증설 (hpacucli 사용)

리눅스 메모리 관리, 왜 메모리 여유공간이 없을까? (top ...

windows smartctl

ZFS 파일에 ACL 설정

make 정리

SSL 패스워드 삭제 하기

EXT4 파일 시스템을 Btrfs 파일 시스템으로 변환하기

tar 압축을 실수로 디렉토리 생성 안하고 풀었을때 대처법

ll 명령시 날짜 전체가 보이도록 하기

hddtemp와 mrtg를 이용한 하드디스크 온도 체크 file

python과 mysql 연동시 libmysqlclient_r.so.* 에러가 날 ...

linux 커널 파라메터 수정

우분투(Ubuntu) ssh 설정하기

error: Hm, kex protocol error: type 30 seq 1 [preauth]... file

운영중인 Linux 서버에서 NTFS 파일 시스템 삭제하기

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234