|
||||||||
|
||||||||
|
|
Công Cụ | Xếp Bài |
06-03-2012, 06:09 PM | #1 |
Administrator
Gia nhập: Jul 2009
Trả Lời: 245
|
Xây dựng hệ thống lưu trữ có độ sẵn sàng cao với GlusterFS trên Centos 5.6
Như chúng ta biết sẽ như thế nào nếu hệ thống File server trong Cty bị sụp đổ hay trục trặc do chỉ có 1 server duy nhất làm File server, Công việc truy xuất dữ liệu của các nhân viên sẽ bị ảnh hưởng và gián đoạn ...
Vì thế chúng ta phải xây dựng 1 hệ thống File server sao cho khi server đó bị lỗi thì công việc truy xuất dữ liệu vẫn được diễn ra bình thường . Giới thiệu đôi chút về GlusterFS: GlusterFS là một open source . GlusterFS là tập hợp file hệ thống có thể được nhân rộng tới vài peta-byte và có thể xử lý hàng ngàn Client. GlusterFS có thể linh hoạt kết hợp với các thiết bị lưu trữ vật lý, ảo, và tài nguyên điện toán đám mây để cung cấp 1 hệ thống lưu trữ có tính sẵn sàng cao và khả năng performant cao . Chương trình có thể lưu trữ dữ liệu trên các mô hình, thiết bị khác nhau qua giao thức Infiniband RDMA hoặc TCP/IP được kết nối vào 1 hệ thống lớn song song với các tập tin mạng. Những thiết bị lưu trữ này phải tương thích tốt với hệ điều hành server x86_64 như SATA-II RAID và Infiniband HBA. Chuẩn bị và xây dựng hệ thống . Bài lab này sử dụng 3 máy Centos5.6_X64 , bạn có thể dùng bao nhiêu server tùy hệ thống của bạn . Nội dung file /etc/hosts cả 3 máy này như sau : sv1.kenhgiaiphap.vn: IP address 192.168.11.100 (server 1) sv2.kenhgiaiphap.vn: IP address 192.168.11.200 (server 2) client.kenhgiaiphap.vn: IP address 192.168.11.250 (client) Hoặc bạn có thể phân giải 3 máy này bằng DNS . Hệ thống lưu trữ trong lab này tôi sử dụng LVM trên 2 server để lưu trữ Data và dung lượng 2 ổ đĩa này bằng nhau . Kham khảo LVM tại đây . Lưu ý : nên đặt tên các Volume trên 2 server giống nhau và dung lượng như nhau . Và mount volume này vào /mnt/lvm trên cả hai server . Install các Package cần thiết để biên dịch GlusterFS từ Source . (Các bước này làm trên 3 máy) # yum –y update # yum groupinstall 'Development Tools' # yum groupinstall 'Development Libraries' # yum install libibverbs-devel fuse-devel # wget http://download.fedora.redhat.com/pu...el5.x86_64.rpm # rpm –ihv python-ctypes-1.0.2-2.el5.x86_64.rpm Download Source GlusterFS và Biên dịch . (Các bước này làm trên 3 máy) # cd /tmp # wget http://download.gluster.com/pub/glus...s-3.2.3.tar.gz # tar –xzvf glusterfs-3.2.3.tar.gz # cd glusterfs-3.2.3 # ./configure # make # make install # ldconfig Kiểm tra Phiên bản GlusterFS # glusterfs --version Tạo Replicate Volume trên server: Volume này sẽ là nơi sẽ lưu trữ data trên 2 server và máy Client sẽ móc vào Volume này đề sử dụng . Trước tiên ta phải Adding Servers to Trusted Storage Pool. Bên máy Server 1 : # gluster peer probe sv2.kenhgiaiphap.vn Bên máy Server 2 : # gluster peer probe sv1.kenhgiaiphap.vn Kiểm tra lại danh sách các server đã Trust . Bên máy Server 1 : # gluster peer status Bên máy Server 2 : # gluster peer status Nếu hệ thống có nhiều server thì ta add thêm các server đó vào . Tạo Relicate Volume : Bên máy Server 1 hoặc 2 : bước tạo volume này chỉ cần thực hiện trên 1 trong 2 server thì server còn lại sẽ tự có . # gluster volume create volumelvm replica 2 transport tcp sv1.kenhgiaiphap.vn:/mnt/lvm (có_khoảng_cách_chỗ này nha !) sv2.kenhgiaiphap.vn:/mnt/lvm Gán quyền cho các ip hay lớp mạng được phép truy cập . # gluster volume set volumelvm auth.allow 192.168.11.* Ta có thể sử dụng Wildcards như 192.168.11.* hoặc gán nhiều Ip ,các Ip này cách nhau bằng dấu phẩy (,) vidu : 192.168.11.250,192.168.11.254 Start volume # gluster volume start volumelvm Kiểm tra thông tin về volume và xem nó đã start chưa . Server 1 # gluster volume info Server 2 # gluster volume info Mount volumelvm này vào /mnt/ok ( Làm trên 2 máy server ) # mkdir /mnt/ok # mount -t glusterfs sv1.kenhgiaiphap.vn:/volumelvm /mnt/ok Hoặc # mount -t glusterfs sv2.kenhgiaiphap.vn:/volumelvm /mnt/ok Kiểm tra xem đã mount thành công chưa . Server1 Server 2 Sửa file /etc/fstab để auto mount volumelvm này khi boot . (làm trên 2 server ) # vim /etc/fstab Cho GlusterFS start lúc boot . (làm bên 3 máy) # chkconfig glusterd on # /etc/init.d/glusterd restart Thiết lập GlusterFS bên máy Client . Cài đặt các gói để biên dịch và Install GlusterFS như 2 máy server . Mount volumelvm từ server về sử dụng . # mkdir /mnt/ok # mount -t glusterfs sv1.kenhgiaiphap.vn:/ volumelvm /mnt/ok Sửa file /etc/fstab để tự động mount lúc boot . # sv1.kenhgiaiphap.vn:/volumelvm /mnt/ok glusterfs defaults,_netdev 0 0 Lưu ý : Nếu ko có thấy gì thì khi mount thì Fix bằng cách sau : # yum install fuse Và reboot lại máy # modprobe fuse Sau đó chạy lại lệnh mount trên thì sẽ ok ! Tạo và ghi dữ liệu vào volume vừa mount /mnt/ok và xem trên server 1 và server 2 sẽ có dữ liệu mà máy Client tạo ra ko . Bên máy Client Bên máy Server 1 Bên máy Server 2 Như vậy là dữ liệu tự động đồng bộ giữa 2 máy server . Thử shutdown server1 và chỉ còn server2 chạy nhưng máy Client có thể tạo và ghi file vào được . Khi server1 khởi động lại thì nó sẽ đồng bộ dữ liệu từ server 2 mà Client mới ghi thêm vào . Như vậy là ta đã hoàn tất xây dựng hệ thống File server có độ sẵn sàng cao trong linux . GlusterFS có khả năng tùy biến mềm dẻo và linh hoạt , do đó tùy theo nhu cầu của từng hệ thống mà chúng ta xây dựng , cấu hình và phát triển thêm cho phù hợp với nhu cầu của mình . Theo Kenhgiaiphap |
|
|