TRIỂN KHAI PRIVATE CLOUD DỰA TRÊN EUCALYPTUS

May 26, 2016 | Author: Nguyễn Trung Cang | Category: Types, Research
Share Embed Donate


Short Description

Khi triển khai Eucalyptus, có rất ít sự ràng buộc về vị tr&iacu...

Description

Chương 4 – TRIỂN KHAI PRIVATE CLOUD DỰA TRÊN EUCALYPTUS 4.1.Các mô hình triển khai Eucalyptus Khi triển khai Eucalyptus, có rất ít sự ràng buộc về vị trí cài đặt cho các thành phần của cả hệ thống. Eucalyptus được thiết kế đặc biệt theo hướng module hóa theo từng thành phần nên việc cài đặt trở nên hết sức linh động. Các thành phần của Eucalyptus có thể được cài đặt trong một máy server duy nhất, hoặc cài đặt trong một phạm vi lớn gồm nhiều máy server khác nhau.

Hình 4.1 – Các mô hình triển khai Eucalyptus. Có 3 mô hình triển khai phổ biến dành cho Eucalyptus. Mô hình 1 - do nhóm phát triển Eucalyptus tại đại học UCSB đề nghị: Tất cả các thành phần ngoại trừ NC được cài đặt trên một máy duy nhất là Front-end. Chi phí triển khai cho mô hình này là rất thấp. Tuy nhiên, việc mở rộng trong tương lai có thể sẽ khó khăn, và các dịch vụ đang chạy có thể làm chậm hiệu suất của máy Front-end (máy cài CLC, CC, SC, Walrus) đáng kể. Mô hình 2 - do nhóm CNSA Cloud Team thì dễ dàng để mở rộng sau này. Nhưng các chi phí đầu tư cho máy tính lại cao hơn (vì phải đầu tư mua nhiều máy hơn). Mô hình 3 - “flat design”. Trong mô hình này, thành phần NC được triển khai chung với CC và SC trên cùng một máy, CLC và Walrus được cài trên máy Front-end. Ưu điểm lớn nhất của mô hình này đó là tốc độ truy xuất đĩa nhanh hơn (do không gian lưu trữ của

mô hình này là DAC chứ không phải NAS). Tuy nhiên, việc có quá nhiều thành phần CC và SC trong mô hình có thể làm chậm khả năng xử lý của máy Front-end. Để việc cài đặt, triển khai trở nên đơn giản nhưng vẫn đáp ứng yêu cầu thực tế, chúng ta sẽ chuẩn bị các máy như sau (dựa theo mô hình 1): 1 máy Front-end, dùng làm nơi chứa CLC và Walrus. Để việc cài đặt được đơn giản, chúng ta sẽ làm việc trong phạm vi một cluster và thiết lập Cluster Controller (CC) và Storage Controller (SC) trên máy Front-end. Máy Frontend có một card mạng với địa chỉ IP 192.168.0.5. 2 máy Node dùng để cài Node Controller (NC) và làm host chạy chương trình ảo hóa Xen Server. Trong trường hợp này, các máy Node có địa chỉ IP 192.168.0.2 và 192.168.0.3. Tất cả các máy đều sử dụng hệ điều hành CentOS. Phiên bản sử dụng trong báo cáo này là CentOS 5.6.

Hình 4.2 – Mô hình cài đặt thử nghiệm Eucalyptus. Chú ý: Trong quá trình cài đặt Eucalyptus, cần phải đăng nhập vào tài khoản root của CentOS. Trước khi cài đặt Eucalyptus, cần thực hiện một số công việc chuẩn bị.

4.2.Một số công việc chuẩn bị cho máy Front-end Trên máy Front-end, ta sẽ phải cài đặt JDK của Java và Ant. Download JDK tại: http://www.oracle.com/technetwork/java/index.html Download Ant tại: http://ant.apache.org/ Phiên bản hiện tại của JDK là 1.6.0_20 và của Ant là 1.8.2.

4.2.1.Cài đặt Java JDK: Để cài đặt Java JDK người dùng có thể cài từ gói cài đặt đã download từ link ở trên hoặc chỉ đơn giản sử dụng lệnh yum như sau. yum install java

Sau khi cài đặt xong, thực hiện lệnh sau để kiểm tra phiên bản. Java –version

Kết quả.

4.2.2.Cài đặt Apache Ant Ta sẽ cài đặt Ant trong /opt bằng các câu lệnh sau. cd /opt mkdir ant cd ant tar zxvf ~/apache-ant-1.8.2-bin.tar.gz ln -s apache-ant-1.8.2 latest

