Giải Pháp  Hạ Tầng Mạng
 
Kiến trúc cơ sở hạ tầng - phân tích hệ thống
13:21 | 22/11/2011
Phần 1: Xây dựng một kiến trúc cơ sở hạ tầng tin cậy giá rẻ

Các chữ như là doanh nghiệp,, kiến trúc,cơ sở hạ tầng nghe có vẻ to lớn và đắt đỏ với các doanh nghiệp nhỏ. Thực ra thì, các doanh nghiệp nhỏ (đó là, các tổ chức với 50 người hoặc ít hơn) vẫn cần phần cứng tin cậy để chạy những hệ thống nghiệp vụ quan trọng của họ.

Không giống như những đối thủ khổng lồ, các doanh nghiệp nhỏ phải thường xuyên làm việc nhiều hơn với ít tài nguyên hơn. Việc suy nghĩ đổi mới được yêu cầu để làm vậy có thể cung cấp nhiều cơ hội cho việc phát triển một cơ sở hạ tầng lớn và phức tạp với chi phí thấp một cách tương ứng. Ví dụ, bằng cách tái sử dụng thiết bị cũ và tận dụng lợi ích của phần mềm mã mở, những tổ chức nhỏ này có thể xây dựng các môi trường giàu tính năng mà có thể so được với các hệ thống tương ứng của các doanh nghiệp đối thủ của họ.

Chỉ bởi vì cơ sở hạ tầng của bạn không đắt giá không có nghĩa là nó không đáng tin cậy. Với các lựa chọn được mở rộng của phần mềm mã mở và phần cứng hạ giá, câu hỏi xác đáng hơn có lẽ là, "Có phải các doanh nghiệp đang trả quá nhiều?"

Bằng cách bỏ thời gian để xem xét những gì bạn có, muốn, và cần, bạn có thể tối ưu hóa tài chính có sẵn của bạn. Khám phá những gì bạn thực sự cần, tái sử dụng phần cứng khi có thể, và mua từ các nhà cung cấp của bạn với giá rẻ.

Xem xét những gì bạn đang cố gắng để đạt được trong kiến trúc của bạn cũng như những gì mà khả năng tài chính của bạn sẽ cho phép. Nó giúp để hiểu theo quan điểm nhu cầu, sự cần thiết, và sự mong muốn. Nhu cầu là điều bắt buộc thiết yếu. Sự cần thiết là các nhu cầu cơ bản nhưng chắc chắn hơn. Sự mong muốn là giới hạn mà bạn có thể tưởng tượng và nó có thể thực hiện được. Ngoài ra còn có mơ ước, cái mà công nghệ chưa đạt đến được.

Ví dụ, vấn đề của bạn là đói bụng. Bạn cần một thanh kẹo, nó đưa ra một giải pháp nhanh và rẻ cho vấn đề của bạn. Bạn muốn một cái bánh hem-bơ-gơ, nó giải quyết vấn đề của bạn tốt hơn so với thanh kẹo. Bạn mong muốn một bữa ăn tối với thịt nướng, cái mà giải quyết hoàn toàn vấn đề của bạn nhưng chi phí chắc chắn là cao hơn so với thanh kẹo hoặc bánh hem-bơ-gơ.

Theo thuật ngữ công nghệ thông tin, vấn đề của bạn là một máy chủ chậm chạp, lỗi thời với không gian lưu trữ khiêm tốn. Bạn cần một máy chủ mà có thể lưu trữ được các tệp lớn; vậy, theo thuật ngữ cơ bản, một máy tính để bàn với một ổ đĩa cứng lớn là tối thiểu. Bạn muốn phần cứng cỡ máy chủ với dãy thừa thãi các ổ đĩa độc lập (RAID) và một hệ điều hành ổn định. Bạn mong muốn một máy chủ với nhiều bộ xử lý với dung lượng 8TB và được phân cụm. Rõ ràng rằng, giá cho một chiếc máy tính để bàn hoạt động với vai trò của một máy chủ có một số thỏa hiệp, nhưng giá quá cao của một máy chủ cấp cao cần phải cân nhắc. Ước mơ của bạn là nó sẽ được cài đặt và duy trì bởi con robot giống con người một chút, nhưng IBM chưa phát triển.

Bây giờ, tạo một danh sách các thứ trong cơ sở hạ tầng của bạn mà bạn muốn thay đổi. Có thể bạn cần nhiều không gian lưu trữ hơn. Có lẽ bạn muốn một cách để lưu trữ tạm thời lưu lượng Web. Có phải bạn đang tìm một cách để giảm chi phí cho bản quyền phần mềm? Khi bạn hoàn tất danh sách của bạn, hãy gắn các giá trị vào những lựa chọn của bạn. Quyết định những gì có thể được đáp ứng với một nhu cầu, sự cần thiết, hoặc mong muốn cao cấp, và chuẩn bị để dàn xếp. Ví dụ, để mua một máy chủ dựa trên ngôn ngữ truy vấn có cấu trúc vượt trội mà là cấp thiết cho việc đặt hàng trực tuyến, bạn sẽ phải sử dụng một máy tính để bàn như là một máy chủ kiểm thử thay vì một phần cứng máy chủ được dựng lên cho việc phát triển ứng dụng.

Nhiều thứ mà bạn cần để xây dựng một cơ sở hạ tầng chắc chắn có thể nằm trong trung tâm dữ liệu của bạn. Bằng cách tái sử dụng phần cứng có sẵn cho các nhu cầu cấp thấp, bạn có thể tiết kiệm tiền cho các thiết bị mới và tốt hơn. Thiết bị cũ hơn có thể thoả mãn cho các thành phần cấp thấp như là thiết bị kiểm thử. Việc cài đặt các nâng cấp giá rẻ, như là bộ nhớ và các đĩa cứng, có thể tăng hiệu suất một cách đáng kể.

Việc tạo một kho đầy các máy tính và các bộ phận sẽ rất thuận tiện khi bạn muốn thêm các phần để xây dựng một cơ sở hạ tầng tốt hơn. Ví dụ, bạn có hai máy chủ tương tự về bộ xử lý, RAM, và dung lượng ổ đĩa cứng. Bộ nhớ có thể chuyển từ máy chủ thứ nhất sang máy chủ thứ hai, và các ổ đĩa cứng có thể được sử dụng để tạo một mảng RAID tách biệt.

Rõ ràng rằng, thiết bị cũ hơn có thể có vấn đề về độ tin cậy mà nó rất khó giải quyết, bởi vì chúng hết hạn bảo hành. Việc tìm kiếm các phần để thay thế có thể là một vấn đề nếu dòng sản phẩm không được duy trì. Khá nhiều các ứng dụng kiểm thử phần cứng miễn phí hoặc ít tiền có sẵn để tải về: Hãy dùng chúng để tìm phần cứng phù hợp.

Thêm nữa, một vài nhà cung cấp đưa ra các bảo hành kéo dài giá rẻ với một mức phí tượng trưng. Điều này có thể hữu ích nếu bạn lo lắng về hỏng hóc trầm trọng.

Đôi khi, thương vụ tốt nhất có thể được tìm thấy ở chỗ không thông thường.

Hãy hỏi người đại diện bán hàng của nhà cung cấp của bạn xem anh ta hay chị ta có thể tìm cho bạn một thương vụ tốt mà không được đăng trên trang Web của nhà sản xuất. Những người này có kiến thức về thiết bị bị trả lại, các sản phẩm bị dừng sản xuất, và hạn mức bán hàng cuối quý mà có thể tiết kiệm cho bạn hàng trăm, thậm chí hàng ngàn đô la.

Các thiết bị bị trả lại không có nghĩa là các thiết bị bị hỏng. Sản phẩm có thể bị gửi nhầm. Thiết bị bị đánh dấu như "trầy xước và méo mó" có thể cần sự gạn lọc những gì bị hỏng hóc. Trong hầu hết các trường hợp, sự hỏng hóc xuất hiện tại một số điểm trong khi vận chuyển sản phẩm và có thể là bất cứ thứ gì từ một vết trầy xước nhẹ trên bề mặt tới cái gì đó mà giống như trò chơi ghép hình.

Một nguồn khác để tìm kiếm là các nhà môi giới thị trường phần cứng. Trang các sản phẩm của IBM có những thương vụ cực lớn với thiết bị rất cao cấp mà có thể nằm ngoài tầm với của bạn. Điều tích cực nhất là hầu hết các sản phẩm ở đây đều có dịch vụ bảo hành của IBM. IBM cũng đưa ra một phân loại rộng các hệ thống được sử dụng và được chứng nhận với giá được giảm rất nhiều. Mặc dù lợi ích tài chính để mua sắm trên thị trường là cao, bạn có thể cần dàn xếp với sự tùy biến và các lựa chọn. Ví dụ, bạn có thể tìm thấy một máy chủ mà đáp ứng tất cả các yêu cầu của bạn nhưng lại không có cạc RAID.

Hãy chuẩn bị để quyết định nhanh với những sản phẩm giảm giá này. Bởi vì bạn đang giao dịch với số lượng bị hạn chế, với 10 sản phẩm mà nhà cung cấp có trong kho có thể bị nuốt mất trong nháy mắt. Bởi vì nhà cung cấp đang cố gắng thanh lý kho một cách nhanh chóng, người đại diện bán hàng của bạn có thể không có khả năng để giữ chỗ cho bạn trong khi bạn cân nhắc.

Các trang đấu giá trực tuyến có thể có những thương vụ lớn cho thiết bị mới và được tân trang lại, nhưng những trang này chứa nguy cơ tiềm ẩn. Đầu tiên, bạn có khả năng thất bại khi tham gia đấu giá, sau đấy bạn phải bắt đầu quá trình tìm kiếm lại từ đầu. Thứ hai, thiết bị mà bạn mua có thể không hoạt động và có thể không có bảo hành của nhà sản xuất. Trước khi bạn đấu giá, hãy kiểm tra để có được một số thông tin cơ bản của người bán, như mức độ hài lòng từ đánh giá của người mua khác. Gạn lọc người bán — bằng văn bản — xem có bảo đảm gì không. Nếu việc mua bán không nghiêm như mong đợi, hãy yêu cầu người bán đảm bảo sản phẩm hoạt động.

Bắt đầu xây dựng cơ sở hạ tầng mới của bạn bằng cách sử dụng công nghệ được chứng minh miễn phí hoặc giá rẻ. Phần mềm mã mở có một bản theo dõi về tính tin cậy và bảo mật đã được chứng mình và có thể làm việc tốt như — và đôi khi tốt hơn — các phần mềm thương mại tương ứng.

Các lựa chọn tốt nhất cho kiến trúc hạn hẹp về tài chính nằm trong cộng đồng mã mở. Bởi vì phần mềm mã mở thường miễn phí, bạn có thể tiết kiệm tiền cho việc cấp phép phần mềm so với các sản phẩm độc quyền.

Có lẽ thành viên cộng đồng mã mở lớn nhất là Linux®. Sẵn sàng với các thương hiệu và phiên bản khác nhau, Linux đủ mạnh để xử lý các cơ sở dữ liệu lớn và được phân cụm nhưng cũng đủ đơn giản để thực thi một trang Web nhỏ. Một lựa chọn mã mở phổ biến khác là OpenOffice.org. OpenOffice.org cung cấp một bộ đầy đủ các phần mềm hiệu quả mà có thể so sánh được với Microsoft® Office và sẵn sàng cho hầu hết các hệ điều hành, bao gồm Microsoft Windows® và Apple Mac OS X.

Vấn đề lớn nhất với các công cụ mã mở có thể là thiếu hỗ trợ. Một số nhà sản xuất phần mềm mã mở lớn — ví dụ như Red Hat — cung cấp sự hỗ trợ miễn phí qua điện thoại, nhưng nó không khác thường khi mà người quản trị hệ thống tìm kiếm các bảng thông báo trên Internet cho một giải pháp cho các vấn đề cụ thể của họ. Một vấn đề khác mà bạn có thể gặp với các sản phẩm mã mở là khối lượng mã kịch bản hoặc tùy biến mà bạn có thể cần thực hiện để làm cho nó hoạt động với kiến trúc của bạn. Những nhà quản trị mà thiếu kỹ năng lập trình hoặc viết mã kịch bản có thể cảm thấy e ngại với những công cụ này.

Với những gì bạn đã đọc đến bây giờ, hãy áp dụng nó vào một tình huống giả định. Trong công ty nhỏ với 40 nhân công của bạn, trung tâm dữ liệu gồm một bộ bốn máy chủ đơn giản, một kết nối Internet, và một bộ định tuyến mạng hoặc tường lửa và một bộ chuyển mạch (switch). Ba máy chủ sử dụng các hệ điều hành máy chủ của Microsoft, một trong số đó dành cho Microsoft Active Directory, cái khác dành cho Microsoft Exchange Server, và cái thứ ba để lưu trữ tệp. Máy chủ còn lại cài Linux và nằm trong khu vực phi quân sự (DMZ) của mạng.

Bây giờ, hãy thêm không gian gian đĩa, một bộ lưu trữ tạm thời Web, và phần mềm trợ giúp, và hãy xem có thể bạn có thể giải quyết trong phạm vi tài chính như thế nào.

Bắt đầu với không gian đĩa cho dữ liệu của các phòng ban, bạn có một số lựa chọn. Đầu tiên, tìm phần cứng mà có rất nhiều không gian đĩa. Mất 10 phút để thương thảo với đại diện bán hàng của IBM bạn sẽ có một máy chủ với RAID có sẵn nhưng không có đĩa. Thật may là, họ cũng có một số đĩa không được tiếp tục phát triển mà họ sẵn sàng bán với giá rẻ hơn.

Để giúp giảm giá hơn nữa, hãy sử dụng một hệ điều hành mã mở thay vì một sản phẩm thương mại từ công ty nào đó như Microsoft. Bằng cách này, bạn không phải trả tiền bản quyền. Sử dụng một bản phát hành miễn phí của Linux, bạn có thể tạo một máy chủ tệp mà có thể truy cập được từ các máy trạm Windows thông qua Samba. Nhưng, bởi vì tất cả những gì bạn muốn là một máy chủ tệp không rườm rà, hãy chọn FreeNAS. FreeNAS là một hệ thống lưu trữ kết nối với mạng mà cài đặt và quản lý dễ dàng — và miễn phí. FreeNAS cũng hoạt động với Active Directory để gán quyền truy cập tới các tệp.

Squid-Cache là một ứng dụng trên Linux mà có thể giúp giảm căng thẳng trên băng thông của bạn và giúp bạn quản lý lượng truy cập Internet của nhân viên trong khi làm việc. Sử dụng một máy chủ ủy nhiệm (proxy) để lưu trữ tạm thời lưu lượng Web từ các trang người dùng phổ biến có thể giảm băng thông Internet cho khách hàng. Với Squid-Cache, bạn có thể tạo các báo cáo về các trang mà người dùng đang truy cập và tạo các bộ lọc để ngăn chặn nội dung không mong muốn hoặc không chuyên nghiệp.

Phần cứng mà bạn chạy phần mềm này sẽ là một máy chủ giá rẻ mà đã được trang bị với một đĩa cứng mở rộng và nhiều bộ nhớ hơn; nó sẽ chạy hệ điều hành Linux. Cài đặt một máy tính để bàn giống như một máy chủ, và để nó trong phòng lạnh như một thiết bị dự phòng khi gặp sự cố cho máy chủ.

Trong một công ty nhỏ như vậy, mọi người chỉ gọi người mà họ biết rõ nhất để giúp họ. Khi công ty phát triển và kiến trúc IT trở lên phức tạp hơn, các bộ phận của nó sẽ chồng chéo lên nhau. Các vấn đề phải được ghi dấu một cách tập trung sao cho tất cả các thành viên trong đội IT có thể biết các vấn đề với các hệ thống và các ứng dụng.

Spiceworks là một công cụ tốt mà các doanh nghiệp nhỏ có thể sử dụng để điều khiển mạng, kiểm kê phần cứng và phần mềm của họ, và tạo các vé hỗ trợ. Từ việc cài đặt, Spiceworks bắt đầu quét mạng của bạn và tạo một báo cáo những gì nó thấy. Việc điều chỉnh công cụ để đáp ứng nhu cầu của công ty tốn thời gian nhưng xứng đáng. Bạn có thể cài Spiceworks trên máy để bàn của bạn nhưng hãy sử dụng không gian của máy chủ dành riêng cho các tệp dùng chung.

Đó! Bạn đã hoàn thành tất cả các mục đích ban đầu và đã chỉ phải chi một phần nhỏ ngân sách của bạn.

Phần 2: Phát hiện, phòng tránh, và loại trừ các tắc nghẽn hệ thống

Tắc nghẽn I/O đã trở thành vấn đề rất phổ biến bởi vì sự nâng cấp không ngừng của bộ xử lý và tài nguyên bộ nhớ. Việc tăng tốc độ xung nhịp cho bộ xử lý và truy cập bộ nhớ diễn ra liên tục. Ngày nay, phần lớn các hệ thống có nhiều bộ xử lý, và các bộ xử lý thường là đa lõi và chạy với tốc độ GHz. Ví dụ, một máy chủ cao cấp có thể có 4 bộ xử lý 4 lõi với tốc độ GHz .

Cùng với đó, tốc độ truy cập bộ nhớ cũng đang được nâng cấp để theo kịp với tốc độ của lõi. Hai loại bộ nhớ chủ yếu được sử dụng hiện nay là DDR3 và FB-DIMM (Fully Buffered) cùng với các cây lưu trữ tạm thời L1/L2/L3 lớn hơn. Mặc dù bộ xử lý và bộ nhớ vẫn chủ yếu là những nguồn xảy ra sự tắc nghẽn, nhưng I/O thường bị bỏ qua và không được kiểm tra cẩn thận. Phần này sẽ kiểm tra các công cụ và phương pháp để tránh, phát hiện, và loại trừ các tắc nghẽn trong:

  • Các liên kết cấu trúc và bus có khả năng mở rộng như PCI Express.
  • Kênh máy chủ, các bộ điều hợp mạng bus và các mạch điều khiển I/O.
  • Các thiết bị lưu trữ.

Cách tốt nhất để tránh một tắc nghẽn I/O là cần đánh giá và thiết kế cẩn thận giao diện I/O từ giao diện của tổ hợp bộ xử lý xuống tới các kênh I/O, và bao gồm cả các nguồn và bộ chứa cơ bản dành cho dữ liệu tốc độ cao, như là các thiết bị lưu trữ và mạng cũng như các hệ thống phụ. Phương pháp giáp mối (end-to-end) này rất quan trọng bất kể đối với một hệ thống được thiết kế sẵn (OTS) hay được được thiết kế tùy chỉnh. Các hệ thống OTS vẫn yêu cầu lựa chọn cẩn thận các thành phần và các hệ thống phụ quan trọng như dưới đấy:

  • Lựa chọn mạch điều khiển bộ nhớ và chipset I/O, đặc biệt với khóa chuyển mạch PCI-e dành cho việc mở rộng kênh I/O
  • Hiệu năng của mạch điểu khiển giao diện mạng (NIC), bộ điều hợp kênh máy chủ (HCA), bộ điều hợp bus máy chủ (HBA), và khả năng cân bằng dải tần và các hoạt động đầu vào và đầu ra để đo các độ trễ
  • Khả năng của thiết bị lưu trữ với công nghệ được lựa chọn dựa trên chi phí không chỉ về dung lượng mà còn sự thực thi truy cập

Bộ nhớ và các chipset mạch điều khiển I/O là một thành phần quan trọng của các hệ thống có thể mở rộng được và thường là nguồn xảy ra tắc nghẽn và vấn đề biến đổi quy mô hệ thống. Phần lớn các tổ hợp bộ xử lý được thiết kế giao diện cho các kênh I/O như là Infiniband, gigE/10GE Ethernet, Fibre Channel, và các mạng và cấu trúc dải tần cao khác, thông qua PCI Express. Vấn đề quan trọng của việc thiết kế là liệu mỗi nút (máy chủ hay nhóm bộ xử lý) trong thiết kế hệ thống tổng thể có đủ các kênh I/O dành cho:

  • Kết nối với kho lưu trữ.
  • Kết nối tới các mạng dịch vụ máy khách.
  • Kết nối với các mạng hay cấu trúc có hiệu lực cao. Điều này cung cấp sự mở rộng khung lưới hay các cụm máy.

Phần lớn các nhà thiết kế quan tâm trước tiên tới các yêu cầu về mạng và lưu trữ và đảm bảo rằng có đủ các kênh I/O, nhưng họ thường quên chú ý tới sự tương thích của các kênh I/O đối với các kết nối mạng hay cấu trúc biến đổi quy mô. Biến đổi quy mô các kênh I/O rất quan trọng vì nó giúp các vấn đề tắc nghẽn hệ thống có thể được giải quyết trong tương lại. Kích cỡ của một nút không cần phải lớn, nhưng một khối xây dựng cho biến đổi quy mô hệ khung lưới và các cụm máy cần được cân bằng tốt vì điều này rất quan trọng. Xem Tài nguyên để có liên kết tới các giải pháp khóa chuyển mạch PCI-e dành cho các kênh I/O.

Các kết nối tới kho lưu trữ và các mạng dịch vụ máy khách dành cho việc biến đổi quy mô hệ thống bao gồm việc sử dụng của NIC, HCA, hay HBA. Những bus máy chủ có giao diện mạch điều khiển I/O có thể mở rộng này giống như PCI-e đối với các mạng, cấu trúc, và các mạng vùng lưu trữ (SAN). Để tránh bị tắc nghẽn ở một trong những mạch điều kiện này, hãy kiểm tra đơn thể sự thực thi, và xem xét cẩn thận các kỹ thuật bên dưới. Ví dụ, một NIC đơn giản sẽ cần xử lý quan trọng trên hệ thống máy chủ để chạy một cấu trúc giao thức truyền tải, trong khi một động cơ giảm tải TCP (TOE) và phần lớn SAN HBA cung cấp xử lý giao thức quan trọng trên mạch điều kiện hơn là nạp hệ thống máy chủ.

Tốc độ truyền tải và sự cân bằng giữa khoảng cách, nguồn điện, và tốc độ truyền (bit) cũng cần được xem xét kỹ lưỡng. Ví dụ, Infiniband có thể hỗ trợ tốc độ dữ liệu chập bốn (QDRs) của 40Gbps dành cho các cụm máy, mặc dù Ethernet có thể tốt hơn cho tính khả vận nội tại. Sự so sánh tổng thể của các giao thức này không phải là mục đích của bài viết này, nhưng những phần phát hiện và loại trừ cung cấp các công cụ đánh giá tốt cho việc kiểm tra lựa chọn.

Ngày nay, phần lớn lưu trữ có thề mở rộng được là thiết bị lưu trữ được đính kèm SAN hay đính kèm mạng (NAS) hơn là một đính kèm trực tiếp với các mạch điều khiển ATA hay SCSI, nên các mạng và đính kèm lưu trữ đang hội tụ. Lưu trữ mạng có thể được đính kèm SAN, nơi hệ thống phụ SAN cung cấp truy cập khối cho các tập hợp của các đĩa tới các máy chủ khởi đầu dành cho việc truy cập cả hai bộ đĩa (JBOD) hay các dãy đĩa RAID. NAS chủ yếu được truy cập bởi các máy khách hệ thống tệp mạng (NFS) (hay các giao thức các cụm máy hay hệ thống tệp được phân phối khác) qua một đầu hay cổng nối NAS và thỉnh thoảng bởi lưu trữ được đính kèm trực tiếp.

Điều khiển các kênh I/O và NIC/HBA/HCA với một máy phát điện tải trọng có thể cung cấp cùng lúc hai hoạt động Đọc và Ghi với nhiều I/O với kích cỡ khác nhau. Đây là một trong những cách tốt nhất để tìm ra các tắc nghẽn I/O. Mặc dù vậy, điều khiển tải trọng với một công cụ như IOzone dành cho Linux và Windows hay Iometer dành cho Windows và Linux (xem Tài nguyên) cũng rất hữu ích trong việc giám sát các số liệu cho các truyền tải I/O. Đối với Linux, bạn có thể giải quyết việc này bằng SYSSTAT (hay iostat); đối với Windows, bạn có thể thực hiện với giám sát thực thi (PerfMon — xem Tài nguyên).

Chú ý rằng IOzone làm việc tương đối tốt trên Windows như là trên Linux và chạy qua một hệ thống tệp. Việc chạy qua hệ thống tệp giúp thuận tiện trong việc kiểm tra thực thi của hệ thống tệp (các tính năng lưu trữ tạm thời và bộ nhớ đệm I/O) cùng với sự thực thi khối I/O ở dưới, nhưng nó yêu cầu sự phân tích cẩn thận để phân biệt giữa các vận chuyển I/O được trữ và hoạt động thực của kênh I/O. Iometer có thể chạy trên cả ổ đĩa vật lý không được định dạng và ổ đĩa với hệ thống tệp NTFS trong Windows. Khả năng chạy trên các ổ đĩa vật lý cung cấp một phương pháp cho việc quyết định một kênh I/O không có lưu trữ tạm thời và bộ nhớ đệm để lưu trữ thực thi. Iometer trong Linux chủ yếu chỉ chạy qua một hệ thống tệp. Bạn có thể chạy IOzone với các tệp đủ lớn và với đủ người vận hành I/O cùng lúc mà bạn có thể đạt tới đỉnh lưu trữ tạm thời — điểm mà tại đó các I/O không thể đáp ứng của việc Đọc từ lưu trữ tạm thời và Ghi tới các bộ đệm.

Việc sử dụng IOzone trong Windows để phân tích lưu lượng đĩa (xem Hình 1), độ trễ của đĩa và độ sâu của hàng đợi (xem Hình 2), và các đặc điểm kích cỡ vận chuyển của đĩa I/O (xem Hình 3) tương đối đơn giản. Bạn có thể sử dụng các tệp cấu hình Perfmon.msc có trong phần Tải xuống, minh họa bằng biểu đồ cho các tham số thực thi này bằng cách chạy tải trọng với lệnh:

iozone.exe -i0 -i1 -i2 -R -s100M -r128K -t32 -T 

Lệnh này chạy lần lượt Ghi qua với các luồng 32 người dùng, các yêu cầu chuyển giao 128KB I/O sử dụng các tệp 100MB sau một Đọc tuần tự, và sau đó chạy lệnh Đọc ngẫu nhiên, tiếp theo là việc Ghi. Đọc Ngẫu nhiên và Ghi có mức thực thi thấp hơn nhiều so với tuần tự, bởi vì đĩa phải tìm kiểm và xoay vòng những vị trí ngẫu nhiên trên phương tiện lưu trữ.


Lưu lượng đĩa

Chú ý rằng Hình 1 biểu thị việc Ghi sau khi quá trình Ghi đầu tiên hoàn thành một nửa như trên biểu đồ, đối với việc chạy -i0, và sau đó biểu thị thực thi việc Đọc cho -i1 cho một nửa còn lại trên biểu đồ, như trong Hình 2 và Hình 3. Rõ ràng, ổ đĩa SATA 2.5" trong chiếc máy tính xách tay của tôi bị một tắc nghẽn với tốc độ của I/O khoảng 20MB/sec. Đối với thực thi truy cập lớn hơn đến dữ liệu lưu trữ, tôi cần một thiết bị nhanh hơn, như ổ đĩa SAS (10,000 RPM), dãy đĩa RAID, hay một SSD.


Tốc độ đĩa I/O

Trong Hình 2, tốc độ vận chuyển 64K của đĩa I/O dường như phù hợp với hệ thống tệp NTFS trong cả việc Đọc và Ghi.


Đĩa chờ

Trong Hình 3, bạn có thể thấy rằng với các hệ thống tệp NTFS, có một thuận lợi rất lớn đối với các bộ đệm Ghi, chúng giữ hàng chờ Ghi xuống ít hơn năm I/O và độ trễ dưới 50 mili giây. Mặc dù vậy, đối với việc Đọc, bạn thấy một kịch bản khác hoàn toàn, với độ trễ lên tới 500 mili giây và một hàng chờ đọc với 35 đến 40 I/O. Bảng 1 là kết quả IOzone cho ổ đĩa SATA trong chiếc máy tính xác tay của tôi, IOzone chạy trong một thư mục trên Windows XP với hệ thống tệp NTFS. IOzone cũng chạy giống như trên Linux, và bạn có thể sử dụng iostat để giám sát các số liệu

Tải trọng KB/s
Ghi lần đầu 17476.48
Ghi lại 17407.94
Đọc lại 6595.88
Đọc Ngẫu nhiên 6080.07
Ghi Ngẫu nhiên 9378.40

Các công cụ hữu ích khác để điều khiển I/O hay mạch điều khiển mạng và phân tích kết quả:

  • Netperf, dành cho việc tạo ra các gói tin TCP hay giao thức gói dữ liệu người dùng (UDP) trên Linux.
  • Wireshark, dành cho giao thức mạng IP và phân tích thực thi trên cả máy chủ Linux và Windows.
  • SYSSTAT dành cho Linux.
  • Microsoft SQLIO dành cho Windows, nó cung cấp phân phối độ trễ.

Tôi không trình bày chi tiết các công cụ này ở đây, nhưng tất cả các công cụ này đều dễ nghiên cứu và sử dụng. Khả năng điều khiển I/O tới lưu trữ hay các giao diện mạng và để tập hợp và phân tích lưu lượng I/O, tất cả những điều này đều rất cần để phát hiện ra các tắc nghẽn I/O.

Bạn có thể loại trừ các tắc nghẽn I/O và lưu trữ theo nhiều cách khác nhau, nhưng bạn phải xem xét cẩn thận về mặt chi phí, sự thực thi, và cân bằng dung lượng. Các lựa chọn dành cho việc biến đổi quy mô hệ thống từ các đĩa SATA/SAS được đính kèm trực tiếp, được tìm thấy trong các máy chủ:

  • Nâng cấp HDD trục xoay lên SSD.
  • Các bộ đĩa và các mạch điều khiển RAID trong máy chủ (có thể mở rộng lên tới 8 đĩa SFF 2.5" SAS trong 2RU hay 16 trong 4RU— ví dụ, các máy chủ IBM System x®).
  • Các dãy đĩa RAID được đính kèm SAN có thể mở rộng I/O ngẫu nhiên lên tới petabyte và gigabyte.
  • Các đầu và cổng NAS cung cấp các dịch vụ tệp cho các máy khách.

Lựa chọn SSD nói chung bao gồm cả đĩa RAM và đĩa flash. Cả hai chi phí rất đắt nhưng tất nhiên chúng cung cấp sự thực thi tối ưu với một dung lượng rất nhỏ. Hiện nay, nhiều nhà cung cấp đã đưa ra các sản phẩm SSD. Thực thi chính xác nhưng chi phí trên một gigabyte ít nhất cũng cao gấp 10 đến 20 lần so ổ đĩa quay. Đĩa RAID tất nhiên có giới hạn, nhưng 16 trục quay có thể loại trừ tắc nghẽn lưu trữ I/O cho nhiều ứng dụng cần tới hàng trăm megabyte để thực thi. Đối với những ứng dụng cần tới hàng gigabyte để thực thi, thì sự lựa chọn tốt nhất là SAN hay NAS. Ở đây, bạn có rất nhiều lựa chọn, nhưng một trong những lựa chọn tốt nhất là thừa số biểu mẫu nhỏ, dãy đĩa dày như là Atrato v1000 (xem Tài nguyên), nó sử dụng một mạch điều khiển IBM System x3650.

Các tắc nghẽn bộ xử lý thường xảy ra với các ứng dụng điện toán lớn như là xử lý tệp ảnh hay các thuật toán là các NP-hard. Bình thường, rất nhiều hệ thống có bộ xử lý dự phòng; nhưng thực tế, chúng có thể gây tốn điện hay tỏa nhiệt lớn trong khi nó lại không giúp cải thiện nhiều cho tổng thể thực thi hệ thống. Khi bạn phát hiện một tắc nghẽn bộ xử lý, bạn (cơ bản) có ba tùy chọn để loại trừ nó:

  • Thêm tài nguyên bộ xử lý.
  • Tối ưu các mã trình ứng dụng để sử dụng các tài nguyên bộ xử lý một cách hiệu quả hơn.
  • Thêm các động cơ giảm tải máy chủ cho các xử lý liên quan tới I/O lưu trữ và mạng.

Thêm các tài nguyên bộ xử lý bằng cách thêm các bộ xử lý đa lõi. Việc này giúp các ứng dụng được phân luồng và các hệ thống hoạt động máy chủ có thể cân bằng nạp qua nhiều lõi khác nhau: Điều này rất phổ biến hiện nay. Bạn có thể tối ưu hóa bằng cách sử dụng các công cụ định hình, nhưng thường thực hiện như vậy đòi hỏi người phát triển phải mất nhiều thời gian để mã hóa lại các ứng dụng và kiểm tra hồi quy sau khi kết thúc tối ưu hóa. Đưa thêm các lõi bộ xử lý vào các điểm tắc nghẽn thường là phương pháp đơn giản nhất, nhưng nó sẽ làm tăng lượng tiêu thụ điện. Phương pháp trước đây là nâng cấp tốc độ xung nhịp bộ xử lý không tạo được hiệu quả vì nó tiêu tốn điện lớn, tỏa nhiệt nhiều, và những vấn đề thiết kế phần cứng không đáp ứng tốc độ GHz. Phần này đề cập các công cụ định hình để tối ưu hóa mã trình và luồng đa lõi. Các máy chủ giảm tải với các động cơ giảm tải I/O như là TOE cũng là một lựa chọn đáng để xem xét.

Các tài nguyên bộ xử lý có kích cỡ tương ứng dựa trên định hình ứng dụng và phân tích tổ hợp các thuật toán là cách tốt nhất để tránh một tắc nghẽn bộ xử lý. Phép đo lường để đo MIPS và FLOPS cũng rất hữu ích, nhưng nói chung, một trong những cách để thiết lập kích cỡ cho bộ xử lý bạn cần là chạy các kiểm tra với các ứng dụng thực và định hình đơn giản và ước lượng biến đổi quy mô hệ thống với tốc độ xung nhịp và khả năng thực hiện tính toán song song giữa một ứng dụng tồn tại. Xem lại luật Amdahl:


Speedup = 1 / [(1 - P) + (P/N)] 

nơi P là một phần của thuật toán có thể được tạo song song và N là số bộ xử lý. Tất nhiên trong trường hợp tốt nhất, tốc độ là 1/[1/n], trong đó N cho thuật toán song song hay ứng dụng. Rất nhiều ứng dụng có thể song song, những một trong đó không thể như vậy, nên đây là một xem xét cơ bản trước khi đầu tư thêm nhiều lõi bộ xử lý và cố gắng phân luồng một ứng dụng. Việc hiểu rõ tổ hợp thuật toán bên dưới và liệu nó là P, NP-Complete, hay NP-hard, là vấn đề rất cơ bản. (NP có nghĩa là một thuật toán sẽ chạy trong thời gian đa thức, không xác định.)

Hoàn toàn không thực tế khi tin rằng bạn có thể tránh một tắc nghẽn bộ xử lý bằng cách viết lại thuật toán NP thành thuật toán tổ hợp P, nhưng hy vọng điều đó sẽ xảy ra. Nhiều sự tối ưu hóa và các thuật toán đồ thị giao nhau rất hữu ích nhưng NP-hard thì không. Tổ hợp thuật toán có thể cũng đơn giản, nhưng những yêu cầu cao tầng cho các điện toán cũng có thể làm tràn một bộ xử lý; trong những trường hợp này, bạn có thể thường sử dụng giảm tải để tránh tắc nghẽn bộ xử lý. Ví dụ, bạn có thể sử dụng những đơn vị xử lý đồ họa (GPU) để giảm tải cho các hoạt động xử lý hình ảnh đơn giản. Những hoạt động này bao gồm những hoạt động đơn giản nhưng trong đó các hình ảnh có dung lượng hàng triệu pixel. Lý tưởng, phòng tránh là biện pháp tốt nhất, nhưng mã trình thường được sử dụng lại hay các ứng dụng được chứa, và nó cần thiết phải tìm ra nguồn tắc nghẽn của bộ xử lý. May mắn là có rất nhiều công cụ giúp để thực hiện điều này.

Chi tiết về phân tích tắc nghẽn bộ xử không được đề cập trong bài viết này, nhưng bạn có thể tìm hiểu sâu hơn trong các bài viết như là "Các bài học lớn, Phần 3: Điều chỉnh và giám sát thực thi." Tổng thể, các phương pháp này có thể được tổng kết như dưới đây:

  • Chạy định hình thời gian của các ứng dụng để quyết định độ dài đường dẫn của thuật toán (số lượng của chỉ dẫn cho một khối mã trình).
  • Chạy định hình thời gian để quyết định sự thi hành hiệu quả của một đường dẫn (bao nhiêu thời gian để đi qua một khối các chỉ dẫn).
  • Phân tích hiệu của của đường ống dẫn bộ xử lý (một đường ống dẫn có thể ngưng hoạt động vì thiếu lưu trữ tạm thời, phụ thuộc dữ liệu và I/O, thiếu sự dự báo như là thiếu sự dự báo brand.)
  • Phân tích luồng để quyết định hoạt động luồng và nạp cân bằng cho ánh xạ tới các lõi bộ xử lý.

Bởi vì các công cụ cho những phương pháp này đã được đề cập chi tiết trong các bài viết khác, nên tôi chỉ cung cấp danh sách những công cụ thường được dùng:

  • PerfMon trên Windows
  • Intel® VTune và các công cụ đơn vị giám giát thực thi (PMU) khách dành cho Linux và Windows
  • Oprofile cho Linux
  • pfmon cho Linux
  • Valgrind cho Linux, những công cụ này giúp tìm ra các luồng lõi

Loại trừ các tắc nghẽn bộ xử lý cũng giống như việc tránh tắc nghẽn bằng sử dụng kích thước tài nguyên bộ xử lý một cách thích hợp, giảm tải, phân luồng cho các điện toán song song, và hiểu tổ hợp thuật toán bên dưới. Điều này thường yêu cầu phải mã hóa lại các ứng dụng, điều này cần một chi phí lớn. Có lẽ cách đơn giản nhất để cải thiện hiệu quả là kiểm tra với các mức độ tối ưu hóa trình biên dịch mà không thay đổi mức nguồn cao, nhưng kiểm tra hồi quy vẫn rất cần thiết trong trường hợp này. Thay vì phân luồng cho các điện toán song song, các phương pháp khác không dược thiết kế từ đầu cho đồng quy tối đa hay giảm tải (ví dụ, GPUs, TOEs) đối với các hàm, loại trừ các tắc nghẽn bộ xử lý yêu cầu tối ưu hóa mã trình bằng thủ công hay kỹ thuật trình biên dịch.

Các tắc nghẽn bộ nhớ rất phổ biến với nhiều ứng dụng khi chúng không thể khít với lưu trữ tạm thời đặc biệt bởi vì thời gian truy cập của bộ nhớ DRAM ngoài chậm hơn tốc độ xung nhịp của lõi bộ xử lý. Các tắc nghẽn bộ nhớ thường xuất hiện như là các tắc nghẽn bộ xử lý, nhưng bạn có thể phân biệt chúng qua sự định hình, nó cho biết thi hành thiếu hiệu quả của các thuật toán bởi vì các đường ống bộ xử lý ngưng hoạt động do phụ thuộc dữ liệu và vòng chờ trong khi dữ liệu được đưa vào lưu trữ tạm thời

Tránh các tắc nghẽn bộ nhớ yêu cầu bộ nhớ cần được nâng cấp không chỉ về dung lượng mà còn về truy cập dải tần tại độ trễ hợp lý. Thêm nữa, ánh xạ tới bộ nhớ vật lý cũng rất quan trọng và thường được cung cấp bởi một hệ thống hoạt động, nhưng nó vẫn cần bạn giám sát cẩn thận.

Bạn có thể phát hiện các tắc nghẽn bộ nhớ bằng cách chạy ứng dụng và định hình truy cập bộ nhớ và thực thi lưu trữ tạm thời. Nếu bạn không lựa chọn chạy ứng dụng, thì việc chạy một tải trọng truy cập bộ nhớ là một sự lựa chọn thay thế tốt nhất (xem Ví dụ 1). Một cách để thực hiện điều này là truy cập bộ nhớ qua một đĩa RAM, sử dụng các công cụ tạo ra tải trọng I/O được miêu tả trong phần Công cụ và kỹ thuật: Phát hiện các tắc nghẽn I/O, của bài viết này.


# mke2fs -m 0 /dev/ram0 
# mount /dev/ram0 /mnt/rd1
# dd if=/dev/zero of=/mnt/ramdisk1/newfile bs=128K
count=40 40+0 records in 40+0 records out
5242880 bytes (5.2 MB) copied, 0.00413 seconds, 1.3 GB/s
# dd if=/mnt/ramdisk1/newfile of=/dev/null bs=128K
count=40 40+0 records in 40+0 records
out 5242880 bytes (5.2 MB) copied,
0.001595 seconds, 3.3 GB/s
# cd /mnt/ramdisk1
#/usr/bin/iozone -R -s512K -r128k -t 16 -T "
Initial Write " 1619525.94 "
Rewrite " 1410215.12 " Read " 2124526.50 "
Re-read " 2178404.50 "
Reverse Read " 2207515.50 " Stride Read " 3196584.25 "
Random Read " 2655129.25 "
Mixed workload " 2638816.00 " Random Write " 1895721.12 "
Pwrite " 1827433.56 "
Pread " 2196227.25


Loại trừ các tắc nghẽn bộ nhớ thường bao gồm việc nâng cấp cấu trúc máy chủ và các chipset để giúp hub mạch điều khiển bộ nhớ (MCH) chạy nhanh hơn, kỹ thuật DRAM nhanh hơn, như là, hay việc nâng cấp kích cỡ lưu trữ tạm thời L1/L2/L3 trên cấu trúc máy chủ hiện tại của bạn, nếu thiếu lưu trữ tạm thời sẽ làm quá trình thi hành bị chậm. Trước khi mua thêm lưu trữ tạm thời, bạn cần chắc chắn rằng việc thiếu lưu trữ tạm thời thực sự làm chậm các ứng dụng vì quá trình thi hành không đủ năng lực:
  • Sử dụng các công cụ định hình và PMU, như là VTune để phát hiện các điểm thiếu lưu trữ tạm thời.
  • Sử dụng cat /proc/meminfo trong Linux để giám sát việc sử dụng.
  • Sử dụng lệnh pmapvmstat trong Linux.
  • Sử dụng valgrind cho Linux, nó giúp tìm ra các lỗi quản lý bộ nhớ
Phần 3: Các phương pháp thiết kế hệ thống dành cho quy mô có thể thay đổi

Việc thay đổi quy mô thường được coi như là một khả năng mở rộng dịch vụ, tăng sự truy cập vào dữ liệu, hoặc thêm tải máy khách. Khả năng xử lý nhiều máy khách hơn bằng cách cung cấp nhiều dịch vụ hơn và tăng khả năng truy cập dữ liệu thường đạt được thông qua việc sử dụng các máy chủ có khả năng thay đổi tốc độ xử lý, tốc độ vào/ra, bộ nhớ và kho lưu trữ. Nhưng bài viết này, bài thứ ba trong loạt bài kiến trúc cơ sở hạ tầng, chỉ chú ý đến những kiến trúc thay thế và tính toán làm thế nào để quy mô có thể thay đổi phù hợp với các mẫu mới giống như các điện toán lưới và điện toán đám mây.

Các tổ chức thường bỏ qua các phí tổn về chi phí vận hành liên quan đến sự thay đổi qui mô, bao gồm các phí tổn về năng lượng, sự làm mát và không gian đặt hệ thống. Hơn nữa, việc chuẩn bị chu đáo cho quy mô có thể giúp chúng ta loại trừ được lỗi vào/ra, bộ vi xử lý, hoặc tắc nghẽn lưu trữ — là chủ đề của bài viết thứ hai trong loạt bài viết này. Nguồn tài nguyên như năng lượng chẳng hạn sẽ không được đề cập đến trong bài này, nhưng phần Tài nguyên cung cấp nhiều liên kết tới các chủ đề chứa nhiều thông tin hơn về vấn đề này. Sự thay đổi qui mô ở những mô hình cao hơn mô hình máy chủ/ máy khách yêu cầu một chiến lược bao gồm các kỹ thuật phân cụm (clustering) (bao gồm cả bộ xử lý và hệ thống tập tin), điện toán lưới, và điện toán đám mây và thường được xác định trên các ràng buộc mức cao nhất bởi các dịch vụ Internet phổ dụng mà có thể đáp ứng nhanh nhất các nhu cầu thay đổi chung.

Điểm lưu ý đầu tiên của bài viết là dựa trên kế hoạch dài hạn để xác định quy mô và chiến lược thay đổi càng gần tuyến tính và vô hạn càng tốt. Điểm thứ hai, bài viết xem xét mỗi tài nguyên phục vụ dành cho cấp độ máy chủ, các cụm máy, điện toán lưới, và phần mềm điện toán đám mây giống như một dịch vụ; và phần cứng giống như quy mô phục vụ (service scaling), bao gồm cả bộ vi xử lý, thiết bị vào/ra, bộ nhớ và lưu trữ, và chiến lược để cân bằng và phân mức nó. Các tiềm năng theo chiều rộng và chiều sâu của chiến lược quy mô tổng quát cho các máy chủ, các cụm, lưới, và điện toán đám mây là rất rộng lớn, nhưng bài viết này cung cấp các ví dụ cụ thể cũng như các điểm chi tiết hơn để bạn có thể giải quyết vấn đề khó khăn trên các hệ thống lớn ở mức cơ sở hạ tầng.

Một hệ thống quy mô tuyến tính đòi hỏi một khả năng tính toán nút, như là một hệ thống máy chủ IBM ® System x® hoặc hệ thống BladeCenter®, cung cấp quy mô đa xử lý đối xứng (SMP) cho bộ xử lý hoặc bộ nhớ đi đôi với quy mô có đủ thiết bị vào/ra cho phân cụm máy, mạng lưu trữ, quản trị, và mạng truy cập máy khách. Trong khi mong đợi sự ra đời của các hệ thống có qui mô có thể thay đổi lớn hơn cho phép phạm vi và khả năng truy cập máy khách rộng hơn, điều quan trọng nhất là cần thiết kế một cách cẩn thận cho sự mở rộng của các hệ thống lưu trữ con và hệ thống tính toán cơ bản:

  • Qui mô có thể thay đổi theo phân cấp: Trung tâm điện toán đám mây bao gồm các lưới điện toán, các cụm tính toán hiệu năng cao, hoặc các máy phục vụ SMP với các truy cập từ máy khách ở bất cứ cấp độ nào.
  • Kiến trúc hướng dịch vụ (Service-Oriented Architecture - SOA): Xem xét cẩn thận sự kết hợp giữa việc tính toán và việc truy cập dữ liệu cho các ứng dụng cùng với các mạng truy cập máy khách.
  • Mạng phân cụm kết nối tốc độ cao (High speed interconnect - HSI): Những mạng giống như Infiniband, Myranet, and 10GE.
  • Khả năng mở rộng dung lượng truy cập thông qua một mạng lưu trữ khu vực (SAN): kênh Fibre 8G, giao diện hệ thống điện toán Internet (iCSI) trên Infiniband hoặc 10GE, hoặc kênh Fibre trên Ethernet/hội tụ các bộ kết hợp mạng (FCoE/CNA) và giao thức làm giảm tải giao diện truyền tải máy chủ.
  • Các nút điện toán SMP: Các nút cùng với bộ xử lý, bộ nhớ, và phần mở rộng kênh vào/ra (I/O) cho lưu trữ, kỹ thuật phân cụm, quản trị, và mạng máy khách.
  • Hệ thống tệp tin có thể thay đổi: Phần đầu hoặc cổng vào của mạng lưu trữ truy cập được thiết kế song song với hệ thống tệp tin với quy mô dung lượng và số lượng của các máy khách cùng với hệ thống tệp tin mạng (NFS) các công nghệ giao thức giống như việc truy cập bộ nhớ từ xa (RDMA).
  • Nhân tố xanh: siêu năng lượng, làm mát, và mật độ giá đặt máy của một hệ thống con sẽ được lựa chọn.
  • Quy mô Geo (Geo-scaling): Sử dụng bộ chuyển đổi kết nối tới cáp tối (dark fiber) với công nghệ truyền dẫn quang năng (DWDM) bằng phân chia bước sóng thêm và bớt các bộ đa hợp


Như đã chỉ ra trong Hình 1, các hệ thống có thể thay đổi từ các máy điện toán khách đơn giản đến các máy phục vụ SMP. Máy điện toán khách kết nối tới các cụm của máy phục vụ SMP - các cụm có thể chia và trị bằng các thuật toán, với sức mạnh tính toán được cho trước. Các cụm của máy chủ SMP có thể tương tự như các dịch vụ được cung ứng đồng thời cho các hệ thống lưới điện toán. Được dựa trên điện toán lưới và điện toán phân cụm, các dịch vụ điện toán đám mây được tập trung hóa trên internet phát triển rất nhanh. Điện toán mây có thể đơn giản như là sự chia sẻ lịch biểu và không yêu cầu các cụm HPC, nhưng sau đó thì, các truy cập đến HPC qua Internet sẽ trở thành mối bận tâm đang gia tăng trên cả hai phương diện học thuật lẫn lĩnh vực điện toán thương mại (xem Tài nguyên). Các cụm và máy chủ SMP trong mạng lưới điện toán cần phải tự thay đổi được về bộ xử lý, cổng vào/ra (I/O), bộ nhớ và truy cập lưu trữ để chúng có thể điều tiết các mục đích cho các dịch vụ trong trung tâm mạng lưới điện toán hoặc trung tâm điện toán đám mây. Có lẽ, cách tốt nhất để bắt đầu là đặt một loạt câu hỏi về việc thay đổi quy mô, ví dụ:

  • Có thể mở rộng bộ xử lý, bộ nhớ, các kênh vào/ra trên mỗi nút tính toán SMP đến mức nào?
  • Truy cập lưu trữ, truy cập mạng máy khách, đồng bộ hóa mạng phân cụm và chia sẻ dữ liệu sẽ được cân đối cho các ứng dụng tại một cụm cho trước như thế nào?
  • Sự quản lý và các mạng máy khách sẽ thay đổi quy mô cho nhiều máy chủ và các cụm nào?
  • Các dịch vụ được tạo ra cho một số lượng lớn các máy khách sẽ đòi hỏi quản trị lưới điện toán?
  • Việc mở rộng các dịch vụ ra công cộng có giá trị không?

Scaling

Chú ý rằng hình 1 cho thấy việc sử dụng các nút IBM System x3650 và kho lưu trữ kênh Fibre SAN đính kèm DS4800 là một ví dụ của khối xây dựng đi từ máy phục vụ SMP đến một cụm của các máy phục vụ System x3650 cùng với kho lưu trữ SAN DS4800 và hệ thống tệp tin song song là hệ thống tệp tin song song toàn cầu (GPFS). Các cụm được thiết kế theo cách này có thể được đặt trong một mạng lưới; vì mật độ cao hơn, việc sử dụng hệ thống BladeCenter có thể cân đối để thêm vào hoặc để phục vụ lại các dịch vụ phân cụm. Mạng lưới này cung cấp các công cụ quản trị phối hợp, bảo mật, quản trị máy khách/máy người dùng để đơn giản hóa công việc IT kết hợp một số lượng lớn các máy khách trong một SOA.

Một cái nhìn chi tiết về các công cụ của cổng vào/ra, bộ xử lý, và hiệu suất bộ nhớ đã được đề cập trong bài viết thứ hai trong loạt bài viết này. Một trong những cách tốt nhất để dự tính khối lượng công vệc một cách đơn giản là thực thi các ứng dụng, và trong một SOA đơn giản, việc lập kế hoạch thay đổi quy mô dựa trên số lượng các máy khách mong đợi sẽ thực thi từng loại hình dịch vụ. Các công cụ đo lường tiêu chuẩn thay đổi quy mô tốt mô phỏng dịch vụ máy khách yêu cầu sử dụng các luồng hoặc khối lượng công việc không đồng bộ, có thể thay đổi và thực thi ngay trên các nút hoặc các cụm điện toán hoặc từ các nút mô phỏng máy khách (client-emulator) hiệu suất cao. Ví dụ, một cụm có thể có một mạch ghép nối 2 10 Gigabit Ethernet với một đầu NAS đến các máy khách 24GB Ethernet NAS.

Hình 2 chỉ ra một cổng vào/ra cơ bản, tiến trình xử lý và mô hình thay đổi quy mô bộ nhớ. Một trong các thiết bị quan trọng nhất có thể không xuất hiện ngay lập tức mà nó là phần mở rộng cho các bộ tích hợp bus chủ (HBAs) để lưu trữ, các bộ tích hợp kênh chủ (HCAs) cho các kết nối cụm, và bộ tích hợp mạng cho những mạng máy khách/máy quản trị không có xử lý giao thức — hoặc, theo một cách khác, có bao nhêu nút-máy chủ (host-node) thực hiện mỗi giao diện cổng vào/ra và ngăn xếp của chúng đặt trên các nút điện toán?



Thay đổi quy mô vào/ra nốt SMP và dự tính khối lượng công việc


Thay đổi quy mô máy chủ đòi hỏi hiểu biết sâu sắc về bộ xử lý phức, các kiến trúc bus bộ nhớ- cổng vào/ra- bộ xử lý, và thiết kế kênh máy chủ. Ví dụ, trong Hình 2, nếu máy chủ System x3650 được sử dụng như một nút điện toán, thì hệ thống này có hai kênh vào/ra gen1 x8 và gen1 x4 PCI-e nằm giữa các giao diện tích hợp dual-GB Ethernet và bộ kiểm soát một chuỗi những đĩa độc lập dư thừa (RAID) cũng như vài đặc trưng sẵn có. Bởi vậy, với System x3650, một cấu hình có thể là bộ tích hợp mạng hai cổng 10GE trên khe cắm bus x8 cho HSI, một Fibre Channel HBA hai cổng x8 8G trên một khe cắm x8, và một bộ tích hợp mạng một cổng 10GE trên mỗi khe cắm PCI-e x4 còn lại cho giao diện mạng máy khách. Cấu hình này cung cấp 20Gbps hai chiều đến kết nối máy khách, 16Gbps đến lưu trữ SAN, và 20 Gbps đến HSI để phân cụm và sử dụng hai giao diện mạng mở rộng Ethernet được cài đặt sẵn cho các giao diện RAID. Cấu hình đặc biệt này loại bỏ giải thông ra ngoài các kênh vào/ra PCI-e 24 gen1 2.5Gbps, nó có tổng bằng 60Gbps (trong đó, có 20Gbps dành cho máy khách, 20Gbps dành cho cụm HSI, 2Gbps dành cho quản trị, và 12Gbps điều khiển RAID nội = 60Gbps).

Đảm bảo giải thông cho các giao diện vào/ra trong các bộ xử lý phức là một khởi đầu tuyệt vời và còn hơn cả sự tính toán. Cần có một chú ý đặc biệt ở đây là tất cả các PSI-e, gigE/10GE, và kênh Fibre đều được chuyển đổi hai chiều, bởi vậy chúng phải có khả năng truyền và nhận dữ liệu đồng thời. Như vậy, tổng số giải thông trong hệ thống này là 120Gbps, vượt quá giải thông bộ nhớ một cách đáng kể, như bạn đã thấy.


Nghiên cứu sâu hơn về các kênh vào/ra và cấu hình của HBAs, HCAs, và bộ tích hợp mạng để sử dụng giải thông một cách tốt nhất, bạn cần kiểm tra kỹ giải thông bộ nhớ, độ trễ và quy mô bộ xử lý. Giải thông bộ nhớ có thể trở thành một nút cổ chai (nút tắc nghẽn), bởi vì các thông điệp và các cổng vào/ra được lưu trữ, xử lý và gửi tới thường xuyên đến nỗi mà giải thông bộ nhớ đã trở thành một tham số thay đổi quy mô giới hạn. Trong ví dụ với máy chủ System x3650, theo Hướng dẫn người sử dụng, nó hỗ trợ 12 bộ đệm đầy đủ PC2-5300 DIMMs, là DDR2-667 với chu kỳ thời gian là 6 ns, hỗ trợ bus vào/ra 333MHz, với khả năng truyền 667 triệu dữ liệu 1 giây, hoặc 5,333GB/giây. Đây thực chất là 53,33Gbps và nó xấp xỉ bằng khoảng một cổng vào/ra bán song công (half-duplex) của 60Gbps. Rõ ràng, với hệ thống này và các kế hoạch cẩn thận, bạn có thế sử dụng tất cả các khả năng của bộ nhớ. Trường hợp lý tưởng, nó sẽ là một nút cổ chai, giả sử bạn duy trì các kênh vào/ra gần bão hòa ở kênh bán song công, và giữ mã chạy hầu hết bên ngoài vùng nhớ, và hầu hết DMA được ánh xạ trực tiếp vào trong và bên ngoài bộ nhớ - những vùng đệm hạt nhân.

IBM cung cấp một vài tài liệu và công cụ cho các hệ thống BladeCenter và các máy chủ System x (xem Tài nguyên). Việc đo lường giải thông bộ nhớ thực tế cũng như tham khảo các đặc điểm kỹ thuật là rất hữu ích, và các công cụ dành cho việc này cũng như các danh mục đo lường có thể tìm thấy trên trang Web cá nhân của Tiến sĩ Bandwith (xem Tài nguyên). Thay đổi quy mô bộ xử lý được đo lường tốt nhất bằng điểm chuẩn của các thuật toán phức tạp nhất, nó sẽ vận hành trên dữ liệu đưa vào và đưa ra ngoài bộ nhớ trên các dòng tốc độ và dựa trên số lượng các luồng hoặc các cổng vào/ra không đồng bộ và xử lý các tình huống mà các máy phục vụ cần phải cung cấp cho các máy khách. Thực sự là không thể thay thế việc thực thi ít nhất các thuật toán hạt nhân trên các nốt SMP dự định để ước tính các yêu cầu xử lý. Có rất nhiều công cụ đã tồn tại để phân tích các kết quả, bao gồm các công cụ định hình như VTune và các công cụ tải bộ xử lý màn hình cơ bản (xem Tài nguyên).

Như đã trình bày ở Hình 2, băng thông cụm máy chủ đến và đi từ mỗi nút SMP thích đáng là cần thiết để gửi và đồng bộ hoá thông điệp trong tính toán song song cũng như các hệ thống tệp song song nói chung của IBM (xem Tài nguyên). Một trong các quyết định then chốt là hệ thống tệp cụm máy chủ mà bạn sẽ sử dụng. Cuốn sách trắng "Giới thiệu GPFS Phiên bản 3.2 của IBM", cung cấp sự khái quát rất tốt về cấu hình hệ thống phân cụm máy khách của cả cụm máy chủ SAN lẫn đầu nối/cổng vào NAS. Cụm máy chủ được xây dựng vì rất nhiều lý do, bao gồm:

  • Quy mô điện toán: Chia nhỏ các thuật giải thành từng phần con, tính toán các kết quả trung gian, và kết hợp các kết quả từ nhiều nốt SMP thông qua các cơ cấu gửi thông điệp và đồng bộ hoá phân tán
  • Tính sẵn sàng cao: Quá trình tái lập của các dịch vụ tệp NAS cho các máy khách nhằm đảm bảo truy cập để lưu trữ dữ liệu bất chấp khả năng có các thời điểm máy chủ không vận hành
  • Quy mô cổng vào/ra: Dành cho các ứng dụng tập trung nhập xuất giao tiếp với SAN RAID để tăng băng thông cổng vào/ra lên
  • Quy mô dịch vụ máy khách: Để dễ dàng đảm nhiệm thêm các yêu cầu dịch vụ máy khách đồng thời từ một cụm máy chủ

Các kĩ năng, năng lực, công cụ, và kĩ thuật cho các quy mô phân cụm máy chủ vượt ra khỏi phạm vi của bài viết này, không như quy mô lưới và quy mô trung tâm điện toán mây. Dù sao, thực tiễn tốt với nút tính toán SMP sẽ cung cấp khung giàn tốt cho các kiến trúc quy mô bậc cao này. Bạn có thể tìm thấy rất nhiều tài nguyên để hỗ trợ với quy mô phân cụm máy chủ trong Tài nguyên sau khi bạn đã có được các định nghĩa về quy mô phân cụm vừa kể tới.

Như đã thể hiện trong Hình 1, các cụm máy chủ cung cấp quy mô cổng vào/ra, bộ xử lý, và thiết bị lưu trữ nhưng thông thường nó không qui định các phương thức quản lý sự thay đổi quy mô, các phương thức quản lý phía máy khách, hay bảo mật. Quy mô một cơ sở hạ tầng đầy đủ, bao gồm nhiều dịch vụ có thể được chứa trên nhiều cụm máy chủ hay các máy chủ và khách SMP sử dụng các dịch vụ này, là lĩnh vực của điện toán lưới. Điện toán lưới có liên quan với:

  • Ảo hoá tài nguyên: Đối với thiết bị lưu trữ, mạng, và các bộ xử lý thông qua hệ thống đĩa ảo, quản lý đa tuyến giao diện mạng, và các máy ảo
  • Các cổng giao điện người dùng: Bao gồm các định nghĩa để truy cập Web an toàn như Ngôn ngữ Đặc tả Dịch vụ Web (WSDL - Web Services Description Language) và Giao thức Truy cập Đối tượng Đơn giản (SOAP - Simple Object Access Protocol)
  • Quản trị hệ thống: Bao gồm các tính năng dự phòng và tự trị cho hệ quản trị của tài sản IT

Bài viết này không thể bao quát đầy đủ về quy mô lưới, nhưng IBM Research Journal cung cấp các nghiên cứu sâu, và nhiều công cụ lưới cũng sẵn có từ IBM (xem Tài nguyên). Tương tự, điện toán đám mây, là một công nghệ khá mới nhưng đang phát triển mạnh mẽ cũng nằm ngoài phạm vi của bài viết. Nhưng dù sao, khái niệm cơ bản về điện toán đám mây nhằm cung cấp HaaS (Hardware as a Service - Phần cứng như dịch vụ), và SaaS (Software as a Service - Phần mềm như dịch vụ), được tạo điều kiện bằng cách xây dựng SMP có thiết kế tốt và các máy chủ cụm trong kiến trúc lưới tạo ra những các ứng dụng hữu ích nói chung cho người dùng trên mạng. Ví dụ, tất cả các ứng dụng từ lịch chia sẻ, điều khiển và quản lý phiên bản mã nguồn, thư điện tử, và nhiều môi trường cho mạng xã hội đã sinh ra từ các ứng dụng Web. Xu hướng này đang lớn dần và bắt đầu được áp dụng vào cả các ứng dụng máy tính cá nhân cầm tay (HPC).

Chi phí của quy mô không chỉ là chi tiết tiền vốn để bổ xung khả năng xử lý mới, các kênh vào/ra bộ nhớ, thiết bị lưu trữ, hay hệ thống mạng — mà còn là chi phí để cung cấp năng lượng, làm mát, đặt chỗ, và quản lý các tài nguyên mới này. Mặc dù kiến trúc lưới và điện toán tự trị có thể trợ giúp quy mô quản lý, yếu tố xanh của các hệ thống con và các thành phần là then chốt để hạ thấp chi tiêu của quá trình. Nhiều xu hướng cũng hữu dụng, bao gồm lưu trữ tốn ít điện năng hơn sử dụng các ổ đĩa ngắn hạn thể rắn (SSD - solid state disk) và các dãy đĩa dạng nhỏ.

Cũng giống vậy, cuộc chạy đua không nao núng để tốc độ xung cao hơn của các bộ xử lý đã cung cấp rất nhiều lõi với thiết kế và phương pháp quy mô SMP tốt hơn cho các nút phân cụm. Cả hai đều giúp hạ giá thành xuống. Hầu hết trường hợp, dự định của khách hàng dựa trên chi phí ban đầu, như là giá tiền trên mỗi Gb, hơn là các tiêu chí giá thành điện năng và hiệu suất, mà sẽ trở nên quan trọng hơn khi hệ thống được mở rộng ra qua các hoạt động lâu dài. Thêm vào đó, việc quản lý và tổng chi phí sở hữu (TCO) cũng là những cân nhắc quan trọng, cùng với các yếu tố xanh.

Phần 4: Quản lý các hệ thống doanh nghiệp với quy mô có thể biến đổi.

Trong một thế giới hoàn hảo, tất cả các hệ thống sẽ có cấu hình phổ biến với các tính năng quản lý kiểm soát, phục hồi, an toàn và điều chỉnh hiệu suất. Tuy nhiên, trong nhiều trường hợp, các nhà thiết kế hệ thống phải rất cẩn thận với những kiến trúc hệ thống để còn thực hiện tích hợp chúng. IBM® không chỉ cung cấp các dịch vụ giải pháp mà còn tạo ra rất nhiều công cụ và phương pháp kỹ thuật để thực hiện việc tích hợp hệ thống. Việc bắt đầu một kiến trúc doanh nghiệp bằng việc xem xét các UIs, quản trị IT và cách hệ thống có thể hoạt động với các tính năng tự động sao cho nó hầu như có thể tự bảo trì có lẽ là điểm tốt nhất mà chúng ta nên sớm tập trung vào khi thiết kế hệ thống. Một hệ thống mà khó sử dụng, khó bảo trì và không có khả năng mở rộng thì sẽ không thể thành công bất kể hiệu suất hoạt động hay các tính năng khác của nó ra sao. Cuối cùng, việc quản lý các hệ thống thân thiện môi trường (green systems) là một mối quan tâm lớn khi mà các trung tâm dữ liệu, điện toán đám mây (cloud computing), và siêu điện toán đang được đẩy mạnh lên một tầm cao mới: khả năng quản lý có hiệu quả các nguồn tài nguyên trong phạm vi rộng lớn nhằm đạt được hiệu suất cao nhất và tiện ích với ít năng lượng nhất là tính chất mang tính quyết định. Bài viết này hướng đến nhà thiết kế các hệ thống và kiến trúc sư giải pháp, những người có các giải pháp thành công trong việc thiết kế các hệ thống quản lý tài nguyên, dữ liệu, dịch vụ cho các hệ thống doanh nghiệp có qui mô có thể biến đổi.

Bài viết này là phần bốn trong loạt bài căn bản về kiến trúc cơ sở hạ tầng, nó cung cấp một cái nhìn khái quát về các khái niệm, các công cụ quản lý hệ thống phổ biến, các kỹ thuật quản lý tài nguyên doanh nghiệp mềm dẻo và việc quản lý các dịch vụ và dữ liệu. Việc quản lý thường được xem như là khả năng duy trì tính khả dụng của hệ thống và tính sẵn sàng sử dụng của dữ liệu cũng như các dịch vụ trên nền hạ tầng đó. Theo truyền thống, việc quản lý các hệ thống của doanh nghiệp thường được cung cấp bởi một nhóm IT thuộc một tổ chức có khả năng đảm bảo các tài nguyên, dữ liệu, và các dịch vụ là sẵn dùng, an toàn và được cấu hình đúng cách, có đủ chức năng và hiệu quả hoạt động tốt. Mục tiêu của việc tự động hóa dựa trên IT hết mức có thể là nhằm giảm sự quá tải và có thể mở rộng dữ liệu cũng như dịch vụ hướng đến một lĩnh vực nghiên cứu và phát triển quản lý được gọi là: điện toán tự trị (autonomic computing).

Ý tưởng về điện toán tự trị là thiết kế các hệ thống và các hệ thống con sao cho nó tự cấu hình, tự khôi phục, tự tối ưu và tự bảo vệ (self-CHOP). Dù cho dữ liệu và dịch vụ được làm theo phương pháp truyền thống hay thông qua cách tự động hóa, thiết kế một hệ thống cơ bản có thể quản lý được tài nguyên dự phòng, dữ liệu trùng lặp và các dịch vụ có qui mô thay đổi và có thể thực hiện việc di trú khi cần. Do đó, bài viết này tập trung vào những khả năng quản lý sẽ hỗ trợ cho cách tiếp cận quản lý theo phương pháp truyền thống hoặc tự động hóa. Việc thiết kế các hệ thống cho các doanh nghiệp ngày nay thường có qui mô têra (terascale) và đang hướng tới mức qui mô pêta (petascale): điện toán hiệu năng cao (HPC) đang xem siêu điện toán qui mô êxa (exascale) như là một thách thức lớn tiếp theo.

Bài viết thứ ba trong loạt bài này, "Các phương pháp thiết kế cho hệ thống có qui mô có thể thay đổi", tập trung vào tính có thể thay đổi qui mô của hệ thống. Rõ ràng, mục tiêu của các hệ thống doanh nghiệp có thể thay đổi qui mô từ têra lên đến pêta và êxa sẽ yêu cầu việc quản lý cơ sở hạ tầng được thiết kế cẩn thận, và từ các mục đích của điện toán tự trị, nó phải là đòn bẩy để tạo ra nguyên tắc cơ bản cho việc nghiên cứu tự động hóa quản lý.

Một giao diện cấu hình lý tưởng cho một hệ thống doanh nghiệp nên gồm có:

  • Ô cửa kính đơn: Trang giao diện này cung cấp thông tin cấu hình mức cao với khả năng khoan sâu xuống các mức thấp hơn để xem chi tiết.
  • Thẩm quyền cấu hình cơ sở dữ liệu và trạng thái: Thông tin cấu hình hệ thống sai hoặc lỗi thời là nguyên nhân làm máy bị treo, do đó hệ thống quản lý cần được lưu trữ cẩn thận và tự động so sánh cấu hình hiện tại với cấu hình được lưu trữ.
  • Truy cập từ xa một cách an toàn: Bởi vì hầu hết các hệ thống doanh nghiệp sẽ được triển khai theo nhu cầu tự nhiên, hoặc vì các yêu cầu kiểm thử khả năng chống chịu thảm họa, hoặc có thể giao diện sử dụng dùng qua internet, việc đảm bảo an ninh khi kiểm soát việc truy cập nhưng không cản trở những người truy cập hợp pháp là cần thiết.
  • Ghi lại sự thay đổi cấu hình và khả năng kiểm soát: Như đã lưu ý trong bài viết ở tập san IBM System Journal khái quát về việc quản lý dịch vụ IBM ("An overview of IBM Service Management") (xem tại Tài nguyên), có tới 80% thiếu sót chính của các hệ thống là lỗi thiếu khả năng quản lý lưu vết các thay đổi.
  • Việc thay đổi kích thước của tài nguyên cho phù hợp với sự thay đổi của qui mô: Trước tiên hãy suy nghĩ về sự cần thiết phải thay đổi mức tối thiểu các thời gian dịch vụ treo do quản lý sự thay đổi kém.
  • Thông báo sự thay đổi cấu hình: Tập trung thường xuyên vào các thông báo lỗi hệ thống hơn là thông báo sự kiện, nhưng việc kiểm soát các thay đổi là cần thiết để hiểu được tại sao nó lại xảy ra.

Kỹ năng và năng lực yêu cầu đối với việc quản lý cấu hình doanh nghiệp rất rộng. Tuy nhiên, các yêu cầu tiêu biểu là:

  • SAN: Truy cập kho tài nguyên ở cấp độ khối (Block-level) thông qua một Fibre Channel, giao diện hệ thống máy tính (Internet small computer system interface - iSCSI), hoặc SCSI thông qua Infiniband.
  • NAS: Truy cập vào dữ liệu ở cấp độ tệp (File-level) thông qua một đầu NAS hoặc cổng ra vào NAS vào một nhóm các tệp trên máy chủ từ một máy trạm trên mạng.
  • Máy chủ: Một máy chủ dành cho các dịch vụ và các ứng dụng mà thường cung cấp một giao diện giữa các mạng IP doanh nghiệp và các kho lưu trữ.
  • Các mạng máy trạm: Trong nhiều trường hợp một mạng IP có thể chứa các liên kết dự phòng và đường đi khác nhau để một máy trạm truy cập vào vào các dịch vụ và các dữ liệu của doanh nghiệp.
  • Mạng các cụm máy chủ: Một mạng nội bộ tốc độ cao nối các máy chủ được dùng để mở rộng các dịch vụ và truy cập dữ liệu trong một nút hay một vị trí của doanh nghiệp.
  • Các mạng quản lý: Thông thường, một mạng diện rộng WAN an toàn và tốc độ thấp cho phép một đội IT doanh nghiệp kiểm soát, cấu hình và quản lý chung tất cả mọi thiết bị IT liên quan.
  • An ninh: Sự mã hóa trên mạng, xác thực người dùng, kiểm soát việc truy cập tài nguyên, kiểm soát việc truy cập dữ liệu và mã hóa tất cả các dữ liệu còn lại, bảo vệ tài nguyên khỏi sự phá hoại của tin tặc (ví dụ: tấn công từ chối dịch vụ [DoS], các vi rút, sâu, lừa đảo).
  • Sự ảo hóa lưu trữ: khả năng trừu tượng hóa về mặt vật lý các trạng thái, đĩa cứng, các thiết bị lưu trữ thành một bộ đĩa dung lượng có thể co dãn lên xuống và được ánh xạ nhờ sử dụng RAID, đồng thời cho phép các thiết bị có thể được tích hợp mà không cần viết lại các ứng dụng.
  • Các máy ảo(VMs): Sự co dãn của các nút tính toán sao cho nhiều thể hiện của hệ điều hành và nền ứng dụng có thể chia sẻ một máy chủ.
  • Sao lưu: Hoặc là với các bản sao ở xa, các kết xuất nhanh của bộ đĩa lưu trữ, hoặc việc quản lý vòng đời thông tin theo truyền thống, nơi mà dữ liệu được di trú từ mức truy cập cao (lưu trữ thể rắn hoặc đĩa) vào kho lưu trữ tốc độ truy cập thấp (băng từ).
  • Khắc phục thảm họa: Bản sao của các dịch vụ, dữ liệu và tài nguyên được đặt ở những nơi xa về mặt địa lý để bảo vệ dịch vụ hoặc dữ liệu khỏi sự mất mát nếu có động đất, hỏa hoạn, lũ lụt hoặc khủng bố xảy ra.
  • Việc ghi nhật ký: Mỗi một tài sản, một cái máy chủ chẳng hạn, nên có một nhật ký máy, một điều khiển lưu trữ, một máy trạm,... Khả năng điều phối và các nhật ký máy tương quan nên tồn tại ở mức doanh nghiệp.

Một số lượng lớn các công cụ có thể sử dụng để tích hợp năng lực cấu hình của các thành phần và các hệ thống con. Trong các hệ thống doanh nghiệp, mỗi một thành phần hoặc hệ thống con đều bao gồm một số APIs và các giao diện dòng lệnh (CLIs) cũng như là giao diện đồ họa GUIs cho việc cấu hình các thành phần và hệ thống con đó. Khó khăn ở đây là việc tích hợp các khả năng quản lý của mỗi một thành phần vào một hệ thống quản lý doanh nghiệp thống nhất nhất và chặt chẽ. IBM đề xuất một số giải pháp, bao gồm việc quản lý dịch vụ và sản phẩm Tivoli® (xem Tài nguyên). Tương tự như vậy, cộng đồng mã nguồn mở cũng đề xuất một loạt các phương thức cho việc tích hợp các công cụ quản lý bao gồm các dịch vụ Web như SOAP và ngôn ngữ đặc tả các dịch vụ Web (WSDL), sao cho các APIs đang tồn tại có thể được tích hợp thành một giao diện quản lý và cấu hình dựa trên web phổ biến (xem Tài nguyên).

Bước đầu tiên là lập kế hoạch cẩn thận cho các hệ thống SAN, NAS, mạng các máy trạm, mạng quản lý, các hệ thống lưu trữ con, các máy chủ và một lược đồ dự phòng toàn diện, như chỉ ra trong hình 1, dựa trên việc nghiên cứu thật kỹ các tùy chọn tích hợp quản lý cho mỗi một hệ thống con hoặc một thành phần trong một hệ thống doanh nghiệp được quản lý tốt và có tính khả dụng cao.



Việc quản lý và cấu hình SAN với tính khả dụng cao (HA)


Các tài nguyên, dịch vụ, dữ liệu doanh nghiệp có thể chịu đựng một lượng lớn các lỗi. Với dữ liệu, lỗi có thể là bị mất dữ liệu, sự sai lạc dữ liệu do sửa đổi (ngầm hoặc công khai), các vấn đề về truy cập (hiệu suất hoặc sự mất liên kết tới các kho dữ liệu), và an toàn dữ liệu. Đối với các dịch vụ, lỗi có thể là lỗi lập trình, tình trạng cạn kiệt tài nguyên, yếu về độ an toàn, thiếu khả năng truy xuất và cấu hình sai. Tương tự như vậy, tất cả các tài nguyên trong hệ thống có thể chịu đựng được các loại lỗi về phần cứng như là lỗi đĩa, về kết nối mạng, về nguồn điện, các thảm họa xảy ra ở trung tâm lưu trữ dữ liệu, hay đơn giản chỉ là các lỗi cấu hình.

Khái niệm tự làm lành hàm ý chỉ khả năng tự làm lành vết thương của con người, bằng việc tự tạo ra các tế bào từ các nguyên liệu thô. Sự "tự làm lành" vẫn đang vượt quá khả năng của công nghệ ngày nay (có lẽ là một mục tiêu nghiên cứu của công nghệ nanô). Vì vậy, tự làm lành có thể được hợp nhất vào trong hệ thống đòi hỏi sự quản lý tài nguyên, dữ liệu, dịch vụ dự phòng và sự dự phòng khác. Sơ đồ trong Hình 1 cung cấp một ví dụ về hệ thống lưu trữ con DS4800 của IBM và hệ thống các máy chủ IBM System x™ 3850 với giao diện kết nối tới mỗi hệ thống lưu trữ con bằng Fibre Channel nhưng cũng có thể kết nối từ xa đến bộ đĩa lưu trữ thông qua một mạng diện rộng iSCSI WAN. Trong hình 1, các bộ đĩa chính (từ P1 đến P8) được sao lưu bởi các bộ đĩa (từ M1 đến M8) sao cho nếu có bất kỳ một máy chủ hoặc nút lưu trữ nào bị sập, dữ liệu và dịch vụ có thể được truy cập thông qua bảy bộ đĩa còn lại. Sự sắp xếp này là một sơ đồ quản lý N+1 dự phòng cho dữ liệu, dịch vụ và các tài nguyên tính toán. Một sơ đồ N+1 sẽ cho phép nhóm IT thực hiện kế hoạch nâng cấp cần thiết khi thiết bị chính bị hỏng, nó cũng cho phép xử lý được các tình huống máy hỏng bất ngờ. Vì một lúc chỉ có một hệ thống có thể bị hỏng mà không làm cho dịch vụ bị ngắt nên đây là một thiết kế chịu lỗi đơn.


Các thiết kế cho hệ thống có tính sẵn sàng cao có thể khác nhau phụ thuộc đáng kể vào mục tiêu là năm số 9 (số lần máy ngừng hoạt động mong muốn là nhỏ hơn năm phút mỗi năm) — nơi mà hệ thống không săn sàng theo nghĩa truy cập dịch vụ, tài nguyên, dữ liệu — hoặc nó không phải gặp một lỗi đơn (SPOF). Cấu hình trong Hình 1 có các máy chủ, đĩa lưu dữ liệu, hệ thống lưu trữ con dự phòng có thể được cấu hình cho các kết nối dự phòng (việc sử dụng các phần mềm quản lý đa đường dẫn cho SAN và cho mạng quản lý máy trạm) — với việc quản lý nguồn điện và nguồn điện dự phòng — và do đó có thể được xây dựng tốt hơn SPOF.

Rõ ràng là, đó là một cấu hình tốn kém, nhưng đó là cách tiếp cận tốt nhất cho các hệ thống doanh nghiệp không cho phép máy chết trong thời gian thực hiện việc bảo trì hoặc khi máy hỏng. Thay vì phải có cả một mô hình hệ thống con đầy đủ như mô hình đang hoạt động, nhiều hệ thống doanh nghiệp có thể có một vài mô hình SPOFs với năm số 9 và sẵn sàng cao hơn vì quản lý được sự dự phòng bên trong. Hệ thống lưu trữ con DS® 8000 của IBM không chỉ có thể được cấu hình với thiết kế có tính khả dụng cao no-SPOF mà còn bao gồm sự dự phòng nội bộ đáng kể, như được chỉ ra trong Hình 3, nơi mà tất cả các ổ đĩa đều có cổng đôi và chính các hệ thống lưu trữ con cũng có các điều khiển kép.

Loại dự phòng nội bộ này giúp tránh được việc phải dùng các hệ thống con theo kiểu bản sao đầy đủ. Tuy nhiên, trong thế giới ngày nay, để tránh cả các thảm họa tự nhiên và sự khủng bố, vẫn cần một bản sao đầy đủ các dịch vụ, kho tài nguyên lưu trữ và tính toán, cũng như các bộ đĩa chứa dữ liệu để khắc phục thảm họa. Hình 2 chỉ ra một ví dụ khác về mô hình N+2 khắc phục thảm họa, khi mà có ba vị trí sao lưu các dữ liệu và các dữ liệu được truy xuất bởi máy trạm SAN. Trong mô hình 2 thì hai trong ba vị trí có thể bị sập mà các máy trạm SAN có thể truy cập được vào các bộ đĩa lưu trữ 1, 2, and 3 thông qua sự phối hợp của {P1, M2, M3}, {P2, M1, M3}, và {P3, M1, M2}. Mức dự phòng này còn tốn kém hơn, bởi vì dữ liệu được lưu dự phòng gấp 3 lần, nhưng vì thế, nó rất an toàn.



N+2 volume mirroring for disaster recovery

Việc quản lý các thiết kế hệ thống khả dụng cao giống như miêu tả trong Hình 1Hình 2 yêu cầu hoặc phải có sự giám sát IT cố định sao cho việc truy cập dữ liệu có thể thực hiện được cả khi có lỗi hoặc tự vượt qua lỗi khi các hệ thống bị sập. Thông thường, việc tự động vượt qua các lỗi được thực hiện bởi việc quản lý đa đường dẫn SAN hoặc NAS mà đã được cài trong máy chủ và việc kiểm soát các điều khiển lưu trữ. Hệ điều hành Linux® với khung làm việc có tính khả dụng cao (xem Tài nguyên) cung cấp một cách tiếp cận tuyệt vời để việc cấu hình các hệ thống dựa trên Linux sẽ tự động vượt qua các lỗi bằng việc sử dụng cơ sở hạ tầng Linux như là giao diện mạng IP và các thiết bị SAN ánh xạ đa đường dẫn.

Sự dự phòng nội bộ của DS8000, cùng với thiết bị sao chép dữ liệu từ xa cho việc khắc phục thảm họa cung cấp một khả năng không gì sánh bằng. Nên đầu tư vào đâu và như thế nào cho những tính năng này phụ thuộc vào nhu cầu về tính khả dụng của dịch vụ và việc bảo vệ dữ liệu. Trang Horison của Fred Moore (xem Tài nguyên) cung cấp một số cách nhìn sâu sắc về nguyên nhân gây ra sự cố và mất dữ liệu cũng như các chi phí liên quan. Khả năng quản lý dự phòng cũng nên được xem xét cẩn thận. Sự thuận lợi của việc dùng dự phòng nội bộ như được chỉ ra trong hình 3 của mô hình DS8000, là một cách quản lý đơn giản.


DS8000: Cấu trúc và cài đặt). Ví dụ về việc quản lý dự phòng nội bộ
Việc quản lý dự phòng nội bộ


Một cách lý tưởng, các hệ thống có các đặc tính tự làm lành nên được kiểm soát bởi các ngoại lệ. Khi đó các nhân viên IT không cần dùng GUIs hoặc CLIs nữa. Hơn nữa, họ nhận được các thông báo thông qua thư điện tử, điện thoại di động hoặc tin nhắn, hoặc bằng một vài phương thức dị bộ khác sao cho họ có thời gian tập trung vào quản lý những thứ quan trọng hơn như cấu hình, lập kế hoạch cho việc mở rộng và tập trung vào các dịch vụ hơn là việc kiểm soát. Giao thức quản lý mạng đơn giản (SNMP) đề xuất một lựa chọn tuyệt vời cho việc kiểm soát từ xa và tự động của mạng diện rộng (WANs), mạng nội bộ (LANs), và SANs, cũng như các hệ thống máy chủ và lưu trữ con (xem Tài nguyên). Nhiều hệ thống được thiết kế cho SNMP và các thông tin quản lý được yêu cầu mô tả tài nguyên và kiểm soát hiệu năng hoạt động.


Việc thảo luận đầy đủ về an toàn doanh nghiệp nằm ngoài phạm vi của bài viết này. Tuy nhiên, bạn sẽ tìm ra "những bài học thép" trong loạt bài viết về chủ đề này (xem Tài nguyên). Xu hướng mới trong an toàn là theo dõi việc mã hóa toàn bộ đĩa cũng như các dữ liệu trong đĩa. Nhiều mục tiêu của các hệ thống doanh nghiệp được quản lý tốt như khắc phục thảm họa lại tạo ra một lỗ hổng an ninh mới bởi vì về phương diện địa lý thì các tài nguyên được phân phối thông qua mạng, vì vậy việc lập kế hoạch an ninh nên được xem xét trong tất cả các pha thiết kế và quản lý.

Phần 5: Phân phối nội dung và thiết kế mạng phân tán

Các hệ thống xanh ngày càng trở nên quan trọng vì đã có các bằng chứng về sự thay đổi của khí hậu toàn cầu, giá năng lượng tăng cao, dự đoán về sự thiếu hụt nhiên liệu. Ngoài ra, năng lượng có thể hồi phục lại có giá quá cao so với năng lượng dùng một lần. Thường thì các tâm điểm đều được tính vào hiệu quả và tổng chi phí của người chỉ sở hữu doanh nghiệp. Một vài vấn đề quan trọng nhất cần được xem xét là:

  • Việc tiêu thụ năng lượng: Việc chọn hệ thống xanh giúp giảm rất nhiều chi phí, vì vậy hãy xem xét cẩn thận đến từng sự vào ra trên một oát (W), số gigabytes trên một oát, số triệu lệnh xử lý trong một giây trên một oát, và cả các tham số năng lượng khác nữa.
  • Sự nóng lên và sự làm mát: Nguồn điện sinh ra sức nóng và do đó phải làm lạnh trung tâm dữ liệu, việc đó làm tốn nhiều điện năng hơn. Đã có các phương pháp làm mát cao cấp bằng chất lỏng và có nhiều hệ thống xanh chạy mát hơn và tốn ít năng lượng hơn.
  • Loại bỏ những trang thiết bị lạc hậu: Lập kế hoạch tái sử dụng lại các hệ thống IT đã sử dụng.

Các hệ thống doanh nghiệp quản lý tốt là các hệ thống không có rủi ro: Nó yêu cầu phải nghiên cứu kỹ từ trước. Các hệ thống dễ dàng thay đổi qui mô với sự quản lý hệ thống con tốt và các tùy chọn cho việc tích hợp để quản lý sự thay đổi qui mô đó. Tuy nhiên, mục tiêu của siêu điện toán qui mô êxa không chỉ là kiểm tra khả năng thay đổi qui mô của tài nguyên, dịch vụ và dữ liệu mà còn kiểm tra cả sự quản lý nữa.


Khái niệm về lưu trữ Web tạm thời đã tồn tại cùng với Web và có liên quan tới từ việc lưu trữ những tệp tin truy cập thường xuyên trên hệ thống máy tính cá nhân hoặc máy chủ ủy quyền (proxy) đến những máy chủ lưu trữ Web tạm thời dựa trên mạng Internet được cung cấp bởi các công ty như là một dịch vụ thuê bao trả tiền cho những nhà cung cấp nội dung. Khi đa phương tiện trở nên phổ biến hơn trên Web, những mạng phân phối nội dung (CDNs) đã trở thành một phần quan trọng của Internet và thành phần cho phép những ứng dụng Web 2.0 như IPTV, những thiết bị TV và Web di động, và những cơ sở dữ liệu Web nội dung lớn như Wikimedia hoạt động.

