Quản Trị  Hệ Điều Hành Linux - Unix
 
Xây dựng hệ thống File server có độ sẵn sàng cao (HA) sử dụng NFS,DRDB, Heartbeat trên Centos6 X86_64
09:06 | 21/10/2011

Trước đây Kenhgiaiphap có giới thiệu bài xây dựng file server có độ sẵn sàng cao sử dụng GlusterFS  .

Lab này cũng xây dựng hệ thống file server có độ sẵn sáng cao sử dụng NFS  , DRDB và Heartbeat .
 
NFS (Network file system) là dịch vụ chia sẽ file quen thuộc cuả linux .

Mô hình lab này bao gồm : 3 máy centos6 X86_64.

Server2 (sv2.kenhgiaiphap.vn:192.168.11.30)
Server3 (sv3.kenhgiaiphap.vn:192.168.11.31)
Client (kenhgiaiphap.vn:192.168.11.32)

Trên thực tế thì mỗi server cần 2 NIC , lab này chỉ làm 1 NIC cho mỗi server .

Chuẩn bị cho 2 server :

- Disable  các filewall : Selinux và iptable

- Update system

- Trên 2 server phải phân giải được tên của nhau bằng cách đặt trong file /etc/hosts hoặc cấu hình DNS .

Đây là hình ảnh file hosts của 3 máy :


 
Cài đặt


(Làm trên 2 server)

# wget http://dl.atrpms.net/el6-`arch`/atrpms/stable/drbd-kmdl-`uname -r`-8.3.11-31.el6.x86_64.rpm

# wget http://dl.atrpms.net/el6-x86_64/atrpms/stable/drbd-8.3.11-31.el6.x86_64.rpm

# rpm -ivh drbd-kmdl-`uname -r`-8.3.11-31.el6.`arch`.rpm   drbd-8.3.11-31.el6.`arch`.rpm

Cài các Package cần thiết


(Làm trên 2 server)

# rpm -Uvh http://elrepo.org/elrepo-release-6-4.el6.elrepo.noarch.rpm

# vi /etc/yum.repos.d/elrepo.repo

 enabled=0

# yum --enablerepo=elrepo install –y  drbd83-utils kmod-drbd83

Thiết lập ngày giờ trên 2 server phải giống nhau .

# service ntpd status

# date



Tạo và gán 2 ổ đĩa trên 2 máy server


 
Lưu ý : ko format và mount 2 đĩa này .

Chạy lệnh sau bên 2 server  .

# modprobe drbd 

Cấu hình DRBD


(Làm bên 2 server )

# cp /etc/drbd.d/global_common.conf  /etc/drbd.d/global_common.conf.bak

# vim  /etc/drbd.d/global_common.conf 

Xóa hết nội dung và paste các dòng sau vào :

global { usage-count no; }
common {
syncer { rate 10M; }
}
# hết


Cấu hình file /etc/drbd.conf


# vim /etc/drbd.conf

# You can find an example in  /usr/share/doc/drbd.../drbd.conf.example
#include "drbd.d/global_common.conf";
#include "drbd.d/*.res";
global {
usage-count yes;
}
common {
  syncer { rate 10M; }
}

resource kgp  {                          # thay tên kgp là tên gì cũng được !
  protocol C;
  handlers {
    pri-on-incon-degr "echo o > /proc/sysrq-trigger ; halt -f";
    pri-lost-after-sb "echo o > /proc/sysrq-trigger ; halt -f";
    local-io-error "echo o > /proc/sysrq-trigger ; halt -f";
  }
  startup {
    degr-wfc-timeout 120;    # 2 minutes.
  }
  disk {
    on-io-error   detach;
  }
  net {
  }
  syncer {
    rate 10M;   
    al-extents 257;
  }
on sv2.kenhgiaiphap.vn {
device /dev/drbd0;
    disk /dev/sdb1;
    address 192.168.11.30:7788;
    meta-disk internal;

}
on sv3.kenhgiaiphap.vn {
    device /dev/drbd0;                           #sẽ tạo ra disk tên là  drbd0
    disk /dev/sdb1;                                # nơi lưu trữ data
    address 192.168.11.31:7788;
    meta-disk internal;                           # meta sẽ lưu trữ trên cục bộ local
  }
}

