Hưỡng dẫn sử dụng Ucarp trên Centos: Tạo IP Ảo Để Đảm Bảo Tính Sẵn Sàng Cao

| Tin mới | Tag:
Rate this post

Ucarp là 1 dịch vụ chạy rất nhẹ nhàng trên các hệ thống linux. Mục đích của UCARP là (automatic failover) tạo ra một địa chỉ IP ảo (Virtual IP) đứng trước một vài máy chủ nhằm đảm bảo tính sẵn sàng cao cho các dịch vụ đang chạy trên các máy chủ đó.

Hướng dẫn cài đặt & Cấu hình

virtual_ip

Hình vẽ trên bạn có thể thấy, Server 1 và Server 2 đều đứng đằng sau một Virtual IP. Chú ý: Không phải cả hai Server 1 và Server 2 đều chia sẻ tải, chạy đồng thời cùng nhau.

Đầu tiên, UCARP sẽ chọn một Server làm Master (dựa vào độ ưu tiên trong tham số cấu hình xem bên dưới), IP ảo sẽ được Bind vào một card mạng (vd như eth1) trên Server đó (Ở đây ví dụ là Server 1). Khi card mạng eth1 của Server 1 bị down. Tức là gặp sự cố gì đó liên quan đến Network, OS thì lúc này UCARP sẽ tự động gán (bind) địa chỉ IP ảo đó vào Server 2. Chỉ khi nào gặp sự cố trên Server 2 thì IP ảo mới được chuyển lại cho Server 1.

Ưu điểm của UCARP

    Cấu hình dễ dàng
    Dịch vụ chạy rất nhẹ
    Có sử dụng mật khẩu để mã hóa các message giao tiếp của ucarp giữa hai server.

Mô hình

Server1: 192.168.1.208 (eth0)
Server2: 192.168.1.209 (eth0)
Virtual IP (VIP): 192.168.1.150
OS: CentOs 6.5

Cài đặt
– Cài đặt ucarp trên cả 2 server 1 và 2:

Shell

# rpm -ivh http://ftp-stud.hs-esslingen.de/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# yum -y install ucarp

12

# rpm -ivh http://ftp-stud.hs-esslingen.de/pub/epel/6/i386/epel-release-6-8.noarch.rpm# yum -y install ucarp

Cấu hình
– UCARP định nghĩa 1 cụm VIP theo format : vip-.conf
Ví dụ: vip-001.conf, nếu bạn có 2 cụm thì sẽ tạo thêm 1 file thứ 2 với tên vip-002.conf (và ID bên trong file thứ 2 sẽ đặt là ID=002)

Trên server 1:

Shell

# cp /etc/ucarp/vip-001.conf.example /etc/ucarp/vip-001.conf
# mv /etc/ucarp/vip-001.conf.example /etc/ucarp/vip-001.conf.example.save
# vi /etc/ucarp/vip-001.conf

123

# cp /etc/ucarp/vip-001.conf.example /etc/ucarp/vip-001.conf# mv /etc/ucarp/vip-001.conf.example /etc/ucarp/vip-001.conf.example.save# vi /etc/ucarp/vip-001.conf

Thêm nội dung dưới đây vào file vip-001.conf:

ID=001
VIP_ADDRESS=”192.168.1.150″
PASSWORD=”123456″
BIND_INTERFACE=”eth0″
SOURCE_ADDRESS=”192.168.1.208″
OPTIONS=”-k 10 –shutdown –preempt”

123456

ID=001VIP_ADDRESS=”192.168.1.150″PASSWORD=”123456″BIND_INTERFACE=”eth0″SOURCE_ADDRESS=”192.168.1.208″OPTIONS=”-k 10 –shutdown –preempt”

Trên server 2:

Shell

# cp /etc/ucarp/vip-001.conf.example /etc/ucarp/vip-001.conf
# mv /etc/ucarp/vip-001.conf.example /etc/ucarp/vip-001.conf.example.save
# /etc/ucarp/vip-001.conf

123

# cp /etc/ucarp/vip-001.conf.example /etc/ucarp/vip-001.conf# mv /etc/ucarp/vip-001.conf.example /etc/ucarp/vip-001.conf.example.save# /etc/ucarp/vip-001.conf

Thêm nội dung dưới đây vào file vip-001.conf:

ID=002
VIP_ADDRESS=”192.168.1.150″
PASSWORD=”123456″
BIND_INTERFACE=”eth0″
SOURCE_ADDRESS=”192.168.1.209″
OPTIONS=”-k 10 –shutdown –preempt”

123456

ID=002VIP_ADDRESS=”192.168.1.150″PASSWORD=”123456″BIND_INTERFACE=”eth0″SOURCE_ADDRESS=”192.168.1.209″OPTIONS=”-k 10 –shutdown –preempt”

Bật dịch vụ và cho phép khởi động cùng OS:

Shell

# /sbin/service ucarp start
# chkconfig ucarp on

12

# /sbin/service ucarp start# chkconfig ucarp on

Kiểm tra

Trên server 1 (IP Master)
ucarp_db_master
– Check message log server 1:
ucarp_log_master
Trên server 2 (IP Backup)
ucarp_db_backup
– Check message log server 2:
ucarp_log_backup

Tham số

    VIP_ADDRESS: Địa chỉ IP ảo
    BIND_INTERFACE: Card mạng nào sẽ được phép gán IP ảo
    SOURCE_ADDRESS: Địa chỉ IP hiện tại của máy chủ
    PASSWORD: Mật khẩu để mã hóa các message
    OPTIONS: Các options tùy biến của dịch vụ UCarp.

      –daemonize (-B): run in background
      –shutdown (-z): call shutdown script at exit
      –preempt (-P): thiệt lập để chọn máy chủ master
      –advskew= (-k ): thiết lập độ ưu tiên, số càng nhỏ càng ưu tiên cao hơn nằm trong dải từ (0 – 255)

Test

– Cài httpd trên cả 2 server 1 và 2:

Shell

# yum install httpd httpd-devel
# /sbin/service httpd start

12

# yum install httpd httpd-devel# /sbin/service httpd start

– Trên server 1:
+ Tạo file index.html với nội dung:
ucarp_test_server_1
+ Chạy thử:

ucarp_run_server_1
– Trên server 2:
+ Tạo file index.html với nội dung:
ucarp_test_server_2
+ Chạy thử
ucarp_run_ip_server2
– Giờ mở 1 trình duyệt lên truy cập vào link IP ảo : 192.168.1.150/index.html
ucarp_run_ip_ao
– Tiếp theo chúng ta tắt thử ucarp trên server 2(master) để xem chuyện gì xảy ra:

# /sbin/service ucarp stop

ucarp_run_ao_2
– Như vậy các bạn đã thấy UCARP tự động bind về server 1 (backup), đảm bảo hệ thống vẫn hoạt động ổn định. Chúc các bạn thành công !

4. Tài liệu tham khảo

Nguồn: @betapcode (https://convoicoi.wordpress.com/2015/09/13/huong-dan-su-dung-ucarp-tao-ip-ao-tren-centos/)

Bình luận
0

Bình luận