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/635/trackback
List of Articles
번호 제목 글쓴이 날짜 조회 수sort

rsync 에러

리눅스에서 일정기간 이상된 파일 삭제하기

FreeBSD CPU 개수 확인 등.(mptable, sysctl)

콘솔에 남는 메세지로그파일로 남기기

ethtool 사용법

vim 편집기 색상변경

grep 옵션~!

find 찾아바꾸기

서버로그 관리

MRTG 로그 데이터 시간확인하기

실시간 접근정보 확인

iscsi-target 설정 에러 모음

hdparm - 하드디스크의 자세한 정보 보기

아파치 모듈 mod_status file

특정 디랙토리 인증걸기 htpasswd, htaccess

syslogd : 콘솔에 남는 메세지 로그파일로 남기기

apm설치시 configure error

리눅스 언어 인코딩 설정

sysctl 커널 파라미터

제로보드4의 데이터를 XE 로 이전하는 방법 file

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234