Sau đó, ta cần phải thêm vào /etc/profile biến môi trường ANT_HOME nhằm chỉ dẫn cho hệ điều hành biết thư mục làm việc của Ant và chèn thêm dòng $ANT_HOME/bin vào đường dẫn của biến môi trường. Thực hiện như sau. cd /etc cp profile profile.ORIG echo "export ANT_HOME=/opt/ant/latest" >> profile echo "export PATH=\$PATH:\$ANT_HOME/bin" >> profile

4.2.3.Cài đặt thêm một số công cụ và môi trường cần thiết Tiếp theo thực hiện cài đặt thêm một số công cụ cần thiết (dhcp, bridge-utils, httpd, xen-libs, ntp) và đồng bộ hóa hệ thống giờ của máy Front-end. Thực hiện như sau. yum update yum install dhcp xen-libs httpd bridge-utils ntp ntpdate pool.ntp.org

Kết quả sẽ hiện ra tương tự như sau.

Ta cũng phải cấu hình cho máy Front-end có thể forward được các gói IP cd /etc cp sysctl.conf sysctl.conf.ORIG sed -i "s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/" sysctl.conf

Để các thay đổi thiết lập ở trên được thực thi ngay mà không cần khởi động lại hệ thống, thực hiện lệnh sau. sysctl -p /etc/sysctl.conf

Tiếp theo, chúng ta cần cấu hình tường lửa cho phép các thành phần của Eucalyptus giao tiếp được với nhau. cd /etc/selinux cp config config.ORIG sed -i "s/SELINUX=permissive/SELINUX=disabled/" config

Công việc chuẩn bị cho máy Front-end đã xong. Ta khởi động lại máy Front-end.

4.3.Một số công việc chuẩn bị cho máy Node Trước tiên cài đặt Xen server (hypervisor) và đồng bộ hóa thời gian cho máy Node. yum update yum install xen ntp ntpdate pool.ntp.org

Thực hiện lệnh sau để kiểm tra phiên bản vừa cài đặt của Xen. yum list xen

Khi đã cài đặt Xen xong, ta cần cấu hình cho nó có thể được điều khiển thông qua HTTP từ localhost. Ta thực hiện bằng cách edit tệp /etc/xen/xend-config.sxp và sau đó khởi động lại Xen. cd /etc/xen cp xend-config.sxp xend-config.sxp.ORIG sed -i "s/#(xend-http-server no)/(xend-http-server yes)/" xend-config.sxp sed -i "s/#(xend-address localhost)/(xend-address localhost)/" xend-config.sxp /etc/init.d/xend restart

Tiếp theo ta thực hiện cấu hình cho Xen tự động chạy khi khởi động hệ điều hành. cd /boot/grub cp grub.conf grub.conf.ORIG sed -i "default=1/default=0/" grub.conf

Sau đó disable SELinux trên máy Node. cd /etc/selinux cp config config.ORIG sed -i "s/SELINUX=permissive/SELINUX=disabled/" config

Việc chuẩn bị cho máy Node đã hoàn tất. Khởi động lại máy Node.

4.4.Download Eucalyptus Chúng ta có thể download và cài đặt Eucalyptus từ lệnh yum nhưng thường cách cài đặt này có thể download về thiếu một số thư viện. Nên tốt nhất ta nên download gói rmp của Eucalyptus về rồi tự cài. Địa chỉ download Eucalyptus: http://open.eucalyptus.com/downloads Nên download Eucalyptus ở mục RHEL-5/CentOS-5 RPMs.

Lưu ý: vì cần phải cài đặt các thành phần khác nhau của Eucalyptus trên cả máy Front-end và máy Node, nên sau khi download Eucalyptus về máy Front-end ta sẽ phải copy nó sang máy Node.

4.5.Cài đặt Eucalyptus trên máy Front-end Khi download xong Eucalyptus (phiên bản dùng trong bài viết này là eucalyptus2.0.3-centos-i386.tar.gz) trên máy Front-end, giải nén nó trong thư mục home của user root. tar zxvf eucalyptus-2.0.3-centos-i386.tar.gz

Giờ thì ta có thể cài đặt. Trước tiên cài các gói RPM phụ trợ của hãng thứ ba được chứa trong thư mục eucalyptus-2.0.3-rpm-deps-i386 theo đúng trình tự như sau. cd eucalyptus-2.0.3-centos-i386 cd eucalyptus-2.0.3-rpm-deps-i386 rpm -Uvh aoetools-21-1.el4.i386.rpm rpm -Uvh euca-axis2c-1.6.0-1.i386.rpm rpm -Uvh euca-rampartc-1.3.0-6.el5.i386.rpm rpm -Uvh lzo2-2.02-3.el5.rf.i386.rpm rpm -Uvh perl-Crypt-OpenSSL-Random-0.04-1.el5.rf.i386.rpm rpm -Uvh perl-Crypt-OpenSSL-RSA-0.25-1.el5.rf.i386.rpm rpm -Uvh perl-Crypt-X509-0.32-1.el5.rf.noarch.rpm --nodeps rpm -Uvh python25-2.5.1-bashton1.i386.rpm --nodeps rpm -Uvh python25-devel-2.5.1-bashton1.i386.rpm --nodeps rpm -Uvh python25-libs-2.5.1-bashton1.i386.rpm --nodeps rpm -Uvh vblade-14-1mdv2008.1.i586.rpm rpm -Uvh vtun-3.0.2-1.el5.rf.i386.rpm

