Bài tập nhóm Mơn: CS 226 B Đề tài: GlusterFS Danh sách thành viên: Lê Thanh Tùng I) Định nghĩa, Ưu điểm, GlusterFS 1) GlusterFS ? Khi hệ thống lưu trữ ngày trở nên rộng lớn, thách thực đặt để vận hành tối ưu dễ dàng mở rộng thêm Hãy tưởng tượng ta có khoảng 10TB dung lượng lưu trữ server storage, các client kết nối vào, tất hoạt động đọc ghi thực server lưu trữ Giả sử đến thời điểm đó, tất hoạt động đọc ghi server storage tải, ta lại có server tương tự chuẩn bị sẵn Vậy câu chuyện làm cách để ghép thêm server storage vào hoạt động server storage cũ chia sẻ tải I/O Đó lúc ta cần đến Glusterfs Glusterfs kết hợp nhiều server storage thành khối storage lớn 2) Về Ưu điểm: - Glusterfs mã nguồn mở - Glusterfs dễ dàng triển khai server phần cứng thông dụng - Gluster tuyến tính hóa dung lượng hiệu suất, có nghĩa mở rộng dung lượng hiệu suất tăng theo - Glusterfs xử lý dễ dàng vài Petabyte, cung cấp truy nhập cho hàng ngàn server lúc Tóm Lại: GlusterFS công cụ giúp liên kết kho liệu nhiều server khác lại thành khối thông với Có thể lấy từ máy có liên kết Để hiểu sâu Glusterfs, trước tiên ta cần hiểu NFS, VFS - NFS: kỹ thuật truy nhập vào vùng lưu trữ liệu thơng qua mạng TCP/IP Nói đơn giản NFS cho ta kết nối đến vùng liệu máy tính khác thể vùng ổ đĩa hay partition máy - VFS: giao tiếp kernel filesystem khác Linux cho phép ứng dụng hoạt động mà không cần biết loại filesystem bên Các hoạt động đọc ghi không thực bới VFS mà VFS chuyển giao hoạt động yêu cầu bới user/ ứng dụng đến module filesystem bên nằm kernel Bộ nhớ máy tính chia thành 02 phân vùng gọi User Space Kernel Space Hiện nay, hầu hết filesystem nằm bên Kernel Space dạng module Tuy nhiên có nhiều cách khác để sử dụng filesystem mà không cần phải đụng đến kernel Đó FUSE (File System in User Space), cách thức cho phép sử dụng file system User Space FUSE cung cấp cầu nối file system VFS, cần module FUSE ta sử dụng loại filesystem khác Linux Các module phổ biến là: NTFS 3g, SSHFS, HDFS, GluterFS… Kiến trúc Gluster dựa bốn yếu tố chính: - Node: máy chủ lưu trữ cài đặt Gluster - Brick: Là folder / mount point / file system node để chia sẻ với node tin cậy khác hệ thống (trusted storage pool) – Trên node có nhiều Brick (s) – Brick dùng để gán (assign) vào vùng liệu (volume) – Các brick volume nên có dung lượng lưu trữ (size) - Volume: khối logic chứa nhiều Brick, Gluster đóng vai trị LVM (Logical Volume Manager) cách quản lý brick phân tán máy chủ điểm kết nối lưu trữ mạng - Client: máy tính kết nối với hệ thống lưu trữ Gluster Đó Windows client chuẩn (thơng qua CIFS), NFS client, hay sử dụng Gluster client cải tiến so với NFS, đặc biệt tính sẵn sàng cao 3) Tới hiểu sơ GlusterFS Vậy GlusterFS gì? Có không ? Sau vài nâng cấp, lỗi khắc phục so với cũ trước đó: - cho phép sử dụng định dạng CIDR với auth.allow - Sử dụng lệnh gọi hệ thống để cung cấp giao diện / hiệu suất tốt Linux / * BSD khả dụng - để brick tự chọn cổng - Cải thiện hiệu suất đọc / ghi Gluster NVMe backend - cải tiến tệp dịch vụ systemd - Rác thu gom inodes không hoạt động fuse-bridge - lỗi trả cố gắng kết nối với máy chủ: (null), port - Mount bị treo truy cập - Nếu bị nút ngắt kết nối volume delete, giả định tập xóa tập tạo trực tuyến trở lại - Viết nhiều thời gian dẫn đến hệ thống bị hỏng - khắc phục cố liên quan đến glfs_fini - Thay đổi gf_log thành gf_msg - Thử nghiệm bổ sung cho hoạt động dht - Cập nhật op-version từ 4.2 lên 5.0 - Thêm tùy chọn hiệu suất vào hồ sơ ảo - rpc đánh dấu brick bị ngắt kết nối khỏi glusterd volume dừng khối lượng hết thời gian - Cập nhật cài đặt cấu hình sở liệu cho gluster - FUSE máy khách mặc định performance.md-cache-statfs bật cho ổ đĩa - Tập lệnh thu thập số liệu thống kê hệ thống - số vấn đề ACL cache ảo glusterfs dành cho ganesha - Sửa lỗi rị rỉ nhớ glusterd liên tục sử dụng "gluster volume status volume_name detail" (cli) - Việc phát hành "chữa lành đầy" ổ đĩa phân tán gây việc sử dụng CPU cao vĩnh viễn - NL cache: sửa lỗi tả -… Còn nhiều chỉnh sửa phiên 6.0 khác Mọi người tham khảo tại: https://docs.gluster.org/en/latest/releasenotes/6.0/ II) Mơ hình giả định(Kịch bản) - giả định cơng việc cá nhân: lập trình viên - giả định mơi trường: + Làm việc công ty nhỏ + Máy tính hệ điều hành Linux + Có phận sử dụng máy tính chủ yếu: phận xử lí tác vụ lập trình viên( lập trình viên khơng đủ nhớ, cịn phận xử lí tác vụ cịn dư nhiều nhớ) Tiến hành: máy chủ có ip là(máy phận tác vụ): 10.124.11.22: node1 10.124.11.19: node2 10.124.11.44: node3 IP máy tôi: 10 124.11.53: client Cập nhật hệ thống: Sử dụng Terminal gõ Lệnh “apt-get update && apt-get upgrade” Cấu hình file host: Sử dụng Terminal gõ Lệnh “vi /etc/hosts Thêm dòng sau: 10.124.11.22 node1 10.124.11.19 node2 10.124.11.44 node3 10.124.11.53 client Cài đặt glusterfs-server server: Gõ lệnh “apt -y install glusterfs-server” Khởi động GlusterFS hệ thống: Gõ lệnh “systemctl enable now glusterd” Chúng ta kiểm tra trạng thái GlusterFS sau: Gõ lệnh “systemctl status glusterd” III) Kết quả: - Tới cài đặt gluster xong Từ lấy, chuyển liệu lúc mà không cần phải gia tăng nhớ máy tính thân - Có thể sử dụng tồn tài ngun Khơng để lãng phí ... cũ chia sẻ tải I/O Đó lúc ta cần đến Glusterfs Glusterfs kết hợp nhiều server storage thành khối storage lớn 2) Về Ưu điểm: - Glusterfs mã nguồn mở - Glusterfs dễ dàng triển khai server phần... client Cài đặt glusterfs- server server: Gõ lệnh “apt -y install glusterfs- server” Khởi động GlusterFS hệ thống: Gõ lệnh “systemctl enable now glusterd” Chúng ta kiểm tra trạng thái GlusterFS sau:... có nghĩa mở rộng dung lượng hiệu suất tăng theo - Glusterfs xử lý dễ dàng vài Petabyte, cung cấp truy nhập cho hàng ngàn server lúc Tóm Lại: GlusterFS công cụ giúp liên kết kho liệu nhiều server