# hết



Lưu  ý :

# Các tên trên là nằm trong lệnh uname –n
 
Tạo và start disk đã tạo trong file cấu hình trên .

( Làm bên 2 server )

# drbdadm create-md kgp

>> kgp do mình đặt trong file trên .



 Start DRBD trên 2 server cùng thời điểm .

# service drbd start

Kiểm tra DRBD có chạy chưa  .

Có 2 lệnh để  Kiểm tra :

# service drbd status

Hoặc

# cat /proc/drbd



Như hình trên thì ta thấy cả 2 server điều là Secondary , bây giờ ta chuyển sv2.kenhgiaiphap.vn làm  Primary

 server và sv3.kenhgiaiphap.vn làm secondary server bằng các lệnh sau :

Bên  sv2.kenhgiaiphap.vn

# drbdsetup /dev/drbd0 primary  -o

Bên  sv3.kenhgiaiphap.vn

# drbdsetup /dev/drbd0 secondary

Sau đó chạy lệnh cat /proc/drbd  bên 2 server để kiểm tra lại . đợi

cho cho đến khi đồng bộ xong  (có hiện % đã đồng bộ) rồi mới làm

bước kế tiếp.

 

Format /dev/drbd0

Lưu ý :

Chỉ thực hiện bên sv2.kenhgiaiphap.vn

# mkfs.ext4 /dev/drbd0

Bây giờ Cấu hình NFS exports  và kết hợp với  Heartbeat

Chuẩn bị cho  NFS

(Làm trên 2 server  )

# mkdir /data

# vi /etc/exports

/data/export    * (rw)  

Bước sau chỉ làm bên  sv2.kenhgiaiphap.vn

# mount /dev/drbd0 /data

# mv /var/lib/nfs/ /data/

Nếu có lỗi như hình dưới thì cứ bỏ qua ko sao .



# ln -s /data/nfs/ /var/lib/nfs

# mkdir /data/export

# umount  /data

Bước sau chỉ làm bên  sv3.kenhgiaiphap.vn


# mv /var/lib/nfs/ /var/lib/nfsbackup

# ln –s   /data/nfs/    /var/lib/nfs

Cài đặt và cấu hình Heartbeat


(làm bên 2 server )

# rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm

# vi /etc/yum.repos.d/epel.repo

       enabled=0

# yum --enablerepo=epel install heartbeat  -y

Tạo các file sau bên 2 server  :

# vi /etc/ha.d/ha.cf

keepalive 2
deadtime 30
bcast eth0
node sv2.kenhgiaiphap.vn   sv3.kenhgiaiphap.vn


Tạo resource file cho  heartbeat trên 2 server


# vi /etc/ha.d/haresources

sv2.kenhgiaiphap.vn IPaddr::192.168.11.60/24/eth0 drbddisk::kgp Filesystem::/dev/drbd0::/data::ext4 nfslock nfs
 
Chú thích :

 - sv2.kenhgiaiphap.vn  hostname của Primary  server 

 - 192.168.11.60 là virtual ip dc tao ra khi start heartbeat

 - eth0 : card mạng để heartbeat liên lạc với 2 server

Trong thực tế thì dùng NIC nối với switch 2 để dự phòng Switch 1 chết .

Tạo file authentication file trên 2 server


# vi /etc/ha.d/authkeys

auth 3
3 md5 kenhgiaiphap

-  phân quyền lại cho file  /etc/ha.d/authkeys

# chmod 600 /etc/ha.d/authkeys

Hệ thống đã sẵn sàng  .

Start drbd và heartbeat trên 2 server  cùng lúc

# /etc/init.d/drbd start

# chkconfig drbd on

# /etc/init.d/heartbeat start

# chkconfig heartbeat on

 
Bây giờ kiểm tra bên server  sv2.kenhgiaiphap.vn 

