Tìm hiểu và triển khai planetlab trên mạng diện rộng
Trang 1THIẾT KẾ HỆ THỐNG MẠNG
***
Giáo viên hướng dẫn : TS.Ngô Hồng Sơn
Sinh viên : Nguyễn Hồng Minh
SHSV: 20081743 Lớp: TTM-K53
Đề tài 2: Tìm hiểu và triển khai PlanetLab trên mạng diện rộng
Tìm hiểu PlanetLab trong xây dựng lab ảo trên mạng
Triển khai thử nghiệm trên mạng Internet hoặc mạng giáo dục (giữa một số trường đại học tại Hà Nội)
Phát triển, thử nghiệm và đánh giá một số ứng dụng thử nghiệm (IPv6, security, streaming…)
Trang 2Nguyễn Hồng Minh Page 2
Contents
LỜI MỞ ĐẦU 4
CHƯƠNG 1 TÌM HIỂU CÔNG NGHỆ ẢO HÓA MẠNG 5
1 Công nghệ ảo hóa là gì ? 5
2 Tại sao phải ảo hóa ? 5
3 Các kiểu ảo hóa cơ bản : 6
3.1 Ảo hóa hệ thống lưu trữ : 6
3.2 Ảo hóa hệ thống mạng : 7
3.3 Ảo hóa ứng dụng : 8
3.4 Ảo hóa hệ thống máy chủ : 9
4 Kiến trúc mạng ảo : 10
5 Ưu nhược điểm của việc ảo hóa : 13
5.1 Ưu điểm : 13
5.2 Nhược điểm : 13
CHƯƠNG 2 TÌM HIỂU PLANET-LAB 14
1 Tổng quan : 14
2 Lịch sử hình thành và phát triển : 15
3 Tác động của PlanetLab : 15
4 Các thành phần kiến trúc dùng trong hệ thống : 16
5 Mối quan hệ tin cậy giữa các thực thể trong hệ thống : 17
6 Kiến trúc nút PlanetLab: 19
7 Kiến trúc Slice : 20
8 Kiến trúc phần mềm MyPLC : 21
CHƯƠNG 3 TRIỂN KHAI THỬ NGHIỆM MẠNG PLANETLAB THU NHỎ 22
1 Thành phần của hệ thống: 22
1.1 Máy trung tâm: 23
1.2 Tập hợp các node : 23
1.3 User hệ thống : 23
2 Các bước triển khai : 23
Trang 3Nguyễn Hồng Minh Page 3
2.1 Yêu cầu hệ thống : 23
2.2 Dựng DNS: 24
2.3 Cài đặt môi trường Proxmox trên máy trung tâm & các node: 24
2.4 Cài đặt trên máy trung tâm : 27
2.5 Cài đặt trên các node : 30
2.5.1 Chuẩn bị : 30
2.5.2 Tạo Site với quyền PI : 30
2.5.3 Cài đặt trên các node : 32
2.6 Sử dụng hệ thống : 34
2.6.1 Các thư mục quan trọng trên hệ thống : 34
2.6.2 Tạo User : 34
2.6.3 Tạo Slice : 35
Chương 4 KẾT LUẬN & ĐÁNH GIÁ KẾT QUẢ 36
1 Kết quả đạt được : 36
2 Hạn chế : 36
3 Hướng phát triển đề tài: 36
TÀI LIỆU THAM KHẢO 37
Trang 4Nguyễn Hồng Minh Page 4
LỜI MỞ ĐẦU
Thực hành là một trong những yếu tố quan trọng giúp cung cấp cho sinh viên kiến thức và kinh nghiệm cần thiết trong lĩnh vực máy tính Với sự phổ biến rộng rãi của máy tính cá nhân, sinh viên ngày càng có điều kiện tự luyện tập tại nhà Mặc dù vậy, các phòng thí nghiệm máy tính trong trường học vẫn có vai trò quan trọng, đặc biệt là trong việc cung cấp cho sinh viên cơ hội làm việc với những phần mềm đòi hỏi chi phí đầu tư lớn, cả về mặt phần mềm lẫn phần cứng
Tuy nhiên, việc xây dựng một phòng thí nghiệm là khá tốn kém Ngoài chi phí cho máy móc, thiết bị còn có chi phí cho phòng máy, hệ thống mạng, bảo trì, v.v Hơn nữa, còn có những khó khăn trong việc lựa chọn đầu tư thiết bị, như CPU, RAM, ổ cứng, v.v Nếu khả năng làm việc của các thiết bị này thấp, chúng sẽ nhanh chóng trở nên lạc hậu và không đáp ứng được nhu cầu của người dùng Ngược lại, nếu khả năng làm việc của các thiết bị quá cao so với nhu cầu thực tế, chúng sẽ không được tận dụng tối đa, khi mà nhu cầu của từng sinh viên, từng môn học không giống nhau
Sự tiến bộ trong công nghệ ảo hóa đem đến một hướng giải quyết cho vấn đề trên Công nghệ ảo hóa cho phép tạo ra máy ảo—là máy tính được giả lập bằng phần mềm, song vẫn có thể hoạt động như những máy vật lí Nhiều máy ảo có thể cùng chạy trên một máy vật lí, vì vậy việc chia sẻ, tận dụng tài nguyên sẽ được thực hiện một cách hiệu quả Song việc ứng dụng máy ảo cũng dẫn đến một số trở ngại nhất định Thứ nhất, phải
có các cơ chế để người dùng có thể làm việc với máy ảo như với những máy tính vật lí thông thường Thứ hai, phải đảm bảo rằng người dùng luôn nhận được máy ảo phù hợp với nhu cầu của họ, cả về phần mềm lẫn phần cứng
Trong đồ án này, em sẽ tìm hiểu về công nghệ ảo hóa mạng , và xây dựng thử nghiệm một hệ thống dùng công nghệ ảo hóa với chức năng của các phòng thí nghiệm truyền thống Chính là tìm hiểu và xây dựng hệ thống mạng Planetlab quy mô mạng cục
bộ
Em xin chân thành cám ơn thầy Ngô Hồng Sơn đã tận tình hướng dẫn em hoàn thành đồ án này
Trang 5Nguyễn Hồng Minh Page 5
CHƯƠNG 1 TÌM HIỂU CÔNG NGHỆ ẢO HÓA MẠNG
1 Công nghệ ảo hóa là gì ?
Ảo hóa là bước chuyển trung gian từ phần cứng vật lý sang phần cứng ảo và nó đang trở thành một trong những xu hướng phát triển lớn tiếp theo trong ngành công nghiệp ICT Hiện nay đã có nhiều lựa chọn ảo hóa hơn trong từng lĩnh vực cho các
chuyên gia công nghệ thông tin lựa chọn , như các ứng dụng mã nguồn mở của Xen và Virtual Iron , hay Hyper-V của Microsoft và các sản phẩm mới của VMware Có thể nói công nghệ ảo hóa là một công nghê được thiết kế để tạo ra một phiên bản ảo từ một thiết
bị lưu trữ, một thiết bị mạng cho đến một hệ điều hành Mục đích của công nghệ ảo hóa
là đơn giản việc quản lý nhưng lại đạt hiệu quả cao hơn về khả năng , tốc độ làm việc cũng như nâng cao khả năng mở rộng hệ thống
2 Tại sao phải ảo hóa ?
Như chúng ta thấy, hệ thống mạng Interet mới chỉ ra đời cách đây hơn 30 năm, nhưng đã có sự phát triển bùng nổ đến ngày nay, cả về phạm vi và tính chất Từ phạm vi một vài trăm Km đến nay Internet đã phủ khắp toàn cầu, từ xây dựng trên 1 kiến trúc đơn giản, đến nay đã tồn tại hàng chục kiến trúc mạng khác nhau với các công nghệ mạng khác nhau.Điều này phần nào nói lên tính phức tạp của hệ thống mạng toàn cầu hiện nay.Trong khi nhu cầu mở rộng & nâng cao hiệu năng hoạt động của hệ thống mạng hiện
có, với khả năng tài nguyên có hạn đặt ra cho các nhà hoặc định phát triển cần có hướng
đi mới Không thể tiếp tục phát triển theo con đường cũ, mà cần có 1 sự đột phá mới về mặt công nghệ mạng
Internet trong tương lai cần phải đạt được những mục tiêu gì Có 5 yêu tố cần phải cải thiện ở Internet ngày nay mắc phải Thứ nhất, đó là vấn đề an toàn Internet ngày nay thực sự không an toàn, có quá nhiều mối nguy hiểm luôn dình dập bạn hàng ngày, kể cả
từ người dùng cuối đến các nhà cung câp dịch vụ, họ đều trở thành mục tiêu tấn công của các hacker Trong khi đó, các cơ chế bảo vệ người dùng là không khả thi hoặc rất yếu và
dễ dàng bị hacker vượt qua Vì vậy, yêu cầu Internet trong tương lai cần khắc phục hạn chế này, cần nâng cao tính bảo mật & an toàn trong mỗi giao thức Tuy nhiên, việc kết hợp nhiều thành phần bảo mật riêng rẽ lại không đảm bảo an toàn cho cả hệ thống Điều này một phần thể hiển bởi hạ tầng mạng có quá nhiều nhà cung cấp dịch vụ , trong khi mỗi nhà cung câp lại hướng đến mục tiêu khác nhau, cũng như chính sách phát triển khác nhau, nên khó tìm được tiếng nói chung Trong khi các chính sách bảo mật ở lớp trên lại không đủ an toàn Thứ 2 là tính linh động Điều này thể hiện ở chỗ Internet cần hỗ trợ cho ứng dụng và công nghệ di động : độc lập về địa lý, phương thức truy cập , thay đổi điểm truy cập liên tục…Giải quyết nó cần phải áp dụng phân cấp định tuyến & sử dụng địa chỉ khác Tuy nhiên phân cấp định tuyến đe dọa tính mở rộng và lọc IP Sử dụng địa chỉ IP khác cần thiết kế lại nền tảng hoặc ảnh hưởng đến hiệu năng mạng Thứ 3 là vấn
đề quản lý mạng, thể hiện ở độ tin cậy và tính sẵn sàng, tính mở rộng Internet ngày nay
Trang 6Nguyễn Hồng Minh Page 6
có hạ tầng mạng quá phức tạp và rất khó quản lý Muốn thay đổi kiến trúc mạng mới hoặc thay đổi kiến trúc mạng hiện tại cần sự đồng thuận của tất cả các bên Điều đó là không khả thi vì các công nghệ tầng dưới IP, những công nghệ mạng lõi là rất khi thay đổi
Tất cả các khó khăn trên đặt ra cho các nhà hoặc định chính sách phát triển của mạng internet yêu cầu đơn giản hóa hạ tầng mạng Công nghệ ảo hóa mạng ra đời chính
là để đơn giản hóa và tự động hóa hạ tầng mạng Mạng ảo có thể được xây dựng theo các tiêu chí thiết kế khác nhau và vận hành như 1 mạng điều chỉnh theo dịch vụ Ảo hóa mạng là phương pháp đầy hứa hẹn cho phép thử nghiệm các giao thức mới như giao thức chọn đường hoặc giải pháp thay thế IP Ảo hóa mạng không giống như với công nghệ ảo hóa hiện nay như VPN VPN dùng kết nối các mạng phân tán có phạm vi rộng lớn nhưng lại không có sự linh hoạt , thay đổi theo đáp ứng dịch vụ, mà chỉ có thể dựa trên cái sãn
có
3 Các kiểu ảo hóa cơ bản :
3.1 Ảo hóa hệ thống lưu trữ :
Ảo hóa hệ thống lưu trữ về cở bản là sự mô phỏng, giả lập việc lưu trữ từ các loại thiết bị lưu trữ vật lý Các thiết bị này có thể là băng từ, ổ cứng hay kết hợp cả 2 loại Việc làm này mang lại các ích lợi như việc tăng tốc độ khẳ năng truy xuất dữ liệu , do việc phân chia các tác vụ đọc, viết trong mạng lưu trữ Ngoài ra, việc mô phỏng các thiết
bị lưu trữ vật lý cho phép tiết kiệm thời gian hơn thay vì phải định vị xem máy chủ nào hoạt động trên ổ cứng nào để truy xuất
Ảo hóa hệ thống lưu trữ có 3 dạng mô hình sau đây :
Host-base : trong mô hình này, ngăn cách giữa lớp ảo hóa và ổ đĩa vật lý là driver điều khiển của các ổ đĩa Phần mềm ảo hóa sẽ truy xuất tài nguyên (các ổ cứng vật
lý ) thông qua sự điều khiển và truy xuất của lớp Driver này
Hình 1 Host-base Storage Virtualization
Trang 7Nguyễn Hồng Minh Page 7
Storage-device based : Trong dạng này, phần mềm ảo hóa giao tiếp trực tiếp với
ổ cứng Ta có thể xem như đây là 1 dạng firmware đặc biệt, được cài trực tiếp vào
ổ cứng Dạng này cho phép truy xuất nhanh nhất tới ổ cứng, nhưng cách thiết lập thường khó khăn và phức tạp hơn các mô hình khác Dịch vụ ảo hóa được cung cấp cho các Server thông qua một thiết bị điều khiển gọi là Primary Storage
Controller
Hình 2 Storage-device base Storage Virtualzation
Network – based : Trong mô hình này, việc ảo hóa sẽ được thực thi trên một thiết
bị mạng, ở đây có thể là một thiết bị switch hay một máy chủ Các switch hay máy chủ này kết nối với các trung tâm lưu trữ (SAN) Từ các switch hay server này, các ứng dụng kết nối vào được giao tiếp với trung tâm dữ liệu bằng các ―ổ cứng‖ mô phỏng do switch hay máy chủ tạo ra dựa trên trung tâm dữ liệu thật Đây cũng là mô hình hay gặp nhất trên thực tế
Hình 3 Network – based Storage Virtualzation
3.2 Ảo hóa hệ thống mạng :
Ảo hóa hệ thống mạng là một tiến trình hợp nhất tài nguyên,thiết bị mạng cả phần cứng lẫn phần mềm thành một hệ thống mạng ảo Sau đó, các tài nguyên này sẽ được phân chia thành các channel và gắn với một máy chủ hoặc một thiết bị nào đó Có nhiều
Trang 8Nguyễn Hồng Minh Page 8
phương pháp để thực hiện việc ảo hóa hệ thống mạng.Các phương pháp này tùy thuộc vào các thiết bị hỗ trợ, tức là các nhà sản xuất thiết bị đó, ngoài ra còn phụ thuộc vào hạ tầng mạng sẵn có, cũng như nhà cung cấp dịch vụ mạng (ISP).Sau đây chúng tôi sẽ giới thiệu một vài mô hình ảo hóa hệ thống mạng:
Ảo hóa lớp mạng (Virtualized overlay network): Trong mô hình này, nhiều hệ thống mạng ảo sẽ cùng tồn tại trên một lớp nền tài nguyên dùng chung Các tài nguyên
đó bao gồm các thiết b ị mạng như router, switch, các dây truyền dẫn, NIC (network interface card) Việc thiết lập nhiều hệ thống mạng ảo này sẽ cho phép sự trao đổi thông suốt giữa các hệ thống mạng khác nhau, sử dụng các giao thức và phương tiện truy ền tải khác nhau, ví dụ như mạng Internet, hệ thống PSTN, hệ thống Voip
Hình 3 Ảo hóa lớp mạng (Substrate link : các liên kết vật lý nền tảng, Sustrate router : các router vật lý, Virtual link và Substrate router là các thiết bị và liên kết được ảo hóa)
3.3 Ảo hóa ứng dụng :
Ảo hóa ứng dụng là một dạng công nghệ ảo hóa khác cho phép chúng ta tách rời mối liên kết giữa ứng dụng và hệ điều hành và cho phép phân phối lại ứng dụng phù hợp với nhu cầu user Một ứng dụng được ảo hóa sẽ không được cài đặt lên máy tính một cách thông thường, mặc dù ở góc độ người sử dụng, ứng dụng vẫn hoạt động một cách bình thường Việc quản lý việc cập nhật ph ần mềm trở nên dễ dàng hơn, giải quyết sự đụng độ giữa các ứng dụng và việc thử nghiệm sự tương thích của chúng cũng trở nên dễ dàng hơn Hiện nay đã có khá nhiều chương trình ảo hóa ứng dụng như Citrix XenApp, Microsoft Application Virtualization, VMware ThinApp với hai loại công nghệ chủ yếu sau:
Trang 9Nguyễn Hồng Minh Page 9
Application Streaming : ứng dụng được chia thành nhiều đoạn mã và được
truyền sang máy người sư dụng khi cần đến đoạn mã đó Các đoạn mã này thường được đóng gói và truyền đi dưới giao thức HTTP, CIFS hoặc RTSP
Hình 4 Mô hình application Streaming của Citrix
Desktop Virtualzation/ Virtual Desktop Infastructure (VDI): ứng dụng sé được cài đặt và chạy trên một máy ảo Một hạ tầng quản lý sẽ tự động tạo ra các desktop ảo và cung cấp các desktop ảo này đến các đối tượng sử dụng
3.4 Ảo hóa hệ thống máy chủ :
Ảo hóa hệ thống máy chủ cho phép ta có thể chạy nhiều máy ảo trên một máy chủ vật lý, đem lại nhiều lợi ích như tăng tính di động, dễ dàng thiết lập với các máy chủ
ảo, giúp việc quản lý, chia sẻ tài nguyên tốt hơn, qu ản lý luồng làm việc phù hợp với nhu cầu, tăng hiệu suất làm việc của một máy chủ vật lý
Xét về kiến trúc hệ thống , các mô hình ảo hóa hệ thống máy chủ có thể ở 2 dạng sau :
Host- based : Kiến trúc này sử dụng một lớp hypervisor chạy trên nền tảng hệ điều hành, sử dụng các dịch vụ được hệ điều hành cung cấp để phân chia tài
nguyên tới các máy ảo Ta xem hypervisor này là một lớp phần mềm riêng biệt, do
đó các hệ điều hành khách của máy ảo sẽ nằm trên lớp hypervisor rồi đến hệ điều hành của máy chủ và cuối cùng là hệ thống phần cứng Một số hệ thống
hypervisor dạng Hosted có thể kể đến như VMware Server, VMware Workstation, Microsoft Virtual Server…
Trang 10Nguyễn Hồng Minh Page 10
Hình 4 Kiến trúc Host-based
Hypervisor-based: hay còn gọi là bare-metal hypervisor Trong kiến trúc này, lớp phần mềm hypervisor chạy trực tiếp trên nền tảng phần cứng của máy chủ, không thông qua bất kì một hệ điều hành hay một nền tảng nào khác Qua đó, các hypervisor này có khả năng điều khiển, kiểm soát phần cứng của máy chủ Đồng thời, nó cũng có khả năng quản lý các hệ điều hành chạy trên nó Nói cách khác, các hệ điều hành sẽ nằm trên các hypervisor dạng bare-metal rồi đến hệ thống phần cứng Một số ví dụ về các hệ thống Bare-metal hypervisor nhƣ là Oracle
VM, VMware ESX Server, IBM's POWER Hypervisor, Microsoft's Hyper-V, Citrix XenServer…
Hình 5 Kiến trúc Hypervisor-based
4 Kiến trúc mạng ảo :
Ảo hóa mạng bao gồm hai thành phần chính đó là ảo hóa liên kết (link) và ảo hóa nút
Trang 11Nguyễn Hồng Minh Page 11
Ảo hóa liên kết cho phép truyền tải được trên nhiều liên kết ảo riêng biệt thông qua một liên kết vật lý chia sẻ Một liên kết ảo thường được xác định rõ ràng bởi một thẻ tag, nhưng cũng có thể xác định nó hoàn toàn , chẳng hạn bằng 1 khe thời gian (time-slot phân chia kênh truyền theo những khoảng thời gian khác nhau để tạo thành các kênh riêng) hoặc bước sóng Có rất nhiều các công nghệ ảo hóa liên kết chuẩn có sẵn tron Internet ngày nay (Ví dụ: ATM, Ethernet 802.1q, MPLS) có thể dùng cho mục đích này
Mô hình mạng ảo hóa được thể hiện trong hình 1
Hình 7 Mô hình Network Virtualzation
Ở cấp độ mạng bề mặt (network substrate) , các nút của mạng bề mặt là thiết bị mạng
có khả năng hỗ trợ nút ảo bằng công nghệ ảo hóa Một nút bề mặt thường chứa một số nút ảo
Các nút ảo là một yếu tố trung tâm trong kiến trúc mạng ảo Khái niệm về ảo hóa nút
đã được cụ thể hóa , đến mức độ nào đó, bằng các bộ định tuyến ảo (Virtual Router) Mặc
dù việc thực hiện các ý tưởng này trong thực tế đã có một vài biến thể, trong điều kiện chung, một bộ định tuyến ảo có nhiều mục đích (ví dụ : cấu hình, quản lý , giám sát, xử
lý sự cố) giống như một router vật lý chuyên dụng Tuy nhiên , trong mọi trường hợp , một bộ định tuyến nào cung cấp một cảm giác về sự độc lập làm việc hơn là một phân cách thực sự, vì nó không đủ bộ nhớ chuyên dụng, tiến trình xử lý và tài nguyên I/O
Ảo hóa nút dựa trên cách ly và phân vùng về tài nguyên phần cứng Tài nguyên vật lý của lớp substrate (vd: CPU, memory, storage capacity, link bandwidth) được phân vùng và phân bổ trong những slice , mỗi slice được phân bổ tới các nút
ảo tùy theo nhu cầu cài đặt Những phát triển gần đây trong hoạt động của hệ thống ảo đã cho phép có những tiến bộ đáng kể về tính bình đẳng và tính hiệu suất
Ảo hóa nút bề mặt hợp với ảo hóa liên kết ảo các nút bề mặt cho phép tạo ra các mạng ảo có chức năng tương đương một mạng vật lý
Một nút thuộc mạng nền có một hoặc nhiều các liên kết vật lý do đó có thể lần lượt thực hiện các liên kết ảo trên cơ sở các liên kết vật lý này Tương ứng một nút ảo có một hoặc nhiều liên kết ảo Vì lý do mở rộng các liên kết ảo có thể được xử lý theo tập hợp hơn là xử lý từng liên kết ảo
Trang 12Nguyễn Hồng Minh Page 12
Một nút bề mặt , ngoài việc là điểm kết thúc của một liên kết ảo, nó cũng có thể là thực thể trung gian chuyển tiếp lưu lượng truyền tải trong các liên kết ảo một cách rõ ràng
Hình 8 Các thành phần cơ bản của ảo hóa mạng
Từ quan điểm xem xét theo chức năng , nút của mạng bề mặt có thể được phân loại trong bốn nhóm chính , theo loại chức năng mà chúng cung cấp :
Edge nodes : được đặt tại biên của mạng substrate, đó chủ yếu là những điểm nhập mạng (PoP = điểm kết nối do một nhà khai thác dịch vụ số hoặc hãng liên tổng đài cung cấp cho thuê bao nội hạt ) của nhà cung cấp cơ sở hạ tầng mạng Đặc trưng của những nút này là kết nối với người sử dụng đầu cuối, hoặc là kết nối trực tiếp hoặc là thông qua nhà cung cấp dịch vụ mạng Vị trí địa lý thường là một thuộc tính quan trọng của loại nút này
Core VN-capable nodes : nút hỗ trợ ảo hóa, nghĩa là có thể lưu trữ các nút ảo và cũng có thể hỗ trợ cả lưu lượng ngoài VN (non-VN) Một nút core có hỗ trợ VN
có thể được kết nối với nút biên (edge) , hoặc các nút core khác có hỗ trợ VN hoặc không
Core transport nodes : không hỗ trợ ảo hóa nút, là nút core đặc trưng cho truyền tải lưu lượng
Border nodes : được kết nối với các nút Border láng giềng nằm ở các mạng khác Nên có chú ý rằng các nút có thể có nhiều hơn một chức năng Ví dụ nút b trong hình 4 vừa là nút core hỗ trợ VN , vừa là nút có chức năng trung chuyển (transport)
Trong hình dưới biểu diễn kịch bản với hai miền mạng khác nhau là A và B và có đầy đủ bốn loại nút được miêu tả ở trên
Trang 13Nguyễn Hồng Minh Page 13
ảo mới lên Ta cũng có thể chuyển các máy ảo sang một môi trường cách ly một cách dễ dàng nên ta có thể thử nghiệm chương trình, nâng cấp hệ thống ứng dụng mà không sợ ảnh hưởng đến tính ổn định của hệ thống hiện tại, đồng thời cho phép quản trị viên có thể sử dụng cùng lúc nhiều hệ điều hành khác nhau
Với công cụ quản lý tập trung vCenter Server, ta sẽ theo dõi được máy chủ nào đang quá tải, từ đó sẽ áp dụng chính sách là tăng tài nguyên về CPU, Ram, ổ cứng cho máy chủ ảo đó hoặc di chuy ển máy ảo đang quá tải đó sang máy chủ vật lý có cấu hình mạnh hơn, có nhiều tài nguyên nhàn rỗi hơn để chạy Toàn bộ quá trình trên có thể được thực hiện mà không cần phải tắt máy ảo đó
Khi có sự cố xảy ra đối với máy ảo do bị virut , lỗi hệ điều hành thì việc khắc phục đơn giản chỉ là phục hồi lại file vmdk của máy ảo đã được backup và chạy lại máy ảo một cách bình thường
Khi có sự cố đối với máy chủ vật lý , thì toàn bộ máy ảo trên máy vật lý sẽ được tự động
di chuyển sang máy chủ vật lý khác với VMware HA, VMware FT
5.2 Nhược điểm :
Đáng lưu ý nhất là vấn đề lưu trữ dữ liệu Thông thường, mỗi máy ảo chỉ sử dụng một file vmdk ( file này có thể được chia nhỏ tùy theo cách cài đặt) để lưu lại toàn bộ dữ liệu trong máy ảo và một số file nhỏ khác để lưu cấu hình của máy ảo Do đó nếu một
Trang 14Nguyễn Hồng Minh Page 14
trong số những tập tin này bị lỗi hoặc bị mất mà chưa được backup thì có thể xem như máy ảo đã bị hư hoàn toàn và không thể phục hồi
Ngoài ra nếu máy chủ có cấu hình phần cứng thấp nhưng lại có một máy ảo sử dụng quá nhiều tài nguyên hoặc chạy quá nhiều máy ảo thì sẽ làm chậm toàn bộ hệ thống bao gồm các máy ảo và các ứng dụng chạy trên máy ảo Đồng thời do một hoặc vài máy chủ phải đảm nhận nhiều máy ảo chạy trên nó nên nếu máy chủ gặp trục trặc , sự cố thì các máy ảo cũng sẽ bị ảnh hưởng theo
Còn ở góc độ bảo mật, nếu hacker nắm quyền điều khiển một máy chủ vật lý chứa các máy ảo thì hacker có thể kiểm soát được tất cả các máy ảo trong nó
CHƯƠNG 2 TÌM HIỂU PLANET-LAB
1 Tổng quan :
Như ta đã phân tích, sự phát triển của Internet phụ thuộc rất lớn vào các thử nghiệm xây dựng các kiến trúc mạng mới , bao gồm từ việc xây dựng topology, cho đến cách thức vận hành mạng, các giao thức chạy trong mạng, đến các cải tiến thiết bị mạng Tất
cả các yếu tố trên, trước khi được đưa vào triển khai ứng xây dựng đều phải qua giai đoạn thử nghiệm , đánh giá nghiêm túc & khắt khe, mà việc này thì rất phức tạp cũng như chi phí tốn kém Không thể triển khai thử nghiệm trên thực tế, nó yêu cầu 1 cơ sở hạ tầng kỹ thuật nhất định, cần có tài trợ của một bên thứ 3, lại phải vì một mục đích nào đó Nếu sử dụng các công cụ mô phỏng, thì thứ nhất là không trực quan, hơn nữa, kết quả không phải là đảm bảo, vì có rất nhiều yếu tố trong thực tế vẫn chưa thể mô phỏng được với nền tảng công nghệ hiện tại
PlanetLab ra đời chính là giải pháp hiệu quả để rút ngắn khoảng cách giữa thử nghiệm & triển khai, tạo môi trường thực nghiệm trực quan Xuất từ ý tưởng của giáo sư
… đến nay, các trường đại học khắp nơi trên thế giới cùng các tổ chức nghiên cứu của các tập đoàn, công ty như HP, Intel, Google, Oracle, Microsoft… đã liên kết lại với nhau
để thành lập PlanetLab (www.planet-lab.org) , một mạng lưới thí nghiệm toàn cầu
chuyên phát minh và kiểm tra các mẫu ứng dụng và dịch vụ Internet
PlanetLab chình là hệ thống cơ sở hạ tầng phân tán, chính là nền tảng để chạy các dịch vụ lâu dài, là môi trường thực nghiệm cho các mô hình thí nghiệm mạng, cho các nghiên cứu trên hệ thống phân tán và các dịch vụ mạng mới
Trang 15Nguyễn Hồng Minh Page 15
Hiện có 2 mạng PlanetLab chính trên thế giới là :
PlanetLab original của US : planet-lab.org
PlanetLab Europe của châu Âu : onelab.eu
2 Lịch sử hình thành và phát triển :
Khái niệm Planet Lab được sinh ra khi các nhà nghiên cứu của tập đoàn Intel tập hợp
1 nhóm các nhà nghiên cứu hàng đầu trong lĩnh vực mạng và hệ thống phân phối để thảo luận về các quan hệ mật thiết của 1 loại hình các ứng dụng và dịch vụ trên mạng Internet mới và đang phát triên Loại hình dịch vụ mới này được thiết kế để hoạt động như là các mạng ―che phủ‖ đã phát triển như một phương thức tạo ra thêm những khẳ năng mới cho mạng Internet
Tháng 3 năm 2002 Larry Peterson (Princeton) và David Culler (UC Berkeley và Intel Research) tổ chức một cuộc họp kín của các nhà nghiên cứu quan tâm đến dịch vụ mạng quy mô hành tinh, và đề xuất PlanetLab như là 1 thử nghiệm Hội nghị thu hút 30 nhà nghiên cứu từ MIT, Washinton , Rice, Berkeley, Princeton, Columbia, Duke, CMU, và Utah David Tennenhouse (Intel Research) ủng hộ cho dự án 100 máy PlanetLab chính thức bắt đầu phát triển
Hiện nay, PlanetLab đã có …node,tại … site tham gia vào hệ thống và đang tỏ ra hoạt động có hiệu quả Trung tâm điều khiển PlanetLab được đặt tại Đại học Princeton ,
Berkeley, Califonia Giám đốc là Larry Peterson Chi tiết hơn tại lab.org/consortium
http://www.planet-3 Tác động của PlanetLab :
Planet Lab thành một nền tảng vô giá cho việc học tập và nghiên cứu về các hiện tượng trên mạng diện rộng, tạo ra các giao thức mạng mới, đánh giá các dịch vụ mạng hiện hành và các dịch vụ mạng lưới , có thêm nhiều kinh nghiệm về các hệ thống mạng đang chạy trên mạng diện rộng, và cuối cùng , triển khai các dịch vụ mạng mới để cải thiện khẳ năng cưa internet toàn cầu
Tác động trong nghiên cứu :
PlanetLab là công cụ thiết yếu cho nghiên cứu mạng và các hệ thống phân tán Các nhà nghiên cứu mà yêu cầu hệ thống hay giao thức của họ được triển khai trên mạng internet thực tế có thể sử dụng PlanetLab để chứng minh các thiết kế của họ có thể triển khai được
Tác động trong giảng dạy :
Trang 16Nguyễn Hồng Minh Page 16
PlanetLab đã có trên 4700 người dùng trong suốt 6 năm phát triển của mình, trong số
đó có 3700 là sinh viên Mặc dù số sinh viên này là làm việc cùng với những nhà nghiên cứu của họ hoặc là làm việc độc lập thì những kinh nghiệm của họ về mạng diện rộng thông qua PlanetLab là rất quý báu, họ học được cách đối phó với những thất bại tạm thời, các sự thay đổi trong độ trễ và băng thông, trong kết nối hay trong sự lạm dụng gây
ra bởi người dùng thực tế là những điều mà họ không có được khi chỉ sử dụng các
nhất định vì thế theo dõi tình trạng của slice và cần làm mới slice định kỳ
Sliver (Virtual Node) : mỗi nút vật lý gồm nhiều máy ảo, mỗi máy ảo trên máy
vật lý được gọi là Sliver
Virtual Server (VServer) : mỗi nút được ảo hóa thành các Sliver nhờ VServer Một Sliver là một VServer Slice gồm các Sliver trên các nút khác
Linux-nhau Các phiên kết nối mạng của nút được phân tách và ảo hóa nhờ VNET
Principal Investigator (PI) : PI có trách nhiệm quản lý slice và người dùng tại mỗi site , PI có trách nhiệm quản lý hành vi của slice trong site của mình Thông thường mỗi site có một PI duy nhất (Thường là 1 thành viên giảng dạy tạo một trường đại học mà quản lý dự án đang nghiên cứu của 1 tổ chức…) Các PI có trách nhiệm giám sát tất cả các slice mà họ thay mặt người dùng tạo ra trên site của họ PI có thể cho phép , không cho phép hay xóa 1 tài khoản người dùng, có thể tạo các slice , xóa slice , gán người dùng tới slice , phân bổ tài nguyên tới
slice…PI chịu trách nhiệm duy trì tài nguyên vật lý tại site họ quản lý
User : một người tham gia có 1 tên tài khoản và mật khẩu để đăng nhập PL
Central (PLC) qua giao diện web Tên tài khoản luôn là 1 địa chỉ email Mỗi tài khoản có thể một hay nhiều quyền (role) sau : PI (như đã nói ở trên) Technical Contact (Tech Contact) User với quyền PI chịu trách nhiệm cài đặt , vận hành các nút trong site , và người dùng đơn thuần, là người dùng thuộc 1số slice nào đó,
được cài đặt và sử dụng các ứng dụng trong slice của mình
Trang 17Nguyễn Hồng Minh Page 17
5 Mối quan hệ tin cậy giữa các thực thể trong hệ thống :
Hệ thống PlanetLab được chia thành ba thực thể riêng biệt đó là Owner , User, và PLC Hình 2 mô tả mối quan hệ giữa 3 thành phần đó
Hình 2 Quan hệ trong PlanetLab
Owner là một tổ chức mà là người sở hữu các nút PlanetLab Mỗi owner vẫn giữ được quyền điều khiển cao nhất tới nút của họ , nhưng họ tin tưởng PLC là quản
lý trung gian tin cậy PLC cung cấp 1 cơ chế cho phép Owner biết được tình trạng nguồn tài nguyên được cấp phát trên các nút của mình
PLC là một trung gian tin cậy trong việc thay mặt cho chủ sở hữu nút quản lý nút ,
và tạo ra các slice trên các nút (tức là có quyền cho một nút vào một slice nào đó) trên danh nghĩa của User
Hình 3 minh họa mối quan hệ tin cậy giữa 3 thành phần trong hệ thống PlanetLab là chử
sở hữu (Owner) người dùng hệ thống (User) và trung gian PLC
Hình 3 Sơ đồ quan hệ giữa các thực thể
Các quan hệ tin cậy này gồm :
1) PLC với người dùng hệ thống : PLC phát hành các quyền cho người dùng truy cập tới slice Điều này có nghĩa là người dùng phải thuyết phục thỏa đáng để được PLC nhận dạng
2) User với PLC : User có quyền tạo ra slice trên PLC và thực hiện các quyền được PLC cấp phát , có nghĩa là người dùng được quyền sửa đổi phần mềm hay bất kỳ cái gì đang chạy trên slice của nó
Trang 18Nguyễn Hồng Minh Page 18
3) Owner với PLC : Owner giao phó cho PLC thiết lập người dùng , cài đặt phần mềm
mà có thể ánh xạ hoạt động mạng của người dùng trên slice của họ tới đúng slice tương ứng Phần mềm này phải được làm việc độc lập với tài nguyền slice và được giới hạn / hạn chế các quyền của nó
4) PLC với Owner : PLC giao trách nhiệm cho Owner quản lý và giữ an toàn các nút vật
lý PLC cũng xác nhận rằng mỗi nút mà nó quản lý thực tế thuộc về chủ sở hữu mà nó
đã có những thỏa thuận về chia sẻ tài nguyên…
Ta có thể thấy, PLC có hai nhiệm vụ chính , đó là thay mặt Owner quản lý tập hợp các nút và nó cũng thay mặt User tạo các slice Do đó, ta có thể phân PLC thành MA (Management Authority) và SA (Slice Authority) Rõ ràng việc tách PLC thành hai thực thể độc lập cho phép ta thấy được vai trò đặc biệt của từng thực thể
5) Để hỗ trợ kiểm tra , mỗi MA (gián tiếp, đại diện cho các Owner) giao cho SA ánh xạ slice tới user Owner có thể chọn một Ma khác nếu nó cảm thấy không tin cậy MA hiện tại
6) Mỗi SA (gián tiếp, đại diện cho các User) có thể tin cậy duy nhất một MA nhất định
để cung cấp cho nó quyền làm việc trên các máy ảo
Hình 4 Kiến trúc hệ thống PlanetLab
Với mô hình này, các kiến trúc bảo mật sẽ bao gồm các cơ chế dưới đậy :