Nếu như hiện nay, hạ tầng của các tổ chức gồm các phòng máy chủ server farm liên kết với nhau bằng các loại mạng LAN, WAN,… thì Ubuntu Enterprise Cloud vẫn giữ nguyên hạ tầng đó nhưng b
Trang 1ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG
BÁO CÁO QUẢN TRỊ MẠNG
ĐỀ TÀI: TÌM HIỂU VÀ CẤU HÌNH PRIVTE
CLOUD
Sinh Viên Thực Hiện:
Trang 2LỜI MỞ ĐẦU
Khác hẳn với những năm đầu của thời đại công nghệ thông tin, đối với doanh nghiệp, trong tổng chi phí đầu tư cho công nghệ thông tin hàng năm, phần dành cho quản lý ngày càng tăng cao so với phần đầu tư cho thiết bị Thực tế, một yêu cầu bức thiết đã được các doanh nghiệp đặt ra, là cần giảm thiểu sự phức tạp và tốn kém do mặt trái của sự phát triển công nghệ thông tin mang lại cho doanh nghiệp Điển hình là sự tăng trưởng không mong muốn của: diện tích dành cho thiết bị, năng lượng tiêu tốn, số lượng nhân viên quản trị, chi phí bản quyền, chi phí duy trì hệ thống,…
Ở một khía cạnh khác, thiết bị di động phát triển mạnh mẽ Người dùng có xu thế sử dụng tablet, smartphone vào công việc thay thế cho những chiếc máy tính truyền thống Mặc dù nổi trội về mặt linh hoạt, nhưng đa phần các thiết bị di động này được trang bị phần cứng không đủ đáp ứng việc triển khai tất cả các ứng dụng trực tiếp lên nó Vì vậy, cần có một hệ thống, mà trên đó các ứng dụng được cài đặt, xử lý hầu hết trên server và cung cấp cho các thiết bị đầu cuối (thiết bị di động, desktop) dưới dạng “dịch vụ”, và các thiết bị này chỉ đóng vai trò xuất nhập.
Để đáp ứng cho các nhu cầu trên, công nghệ điện toán đám mây (cloud computing) dựa trên nền tảng ảo hóa (virtualization) ra đời Với công nghệ này, về mặt kỹ thuật, dựa trên hạ tầng mạng đã phát triển, có thể đáp ứng tốt các “dịch vụ” Ngoài ra, các chi phí về việc quản lý, duy trì hệ thống công nghệ thông tin được giảm thiểu đáng kể.
Cloud computing có thể được chia làm ba dạng: Publish cloud, Privite cloud và Hybird cloud Với Publish cloud, dịch vụ tồn tại bên ngoài doanh nghiệp, từ một nhà cung cấp thứ ba Dạng thứ hai - Private cloud, dịch vụ được quản lý và cung cấp từ chính bên trong doanh nghiệp Hybird là sự kết hợp giữa Publish và Private.
Với mong muốn tìm hiểu nhiều hơn về công nghệ Private Cloud nên nhóm chúng em
đã chọn đề tài tìm hiểu và demo về Private Cloud Đó cũng chính là lý do chính nhóm chúng
em chọn đề tài này.
Trang 3MỤC LỤC
I.TÌM HIỂU SƠ LƯỢC VỀ NGHỆ ĐIỆN TOÁN ĐÁM MÂY TRÊN UBUNTU 4
II.XÂY DỰNG PRIVATE CLOUD TRÊN UBUNTU SERVER 10.04 ENTERPRISE CLOUD (EUCALYPTUS) 6
1 Giới thiệu 6
1.1 Chuẩn bị 6
1.2 Tính năng bổ sung 6
2 Bắt đầu – Building the Cloud Controller 6
3 Xây dựng Node Controller 15
4 Cấu hình truy cập cho người dùng Eucalyptus 17
5 Cài đặt Cloud Administrative Credentials thông qua giao diện Eucalyptus Web 17
6.Cài đặt Cloud Images 20
7.Chạy một Instance 23
8.Giám sát và truy cập Instances 24
9.Maxing out the Cloud 25
10.Notes 25
Trang 4I.TÌM HI U S L ỂU SƠ LƯỢC VỀ NGHỆ ĐIỆN TOÁN ĐÁM MÂY TRÊN UBUNTU Ơ LƯỢC VỀ NGHỆ ĐIỆN TOÁN ĐÁM MÂY TRÊN UBUNTU ƯỢC VỀ NGHỆ ĐIỆN TOÁN ĐÁM MÂY TRÊN UBUNTU C V NGH ĐI N TOÁN ĐÁM MÂY TRÊN UBUNTU Ề NGHỆ ĐIỆN TOÁN ĐÁM MÂY TRÊN UBUNTU Ệ ĐIỆN TOÁN ĐÁM MÂY TRÊN UBUNTU Ệ ĐIỆN TOÁN ĐÁM MÂY TRÊN UBUNTU
Hiện tại, hướng phát triển công nghệ đám mây điện toán của Ubuntu gồm ba thành phần:
1 Hệ điều hành máy chủ Ubuntu trong đám mây điện toán Amazon EC2
2 Đám mây điện toán Ubuntu dùng cho các tổ chức (Ubuntu Enterprise Cloud)
3 Dịch vụ UbuntuOne.
Dịch vụ UbuntuOne là một dịch vụ phần mềm (Software as a Service – SaaS), hiện tại
mới chỉ là dịch vụ lưu trữ và đồng bộ file tương tự như Dropbox , được tích hợp vào Ubuntu 9.10 sắp công bố Sau này nó được mở rộng thế nào thì chưa rõ.
Hai mục 1-2 đi theo hướng IaaS (Infrastructure as a Service – dịch vụ hạ tầng).
Amazon EC2 là một dịch vụ cho thuê máy chủ ảo trên Internet hiện đang hoạt động Khách hàng thông qua một giao diện web, tự tạo và khởi động các máy chủ ảo có cấu hình theo yêu cầu, cài đặt các phần mềm mình cần, chạy các ứng dụng rồi tắt máy và trả tiền thuê theo giờ Để làm được như vậy, các hệ điều hành máy chủ trong đám mây phải hỗ trợ một loạt các tính năng từ cụm máy chủ (cluster) cho đến phần mềm ảo hóa Hệ điều hành Ubuntu Server Edition được xây dựng theo hướng đó để chạy trên các máy chủ của Amazon EC2.
Ubuntu Enterprise Cloud là một bộ phần mềm gồm nhiều thành phần để tạo nên các đám mây điện toán riêng (private cloud) Nếu như hiện nay, hạ tầng của các tổ chức gồm
các phòng máy chủ (server farm) liên kết với nhau bằng các loại mạng LAN, WAN,… thì Ubuntu Enterprise Cloud vẫn giữ nguyên hạ tầng đó nhưng biến chúng thành một đám mây điện toán để nâng cao tính năng, tận dụng được năng lực tính toán như trường hợp
DreamWorks nói ở trên.
Như vậy, đám mây điện toán Ubuntu là một đám mây điện toán của riêng từng tổ chức, hoạt động sau tường lửa, khác với đám mây công cộng Amazon hoạt động trên Internet (public cloud) Nhưng khi cần, nó có thể mở rộng ra sử dụng cả các đám mây công cộng tạo thành một đám mây hỗn hợp (hybrid cloud) Sơ đồ như hình sau:
Trang 5Trong hình trên, đám mây điện toán gồm các máy chủ (mô tả bằng các khối vuông) liên kết với nhau bằng các loại mạng thông thường (LAN, WAN, VPN và cả Internet) Người dùng thông qua một giao diện web của phần mềm điều khiển đám mây (Cloud Controller – CLC) để sử dụng các dịch vụ do đám mây cung cấp.
Kiến trúc đám mây điện toán của Ubuntu dựa trên kiến trúc phần mềm nguồn mở Eucalyptus gồm 5 thành phần chính sau:
1 Bộ điều khiển đám mây (Cloud Controller): người dùng dùng phần mềm này để
giao tiếp với đám mây và sử dụng các dịch vụ của nó.
2 Bộ điều khiển lưu trữ (Wallrus Storage Controller): nơi lưu ảnh các máy ảo có thể
khởi tạo và lưu dữ liệu Có vai trò tương tự như máy chủ file.
3 Bộ điều khiển các thiết bị lưu trữ ảo (Elastic Block Storage Controller): để tạo
các partition của ổ cứng ảo, sau đó format, mount vào một thư mục nào đó để sử dụng.
4 Bộ điều khiển các cụm máy chủ (Cluster Controller): khi người sử dụng ra lệnh
khởi tạo một máy chủ ảo, lệnh được Cloud Controller chuyển cho Cluster Controller Căn cứ trên thông tin về trạng thái đang hoạt động của các máy chủ vật lý, Cluster
Trang 66 đang chạy trên đó,…) Khi có lệnh từ Cluster Controller khởi tạo máy chủ ảo, Node Controller sẽ:
o Xác thực người sử dụng.
o Tải file ảnh máy chủ ảo từ Wallrus Storage Controller về
o Tạo các card mạng ảo cần thiết.
o Khởi tạo máy ảo yêu cầu.
II.XÂY D NG PRIVATE CLOUD TRÊN UBUNTU SERVER 10.04 ENTERPRISE ỰNG PRIVATE CLOUD TRÊN UBUNTU SERVER 10.04 ENTERPRISE CLOUD (EUCALYPTUS)
1 Gi i thi u ới thiệu ệu
Trong bài báo cáo này, chúng tôi sẽ trình bày các bước cần thiết để xây dựng một private
enterprise cloud Sau khi xây dựng cloud, chúng tôi sẽ trình bày cách thức hoạt động để quản lý images, security groups, giám sát tài nguyên và triển khai các yêu cầu trong private cloud Chúng tôi chọn Ubuntu cho bài tập này vì hệ điều hành Ubuntu tạo điều kiện cho việc triển khai nhanh chóng mã nguồn mở Amazon EC2 clone Eucalyptus
1.1 Chuẩn bị
Để cài đặt, chúng tôi sẽ sử dụng hai máy chủ, một cho cloud controller và máy còn lại như mộtcloud node Phiên bản cloud này sẽ được chạy trên các node, nếu hệ thống không đồng nhất nhau,chúng tôi sẽ chọn hệ thống với nhiều lõi CPU và bộ nhớ hơn để điều khiển node Điều này chophép chúng ta có nhiều thuận lợi để phát triển trên cloud
Chúng tôi sử dụng các cấu hình mặc định của mạng "Managed-NoVLAN", nó sẽ cung cấp chỉđịnh địa chỉ IP động cho các máy ảo và cho phép chúng ta kiểm soát traffic đi vào bằng cách xâydựng ip tables profile, và được biết đến như là một security groups Ngoài ra chúng ta còn có mộtchế độ cấu hình khác được gọi là "Managed” cung cấp các tính năng bổ sung cho mạng VMriêng
1.2 Tính năng bổ sung
Một số tính năng khác chúng ta có thể nghiên cứu thêm nếu thời gian cho phép, gồm các tập tin/etc/eucalyptus/euca.conf để truyền tín hiệu máy ảo trên core, thêm các node bổ sung cho các cụm,
VM to VM để truy cập hoặc cô lập mạng, tạo ra image cấu hình tùy chỉnh, v.v…
2 B t đ u – Building the Cloud Controller ắt đầu – Building the Cloud Controller ầu – Building the Cloud Controller
Đầu tiên chúng ta sẽ xây dựng cloud controller bằng cách khởi động từ CD-ROM Server Ubuntu10.04 và chọn "Install Ubuntu Enterprise Cloud" từ menu
Trang 7Sau khi chọn ngôn ngữ, quốc gia và keyboard thích hợp, chúng ta sẽ được nhắc nhở để cấu hình mạng.Tiếp theo, chúng ta sẽ đặt hostname Chúng tôi chọn tên "cc" cho cloud controller.
Vì chúng ta chưa có một bộ điều khiển đám mây (cloud controller) được cài đặt trên mạng này, chúng
ta sẽ chọn tiếp tục như ở màn hình này
Trang 8Ở đây, chúng ta phải lựa chọn vai trò cho máy chủ này để hoạt động trên cloud Để cài đặt phức tạphơn, mỗi chức năng được hiển thị trong menu này có thể được chia thành các máy chủ vật lý riêngbiệt Các Eucalyptus private cloud sẽ có một bộ điều khiển đám mây duy nhất, nhưng có thể có nhiều
bộ đa điều khiển cụm trong cloud này, và bộ đa điều khiển node sẽ báo cáo để điều khiển từng cụm.Walrus là thành phần lưu trữ dữ liệu của Eucalyptus, tương tự như Simple Storage Service củaAmazon (S3) Để dễ hình dung hơn, chúng tôi sẽ cài đặt single-cluster và chấp nhận các chế độ cài đặtmặc định của Cloud controller, dịch vụ lưu trữ Walrus, điều khiển cụm (cluster controller), và bộ điềukhiển lưu trữ
Ở một số màn hình cài đặt tiếp theo, chúng ta chấp nhận lựa chọn mặc định cho các phân vùng ổ đĩa
Trang 9Nếu phát hiện dữ liệu tồn tại trên đĩa, bạn sẽ thấy một thông báo tương tự như sau.
Trang 10Ở đây, chúng ta sẽ chấp nhận các phân vùng mặc định và cấu hình Linux Volume Manager (LVM).
Trong bài tập này, chúng tôi sẽ đơn giản hóa và sử dụng toàn bộ volume group cho việc cài đặt
Trang 11Chúng ta sẽ viết những thay đổi mới vào đĩa.
Tiếp theo, trình cài đặt sẽ định dạng phân vùng và cài đặt hệ thống
Trang 12Chúng ta sẽ được thông báo tạo một tài khoản người dùng có đặc quyền sudo Chúng tôi đã chọn
"cladmin" là tên truy cập, mật khẩu là "cloud9"
Chúng ta không sử dụng Automatic updates trong bài tập này, nhưng khi áp dụng thực tế thì nó đượckhuyến cáo cài đặt
Trang 13Sau khi trả lời một số câu hỏi liên quan đến email, chúng ta cấu hình tên của cluster.
Các địa chỉ sẽ được tự động gán cho máy ảo khi chúng được khởi tạo Những địa chỉ này sẽ được tựđộng gán cho cloud instances để nó thể truy cập từ bên ngoài
Trang 14Cài đặt Grand Unified Boot loader, GRUB.
Chúng ta đã hoàn thành việc cài đặt ban đầu cho cloud controller
Trang 153 Xây d ng Node Controller ựng Node Controller
Sau khi cài đặt xong cloud controller (và cluster controller, walrus, storage controller), chúng ta sẽ càiđặt tiếp server còn lại Để bắt đầu xây dựng node controller, chúng ta sẽ boot Ubuntu 10.04 Server từCD-ROM và chọn "Install Ubuntu Enterprise Cloud" từ menu
Sau khi lựa chọn ngôn ngữ, quốc gia, keyboard và network interface phù hợp, chúng ta sẽ được nhắcnhở để tạo tên hostname Chúng tôi chọn hostmane là "nc" cho node controller
Trang 16Trình cài đặt sẽ phát hiện các cluster controller đang chạy trên mạng, chúng ta chọn “NodeController”.
Cảnh báo: chúng tôi đã gặp một số vấn đề khi cài đặt nhiều hơn một đám mây trên cùng một subnet,
vì vậy hãy cẩn thận!
Việc một số thông báo cài đặt yêu cầu các tùy chọn phân vùng đĩa, chúng ta sẽ sử dụng các thiết lập
Trang 17Xin lưu ý rằng bây giờ, chúng ta có thể sử dụng tên máy "cc" và "nc" trong lệnh Nếu DNS khôngđược cấu hình trên network của bạn, bạn sẽ cần phải xác định địa chỉ IP thay cho hostname.
4 C u hình truy c p cho ng ấu hình truy cập cho người dùng Eucalyptus ập cho người dùng Eucalyptus ười dùng Eucalyptus i dùng Eucalyptus
Lưu ý: Các bước này không cần thiết nếu node controller phát hiện cloud controller trong quátrình cài đặt
Bước 1:
Chúng ta sẽ thiết lập một mật khẩu tạm thời cho các tài khoản eucalyptus
Đăng nhập vào node controller bằng tài khoản "cladmin" password "cloud9":
cladmin @ nc: ~ $ sudo passwd eucalyptus
Gõ "cloud9" cho mật khẩu tạm thời
Từ node controller, chúng tôi sẽ gỡ bỏ mật khẩu tạm thời:
cladmin @ nc: ~ $ sudo passwd -d eucalyptus
5 Cài đ t Cloud Administrative Credentials thông qua giao di n Eucalyptus ệu Web
Trước khi chúng ta có thể sử dụng các tiện ích của dòng lệnh Amazon EC2 để tương tác với các đámmây (cloud), chúng ta sẽ cần phải cài đặt các thông tin gồm các chứng chỉ X.509 và các biến môitrường
Bước 1:
Truy cập URL: https://cc:8443
Trang 18 Bước 2:
Thiết lập password mới cho tài khoản quản trị và cung cấp địa chỉ email Các cloud host IP được tựđộng điền vào và là public IP cho bộ điều khiển đám mây (cloud controller)
Trang 19 Bước 3:
Bây giờ chúng ta sẽ download thông tin của mình Web front end của Eucalyptus hiện đang giới hạn,
vì vậy sau lần cấu hình đầu tiên administrator sẽ thực hiện từ dòng lệnh bằng cách sử dụng các công
cụ EC2 của Amazon Tên của package trong Ubuntu là "euca2ools" và dễ dàng cài đặt mặc định trêncloud controller, vì vậy chúng tôi sẽ sử dụng cloud controller như dòng lệnh cơ sỏ để quản lý cáccloud
Để download thông tin, click “Credentials” tab và chọn “Download Credentials”
Bước 4:
Trang 20Bây giờ chúng ta sẽ tạo ra một thư mục ẩn trên cloud controller và trích xuất các tập tin zip vào thưmục này.
cladmin@cc:~$ mkdir ~/.euca cladmin@cc:~$ cd ~/.euca
cladmin@cc:~/.euca$ unzip /euca2-admin-x509.zip
Bạn có thể đăng xuất và sao lưu trên để đảm bảo các thiết lập này được kích hoạt
6.Cài đ t Cloud Images
Các images tab sẽ liệt kê bất kỳ images nào đã được đăng ký với cloud Mỗi instances hoặc VM chạytrong cloud đều dựa trên một image Không có images mặc định tồn tại sau khi cài đặt, vì vậy chúng
ta sẽ cần phải cài đặt chúng
Trang 22 Bước 2:
Sau khi image đã được cài đặt, chúng ta có thể click vào image tab để xác nhận rằng nó đã được đăng
ký với cloud
Trang 23Hãy ghi lại emi-xxxxxx dưới cột Id, nó sẽ định danh chúng ta sử dụng để chạy instance Tập tin emi làmột tương đương Eucalyptus của tập tin Amazon Machine Image (AMI) từ các dịch vụ web Amazon,trong đó bao gồm một raw disk image, một con trỏ đến kernal và tùy chọn ramdisk.
7.Ch y m t Instance ạy một Instance ột Instance
Trước khi chạy một instance, chúng ta cần phải đảm bảo có đủ tài nguyên sẵn có trong cloud (ví dụnhư các node) Chúng tôi sẽ sử dụng các euca-describe-availability-zones để hiển thị tất cả các tàinguyên sẵn có trên các cloud node
Bước 1: Xác minh tài nguyên
cladmin@cc:~$ euca-describe-availability-zones verbose
Bước 2: Kiểm tra Images
Lệnh " euca-describe-images " là các dòng lệnh tương đương với cách nhấn vào "Images" tab tronggiao diện web Eucalyptus Điều này cho thấy các emi-xxxxxx cho mỗi image/bundle sẽ được sử dụng
để chạy instance
cladmin@cc:~$ euca-describe-images
IMAGE emi-E088107E image-store-1276733586/image.manifest.xml admin availablepublic x86_64machine eki-F6DD1103 eri-0B3E1166 IMAGE eri-0B3E1166 image-store-1276733586/ramdisk.manifest.xml admin available public x86_64ramdisk
IMAGE eki-F6DD1103 image-store-1276733586/kernel.manifest.xml admin availablepublic x86_64kernel
Trang 24Security Groups bản là bộ quy tắc iptables firewall kiểm soát yêu cầu kết nối có nguồn gốc từ các hostnằm bên ngoài, và trường hợp ảo đang chạy bên trong cloud.
Chúng ta có thể xem các security groups trong Eucalyptus bằng cách dùng lệnh sau:
cladmin@cc:~$ euca-describe-groups
Bởi vì các security group “default” không mặc định chứa bất kỳ quy tắc cho phép truy cập từ bênngoài nào đến các cloud instance, chúng ta cần phải sửa đổi các security group mặc định hoặc tạo mộtgroup mới và sử dụng nó thay vì các nhóm mặc định, và bài tập này chúng tôi chọn phương pháp thứ
2, tạo ra một nhóm mới gọi là "wiki":
cladmin@cc:~$ euca-add-group wiki -d wiki_demo_appliances cladmin@cc:~$
euca-authorize wiki -P tcp -p 22 -s 0.0.0.0/0 cladmin@cc:~$ euca-authorize wiki -P
tcp -p 80 -s 0.0.0.0/0
Chạy lệnh euca-describe-groups một lần nữa và thấy được nhóm mới tạo
Bước 5: Chạy instance
Bây giờ chúng ta đã sẵn sàng để bắt đầu chạy các instances Chúng ta sẽ bắt đầu bằng cách tạo ra mộtinstance của Mediawiki appliance và giao cho các wiki security group để kết nối gửi đến sẽ được chophép trên các cổng ssh và http:
cladmin@cc:~$ euca-run-instances -g wiki -k mykey -t c1.medium emi-xxxxx
Lưu ý rằng nếu một khu vực nhỏ hơn sẵn có đã được lựa chọn cho image, nó
sẽ tự động kết thúc vì thiếu không gian trống Kiểm tra các tập tin /var/log/eucalyptus/
nc.log trên node có thể cung cấp manh mối hữu ích trong những trường hợp này
8.Giám sát và truy c p Instances ập cho người dùng Eucalyptus
Sau khi dùng lệnh " euca-run-instances " để chạy một instance, chúng ta có thể theo dõi tiến trình củamình bằng cách sử dụng lệnh euca-describe-instances Chúng ta cũng có thể tạo note của các IPpublic được gán để kiểm tra truy cập vào các instances từ bên ngoài cloud Chúng ta khởi động lệnheuca-describe-instances kết hợp với các tiện ích " watch " để xem output mỗi giây:
cladmin@cc:~$ watch -n1 euca-describe-instances
Nó có thể hữu ích để xem giao console output của một instance Chúng ta có thể sử dụng lệnh get-consoleoutput cho mục đích này này, i-xxxxxx tương ứng với các hình ảnh được liệt kê ID củacác lệnh "euca-describe-instances":
euca-cladmin@cc:~$ euca-get-console-output i-xxxxxxx