# ifconfig
# df –h
# mount


 
Bên sv3.kenhgiaiphap.vn  khi chạy các lệnh trên thì ko có gì .

Chỉ khi sv2.kenhgiaiphap.vn   chết thì sv3.kenhgiaiphap.vn  mới có các thông số như hình trên .
 
Bên máy Client mount thư mục /data/export  về sử dụng

# mount -t nfs 192.168.11.60:data/export   /mnt/data/
 


Với Win7 ta có thể mount  data từ NFS server như sau :


Add  service NFS  vào


 
Start servive



 
Và mount data từ NFS server về sử dụng


# mount  \\192.168.11.60\data\export  *



Bây giờ tạo các file data trong  /data/export  bên server sv2.kenhgiaiphap.vn  rồi stop heartbeat  , sau đó qua server  sv3.kenhgiaiphap.vn xem như thế nào .


 
Và bên các client vẫn kết nối và sử dụng data như bình thường .


 
Phan Trọng Hiếu (Tổng hợp)
 
Ý kiến phản hồi và bình luận Góp ý kiến của bạn

Các tin mới nhất :
- Thiết lập 1 hệ thống High-availability - Loadbalancing và Reverse Proxy cho Web Server trên CentOS 6/RHEL Sử dụng HAProxy và Keepalived
- Đồng bộ hóa dữ liệu giữa hai Server Ubuntu 11.10 sử dụng Unison.
- Bảo vệ thư mục web với mod_auth_mysql trên Apache2
- Tích hợp MailScanner - ClamAV - SpamAssassin - SquirrelMail vào PostfixTrên Centos 5.7
- Cài đặt rsnapshot trên CentOS
- Xây dựng hệ thống NAS Cluster sử dụng OpenFiler
- Cài đặt Nginx trên Ubuntu 11.10
- Thiết lập hệ thống Active/active Samba CTDB Cluster sử dụng GFS & DRBD Trên Centos 5.7 X86_64
- Thiết lập máy chủ Ubuntu 11.10 và cài đặt ISPConfig 3 (Phần3)
- Thiết lập máy chủ Ubuntu 11.10 và cài đặt ISPConfig 3 (Phần2)
Các tin liên quan :
- Upgrade Ubuntu 11.04 lên Ubuntu 11.10
- Ảo hóa với KVM trên máy chủ CentOS 6.0 (Phần 2)
- Ảo hóa với KVM trên máy chủ CentOS 6.0 (Phần 1)
- Cài đặt và cấu hình Samba trên centos 6 X86_64
- Pandora công cụ monitor trên linux
- Xây dựng hệ thống Backup server trên linux/Centos sử dụng Amanda
- Xây dựng 1 hệ thống File server có độ sẵn sàng cao ,Sử dụng GlusterFS Trên Centos 5.6
- Mount NTFS Partition trong Centos 5.6 - centos 6
- Hạn chế SSH Bruforce cho VPS bằng Denyhosts
- Swat Công cụ quản lý ,cấu hình Samba qua giao diện web
Xem tiếp
Bài nhiều người đọc cùng chuyên mục
50 câu lệnh Linux phải nhớ
 
Thiết lập Openvpn trên Server Linux
 
Thiết lập tường lửa Iptables cho Linux - Phần 1
 
Cài đặt và cấu hình Server Linux CentOS hoàn chỉnh (Phần 1)
 
Cài đặt và cấu hình Server Linux CentOS hoàn chỉnh (Phần 2)
 
Cài Đặt Web Server (LAMP )Trên Centos 6 X86_64
 
Cài đặt, cấu hình cho Mail server tren Ubuntu
 
Trang chủ | Giới thiệu | Quảng cáo | Liên hệ
Giấy phép ICP số 199/GP-TTĐT. Bộ Thông tin và Truyền thông cấp.
Cơ quan quản lý  : Công Ty TNHH Phát Triển Kỹ Thuật và Thương Mại Phan Nguyễn
Bản quyền © 2010-2011 Kenhgiaiphap.vn . Giữ toàn quyền.
Ghi rõ nguồn "Kenhgiaiphap.vn" khi phát hành lại thông tin từ website này.