Tác vụ truyền dữ liệu đối với một hệ thống nhƣ Linda là tác vụ chiếm nhiều tài nguyên và đóng vai trò quan trọng nhất. Dữ liệu đƣợc truyền tải có thể là thông tin, lời triệu gọi đến một chức năng của hệ thống hoặc quá trình tải tệp tin. Quá trình truyền tải tệp tin chiếm phần lớn lƣợng dữ liệu đƣợc truyền. Trong hệ thống LindaX có 2 hình thức truyền tệp khác nhau:
Truyền dữ liệu giữa ngƣời dùng và máy chủ lƣu trữ trong quá trình upload, download tệp. Do ngƣời dùng sử dụng dịch vụ qua một trình duyệt web nên quá trình truyền tệp này phải thông qua giao thức HTTP.
Truyền dữ liệu giữa các máy chủ lƣu trữ trong quá trình tạo bản sao. Quá trình truyền tệp này yêu cầu tính bảo mật cao do các tổ chức tham gia lƣới chỉ liên hệ với nhau thông qua hệ thống máy chủ của LindaX. Vì vậy, giao thức đƣợc sử dụng trong quá trình truyền này là GridFTP.
HeadNode
Config
config.xml
Logs Scripts
mysql.sql resourcemonitor.sh setup-
50
Phần này sẽ trình bày kỹ hơn về việc sử dụng GridFTP trong truyền tệp giữa các máy lƣu trữ. Quá trình truyền tệp giữa các máy lƣu trữ đƣợc thực hiện trong quá trình tạo bản sao. Đối với hệ thống LindaX, phƣơng pháp truyền tệp đƣợc sử dụng là truyền tệp với sự điều khiển của ngƣời thử ba. Về bản chất, phƣơng pháp truyền này là việc truyền tệp giữa 2 GridFTP server.
Cơ chế truyền tệp gồm:
Máy điều khiển: Máy không thực sự tham gia quá trình truyền tệp. Thực chất đây là một máy cài GridFTP client.
Máy gửi tệp: Máy có tệp tin cần truyền, cài GridFTP server.
Máy nhận tệp: Máy sẽ nhận tệp và lƣu vào thiết bị lƣu trữ của mình, cài GridFTP server. Quá trình truyền dữ liệu cũng tƣơng tự nhƣ cơ chế truyền file client/server. Tuy nhiên ở đây, máy client không phải là máy đóng vai trò lấy file mà đóng vai trò ngƣời điều khiển hai kênh truyền. Các bƣớc truyền dữ liệu giữa hai máy cài GridFTP server diễn ra nhƣ sau:
Client chọn máy server cần truyền tệp và gửi cho máy này một lệnh PASV. Lệnh này yêu cầu server lắng nghe tại cổng truyền dữ liệu FTP (khác với cổng mặc định).
Máy server đợi kết nối thay vì thực hiện ngay việc truyền dữ liệu. Chế độ này đƣợc gọi là chế độ truyền tệp bị động (Passive mode)
Sau khi máy server gửi lại địa chỉ IP và Port đang lắng nghe, client sẽ gửi IP và Port vừa nhận đƣợc cho server cần nhận tệp.
Server nhận tệp sẽ lập tức kết nối với server truyền tệp, thay vì kết nối đến máy client.
Để khởi động thực sự quá trình truyền tệp, máy client sẽ gửi đến máy gửi tệp RETR “tên tệp” để yêu cầu truyền tệp qua cổng đã có, máy sẽ đọc tệp từ đĩa và gửi lên mạng. Đồng thời máy client gửi lệnh STOR “tên tệp” đến máy nhận để máy này đọc luống dữ liệu từ mạng và ghi vào đĩa.
Sơ đồ quá trình truyền tệp sẽ nhƣ ở hình dƣới
Hình 3.7 – Sơ đồ truyền tệp
Yêu cầu Yêu cầu Yêu cầu
51
Hệ thống LindaX đƣợc thiết kế với module truyền tệp LindaXGridFTP với các chức năng:
Sao chép tệp qua giao thức GridFTP, sử dụng phƣơng pháp truyền tệp có điều khiển bởi ngƣời thứ ba. Máy điều khiển là máy HeadNode, máy truyền và nhận tệp là các máy lƣu trữ lƣới.
Kiểm tra các thông tin của tệp.
Xoá tệp trên lƣới.
Các chức năng trên đều đƣợc thực hiện dựa trên nền tảng bảo mật GSI. Mỗi máy lƣu trữ đều có một khoá công khai và một khoá bí mật, đƣợc chứng thực bởi một CA chủ đáng tin cậy.