Xây dựng hệ thống đám mây điện toán của riêng bạn với Ubuntu

Quản Trị Mạng - Bạn đang có ý định tiếp cận và thử nghiệm công nghệ điện toán đám mây? Vậy thì hãy bắt đầu ngay từ bây giờ. Qua bài viết này, chúng tôi sẽ từng bước hướng dẫn bạn xây dựng một hệ thống đám mây điện toán riêng sử dụng Ubuntu Enterprise Cloud (UEC) dựa trên nền tảng Eucalyptus.

Hệ thống được tạo thành từ một bộ điều khiển đám mây (Cloud Controller, còn gọi là máy chủ front-end) và một hay nhiều bộ điều khiển máy chủ vật lý (Node Controller). Bộ điều khiển đám mây quản lý môi trường đám mây điện toán. Bạn có thể cài đặt hệ điều hành Ubuntu mặc định, hoặc tạo ảnh hệ điều hành riêng để ảo hóa. Bộ điều khiển máy chủ vật lý là nơi bạn có thể chạy phiên bản máy ảo (Virtual Machine - VM) của tập tin ảnh.

Yêu cầu hệ thống

Cần ít nhất hai máy tính để vận hành đám mây điện toán:

  • Một máy đóng vai trò làm máy chủ front-end (bộ điều khiển đám mây hoặc bộ điều khiển cụm máy chủ) với cấu hình tối thiểu CPU tốc độ 1 GHz, bộ nhớ 512 MB, ổ CD-ROM, 40 GB đĩa trống, và card mạng Ethernet (Ethernet network adapter).
  • Một hoặc nhiều máy làm bộ điều khiển máy chủ vật lý với CPU hỗ trợ công nghệ ảo hóa (Virtualization Technology - VT), bộ nhớ 1 GB, ổ CD-Rom, 40 GB đĩa trống và card mạng Ethernet.

Nếu bạn muốn tham khảo danh sách những bộ vi xử lý của Intel hỗ trợ VT thì nhấn vào đây. Hoặc nếu sử dụng Windows, bạn có thể chạy tiện ích có tên là SecurAble. Trên Linux, bạn có thể kiểm tra bằng cách tìm xem “vmx” hoặc “svm” có được liệt kê trong tập tin /proc/cpuinfo hay không. Chạy câu lệnh:

egrep '(vmx|svm)' /proc/cpuinfo.

Tuy nhiên, cần lưu ý rằng cách này chỉ cho bạn biết hệ thống có hỗ trợ VT hay không, BIOS có thể vẫn đang được thiết lập để vô hiệu hóa nó.

Chuẩn bị quá trình cài đặt

Đầu tiên, sử dụng máy tính có ổ ghi đĩa CD hoặc ghi DVD để tải về tập tin ảnh đĩa cài Ubuntu Server remix (chúng tôi dùng phiên bản 9.10). Sau đó, ghi tập tin ảnh ISO ra đĩa CD hoặc DVD. Nếu bạn định dùng DVD, cần chắc rằng máy tính tham gia đám mây có ổ đọc DVD. Nếu bạn đang sử dụng hệ điều hành Windows 7, bạn có thể mở tập tin ISO và dùng tiện ích ghi đĩa đi kèm Windows. Nếu không, bạn có thể tải về ứng dụng bên thứ ba như DoISO.

Trước khi tiến hành cài đặt, bạn cần đảm bảo các máy tính tham gia đều được cài đặt đầy đủ thiết bị ngoại vi cần thiết như màn hình, bàn phím, chuột. Ngoài ra, cần chắc rằng các máy tính đều đã nối mạng để chúng có thể tự động cấu hình kết nối mạng.

Cài đặt máy chủ Front-End

Công việc cài đặt máy chủ front-end rất đơn giản. Đầu tiên, bạn chỉ cần nhét đĩa CD cài đặt vào ổ, trong trình đơn khởi động chọn “Install Ubuntu Enterprise Cloud”, nhấn Enter. Lựa chọn ngôn ngữ và chế độ bàn phím nếu cần thiết. Khi được nhắc, cấu hình các thiết lập mạng.

Khi đến bước chọn chế độ cài đặt đám mây điện toán Cloud Installation Mode, nhấn Enter để chọn tùy chọn mặc định “Cluster”. Tiếp theo bạn sẽ phải cấu hình múi giờ và các thiết lập phân vùng. Sau khi phân vùng ổ đĩa, quá trình cài đặt sẽ bắt đầu. Sau khi kết thúc, bạn sẽ được nhắc khởi tạo tài khoản người dùng.

Tiếp theo, bạn sẽ phải thiết lập cấu hình cho proxy, tự động cập nhật và email. Ngoài ra, bạn phải đặt tên Eucalyptus Cluster. Bạn cũng sẽ thiết lập thông tin địa chỉ IP, theo đó người dùng sẽ nhận được địa chỉ động.

Cài đặt và đăng ký bộ điều khiển máy chủ vật lý

Quá trình này thậm chí còn dễ dàng hơn. Cũng như trên, trước tiên bạn đưa đĩa cài đặt vào ổ, chọn “Install Ubuntu Enterprise Cloud” từ trình đơn khởi động, nhấn Enter. Thiết lập cấu hình chung nếu cần.

Khi đến bước chọn Cloud Installation Mode, trình cài đặt sẽ tự động phát hiện cụm máy chủ hiện hữu và chọn trước “Node”. Bạn chỉ cần nhấn Enter để tiếp tục. Thiết lập phân vùng sẽ được cấu hình cuối cùng.


Đăng ký bộ điều khiển máy chủ vật lý

Trước khi tiến hành, bạn phải biết được địa chỉ IP của máy chủ vật lý. Kiểm tra bằng câu lệnh sau:

/sbin/ifconfig

Tiếp theo, bạn phải cài đặt khóa ssh của máy chủ front-end cho bộ điều khiển máy chủ vật lý:

  1. Trên bộ điều khiển máy chủ vật lý, thiết lập mật khẩu tạm thời cho người dùng eucalyptus bằng câu lệnh:

    sudo passwd eucalyptus

  2. Trên máy chủ front-end, nhập câu lệnh sau đây để sao chép khóa SSH:

    sudo -u eucalyptus ssh-copy-id -i ~eucalyptus/.ssh/id_rsa.pub eucalyptus@

  3. Sau đó, bạn có thể gỡ bỏ mật khẩu tài khoản eucalyptus trên máy chủ vật lý bằng câu lệnh:

    sudo passwd -d eucalyptus

  4. Sau khi máy chủ vật lý đã sẵn sàng và khóa đã được sao chép, bạn chạy câu lệnh sau từ máy chủ front-end để nhận biết và bổ sung các máy chủ vật lý tham gia đám mây điện toán:

    sudo euca_conf --no-rsync --discover-nodes

Nạp thông tin xác thực người dùng

Nhập các câu lệnh sau trên máy chủ front-end để khởi tạo một thư mục mới, xuất vào đó thông tin xác thực người dùng dạng nén (User Credentials), sau đó giải nén:

mkdir -p ~/.euca
chmod 700 ~/.euca
cd ~/.euca
sudo euca_conf --get-credentials mycreds.zip
unzip mycreds.zip
cd -

Thông tin xác thực người dùng cũng sẵn có qua tiện ích cấu hình nền web. Tuy nhiên, bạn sẽ tốn nhiều công sức hơn nếu tải chúng về và di chuyển tới máy chủ.

Thiết lập công cụ EC2 API và AMI

Bây giờ, bạn phải thiết lập công cụ EC2 API và AMI trên máy chủ front-end. Đầu tiên, nhập lệnh sau để thiết lập môi trường Eucalyptus:

~/.euca/eucarc

Để việc này tự động thực hiện khi bạn đăng nhập, nhập câu lệnh sau đây nhằm bổ sung câu lệnh trên vào tập tin ~/.bashrc:

echo "[ -r ~/.euca/eucarc ] && . ~/.euca/eucarc" >> ~/.bashrc

Tiếp theo, để cài đặt công cụ người dùng đám mây điện toán, nhập câu lệnh:

sudo apt-get install ^31vmx32^4

Để đảm bảo mọi thứ đều ổn, nhập câu lệnh sau nhằm hiển thị chi tiết cụm máy chủ sẵn sàng:

. ~/.euca/eucarc
euca-describe-availability-zones verbose

Truy cập vào bảng điều khiển nền web

Giờ đây bạn có thể truy cập vào tiện ích cấu hình nền web. Từ một máy tính bất kỳ cùng mạng, vào địa chỉ URL sau: https://:8443. Địa chỉ IP của bộ điều khiển đám mây sẽ được hiển thị ngay sau khi đăng nhập vào máy chủ front-end. Lưu ý rằng sử dụng HTTPS thay vì chỉ dùng HTTP sẽ an toàn hơn. Có thể bạn sẽ gặp một cảnh báo về bảo mật từ trình duyệt web vì máy chủ sử dụng cơ chế chứng thực tự cấp thay vì cơ chế xử lý bởi một CA (Certificate Authority) đã biết. Bỏ qua cảnh báo bằng cách bổ sung một ngoại lệ. Kết nối sẽ vẫn an toàn.

Thông tin xác thực khi đăng nhập mặc định là “admin” với cả hai trường Username và Password. Khi đăng nhập lần đầu tiên, bạn sẽ được nhắc thiết lập mật khẩu mới và email.

Cài đặt ảnh

Bây giờ bạn đã thiết lập được một đám mây điện toán cơ bản, bạn có thể tiến hành cài đặt ảnh. Mở bảng điều khiển nền web, click thẻ Store, click nút Install đối với ảnh bạn muốn. Quá trình tải về sẽ bắt đầu và sau đó ảnh sẽ tự động cài đặt. Việc này sẽ tốn khá nhiều thời gian để hoàn thành.

Khởi chạy ảnh

Trước khi khởi chạy ảnh trên máy chủ vật lý lần đầu tiên, hãy chạy các lệnh sau để tạo khóa đôi (keypair) cho SSH:

touch ~/.euca/mykey.priv
chmod 0600 ~/.euca/mykey.priv
euca-add-keypair mykey > ~/.euca/mykey.priv

Ngoài ra, bạn cần mở cổng 22 trên máy chủ vật lý bằng câu lệnh sau:

euca-describe-groups
euca-authorize default -P tcp -p 22 -s 0.0.0.0/0

Cuối cùng bạn đã có thể khởi chạy ảnh. Câu lệnh để khởi chạy ảnh có trên giao diện web. Đăng nhập vào giao diện web, click thẻ Store và chọn liên kết How to Run với ảnh bạn muốn. Nó sẽ hiển thị một popup với câu lệnh chính xác.

Lần đầu tiên bạn chạy phiên bản (instance), bạn sẽ phải đợi một lúc để ảnh được lưu. Bạn có thể kiểm tra tình trạng phiên bản bằng cách chạy câu lệnh:

watch -n5 euca-describe-instances

Khi nó chuyển từ “pending” sang “running”, tham chiếu địa chỉ IP được gán và kết nối tới nó:

IPADDR=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk '{print $4}')
ssh -i ~/.euca/mykey.priv ubuntu@$IPADDR 

Để hủy kết nối SSH cho phiên bản, chạy câu lệnh:

INSTANCEID=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk '{print $2}')
euca-terminate-instances $INSTANCEID

Duy trì đám mây điện toán

Lúc này, bạn đã có một đám mây điện toán hoạt động ổn định. Nếu gặp phải vấn đề gì trong quá trình vận hành, bạn cần tham khảo thêm tài liệu chính thức. Trước khi dừng bài viết tại đây, tôi xin cung cấp cho bạn thêm một số câu lệnh làm việc:

  • Để khởi động lại máy chủ front-end, chạy câu lệnh:
    sudo service eucalyptus [start|stop|restart]
  • Để refresh máy chủ vật lý, chạy câu lệnh:
    sudo service eucalyptus-nc [start|stop|restart]

Dưới đây là vị trí một số tập tin quan trọng:

  • Tập tin log:
    /var/log/eucalyptus
  • Tập tin cấu hình:
    /etc/eucalyptus
  • Cơ sở dữ liệu:
    /var/lib/eucalyptus/db
  • Khóa:
    /var/lib/eucalyptus
    /var/lib/eucalyptus/.ssh
Chủ Nhật, 31/01/2010 13:14
32 👨 10.706