Lưu ý là khi thực hiện các câu lệnh “rpm –Uvh…” ở trên ta có thể gặp thông báo lỗi “Failed dependencies…java-sdk > 1.6.0 is needed….”. Lỗi này xuất hiện là do hệ thống thực hiện tìm kiếm Openjdk trên Internet trong quá trình cài đặt. Nhưng chúng ta đã cài đặt Sun Java trước đó rồi. Để bỏ qua lỗi này, ta chỉ cần thêm vào tham số --nodeps ngay cuối dòng lệnh. Sau này khi cài đặt các thành phần của Eucalyptus cũng sẽ không gặp vấn đề gì. Các câu lệnh ở trên đã được thêm sẵn tham số --nodeps. Tiếp theo, cài đặt các thành phần Cloud Controller, Walrus, Cluster Controller, Storage Controller, và một vài gói phụ thuộc trên máy Front-end bằng các câu lệnh theo đúng trình tự như sau. cd .. rpm -Uvh eucalyptus-2.0.3-0.1.el5.i386.rpm rpm -Uvh eucalyptus-common-java-2.0.3-0.1.el5.i386.rpm

rpm -Uvh eucalyptus-cloud-2.0.3-0.1.el5.i386.rpm rpm -Uvh eucalyptus-walrus-2.0.3-0.1.el5.i386.rpm yum install scsi-target-utils rpm -Uvh eucalyptus-sc-2.0.3-0.1.el5.i386.rpm yum rpm rpm rpm

install libvirt -Uvh eucalyptus-gl-2.0.3-0.1.el5.i386.rpm -Uvh eucalyptus-cc-2.0.3-0.1.el5.i386.rpm -Uvh eucalyptus-debuginfo-2.0.3-0.1.el5.i386.rpm

Xong phần cài đặt trên máy Front-end. Tiếp theo là phần cài đặt trên máy Node.

4.6.Cài đặt Eucalyptus trên máy Node Lưu ý: Nếu hệ thống cài đặt có nhiều máy Node (trường hợp ở bài báo cáo này là 2 máy Node) thì phần cài đặt này sẽ phải thực hiện lặp lại trên từng máy Node đó. Đầu tiên, copy (hoặc download lại) gói eucalyptus-2.0.3-centos-i386.tar.gz vào máy Node. Giải nén nó vào thư mục home của root. Cài các gói phụ thuộc của hãng thứ ba trước tiên. tar zxvf eucalyptus-2.0.3-centos-i386.tar.gz cd eucalyptus-2.0.3-centos-i386 cd eucalyptus-2.0.3-rpm-deps-i386 rpm -Uvh aoetools-21-1.el4.i386.rpm rpm -Uvh euca-axis2c-1.6.0-1.i386.rpm rpm -Uvh euca-rampartc-1.3.0-6.el5.i386.rpm

Sau đó, cài NC (Node Controller) và một vài gói phụ thuộc. cd .. rpm -Uvh eucalyptus-debuginfo-2.0.3-0.1.el5.i386.rpm rpm -Uvh eucalyptus-gl-2.0.3-0.1.el5.i386.rpm rpm -Uvh eucalyptus-nc-2.0.3-0.1.el5.i386.rpm

Tiếp theo, kiểm tra xem người dùng của Eucalyptus có thể kết nối với hypervisor thông qua libvirt hay không. su eucalyptus -c "virsh list"

Nếu thành công thì kết quả hiện ra sẽ như sau.

Lưu ý: Nếu chưa cài libvirt, ta có thể thực hiện cài đặt nó bằng lệnh yum như sau. yum install libvirt

Tuy nhiên, lúc này nếu chạy NC lên có thể sẽ gặp phải cảnh báo của Eucalyptus như sau. Để giải quyết tình trạng này, ta cần phải thêm vào các biến lặp cho tệp /etc/udev/makedev.d/50-udev.nodes. vi /etc/udev/makedev.d/50-udev.nodes

Thêm từ loop8 đến loop31 vào tệp này. Sau đó thực hiện lệnh. #echo "options loop max_loop=32" >> /etc/modprobe.conf

