CHƢƠNG 3 : HỆ THỐNG MAIL QUY MÔ LỚN VÀ CÁC THÁCH THỨC
5.2. Thiết kế tổng thể:
Quy mô và khả năng phát triển hệ thống:
Do hệ thống thư điện tử được chúng tôi thiết kế để cung cấp dịch vu cho trên 500.000 người sử dụng và có khả năng phục vụ cho một số lượng người sử dụng lớn hơn trong tương lai(lên đến 2.500.000 người), vì vậy hệ thống được chúng tôi thiết kế đảm bảo khả năng mở rộng một cách dễ dàng theo chiều ngang cũng như chiều dọc. Khả năng mở rộng là khả năng thêm các tài nguyên, như máy chủ, bộ nhớ, đĩa cứng, các bộ xử lý … vào hệ thống mà không cần phải thiết kế lại toàn bộ hệ thông. Thiết kế phải đảm bảo được khi có các nhu cầu phát triển số lượng ngừơi sử dụng thì cac tài nguyên mới cần được bổ sung để đảm bảo khả năng hoạt động liên tục của hệ thống.
Hệ thống máy chủ sử dụng cung cấp dịch vụ được thiết kế dựa trên nguyên tắc:
Các máy chủ đều được lựa chọn sao cho vừa đáp ứng đủ khả năng cung cấp dịch vụ cho số lượng người sử dụng hiện tại, vừa có khả năng nâng cấp các bộ phận như : bộ xử lý, bộ nhớ, đĩa cứng cho các nhu cầu trong tương lai (Khả năng mở rộng theo chiều dọc).
Hệ thống được thiết kế sao cho đáp ứng khả năng cung cấp dịch vu cho số lượng người sử dụng hiện tại, và dễ dàng mở rộng trong tương lai bằng cách thêm các máy chủ (Khả năng mở rộng theo chiều ngang).
Mặc dù vậy để bảo đảm đầu tư, các hệ thống cũng được thiết kế theo hướng ưu tiên mở rộng theo chiều ngang vì sau thời gian 2-3 năm việc đầu tư một máy chủ mới sẽ tiết kiệm chi phí hơn so với mở rộng 1 máy chủ đã lạc hậu. Chỉ có một số bộ phận như tủ đĩa, SAN Switch… được chú trọng mở rộng theo chiều dọc vì tính quan trọng đòi hỏi sự ổn định.
Tất cả hệ thống máy chủ cung cấp trong mô hình này đều đảm bảo tốc độ kết nối mạng Gigabit, có giao diện gigabit dự phòng. Nhiều kết nối mạng cho mỗi máy chủ để đảm bảo tính sẵn sàng cho hệ thống mạng.
Không sử dụng các máy chủ có 1 bộ xử lý.
Không sử dụng các máy chủ với 1 đĩa cứng.
Sử dụng mô hình phân tán
Từ 30 đến 40% tải của hệ thống sẽ được dự trữ cho việc dự phòng trong trường hợp
có một máy chủ hư hỏng và được fail over sang một máy chủ khác.
Hệ thống thư điện tử có khả năng hoạt động với nhiều hệ thống chống virus/spam
khác nhau.
Các thành phần riêng lẽ có khả năng mở rộng: Mỗi thành phần trong hệ thống có thể được mở rộng mà không làm ảnh hưởng đến các dịch vụ khác hoặc toàn bộ kiến trúc của hệ thống.
Các máy chủ có thể được tắt để thực hiện việc bảo trì và quản trị mà không làm ảnh hưởng đến toàn bộ hệ thống
Hệ thống được thiết kế đảm bảo duy trì hoạt động của hệ thống trong trường hợp có sự cố tại đơn thể thiết bị trong hệ thống
Giả định kích thƣớc thƣ:
Để phục vụ cho thiết kế và tính toán cấu hình của hệ thống, chúng tôi sử dụng một số giả định, người sử dụng dịch vụ thư điện tử được chia thành các nhóm chính sau:
Những người sử dụng dịch vụ quay số: Nhóm người này thường có xu hướng đọc và xóa tất cả các thư trên máy chủ trong một phiên truy cập giao dịch và gửi vài email. Mỗi thư gửi đi thường có 1 người nhận. 80% các thư có kích thước trung bình là 5 Kb và 20% có kích thước 20 Kb.
thước 5 Kb, 30% thư có kích thước 10 Kb, 5% còn lại có kích thước 1 Mb hoặc hơn. 85% người sử dụng xóa thư lưu trên máy chủ sau khi đọc và 15% lưu lại thư trên máy chủ.
Nhóm người sử dụng Corporate/Enterprise: Đây là nhóm người làm việc trong các công ty, thường truy nhập vào hệ thống thư điện tử trong suốt 8 giờ làm việc. Nhóm người này gửi , nhận và giữ lại rất nhiều thư trên máy chủ. Mỗi người sử dụng đồng thời trong nhóm này gửi khoảng 8 thư mỗi giờ. Mỗi thư có trung bình 4 người nhận. 65% thư có kích thước 5 Kb, 30% thư có kích thước 10 Kb, 5% còn lại có kích thước 1 Mb hoặc hơn. 85% người sử dụng xóa thư lưu trên máy chủ sau khi đọc và 15% lưu lại thư trên máy chủ.
Việc định cỡ(lựa chọn năng lực xử lý của máy chủ) dựa trên kinh nghiệm của Sun Microsystems trong việc thiết kế hệ thống cho môi trường ISP, trên thực tế sử dụng của các khách hàng lớn đa sử dụng phần mềm tương tự cũng như trên các kết quả benchmark đa được tổ chức SPEC xác nhận. Ngoài ra, các thông số dưới đây đã căn cứ vào kết quả khảo sát tại mạng VNN.
Kích thước trung bình của các thư là 100 KB
Số lượng kết nối đồng thời tối đa: 7.500, với 1.5% kết nối POP, 0.5% kết nối IMAP và 1% kết nối qua webmail trên tổng số 250.000 người sử dụng ở mỗi trung tâm.
Năng lực MTA gửi: 150 thư/giây cho toàn bộ 500.000 hộp thư
Năng lực MTA nhận: 300 thư/giây cho toàn bộ 500.000 hộp thư
Mỗi người sử dụng sẽ được cung cấp 100 MB dung lượng lưu trữ và dung lượng lưu trữ trung bình là 20 MB.
Năng lực hệ thống cần được đảm bảo với yêu cầu thời gian phản hồi (response time) đối với các câu lệnh (command) của tất cả các thành phần SMTP, POP3, IMAP là 1 giây.
Thời gian xử lý email từ khi hệ thống tiếp nhận bằng SMTP đến khi khách hàng có thể download là không quá 5 giây, không tính thời gian download.
ĐỀ XUẤT GIẢI PHÁP CHO HỆ THỐNG THƢ ĐIỆN TỬ VNN
Mô hình thiết kế tổng thể của hệ thống
Hình 31: Mô hình thiết kế tổng thể
Về quy mô, hệ thống thư điện tử VNN sẽ phục vụ 500.000 khách hàng trên toàn quốc, cài đặt tại hai trung tâm tại Hà Nội và Tp.HCM với tỉ lệ tương đương về năng lực. Hệ thống cũng được thiết kế để có khả năng mở rộng lên 2,5 triệu hộp thư nếu phát triển trong tương lai. Trong quá trình nhận thư, các thư gửi đến sẽ được phân tải trên các máy chủ MTA IN để được xử lý. Tương tự, các thư gửi đi cũng được phân tải trên các máy chủ MTA OUT. Với thiết kế có thể mở rộng theo chiều ngang cho hệ thống MTA IN/OUT, khi số lượng người sử
hình proxy MMP/WEBMAIL và các thiết bị phân tải load balancer. Với các thiết bị chuyên dụng này, tốc độ chuyển mạch và thời gian đáp ứng sẽ được đảm bảo.
Với hệ thống lưu trữ thư, chúng tôi thiết kế sử dụng các máy chủ lớn, có khả năng xử lý I/O cao với thiết bị lưu trữ ngoài sử dụng các ỗ đĩa cứng quang FC tốc độ cao để đảm bảo tốc độ và thời gian truy cập vào hộp thư cũng như đảm bảo khả năng phát triển hệ thống theo chiều dọc và chiều ngang. Đây là thành phần quan trọng của hệ thống do đó sẽ sử dụng mô hình cluster. Với thiết kế này, khi xảy ra sự cố trên một máy chủ lưu trữ, máy chủ còn lại sẽ đảm nhận việc xử lý các giao dịch thay cho máy chủ bị hư hỏng. Điều này đảm bảo cho hệ thống được hoạt động ổn định và liên tục.
Hệ thống thông tin thư mục LDAP đóng một vai trò rất quan trọng trong toàn bộ hệ thống thư điện tử, chúng tôi đề xuất sử dụng cả mô hình cluster tại mỗi trung tâm cho hệ thống máy chủ master directory cũng như sử dụng mô hình multi master cho các cụm máy chủ cluster tại 2 trung tâm. Dữ liệu LDAP tại 2 trung tâm sẽ được đồng bộ với nhau thông qua kết nối WAN.
Phòng chống virus/spam cũng là một phần rất quan trọng trong hệ thống được thiết kế. Hệ thống sẽ sử dụng giải pháp phòng chống virus/spam Brightmail của hãng Symantec cung cấp. Phần mềm này không những hoàn toàn tương thích với phần mềm thư điện tử Sun Java Messaging Server mà còn được Sun cung cấp hẳn một giao diện riêng để kết nối. Các thành phần Brightmail Client sẽ được tích hợp trên các hệ thống MTA IN/OUT để kiểm tra virus/spam của các thư gửi và nhận trên hệ thống. Lợi ích của phương án sử dụng Brightmail là không cần thiết kế một hệ thống quét, lọc riêng độc lập ở trước MTAs. Mỗi thư điện tử sau khi được kiểm tra về Relay và quyền truy nhập, được chấp nhận vào hệ thống mới được quét virus và spam, giảm tải rất nhiều cho hệ thống virus và spam.
Mô tả hoạt động các thành phần trong hệ thống:
Các thành phân chính trong hệ thống, theo mô hình hiện đại của Sun Java System Messaging Server cung cấp sẽ bao gồm các thành phần sau:
Hình 32: Các thành phần chính
LDAP directory server.
Là nơi tập trung lưu giữ các thông tin: user protập tin, các danh sách phân phối (distribution lists), và các tài nguyên hệ thống khác. Trong giải pháp của mình chúng tôi sử dụng phần mềm Sun Java System Directory Server, phần mềm nay đi kèm miễn phí khi mua Sun Java System Messaging Server. LDAP server sẽ tương tác với MTA, WEBMAIL, MMP, MSS, Delegated Administrator, Virus, SPAM, và hệ thống quản trị khách hàng để cung cấp, cập nhật, sửa đổi về thông tin hộp thư khách hàng và các tham số liên quan.
Message Store.
Lưu trữ và Truy cập các thư điện tử (Message Access and Store): Message store cung cấp nơi lưu giữ các thư của người sử dụng nhận được bằng cách tương tác với các MTA. Các server IMAP, POP và Webmail cung cấp các chức năng nhận thư và xử lý các thư này. Người sử dụng có thể truy xuất đến các hộp thư của mình được lưu ở Message Store thông qua lớp Message Access, có thể là thông qua POP, IMAP hoặc Web server bằng cách tương tác với MMP (POP/IMAP) và WEBMAIL.
MTA Inbound Relay
MTA IN được sử dụng để nhận các email từ internet vào và định tuyến những email này đến máy chủ lưu trữ thư (Message Store). Do đây cũng là điểm tiếp xúc đầu tiên với hệ thống bên ngoài nên MTA IN cũng có nhiệm vụ bảo vệ hệ thống chống lại việc chuyển tiếp thư (relaying) trái phép, hệ thống lọc spam và chống lại các tấn công từ chối dịch vụ DoS.
Hình 32: Thư vào MTA-in
Khi có các thư từ bên ngoài gửi vào hệ thống chúng sẽ được chuyển đến các MTA IN. Các MTA IN sẽ nhận các thư này, đặt chúng tạm thời trong các hàng đợi và chuyển các thư đến các máy chủ xử lý thư theo thông tin được lưu trên LDAP. Một khi các máy chủ xác nhận đa nhận xử lý các thư được MTA IN gửi đến, các thư đặt trong hàng đợi của MTA IN sẽ được xóa đi.
MTA Outbound Relay.
internet.
Hình 33: Thư ra MTA-out
Các máy chủ lớp MTA hoạt động như một relay để chuyển mail. Các mail được gửi từ các thuê bao nội bộ sẽ được định tuyến thông qua MTA relay để xác định địa chỉ của các người nhận là cùng trong nội bộ của hệ thống với người gửi hay không. Nếu người nhận và người gửi trong cùng một hệ thống, một bản sao của thư sẽ được định tuyến vào trong hệ thống lưu trữ thư nội bộ. Với các người nhận không nằm chung trong một hệ thống với người gửi , MTA relay sẽ chuyển thư đó ra các MTA bên ngoài. Thông tin từ LDAP có thể được sử dụng cho các quyết định kiểm soát truy nhập tới hệ thống email.
Messaging Multiplexor hoặc Mail Message Proxy hoặc MMP.
MMP hoạt động như một proxy cho việc nhận thư theo chuẩn POP và IMAP từ Message Store. Nó cho phép dễ dàng chuyển hoặc gán lại các hộp thư đến các khu vực lưu trữ thư khác mà không làm ảnh hưởng đến các thiết lập kết nối của các chương trình đọc mail hoặc phải sử dụng nhiều domain cho các máy chủ lưu trữ. Tất cả các máy chủ MMP đều có vai trò như nhau, và dựa trên thông tin mailhost được lưu trữ trên LDAP để chuyển các tác vụ xử lý tới máy chủ cần thiết, bản chất là đóng vai trò một hệ thống chia tải cho các tác vụ nhận thư.
Hình 33: Hoạt động của MMP
Messenger Express Multiplexor (WEBMAIL)
WEBMAIL là một máy chủ hoạt động như điểm kết nối duy nhất cho các kết nối HTTP truy cập dịch vụ Webmail. Các máy chủ WEBMAIL có vai trò như nhau, và việc kết nối đến một máy chủ WEBMAIL bất kỳ sẽ được chuyển đến các mailbox tương ứng thông qua thông tin được lưu trữ trên LDAP. Với sự đóng góp của thiết bị loadbalancing, những người sử dụng sẽ thấy toàn bộ các máy chủ thư điện tử như một thực thể duy nhất. MMP kết nối đến các máy chủ POP/IMAP và WEBMAIL kết nối đến máy chủ HTTP.
Delegated Administrator Server.
Các dịch vụ quản trị của Sun Java System Messaging Server cung cấp các giao diện đồ họa cho việc lập cấu hình và giám sát máy chủ email. Delegated Administrator cung cấp giao diện quản trị để những người sử dụng hoặc các nhà quản trị có thể quản lý tài khoản của mình. Delegated Administrator cho phép những người sử dụng thay đổi mật khẩu, thiết lập các thông báo khi đi vắng, … Những người quản trị có thể thông qua giao diện này để thêm và xoá user. Máy chủ Delegated Administrator tương tác trực tiếp đến máy chủ LDAP directory server.
PAB
Máy chủ sổ địa chỉ được sử dụng để cho các khách hàng lưu trữ sổ địa chỉ cá nhân thông qua giao diện Web. Máy chủ PAB được đồng bộ thông tin với máy LDAP directory.
DNS Server
DNS server là một bộ phận đặc biệt quan trọng đối với hệ thống thư điện tử, các máy chủ MTA sẽ truy xuất rất nhiều thông tin về địa chỉ của các máy chủ thư bên ngoài để xử lý thư.
Thiết bị phân tải (Load balancer)
Bằng cách sử dụng thiết bị phân tải, một địa chỉ mạng có thể đại diện cho một số lượng lớn máy chủ, nhằm giúp loại trừ hiện tượng tắt nghẽn mạng, cho phép quản lý luồng thông tin và đảm bảo các mức độ dịch vụ cao. Thiết bị phân tải thường đặt trước MMPs, WEBMAILs, Communications Express, inbound và outbound MTAs, directory consumers, …
5.3.1 Sơ đồ đấu nối
Hệ thống thƣ điện tử tại mỗi trung tâm
Hình 34: Thiết kế chi tiết
5.3.2 Khả năng đáp ứng yêu cầu đối với mạng VNN
Quá trình gửi nhận thƣ:
User trong hệ thống gửi thư cho user khác cũng trong hệ thống: Internal User -> Load Balancer -> MTA Outbound Relay 1 hoặc 2 -> Message Store 1 hoặc 2. Khi user của hệ thống gửi thư cho một user khác trong cùng hệ thống thì sẽ được kết nối đến load balancer. Khi đó, load balancer sẽ gửi kết nối đến MTA Outbound Relay 1 hoặc 2. MTA Outbound đọc địa chỉ thư và xác định thư sẽ gửi trong hệ thống nội bộ. Khi đó hệ thống sẽ dùng giao thức LMTP để chuyển thư đến message store. Message store nhận thư này và phân phối thư vào trong mailbox của người nhận.
User trong hệ thống gửi thư ra internet: Internal User -> Load Balancer -> MTA Outbound Relay 1 hoặc 2 -> Internet. Khi user của hệ thống gửi thư cho một user khác ở internet thì sẽ được kết nối đến load balancer. Khi đó, load balancer sẽ gửi kết nối đến MTA Outbound Relay 1 hoặc 2. MTA Outbound đọc địa chỉ thư và xác định thư sẽ gửi không nằm trong hệ thống. Khi đó, MTA Out sẽ gửi thư này ra internet.
Thư từ internet gửi đến user trong hệ thống:External User -> MTA Inbound Relay 1 or 2 -> Message Store 1 or 2. Thư từ bên ngoài sẽ được gửi đến MTA In 1 hoặc 2.