Tiếp tục loạt bài Căn bản về kiến trúc cơ sở hạ tầng, đây là bài viết thứ năm cung cấp tổng quan về CDNs và những mạng phân tán. Nó cũng trình bày làm thế nào để chúng phát triển từ những nơi lưu trữ Web đơn giản để tối ưu hóa truy cập vào nội dung trên Web tới hệ thống quản lý nội dung phức tạp và thậm chí có trí tuệ. Hầu hết chúng ta sử dụng Web từ khi bắt đầu của trình duyệt Web (khoảng đầu những năm 1990), nhớ rằng những trình duyệt Web luôn có lựa chọn để lưu trữ nội dung Web truy cập hiện tại hoặc thường xuyên. Cuối những năm 1990, nhiều công ty mới dựa trên nền Web, đã khởi xướng những máy chủ lưu trữ Web dựa trên Internet như là một dịch vụ thuê bao mất phí cho những nhà cung cấp nội dung Web. Mạng những máy chủ lưu trữ này được biết đến là một mạng phân tán nội dung và cải thiện đáng kể hiệu suất truy cập nội dung Web của người sử dụng. Những dịch vụ phân tán cơ bản đã phát triển đáng kể bao gồm cả an ninh cho những nhà cung cấp nội dung và luồng đa phương tiện và sau đó được biết đến như là một mạng phân phối nội dung, với sự tập trung không chỉ từ phân tán mà còn phân phối những dịch vụ có nội dung lớn, bao gồm cả video, âm thanh và những cơ sở dữ liệu đa phương tiện.

Ngày nay để thiết kế kiến trúc những dịch vụ Web một hệ thống phân phối nội dung, phạm vi của hệ thống CDN đang đe dọa cả ở tính có thể mở rộng và ở tính đa dạng của những dịch vụ, những kiểu truyền thông, và hiệu suất truy cập mà ta hi vọng những hệ thống này sẽ cung cấp. Một trong những mục tiêu đã định rõ của Web 2.0 (World Wide Web thế hệ thứ hai) là trí tuệ đám đông. Mặc dù trí tuệ đám đông có lẽ là một mục tiêu không thực tế của Web 2.0, thời cơ kinh doanh quan trọng tồn tại và được chứng minh bằng sự nổi lên của những mạng xã hội, video vi rút, IPTV, phương tiện và dịch vụ Web di động, và việc chèn các quảng cáo vào trong tất cả những thứ này. Rõ ràng, những nhà cung cấp nội dung sẽ tính đến những CDNs được thiết kế hợp lý hơn nữa để liên lạc với người sử dụng. Bài viết này trang bị cho nhà thiết kế hệ thống và kiến trúc giải pháp với những phương pháp để thành công trong thiết kế của những hệ thống phân phối và phân tán nội dung với con mắt hướng tới tương lai của những gì mà những hệ thống này có thể trở thành.

Từ năm 2000 đến 2008, việc sử dụng Internet đã tăng với hơn 100 phần trăm ở Bắc Mỹ, với hơn 200 phần trăm ở Châu Âu, và hơn 400 phần trăm ở Châu Á. Sự bùng nổ mạnh mẽ ở Châu Phi và vùng Trung Đông vượt quá 1000 phần trăm ở cả hai khu vực này. Mặc dù tốc độ tăng trưởng cao này vẫn tiếp tục được duy trì, sự bão hòa vẫn chưa đạt được ngay cả ở Bắc Mỹ, trong đó hơn 70 phần trăm dân số sử dụng Internet (xem Tài nguyên). Tất nhiên, một mình việc truy cập và việc tiếp cận không phải là thước đo thành công. Chất lượng của trải nghiệm Internet được đo bởi tốc độ dữ liệu băng thông rộng, độ trễ truy cập, và sự phong phú của nội dung cũng là điều quan trọng.

Danh sách 500 trang Web hàng đầu thế giới cho thấy một xu hướng đáng chú ý (xem Tài nguyên). Nhìn vào bảng xếp hạng Alexa, không có gì ngạc nhiên là hai trang Web hàng đầu là những dịch vụ tìm kiếm Web. Có thể thấy rõ hơn sự thật là trong tốp 10 bạn tìm th��y mạng xã hội, bộ sách bách khoa, blogger, và những dịch vụ Web video lan truyền trên Internet. Cũng chú ý rằng nhiều trang web mới nổi dùng nội dung của người sử dụng, bao gồm cả văn bản từ những bloggers cũng như những hình ảnh (ví dụ, photobucket.com) hoặc video (ví dụ, youtube.com). Rõ ràng là xu hướng và cuộc cách mạng Internet thứ hai thường được biết đến là Web 2.0 sẽ bao gồm nội dung phong phú, sự tương tác người sử dụng lớn hơn, phương tiện thời gian thực, và cộng tác người sử dụng hơn nữa — sao cho người sử dụng không chỉ sử dụng nội dung mà còn tạo ra nó.

Những dịch vụ Web phát triển từ những dịch vụ Web có thể mở rộng — được biểu diễn trong Hình 1— cho những hệ thống phức tạp hơn nhiều chẳng hạn như Wikimedia CDN (xem Tài nguyên). Sự tiến hóa từ những máy chủ Web đơn lẻ có thể mở rộng đến những máy chủ nội dung phân tán — được biểu diễn trong Hình 2 — có nhiều ưu điểm.



Những dịch vụ Web truyền thống


CDN

Thứ nhất, những máy chủ nội dung có để được đặt chỗ thích hợp về mặt địa lý sao cho những máy khách được phục vụ tốt hơn trong khu vực cho trước với độ trễ thấp và để giảm những xung đột về lưu lượng tắc nghẽn trên những mạng xương sống. Những CDNs trước đây thường được gọi là những máy chủ biên bởi vì vị trí của chúng gần với người sử dụng và được coi là những máy chủ phân tán, bởi vì một trong những mục tiêu chính là loại bỏ sự tắc nghẽn mạng và cải thiện trải nghiệm của người sử dụng. Mới đây, khi sự phong phú của nội dung Internet phát triển bao gồm đa phương tiện thời gian thực, CDNs được biết đến như là những mạng phân phối nội dung bởi vì nhiều hệ thống trở nên chuyên dụng hơn để cung cấp không chỉ sự phân tán các tệp tin tốt hơn mà còn luồng phương tiện thời gian thực tốt hơn.

Mặt khác, xu hướng gần đây là mở rộng CDNs tới chính người sử dụng sao cho những máy tính cá nhân có thể tham gia vào sự phân tán với những dịch vụ ngang hàng (P2P) (xem Tài nguyên). Vài điều tiên quyết chính đối với một người thiết kế CDN là cấp độ CDN nào sẽ bao gồm các đặc tính P2P, hoặc dù CDN sẽ là hệ thống phân tán của những máy chủ truyền thống hơn và CDN gắn những chuẩn phương tiện gì. Cho dù những mục tiêu thiết kế CDN là gì, một CDN nên có những dịch vụ cơ bản sau:

  • Những nơi lưu trữ Web: Ví dụ, Squid
  • Những máy chủ cơ sở dữ liệu: Ví dụ, MySQL hoặc những cơ sở dữ liệu thương mại như IBM® DB2®
  • Những máy chủ Web: Ví dụ, Apache
  • Quản trị CDN: Tác giả nội dung, chuyển mã, và các công cụ quản trị; cấu hình IT, sự giám sát, và quản trị; kiểm tra lỗi; và v.v..
  • Lưu trữ truy cập cao: Các mảng RAID, ổ đĩa thể rắn (SSD), cũng như lưu trữ và truy cập phân tán P2P
  • Những đầu lưu trữ kết nối mạng (NAS): Những máy chủ tệp tin để hỗ trợ cho những máy khách khác nhau, bao gồm Linux®, UNIX®, Mac OS X, và Windows®

Rõ ràng là những dịch vụ Web tập trung, như trong Hình 1, sẽ dẫn đến sự tắc nghẽn mạng khi những máy khách trên toàn thế giới được gửi qua mạng xương sống để liên lạc với máy chủ đơn lẻ. Dù là máy chủ Web đó có thể được mở rộng về băng thông mạng, xử lý, và lưu trữ I/O để duy trì, trải nghiệm người dùng sẽ trở nên tồi tệ bởi những lần đợi chờ trong hằng đợi và sự tải vào mạng xương sống. Một trong những giải pháp trước tiên cho vấn đề này ở Web 1.0 là sử dụng những nơi lưu trữ Web địa phương với các trình duyệt máy khách cụ thể. Điều này đã làm tốt khi nội dung tổng hợp trên Internet không quá phong phú và đa dạng; nhưng ngày nay, hầu hết người dùng trình duyệt với phạm vi nội dung rộng lớn hơn nhiều trên nhiều trang hơn những gì mà họ đã làm ở những năm 1990. Trình duyệt của những nội dung mở rộng như vậy dẫn đến việc dùng những máy chủ ủy quyền lưu trữ nội dung Web cho những máy khách chính giống như một trường đại học (và trong vài trường hợp sẽ lọc ra nội dung truy cập). Cả lưu trữ máy khách và lưu trữ máy chủ ủy quyền cũng không giải quyết vấn đề thời gian chờ đợi đối với những người dùng của hầu hết những nhà cung cấp nội dung phổ biến như truy cập Internet và nội dung toàn bộ tăng lên. Yêu cầu cho sự tiến triển của CDNs là sự nạp vào phân tán hơn trên mạng Internet như một tổng thể cho những trang phổ biến nhất.

Khi so sánh, Hình 2 cho thấy một sự phân tán về mặt địa lý của CDNs đơn giản để thay thế cho những máy chủ Web tập trung đã biểu diễn trong Hình 1. Thiết kế mới này thêm vào một số sự phức tạp cho việc quản trị toàn bộ trang Web, bởi vì nó yêu cầu phân tán nội dung trong phạm vi tập những máy chủ CDN đã phân tán từ nội dung máy chủ gốc. Tuy nhiên, CDNs có thể phân tán nội dung qua những mạng riêng với việc đảm bảo chất lượng dịch vụ (mặc dù mạng Internet vẫn có thể được sử dụng) và có thể phân phối nội dung đó với số lượng lớn, với sự tương tác truy cập để nó bị đẩy đến biên của những máy chủ CDN. Những máy khách có thể vẫn kết nối đến miền và được định tuyến tới vùng CDNs của chúng để tương tác và truy cập. Với dự báo và đo lường cẩn thận của những thống kê truy cập vào mỗi vùng biên của những máy chủ CDN, bạn có thể mở rộng những máy chủ biên một cách độc lập để đáp ứng yêu cầu địa phương và để làm giảm tắc nghẽn mạng Internet xương sống. Hơn nữa, bạn có thể lập lịch phân tán nội dung mới từ những máy chủ gốc trong suốt thời gian sử dụng không cao điểm, và sử dụng sự khác nhau của các vùng thời gian để cân bằng việc tải mạng và máy chủ theo thời gian và địa điểm.

Những nút trong một CDN bao gồm nội dung đã giấu kín cũng như nội dung được lưu trữ và thường là một cơ sở dữ liệu chẳng hạn như MySQL. Nội dung lưu trữ yêu cầu chứa đựng một lượng lớn luồng truyền tải của video hoặc âm thanh chẳng hạn như MPEG-2 và MPEG-4, cũng như XML và HTML có nhúng các ảnh JPEG nội dung lớn chẳng hạn. Sự tiêu thụ thường được thực hiện qua đầu NAS trên một SAN RAID cho CDNs tỉ lệ lớn. Đầu NAS cung cấp cho các tác giả nội dung, những người biên tập hậu sản xuất, và những nhà quản lý nội dung hoặc những nhà phân phối máy khách truy cập tới những tệp tin hệ thống có thể mở rộng mà họ có thể cần.

Nội dung trên một CDN thường gồm hàng trăm hoặc hàng nghìn tệp tin truyền tải video hoặc âm thanh mà chúng có kích thước nhiều gigabyte, do đó những nhu cầu lưu trữ thường có quy mô terabyte, và ngày nay trong một vài trường hợp là quy mô petabyte. Như đã thảo luận trong "Căn bản kiến trúc cơ sở hạ tầng, Phần 2: Phát hiện, ngăn ngừa, và loại trừ những tắc nghẽn hệ thống", (xem Tài nguyên) nhiều nhà thiết kế CDN đưa ra những công nghệ giống như kho lưu trữ xếp thành hàng và SSDs với kho lưu trữ RAID có thể mở rộng cho biên tập nội dung, quản trị, và những cụm NAS phân tán. Sự phong phú của nội dung trên CDNs tiếp tục phát triển với việc kết hợp video độ nét cao, thường là 20 đến 50Mbps trong dạng nén MPEG-2, MPEG-4, hoặc luồng truyền tải VC-1, so sánh với định nghĩa chuẩn, mà phổ biến là 3.75Mbps hoặc ít hơn. Loại trừ I/O và những tắc nghẽn truy cập lưu trữ do đó trở thành một trong những cân nhắc thiết kế quan trọng nhất đối với những CDNs có thể mở rộng để lưu trữ nội dung phong phú.