Hoàn thành phần cài đặt trên máy Node. Khởi động lại. Đến đây thì coi như đã cài đặt xong phần khung của Eucalyptus.

4.7.Chạy thử Eucalyptus Khởi động máy Front-end và chạy Cloud Controller và Cluster Controller như sau. service eucalyptus-cloud start service eucalyptus-cc start

Chạy lệnh ps để kiểm tra Eucalyptus đang chạy trên máy Front-end. ps auxww | grep euca

Cloud Controller, Walrus, Storage Controller, Cluster Controller đã chạy. Tiếp theo, khởi động hai máy Node, chạy Node Controller trên hai máy này lên. service eucalyptus-nc start

Kiểm tra Eucalyptus đã chạy trên máy Node. ps auxww | grep euca

Node Controller đã chạy.

4.8.Đăng ký các thành phần của Eucalyptus Tới đây, sau khi đã chạy được tất cả các thành phần của Eucalyptus, ta cần phải thực hiện thao tác đăng ký các thành phần này để chúng có thể giao tiếp được với nhau. Trên máy Front-end (địa chỉ IP 192.168.0.5) chạy các lệnh sau.

euca_conf --register-walrus 192.168.0.5 euca_conf --register-cluster cc1 192.168.0.5 euca_conf --register-sc cc1 192.168.0.5

Với, 192.168.0.5 – là địa chỉ IP của máy Front-end – nơi CLC, Walrus, CC và SC đang chạy. cc1 – là tên cluster mà bài viết này sử dụng. Ta có thể đặt tên này tùy ý. Tiếp theo, thực hiện đăng ký cho 2 máy Node. Trên máy Front-end, chạy dòng lệnh sau. euca_conf --register-nodes "192.168.0.2 192.168.0.3"

Với, 192.168.0.2 và 192.168.0.3 – là địa chỉ IP của 2 máy Node. Ta có thể thêm vào địa chỉ IP của các máy Node khác bằng cách thêm vào địa chỉ IP ngay sau dòng lệnh trên kèm theo một khoảng trắng ngăn cách với các địa chỉ IP khác. Có thể kiểm tra xem máy Node đã được đăng ký hay chưa bằng cách kiểm tra biến NODES trong tệp eucalyptus.conf trên máy Front-end. Những máy Node nào đã được đăng ký sẽ được hiển thị địa chỉ IP ở đây. grep NODES /etc/eucalyptus/eucalyptus.conf

Kết quả. Kết thúc quá trình đăng ký các thành phần của Eucalyptus.

4.9.Thực hiện một số thao tác cấu hình cơ bản cho Eucalyptus Sử dụng trình duyệt web để truy cập vào địa chỉ https://:8443. Ở trường hợp trong bài báo cáo https://192.168.0.5:8443. Khi vừa truy cập vào, ta sẽ gặp cảnh báo “site’s security certificate is not trusted”. Chọn vào Accept để chuyển sang màn hình đăng nhập của Eucalyptus. Sau đó sử dụng tài khoản dưới đây để đăng nhập: Username: admin Password: admin

Hình 4.3 – Màn hình đăng nhập của Eucalyptus. Khi đăng nhập vào lần đầu tiên, hệ thống sẽ yêu cầu thay đổi mật khẩu, nhập địa chỉ email,… Ta điền các thông tin đó vào rồi nhấn “Submit”. Khi vào trang quản lý của Eucalyptus, vào tab “Configuration” chúng ta sẽ thấy có phần Cloud Configuration, Walrus Configuration, Clusters,… có thể thực hiện cấu hình cho hệ thống ngay tại đây.

Hình 4.4 – Cấu hình cho Eucalyptus trên giao diện web. Tiếp theo vào trang “Credentials” và click “Download Credentials” để tải về tệp khóa xác nhận euca2-admin-x509.zip. Ta sẽ cần dùng đến tệp này khi sử dụng công cụ như Euca2ools, Hybridfox,… để quản lý các image, instance,…

Hình 4.5 – Tải khóa xác nhận – click vào “Download Credentials”. Tạo thư mục .euca ở ngoài thư mục gốc rồi lưu khóa xác nhận euca2-adminx509.zip vào đó. Giải nén tệp đó ra. cd ~ mkdir .euca mv euca2-admin-x509.zip .euca cd .euca unzip euca2-admin-x509.zip

Trong nội dung vừa giải nén ta sẽ thấy có tệp .eucarc. Biến EC2_URL trong tệp đó trỏ đến địa chỉ của máy Front-end. Trong trường hợp này nó sẽ là 192.168.0.5. cat .eucarc

Tới đây là đã hoàn thành được phần cấu hình ở mức cơ bản. Chương tiếp theo sẽ hướng dẫn cách cấu hình môi trường mạng cho Eucalyptus.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF