1. Trang chủ
  2. » Công Nghệ Thông Tin

Đề tài: Openstack Swift MÔN ĐIỆN TOÁN ĐÁM MÂY

37 315 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

DANH MỤC HÌNH ẢNH………………………………………………………...5 LỜI MỞ ĐẦU……………………………………………………………………..6 PHẦN I – CLOUD COMPUTING ......................................................................... 7 1. Giới thiệu về “Điện toán đám mây” ................................................................ 7 1.1 Tính năng trong Cloud Computing ........................................................... 8 1.2 Mô hình triển khai ....................................................................................... 9 1.3 Mô hình dịch vụ .........................................................................................10 2. Các giải pháp mã nguồn mở cho mô hình điện toán đám mây ..................11 2.1 Eucalyptus ...............................................................................................11 2.2 OpenNebula ............................................................................................11 2.3 Nimbus .....................................................................................................12 2.4 Xen Cloud Platform (XCP) ...................................................................12 2.5 AbiCloud .................................................................................................12 2.6 OpenStack ...............................................................................................12 PHẦN II – GIỚI THIỆU OPENSTACK CÁC THÀNH PHẦN ...................13 1. Giới thiệu Openstack ......................................................................................13 1.1 Tổng quan về Openstack ...........................................................................13 1.2 Các phiên bản của Openstack ..................................................................13 1.3 OpenStack Diablo ......................................................................................14 PHẦN III OPENSTACK OBJECT STORAGE (SWIFT) ..............................23 1. Giới thiệu về OpenStack Object Storage ......................................................23 2. Các tính năng của OpenStack Object Storage .............................................24 3. Kiến trúc của Swift .........................................................................................25 3.1 Proxy servers ..............................................................................................27 3.2 Rings ............................................................................................................27 3.3 Zones ...........................................................................................................29 3.4 Accounts and containers (Tài khoản và các vùng chứa) .......................29 3.5 Partitions (phân vùng) ...............................................................................30 4 3.6 Replicators (máy sao chép) .......................................................................30 3.7 Use cases (trường sử dụng) .......................................................................31 4. Một số thuật ngữ ...........................................................................................33 5. Cơ chế lưu trữ .................................................................................................35 PHẦN IV – TÀI LIỆU THAM KHẢO ................................................................37 5 DANH MỤC HÌNH ẢNH Hình 1. Điện toán đám mây ................................................................................... 7 Hình 2. Mô hình sử dụng chung tài nguyên trong điện toán đám mây .................... 9 Hình 3. Kiến trúc Logic OpenStack (conceptual) ................................................. 14 Hình 4. Logical Architecture ................................................................................ 15 Hình 5. Các thành phần của Nova ........................................................................ 17 Hình 6. Ví dụ Flat Network.................................................................................. 19 Hình 7. Flat DHCP networking ............................................................................ 19 Hình 9. Định dạng Glance .................................................................................... 21 Hình 10. Hoạt động của Glance ........................................................................... 21 Hình 11. OpenStack DashBoard .......................................................................... 22 Hình 12. Tổng quan về Openstack Object Stogare ............................................... 24 Hình 13. Swift dưới kiến trúc hai tầng ................................................................. 25 Hình 14. Kiến trúc logic của Swift ....................................................................... 26 Hình 15. Các khối xây dựng đối tượng lưu trữ ..................................................... 27 Hình 16. The ring ................................................................................................. 28 Hình 17. Zones .................................................................................................... 29 Hình 18. Tài khoản và các vùng chứa .................................................................. 29 Hình 19. Partitions (phân vùng) ........................................................................... 30 Hình 20. Replicators (máy sao chép) ................................................................... 31 Hình 21. Kho đối tượng đang sử dụng ................................................................. 32 Hình 22. Swift Cluster ......................................................................................... 33 Hình 23. Mối quan hệ giữa Proxy server, Account, Object và Container server ... 34 6 LỜI MỞ ĐẦU Sơ khai của mô hình lưu trữ dữ liệu là lưu trữ local,tức lưu trữ trực tiếp trên chính máy tính sử dụng nó, sau đó khi nhu cầu chia sẻ dữ liệu giữa các máy tính tăng lên thì xuất hiện mô hình NFS (Network File Share – dữ liệu được chia sẻ giữa các máy tính cùng mạng) … Tuy nhiên , các kiến trúc dữ liệu cũ này không thể đáp ứng được cái bài toán hiện tại về việc lưu trữ khối lượng dữ liệu rất lớn và đặc biệt có khả năng co giãn linh hoạt. Chính vì vậy, Object Storage ra đời như một tất yếu, một giải pháp cho việc lưu trữ dữ liệu hướng đối tượng trong các hệ thống phân tán. Theo đó mỗi object sẽ bao gồm dữ liệu của chính nó, meta data và id định danh.

HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA AN TỒN THƠNG TIN Đề tài: Openstack Swift Giảng viên hướng dẫn: Nguyễn Mạnh Thắng Sinh viên thực hiện: Nguyễn Thái Duy Nguyễn Văn Duy Nguyễn Huy Đức Vương Thế Đạt Nguyễn Phúc Đạt Trần Thị Hoa Trần Thị Hạnh Khóa: AT10 HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA AN TỒN THƠNG TIN Hà Nội 9/2017 Đề tài: Openstack Swift Nhận xét cán bô ̣ hướng dẫn: Điểm chuyên cần: Điểm báo cáo: Xác nhâ ̣n của cán bô ̣ hướng dẫn MỤC LỤC DANH MỤC HÌNH ẢNH……………………………………………………… LỜI MỞ ĐẦU…………………………………………………………………… PHẦN I – CLOUD COMPUTING Giới thiệu “Điện toán đám mây” 1.1 Tính Cloud Computing 1.2 Mô hình triển khai .9 1.3 Mơ hình dịch vụ 10 Các giải pháp mã nguồn mở cho mô hình điện toán đám mây 11 2.1 Eucalyptus .11 2.2 OpenNebula 11 2.3 Nimbus .12 2.4 Xen Cloud Platform (XCP) 12 2.5 AbiCloud 12 2.6 OpenStack .12 PHẦN II – GIỚI THIỆU OPENSTACK & CÁC THÀNH PHẦN 13 Giới thiệu Openstack 13 1.1 Tổng quan Openstack 13 1.2 Các phiên Openstack 13 1.3 OpenStack Diablo 14 PHẦN III - OPENSTACK OBJECT STORAGE (SWIFT) 23 Giới thiệu OpenStack Object Storage 23 Các tính OpenStack Object Storage 24 Kiến trúc Swift 25 3.1 Proxy servers 27 3.2 Rings 27 3.3 Zones 29 3.4 Accounts and containers (Tài khoản vùng chứa) .29 3.5 Partitions (phân vùng) .30 3.6 Replicators (máy chép) .30 3.7 Use cases (trường sử dụng) .31 Một số thuật ngữ 33 Cơ chế lưu trữ 35 PHẦN IV – TÀI LIỆU THAM KHẢO 37 DANH MỤC HÌNH ẢNH Hình Điện tốn đám mây Hình Mơ hình sử dụng chung tài ngun điện tốn đám mây Hình Kiến trúc Logic OpenStack (conceptual) 14 Hình Logical Architecture 15 Hình Các thành phần Nova 17 Hình Ví dụ Flat Network 19 Hình Flat DHCP networking 19 Hình Định dạng Glance 21 Hình 10 Hoạt động Glance 21 Hình 11 OpenStack DashBoard 22 Hình 12 Tổng quan Openstack Object Stogare 24 Hình 13 Swift kiến trúc hai tầng 25 Hình 14 Kiến trúc logic Swift 26 Hình 15 Các khối xây dựng đối tượng lưu trữ 27 Hình 16 The ring 28 Hình 17 Zones 29 Hình 18 Tài khoản vùng chứa 29 Hình 19 Partitions (phân vùng) 30 Hình 20 Replicators (máy chép) 31 Hình 21 Kho đối tượng sử dụng 32 Hình 22 Swift Cluster 33 Hình 23 Mối quan hệ Proxy server, Account, Object Container server 34 LỜI MỞ ĐẦU Sơ khai mơ hình lưu trữ liệu lưu trữ local,tức lưu trữ trực tiếp máy tính sử dụng nó, sau nhu cầu chia sẻ liệu máy tính tăng lên xuất mơ hình NFS (Network File Share – liệu chia sẻ máy tính mạng) … Tuy nhiên , kiến trúc liệu cũ đáp ứng toán việc lưu trữ khối lượng liệu lớn đặc biệt có khả co giãn linh hoạt Chính vậy, Object Storage đời tất yếu, giải pháp cho việc lưu trữ liệu hướng đối tượng hệ thống phân tán Theo object bao gồm liệu nó, meta data id định danh PHẦN I – CLOUD COMPUTING Giới thiệu “Điện toán đám mây” Theo Viện Tiêu Chuẩn Cơng Nghệ (NIST): “Điện tốn đám mây tên tiếng anh Cloud Computing (CC) mơ hình cho phép truy cập mạng thuận tiện, theo nhu cầu đến kho tài nguyên điện toán dùng chung, định cấu hình: mạng, máy chủ, lưu trữ, ứng dụng,… cung cấp thu hồi cách nhanh chóng với yêu cầu tối thiểu quản lý can thiệp nhà cung cấp dịch vụ.” Theo Ian Foster “Điện toán đám mây mơ hình điện tốn phân tán có tính co giãn lớn mà hướng theo co giãn mặt kinh tế, nơi chứa sức mạnh tính tốn, kho lưu trữ, tảng dịch vụ trực quan, ảo hóa co giãn linh động, phân phối theo nhu cầu cho khách hàng bên ngồi thơng qua Internet” Mơ hình điện tốn đám mây thúc đẩy tính sẵn sàng bao gồm đặc tính bản, mơ hình triển khai mơ hình dịch vụ: Hình Điện tốn đám mây 1.1 Tính Cloud Computing Các tính Cloud Computing (CC) tùy thuộc vào mơ hình triển khai thực tế khác Ví dụ mơ hình private cloud, tài ngun sử dụng doanh nghiệp tính “On-demand service” hay “Resource pool” khác so với mơ hình khác 1.1.1 Tự phục vụ theo nhu cầu (On-demand self-service) Khi có nhu cầu, người dùng cần gửi yêu cầu thông qua trang web cung cấp dịch vụ, hệ thống nhà cung cấp đáp ứng yêu cầu người dùng Người dùng tự phục vụ yêu cầu tăng thời gian sử dụng server, tăng dung lượng lưu trữ… mà không cần phải tương tác trực tiếp với nhà cung cấp dịch vụ, nhu cầu dịch vụ xử lý môi trường web 1.1.2 Truy xuất diện rộng (Broad network access) Điện toán đám mây cung cấp dịch vụ thơng qua mơi trường Internet Người dùng có kết nối Internet sử dụng dịch vụ Điện tốn đám mây dạng dịch vụ nên khơng đòi hỏi khả xử lý cao phía client Vì vậy, người dùng truy xuất thiết bị di động điện thoại, PDA, lap top,… Với điện tốn đám mây người dùng khơng bị phụ thuộc vào vị trí, truy xuất từ nơi nào, lúc có kết nối Internet 1.1.3 Dùng chung tài nguyên (Resource pooling) Nhà cung cấp dịch vụ cho phép người dùng dùng chung tài nguyên họ cung cấp dựa mơ hình “multi-tenant” Tài ngun phân phát linh hoạt tùy theo nhu cầu người dùng Khi nhu cầu người dùng giảm xuống, phần tài nguyên dư thừa phục vụ cho người dùng khác Nếu người dùng CPU từ đến 11 hàng ngày, người dùng khác thuê CPU tương tự 13 đến 17 hàng ngày họ dùng chung CPU Điện tốn đám mây dựa cơng nghệ ảo hóa, nên tài nguyên đa phần tài nguyên ảo Các tài nguyên ảo cấp phát động theo thay đổi nhu cầu khác hàng khác Nhờ mà nhà cung cấp dịch vụ phục vụ nhiều khách hàng so với cách cấp phát tài ngun tĩnh truyền thống Hình Mơ hình sử dụng chung tài ngun điện tốn đám mây 1.1.4 Khả co giãn (Rapid elasticity) Một đặc tính bật Cloud Computing khả tự động mở rộng thu nhỏ hệ thống theo yêu cầu người dùng (hệ thống tự mở rộng thu hẹp cách thêm giảm bớt tài nguyên) Một người dùng ký hợp đồng thuê Server gồm CPU Nếu lượng truy cập thấp cần CPU đủ, hệ thống quản lý nhà cung cấp dịch vụ tự ngắt bớt CPU, người dùng khơng phải trả phí cho CPU nói chúng đưa sang phục vụ người dùng khác Đến nhu cầu tăng tức lượng truy cập tăng, hệ thống lạp tức tự động thêm CPU vào, nhu cầu vượt CPU người dùng trả phí theo hợp đồng ký với nhà cung cấp cloud computing service Khả co giãn nhanh linh hoạt giúp cho nhà cung cấp dịch vụ cloud computing service tận dụng tài nguyên dư thừa phục vụ nhiều khách hang, người dùng giảm chi phí họ phải trả tiền cho tài nguyên thực dùng 1.1.5 Điều tiết dịch vụ (Measured service) Hệ thống điện toán đám mây tự động kiểm sốt tối ưu hóa việc sử dụng tài nguyên Lượng tài nguyên sử dụng theo dõi, kiểm soát báo cáo cách minh bạch cho hai phía nhà cung cấp dịch vụ người sử dụng 1.2 Mơ hình triển khai 1.2.1 Đám mây riêng Các đám mây riêng tư tồn bên tường lửa đơn vị tổ chức tự quản lý Chúng dịch vụ đám mây tổ chức tạo kiểm sốt nội tổ chức Các đám mây riêng tư cung cấp nhiều lợi ích tương tự đám mây công cộng Sự khác biệt chủ yếu tổ chức chịu trách nhiệm thiết lập trì đám mây 1.2.2 Đám mây cơng cộng Các đám mây cơng cộng có sẵn cho cơng chúng nhóm ngành nghề lớn tổ chức bán dịch vụ đám mây sở hữu cung cấp Các tài nguyên cung cấp Internet cách sử dụng ứng dụng web từ nhà cung cấp bên thứ ba bên cung cấp tài nguyên chia sẻ gửi hóa đơn tính cước sở tính tốn việc sử dụng 1.2.3 Đám mây lai Các đám mây lai kết hợp đám mây công cộng riêng tư sử dụng dịch vụ có hai vùng công cộng riêng tư Các trách nhiệm quản lý phân chia nhà cung cấp dịch vụ đám mây cơng cộng doanh nghiệp Khi sử dụng đám mây lai, tổ chức xác định mục tiêu yêu cầu dịch vụ tạo có chúng dựa vào lựa chọn thích hợp 1.2.4 Đám mây cộng đồng Các đám mây cộng đồng mơ hình hạ tầng đám mây sử dụng quản lý số tổ chức cộng đồng người dùng Các tổ chức có đặc thù không tiếp cận với dịch vụ đám mây công cộng chia sẻ chung hạ tầng điện toán đám mây để nâng cao hiệu đầu tư sử dụng 1.3 Mơ hình dịch vụ 1.3.1 Dịch vụ sở hạ tầng IaaS (Infrastructure as a Service) Dịch vụ IaaS cung cấp dịch vụ bao gồm lực tính tốn, khơng gian lưu trữ, kết nối mạng tới khách hàng Khách hàng (cá nhân tổ chức) sử dụng tài nguyên hạ tầng để đáp ứng nhu cầu tính tốn cài đặt ứng dụng riêng cho người sử dụng Với dịch vụ khách hàng làm chủ hệ điều hành, lưu trữ ứng dụng khách hàng cài đặt Khách hàng điển hình dịch vụ IaaS đối tượng cần tới máy tính tự cài đặt ứng dụng Ví dụ điển hình dịch vụ dịch vụ EC2 Amazon Khách hàng đăng ký sử dụng máy tính ảo trê dịch vụ Amazon lựa chọn hệ thống điều hành (ví dụ, Windows Linux) tự cài đặt ứng dụng 1.3.2 Dịch vụ tảng PaaS (Platform as a Service) Dịch vụ PaaS cung cấp tảng điện toán cho phép khách hàng phát triển phần mềm, phục vụ nhu cầu tính tốn xây dựng thành dịch vụ tảng Cloud Dịch vụ PaaS cung cấp dạng ứng dụng lớp (middleware), ứng dụng chủ (application server) công cụ lập trình với 10 PHẦN III - OPENSTACK OBJECT STORAGE (SWIFT) Giới thiệu OpenStack Object Storage OpenStack Object Storage hay gọi Swift Rackspace open-source từ năm 2010 Nó cơng nghệ sử dụng đằng sau Rackspace's Cloud Files, giải pháp lưu trữ thương mại tốt cạnh tranh với Amazon S3 Swift thiết kế để cung cấp khả lưu trữ mở rộng cực lớn, truy cập thông qua API Không giống hệ thống lưu trữ truyền thống (như máy chủ file), hệ thống lưu trữ phân tán, lưu trữ nhiều đối tượng để nâng cao độ sẵn sàng khả mở rộng cho hệ thống Kiến trúc Swift thuộc loại phân tán để ngăn chặn “điểm chịu lỗi” (Single Point of Failure) mở rộng quy mô theo chiều ngang Swift phần mềm nguồn mở để tạo phiên giống cho việc lưu trữ liệu, đồng thời với việc mở rộng lưu trữ linh hoạt sử dụng chế clusters, Khả swift lưu trữ lên đến petabytes liệu truy cập Swift không hệ thống data thời gian thực mà hệ thống lưu trữ lớn với tính chất “lâu dài – long term” với lượng liệu cực lớn mà đảm bảo việc truy xuất, phân cấp nâng cấp (retrieved, leveraged, and updated) Các đối tượng lưu trữ (Object Storage) sử dụng kiến trúc phân tán so với mơ hình tập trung, nên khơng có điểm trung tâm Việc giúp nâng cao khả mở rộng, backup trì (scalability, redundancy and permanence) Các đối tượng ghi lên nhiều thiết bị phần cứng khác Trong đó, OpenStack đóng vai trò chịu trách nhiệm đảm bảo việc tái tạo, nguyên toàn vẹn liệu qua cluster Mặt khác, cụm lưu trữ liệu mở rộng theo “chiều ngang” dễ dàng qua việc thêm nodes lưu trữ Nếu nodes trục trặc, hoạt động OpenStack tái tạo lại nội dung từ nodes active khác Tất công việc OpenStack thực mặt logic mà không phụ thuộc vào thiết bị phần cứng Việc đảm bảo chắn việc tái tạo, chép liệu đồng thời tránh việc phụ thuộc vào thiết bị phần cứng, đặc biệt thiết bị chuyên dụng giá thành cao 23 Hình 11 Tổng quan Openstack Object Stogare Các tính OpenStack Object Storage  Store and Manage files programmatically via API: Quản lý file thông qua giao diện API  Create Public or Private containers  Leverages Commodity hardware  HDD/ node failure agnostic: Đảm bảo không liệu chế backup lưu tự động  Unlimited Storage: Lưu trữ không hạn chế  Multi-dimensional scalability (scale out architecture)  Account/ Container/ Object structure: Cho phép mở rộng đến nhiều Peta-bytes hàng tỷ objects  Built-in Replication: N copies accounts, container objects  Easily add capacity unlike RAID resize  No central database: Hiệu suất cao, tránh thắt cổ chai  RAID not required  Built-in Mgmt utilities: Acct Management: Create, add, verify, delete, users 24 Container Management: upload, download, verify Monitoring: Capacity, Host, Network, Log trawling, cluster health  Drive auditing: cho phép kiểm tra ổ đĩa để phát hư hỏng  VNC Proxy through web browser Kiến trúc Swift Có thể nhìn nhận swift kiến trúc gồm tầng sau: Hình 12 Swift kiến trúc hai tầng Swift có loại node: Proxy Nodes: Những node tương tác với "Swift client" thực xử lý yêu cầu Client tương tác với Proxy nodes  Storage Nodes: Đây node lưu trữ objects  25 Hình 13 Kiến trúc logic Swift Các thành phần miêu tả cụ thể sau: Đối tượng lưu trữ sử dụng thành phần sau để cung cấp khả sẵn sàng, độ bền khả đồng thời cao: Proxy servers: Xử lý tất yêu cầu API đến Rings: Lập đồ tên liệu đến vị trí cụ thểtrên đĩa Zones (các vùng): Cô lập liệu từ vùng khác Một vùng bị hỏng không ảnh hưởng đến phần lại cụm liệu lặp lại qua vùng Accounts and containers (Tài khoản vùng chứa): Mỗi tài khoản vùng chứa sở liệu cá nhân phân phối toàn cluster Một sở liệu tài khoản chứa danh sách container tài khoản Một container database chứa danh sách đối tượng vùng chứa Đối tượng: Chính liệu Phân vùng: Một phân vùng lưu trữ đối tượng, sở liệu tài khoản, sở liệu container giúp quản lý vị trí liệu sống cụm 26 Hình 14 Các khối xây dựng đối tượng lưu trữ 3.1 Proxy servers Proxy servers(Máy chủ proxy) mặt đối tượng lưu trữ xử lý tất yêu cầu API đến Khi máy chủ proxy nhận yêu cầu, xác định nút lưu trữ dựa URL đối tượng Ví dụ: https://swift.example.com/v1/account/container/object Các máy chủ Proxy phối hợp với phản hồi, xử lý lỗi điều phối dấu thời gian Proxy Servers sử dụng kiến trúc không dùng chung thu nhỏ theo yêu cầu dựa khối lượng công việc dự kiến Tối thiểu hai máy chủ proxy phải triển khai phía sau cân tải quản lý riêng Nếu máy chủ proxy bị lỗi, máy khác tiếp quản 3.2 Rings Một vòng đại diện cho ánh xạ tên thực thể lưu trữ cluster vị trí vật lý chúng đĩa Có vòng riêng cho tài khoản, vùng chứa đối tượng Khi thành phần hệ thống cần thực thao tác đối tượng, vùng chứa tài khoản, họ cần tương tác với vòng tương ứng để xác định vị trí thích hợp cụm Vòng trì lập đồ cách sử dụng vùng, thiết bị, phân vùng Mỗi phân vùng vòng chép theo mặc định ba lần cluster, vị trí phân vùng lưu trữ đồ trì vòng Vòng có 27 trách nhiệm xác định thiết bị sử dụng chuyển tiếp kịch thất bại Dữ liệu lập thành vùng vòng Mỗi phân vùng cố gắng vùng khác Một vùng đại diện cho ổ đĩa, máy chủ, tủ, switch, chí trung tâm liệu Các phân vùng vòng phân bố số tất thiết bị đối tượng lưu trữ Khi phân vùng cần phải di chuyển xung quanh (ví dụ: thiết bị thêm vào cluster), vòng đảm bảo số lượng tối thiểu phân vùng di chuyển thời gian Và có phân vùng di chuyển thời điểm Bạn sử dụng trọng lượng để cân phân bố phân vùng ổ đĩa qua cụm Điều hữu ích, ví dụ ổ đĩa có kích thước khác sử dụng cụm Vòng sử dụng máy chủ proxy số trình (như mơ phỏng) Hình 15 The ring Vòng quản lý bên Các máy chủ xử lý khơng sửa đổi vòng, họ thay vào vòng sửa đổi cơng cụ khác Vòng sử dụng số cấu hình bit từ MD5 băm cho đường mục phân vùng định thiết bị Số lượng bit giữ từ băm gọi sức mạnh phân vùng Sức mạnh phân vùng cho biết số lượng phân vùng Việc phân chia tồn vòng băm MD5 đầy đủ cho phép phận khác cluster hoạt động theo lô hàng lúc kết thúc hiệu Ít phức tạp so với làm việc với mục riêng lẻ toàn cluster lúc Một giá trị cấu hình khác số đếm sao, cho biết có thiết bị phân vùng gán lên vòng Đối với số phân vùng định, thiết bị không nằm khu vực với thiết bị Các vùng sử dụng để nhóm thiết bị dựa vị trí vật lý, chia tách công suất, chia tách mạng thuộc tính khác cải thiện tính sẵn có nhiều lúc 28 3.3 Zones Đối tượng lưu trữ cho phép cấu hình khu vực để cô lập ranh giới thất bại Nếu có thể, liệu nằm vùng riêng biệt Ở mức nhỏ nhất, vùng ổ đĩa đơn nhóm vài ổ đĩa Nếu có năm máy chủ lưu trữ đối tượng, máy chủ đại diện cho vùng riên Triển khai lớn có tồn giá đỡ (hoặc nhiều kệ) máy chủ đối tượng, đại diện cho khu vực Mục tiêu khu vực cho phép cluster chấp nhận cố liệu đáng kể máy chủ lưu trữ mà không làm tất liệu Hình 16 Zones 3.4 Accounts and containers (Tài khoản vùng chứa) Mỗi tài khoản vùng chứa sở liệu cá nhân SQLite phân phối toàn cluster Một sở liệu tài khoản chứa danh sách container tài khoản Cơ sở liệu chứa (container database) chứa danh sách đối tượng vùng chứa Hình 17 Tài khoản vùng chứa Để theo dõi vị trí liệu đối tượng, tài khoản hệ thống có sở liệu tham chiếu đến tất vùng chứa Mỗi sở liệu vùng chứa tham chiếu đến đối tượng 29 3.5 Partitions (phân vùng) Phân vùng tập hợp liệu lưu trữ Bao gồm sở liệu tài khoản, sở liệu container đối tượng Phân vùng cốt lõi hệ thống nhân rộng Hãy nghĩ đến phân vùng thùng di chuyển toàn kho trung tâm thực Các đơn đặt hàng cá nhân ném vào thùng Hệ thống xử lý bin thực thể cố kết di chuyển tồn hệ thống Hệ thống chép tải lên đối tượng / tải hoạt động phân vùng Khi hệ thống tăng lên, hành vi tiếp tục dự đốn số lượng phân vùng số cố định Thực phân vùng đơn giản : phân vùng thư mục ngồi đĩa với bảng băm tương ứng chứa Hình 18 Partitions (phân vùng) 3.6 Replicators (máy chép) Để đảm bảo có ba liệu khắp nơi, replicators liên tục kiểm tra phân vùng Đối với phân vùng cục bộ, máy nhân so sánh với chép vùng khác để xem có khác biệt khơng Người chép biết chép cần phải thực cách kiểm tra hàm băm Một tập tin băm tạo cho phân vùng, có chứa băm thư mục phân vùng Đối với phân vùng định, tệp băm cho phân vùng so sánh Nếu băm khác nhau, thời gian để nhân rộng, thư mục cần phải chép Đây nơi phân vùng có ích Với thứ hệ thống, khối liệu lớn chuyển giao xung quanh (chứ nhiều kết nối TCP nhỏ, không hiệu quả) có số lượng định bảng băm để so sánh Cụm có hành vi quán liệu cũ phục vụ từ phân vùng không cập nhật, chép làm cho tất phân vùng hội tụ phía liệu 30 Hình 19 Replicators (máy chép) Nếu khu vực xuống, nút có chứa thông báo chủ động chép liệu đến vị trí bàn giao 3.7 Use cases (trường sử dụng) Các phần sau trường hợp sử dụng uploads, downloads giới thiệu thành phần UPLOAD Một client sử dụng REST API thực yêu cầu HTTP để đặt đối tượng vào container có Cụm nhận yêu cầu Thứ nhất, hệ thống phải tìm nơi liệu Để làm điều này, tên tài khoản, tên vùng chứa tên đối tượng sử dụng để xác định phân vùng nơi đối tượng Sau đó, tra cứu vòng số nút chứa chứa phân vùng câu hỏi Dữ liệu gửi đến nút lưu trữ, nơi đặt phân vùng thích hợp Ít hai ba viết phải thành công trước client nhận thông báo tải lên thành công Tiếp theo, sở liệu container cập nhật không đồng để phản ánh có đối tượng 31 Hình 20 Kho đối tượng sử dụng DOWNLOAD Một yêu cầu kèm với tài khoản / container / đối tượng Sử dụng hỗn hợp băm, số phân vùng xác định Một tra cứu vòng cho thấy nút lưu trữ chứa phân vùng Một yêu cầu thực cho nút lưu trữ để tìm nạp đối tượng Nếu không thành công, yêu cầu thực cho nút khác 32 Một số thuật ngữ Hình 21 Swift Cluster  Data access: o Ring - "Trái tim" Swift Một Ring đại diện cho ánh xạ tên thực thể lưu trữ đĩa vị trí địa lý chúng Có Ring riêng biệt cho account, container object Khi thành phần khác cần phải thực hoạt động container, object account cần phải tương tác với Ring thích hợp để xác định vị trí cluster 33 Sơ đồ mô tả mối quan hệ Proxy server với Account, Object, Container server thơng qua Ring Hình 22 Mối quan hệ Proxy server, Account, Object Container server Partition: Phân vùng lưu trữ đối tượng, sở liệu Account sở liệu container Đây trung gian 'vùng chứa' giúp quản lý vị trí, nơi liệu sống cluster Data representation: o Objects: Là ghi dạng key-value lưu trữ liệu đối tượng o Container: Nhóm object o Account: Nhóm containers Mỗi tài khoản container sở liệu cá nhân phân phối cluster Một sở liệu Account có chứa danh sách Containers Account Một sở liệu Container chứa danh sách đối tượng Container Servers type: o Proxy server: Proxy Server giao diện chung Swift xử lý yêu cầu đến tất API, có trách nhiệm liên kết phần lại kiến trúc Swift o   34 Object server: Server Object blob lưu trữ server mà lưu trữ, truy xuất xóa đối tượng lưu trữ thiết bị cục o Container server: Công việc Server container để xử lý danh sách đối tượng Nó khơng biết đối tượng, mà cần biết đối tượng container cụ thể o Account server: Account Server tương đối giống với Server container, ngoại trừ, chịu trách nhiệm danh sách container đối tượng  Utility process: o Replicator: Tiện ích xử lý tạo liệu o Updater: Xử lý update không thành công liệu container account o Auditor: Auditors thu thập liệu local server để kiểm tra tính tồn vẹn object, container, account Cơ chế lưu trữ Swift cung cấp giải pháp lưu trữ có khả mở rộng cực lớn với độ sẵn sàng cao Để object trạng thái toàn vẹn sẵn sàng, Swift nhân object phân phối nhân hệ thống lưu trữ Có hai dịch vụ đẩm nhiệm điều Replicator Auditor o Đảm bảo tính tồn vẹn : Một dịch vụ ln chạy Stogare node Swift Auditor, liên tục quét ổ đĩa đẻ chắn liệu lưu đĩa khơng bị lỗi (do q trình lưu trữ) hay khơng tồn vẹn Có Auditor account, Auditor container , Auditor object hỗ trợ máy chủ tương ứng Nếu lỗi tìm thấy, Auditor di chuyên object bị hỏng sang khu vực cách ly Để đảm bảo tĩnh sẵn sàng : Một dịch vụ Replicator chạy tất node để đảm bảo số lượng xác hệ thống Một replicator liên tục kiểm tra cá node mà gói tải lên so sánh account, container, object với node khác Nếu phát nhiều node khác bị sai cũ , replicator gửi đến node Replicator xử lý object container bị xóa Khi object bị xóa , file rỗng tạo đánh dấu phiên object Phiên gửi qua tất node khác object bị xóa tồn hệ thống Trong trường hợp thiết bị bị lỗi, hệ thống tự động nhân object để thay cho bị để đảm bảo số lượng không thay đổi Swift 35 cho phép phân phối liệu khu vực địa lý khác nhau, điều tăng cường tính sẵn sàng liệu, đồng thời phòng ngừa thảm họa 36 PHẦN IV – TÀI LIỆU THAM KHẢO http://swift.openstack.org http://swiftstack.com/ http://docs.openstack.org/developer/swift/ 37

Ngày đăng: 30/09/2019, 12:27

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w