Lưu trữ Web tạm thời Squid là một công cụ tuyệt vời cho CDNs để phục vụ khách hàng tốt hơn và để làm giảm sự tắc nghẽn mạng Internet và mạng nội bộ cho những dịch vụ Web nội dung phong phú được lưu trữ trên hệ thống Windows hoặc Linux. Dịch vụ Lưu trữ Web tạm thời Squid cung cấp cấu hình cho CDN bao gồm:

  • Kiểm soát truy cập: Với hơn 25 kiểu ACL khác nhau sắp xếp từ những địa chỉ IP nguồn đến những tên của người dùng và các cổng TCP
  • Nơi lưu trữ tệp tin và hệ thống tệp tin điều chỉnh: squid.conf chỉ định cho những thư mục lưu trữ và lược đồ (kiểu hệ thống tệp tin chẳng hạn như UFS, hệ thống tệp tin UNIX), định cỡ, và những chính sách lưu trữ tạm thời. Điều chỉnh cẩn thận những hệ thống tệp tin và những giao diện thiết bị khối là điều then chốt. Ví dụ, bạn có thể tăng đầu đọc cho một một giao diện khối để lưu trữ với lệnh blockdev --setra 4096, nó thiết lập đầu đọc lên đến 2MB. Tương tự như vậy, những hệ thống tệp tin như XFS có thể thích nghi tốt hơn với nội dung lưu trữ hơn là những hệ thống tệp tin UNIX truyền thống.
  • Sự ngăn chặn và các giao diện Squid-to-Squid: Trong trường hợp lưu lượng trên CDN được định tuyến đến Squid mà không có bất kỳ cấu hình máy khách đặc biệt nào, nhưng những bộ định tuyến trong CDN được cấu hình để chuyển hướng những kết nối HTTP đến máy mà trên đó có một Squid đang chạy, nó cũng yêu cầu cấu hình của bảng IP trên Linux để xử lý những kết nối được ngăn chặn.
  • Những bộ chuyển hướng URI: Sử dụng Squid, những bộ chuyển hướng URI có thể được sử dụng để thay đổi trang HTTP của một người dùng yêu cầu đến một trang mới.
  • Xác thực: Squid cung cấp vài phương thức để quản lý tên và mật khẩu người dùng cho các giao diện Web, bao gồm những phương thức htpasswd cơ bản trên những máy chủ Web phổ biến cũng những những phương thức cao cấp hơn.
  • Các nhật ký và giám sát: Các toán tử Squid có thể được quản lý thông qua các tệp tin nhập ký, bao gồm cache.log, access.log, store.log, và những nhật ký tùy chọn thêm vào mà bạn có thể cấu hình. Những tệp tin nhật ký này cung cấp những cảnh báo để cho biết khi nào Squid không được cấu hình hoặc đang chạy một cách hiệu quả.


Khi CDN phát triển từ những mạng phân tán truy cập tệp tin đến những mạng phân phối đa phương tiện, độ phức tạp của việc thiết kế một CDN trở nên lớn hơn. Những nguyên lý tương tự cũng đã làm CDN thành công cho phân tán tệp tin sẽ hữu ích với việc tiêu thụ nội dung và luồng đa phương tiện, bởi vì cả hai rất có ích từ độ trễ thấp hơn, tắc nghẽn ít hơn, và cân bằng tải tổng thể. Những nhà thiết kế CDN và cá nhân IT CDN sẽ phải tìm hiểu những chuẩn và công cụ mới cho quản lý, phân tán, sáng tác, chuyển mã và giám sát nội dung đa phương tiện. Những máy khách di động làm phức tạp vấn đề này hơn. Ví dụ, Digital Video Broadcasting-Handheld (DVB-H), MediaFLO, và những chuẩn Multimedia Broadcast Multicast Service (MBMS) cho phân phối nội dung Web và phương tiện số cho những thiết bị di động đã và đang nổi lên trong cạnh tranh. Sự hiện diện của chúng có thể yêu cầu CDN để hỗ trợ những chuẩn phân phối đa phương tiện di động và những định dạng dữ liệu.

Tương tự, mã hóa video và những luồng truyền tải có thể gồm MPEG-2, MPEG-4, VC-1, hoặc định dạng mã hóa Ogg/Theora mở. Tương tự như vậy, với âm thanh MP3 hoặc AC-3 — chưa nói đến những định dạng âm thanh chất lượng cao và mã hóa. Luồng thực, nơi mà nội dung video và âm thanh số được phân phối ở thời gian thực, khác xa so với hướng tiếp cận tải về-và-chạy của video lan truyền trên Internet ngày nay. Sự xuất hiện của IPTV với video theo nhu cầu thực tế vượt quá khả năng CDN hiện hành. Nhưng CDNs có thể được mở rộng và chắc chắn đóng vai trò quan trọng trong việc cung cấp nội dung ở thời gian thực, những nhu cầu đầu cuối cung cấp luồng thời gian thực chính xác. Những mạng trò chơi tương tác và những mạng xã hội mới hiện nay yêu cầu CDNs, chúng có thể đóng vai trò trong phân tán nội dung của người sử dụng và những trò chơi mới trên toàn cầu.


Quản lý nội dung bao gồm nhiều bước và tiến trình bên ngoài CDN, bao gồm xử lý hậu-sản xuất và phân phối chẳng hạn như những luồng truyền tải mã hóa hoặc chuyển mã chúng giữa những định dạng hoặc chuyển đổi chúng từ tốc độ cao đến tốc độ thấp hơn. Cuối cùng, CDN phải có những giao diện chứa nội dung cho các khách hàng để hỗ trợ chuẩn bị nội dung cho phân phối. Nhiều nội dung là HTML và XML, nhưng luồng nội dung phong phú hơn cũng sẽ bao gồm những luồng truyền tải.

Luồng truyền tải đóng gói những luồng chương trình đã mã hóa như MPEG-2, trong đó tổ hợp lần lượt những luồng thành phần của video hoặc âm thanh. Ví dụ, một luồng chương trình có thể gồm một luồng video nguyên gốc và một hoặc hơn một luồng âm thanh. Tương tự như vậy, một luồng truyền tải có thể gói gọn một chương trình đơn hoặc những luồng đã lên chương trình trong một Multiprogram Transport Stream (MPTS). Những luồng truyền tải này thường hỗ trợ theo nhu cầu hơn là tải về và đóng gói luồng, vì vậy CDNs thực hiện những định dạng tệp tin phù hợp với những người dùng phương tiện chẳng hạn như Windows Media Player. Người dùng phương tiện thông thường nhất cũng bao gồm cả khả năng quản lý bản quyền kỹ thuật số nhằm bảo vệ nội dung để những người dùng thực tế đã bỏ tiền mua nội dung mới được tiêu thụ nó.

Những phương thức để phân phối nội dung từ đầu cuối đến đầu cuối đang phát triển với tốc độ nhanh, đặc biệt cho phân tán nội dung di động trên những mạng điện thoại di động thế hệ thứ ba tới những thiết bị cầm tay và di động. Hầu hết những dịch vụ phân phối và xếp luồng bao gồm những đầu cuối (headend) độc quyền và các thiết bị của người dùng sẽ yêu cầu sự tích hợp vào thiết kế CDN tổng thể lớn. Bài viết "SoC drawer: SoCs and the digital content revolution" (xem Tài nguyên) có thể giúp ích cho người đọc muốn đào sâu hơn về vấn đề phân phối phương tiện thời gian thực để tới nhiều thiết bị người dùng nhúng hơn.


Máy chủ VLC cung cấp công cụ mã nguồn mở tuyệt vời dựa trên Windows- hoặc Linux cho việc chuyển mã và cung cấp những dịch vụ luồng trên UDP. Mặc dù hầu hết những hệ thống phân phối nội dung gồm DRM và mã hóa độc quyền, máy chủ VLC cung cấp một phương thức để quản lý và phân phối nội dung nguồn mở. Số lượng nội dung nguồn mở sẵn có là nhỏ, nhưng những máy chủ nguồn mở và những công cụ giống máy chủ VLC kết hợp với nội dung nguồn mở chẳng hạn như W6RZ có thể rất hữu ích cho việc kiểm thử CDNs và tìm hiểu về quản lý phân phối nội dung thời gian thực (xem Tài nguyên).

VLC trói buộc máy khách và máy chủ với nhau và cung cấp những giao diện dựa trên GUI cũng như những giao diện tập lệnh cho luồng trên UDP và cho việc chuyển mã chương trình MPEG và những luồng truyền tải. Những nhà thiết kế CDN chọn hướng tiếp cận mã nguồn mở hoặc tích hợp cả DRM-ed độc quyền và phân phối nội dung nguồn mở có thể muốn theo kịp với những tiến bộ của LinuxMCE (xem Tài nguyên).


Sự nổi lên của mạng ngang hàng P2P đã được nhiều người biết đến qua tranh luận xung quanh những mạng chia sẻ tệp tin âm thanh số MP3 và quản lý bản quyền số (DRM) của nội dung đó. Sự phân tán nội dung P2P tiếp tục gây tranh cãi, bởi vì nó chuyển đổi điện toán của người thành cả máy chủ và máy khách, cái mà nhóm IT cục bộ đang cố quản lý những tài nguyên của máy khách và máy chủ của họ có thể không mong muốn. Tuy nhiên, CDNs hưởng lợi một cách rõ ràng từ việc đẩy nội dung đến biên, và kết quả tự nhiên là chuyển nội dung theo tất cả các cách để đến người sử dụng. Trong một tổ chức, những dịch vụ P2P cũng có thể tương đối hữu ích, bởi vì việc chia sẻ nhiều nội dung sẽ cùng nằm trong nhóm người dùng cùng địa phương một cách tự nhiên. Tương tự, nhiều hệ thống máy khách nhàn rỗi trong suốt những giờ không cao điểm và có thể được dùng cho việc tính toán, I/O, và lưu trữ các tài nguyên còn điều ngược lại sẽ gây ra lãng phí. Nói chung, P2P sẽ có chỗ đứng, nhưng nó phải được cân đối với vấn đề an ninh, cạnh tranh tài nguyên, và những vấn đề DRM.


Sự tăng trưởng của các nhà cung cấp dịch vụ CDN và các nhà cung cấp thiết bị đã bùng nổ khi Web 2.0 nổi lên và dự kiến sẽ còn tiếp tục. Trong suốt sự hình thành của Internet, sự phát triển của các ISPs cũng tương tự và ngày nay đã được hợp nhất vào những tổ chức đa dịch vụ (MSOs) cung cấp cáp, vệ tinh, và các công ty mạng viễn thông. Theo truyền thống, nội dung đến từ các nhà cung cấp nội dung giống như mạng lưới truyền hình, Hollywood, hoặc các nhà xuất bản; nhưng rõ ràng, cuộc cách mạng về nội dung của người dùng, P2P đang thay đổi một cách đáng kể mô hình này.

Nói chung, Web 2.0 được hình dung là trải nghiệm người dùng tương tác hơn nữa, bao gói hơn và tốt hơn, với nội dung phong phú hơn không chỉ đến từ nhà cung cấp nội dung truyền thống mà còn từ nhiều nguồn nội dung khác, bao gồm mỗi người và mọi người trong chúng ta. Điều này sẽ giúp củng cố sự cần thiết cho CDNs để chứa nội dung trong khu vực và để phân phối nội dung đó cho các máy chủ biên của khu vực khác dựa trên các mẫu truy cập, như là một mặt cắt rộng lớn hơn của liên lạc và cộng tác của nhân loại trên Internet. Có thể nói một cách chắc chắn rằng tại thời điểm này, CDNs sẽ phát triển về tầm quan trọng, và sẽ yêu cầu những nhà thiết kế rất hiểu biết như mong đợi vào hiệu suất, tính đa dạng nội dung, và phạm vi rộng hơn những máy khách di động và truyền thống tận dụng CDNs.

Theo IBM

 
Ý kiến phản hồi và bình luận Góp ý kiến của bạn

Các tin mới nhất :
- Giải pháp Digital Signage cho các Hệ thống Siêu thị/Bán lẻ
- Giới thiệu cộng nghệ cáp đồng Copperten 10Gb/s
- Tốc độ Data Center thế hệ mới: 40Gb/s và 100Gb/s
- Tại sao chúng ta cần sử dụng cáp Amp netconnect và cách phân biệt cáp Amp chính hãng
- Kiến trúc cơ sở hạ tầng - phân tích hệ thống
- Những điều nên và không nên làm để đảm bảo an ninh cho mạng Wifi
- Giải pháp kết nối Internet tin cậy cho Doanh nghiệp
- Giới thiệu công nghệ chuyển m��ch Trung tâm dữ liệu Cisco Nexus
- Giải pháp triển khai Dynamic Multipoint VPN
- Giải pháp hệ thống Wifi cho sân Golf
Các tin liên quan :
- Những điều nên và không nên làm để đảm bảo an ninh cho mạng Wifi
- Giải pháp kết nối Internet tin cậy cho Doanh nghiệp
- Giới thiệu công nghệ chuyển mạch Trung tâm dữ liệu Cisco Nexus
- Giải pháp triển khai Dynamic Multipoint VPN
- Giải pháp hệ thống Wifi cho sân Golf
- Giải pháp sử dụng mã nguồn mở Vyatta thay thế Cisco và Fortinet (Phần V - OPENVPN)
- Giải pháp sử dụng mã nguồn mở Vyatta thay thế Cisco và Fortinet (Phần IV - Firewall)
- Giải pháp sử dụng mã nguồn mở Vyatta thay thế Cisco và Fortinet (Phần III - Các giao thức định tuyến)
- Giải pháp sử dụng mã nguồn mở Vyatta thay thế Cisco và Fortinet (Phần II – Cấu Hình Dịch Vụ Trên Vyatta)
- Ứng dụng quản lý Cisco UCS Manager - Giải pháp quản lý toàn diện cho Hệ thống Điện toán Hợp nhất của Cisco (Phần 2)
Xem tiếp
Bài nhiều người đọc cùng chuyên mục
Tìm hiểu công nghệ VPLS và BGP MPLS VPN
 
Phân tích và thiết kế mô hình mạng doanh nghiệp với thiết bị Cisco
 
Thiết kế mạng Lan cho doanh nghiệp
 
Giải pháp sử dụng mã nguồn mở Vyatta thay thế Cisco và Fortinet (Phần II – Cấu Hình Dịch Vụ Trên Vyatta)
 
BranchCache – P.1: Khái quát về BranchCache
 
Tìm Hiểu Về Hạ Tầng Công Nghệ Thông Tin cho Doanh Nghiệp
 
Giải pháp sử dụng mã nguồn mở Vyatta thay thế Cisco và Fortinet (Phần I – Giới Thiệu Về Vyatta)
 
Trang chủ | Giới thiệu | Quảng cáo | Liên hệ
Giấy phép ICP số 199/GP-TTĐT. Bộ Thông tin và Truyền thông cấp.
Cơ quan quản lý  : Công Ty Cổ Phần Kênh Giải Pháp
Bản quyền © 2010-2011 Kenhgiaiphap.vn . Giữ toàn quyền.
Ghi rõ nguồn "Kenhgiaiphap.vn" khi phát hành lại thông tin từ website này.