Quản lý IBM SmartCloud Enterprise, Phần 3: Nhân bản và sửa đổi một tài sản để cung cấp tùy chỉnh

MMột gói phần mềm là một bộ sưu tập các tệp cài đặt phần mềm, các tệp cấu hình và siêu dữ liệu, có thể được triển khai trên một cá thể máy ảo. Trong bài này, các tác giả giới thiệu cách tạo ra các gói phần mềm cho các máy ảo (VM), tạo ra và thiết lập Image Construction and Composition Tool (ICCT - Công cụ tổng hợp và xây dựng ảnh phần mềm) của IBM trên SmartCloud và lấy ra, cập nhật các gói phần mềm. ICCT thực hiện các nhiệm vụ ghi chép và cung cấp một tiến trình từng bước một và một giao diện người dùng đồ họa để tạo ra các gói phần mềm một cách thuận tiện, tùy chỉnh các cá thể máy ảo và bắt giữ lại các ảnh Loạt bài trình bày cách sử dụng ICCT để tạo ra một gói phần mềm, sau đó đăng ký và duy trì nó trên IBM SmartCloud Enterprise.

Alexei Karve, Kỹ sư phần mềm cao cấp, IBM Research

Alexei Karve là kỹ sư phần mềm cao cấp tại Trung tâm nghiên cứu Thomas J Watson của IBM. Ông là thành viên của nhóm thiết kế về SmartCloud Enterprise tập trung vào các gói phần mềm và VPN/VLAN cho các hệ thống hỗ trợ nghiệp vụ đám mây. Alexei có nhiều kinh nghiệm trong các dịch vụ hỗ trợ hoạt động, ảo hóa và Trình quản lý cung ứng Tivoli (Tivoli Provisioning Manager) . Ông đã trải qua quá trình làm việc lâu dài và đa dạng trong lĩnh vực quản lý hệ thống kể từ khi gia nhập IBM vào năm 1993.



Alex Amies, Kỹ sư phần mềm cao cấp, IBM

Alex Amies là kỹ sư phần mềm cao cấp tại phòng thí nghiệm phát triển GTS của IBM tại Trung Quốc. Ông hiện là kiến trúc sư tham gia thiết kế IBM SmartCloud Enterprise. Trước đây, ông đã làm kiến trúc sư và nhà phát triển về các sản phẩm bảo mật và đám mây trong các nhóm khác của IBM.



Scott Peddle, Nhà phát triển tư vấn phần mềm, IBM Japan

Photo of Scott PeddleScott Peddle là một nhà phát triển phần mềm tư vấn về IBM SmartCloud Enterprise. Scott lãnh đạo các dự án tập trung vào việc tích hợp Rational Asset Manager trong một môi trường đám mây. Ông có kinh nghiệm về lãnh đạo dự án để tích hợp các công cụ WebSphere BPM, chẳng hạn như WebSphere Business Modeler và WebSphere Integration Developer qua Rational Asset Manager. Scott cũng là kỹ sư phát hành cho các sản phẩm xây dựng và thiết kế Rational, như Rational Software Architect và Rational Application Developer.



Hidayatullah Shaikh, Nhân viên kỹ thuật cao cấp, IBM Corporation

Shaikh là một Nhà sáng chế xuất sắc của IBM và người lãnh đạo kỹ thuật về các sản phẩm Business Support Systems cho IBM SmartCloud Enterprise và Enterprise+, ông làm việc tại Hoa Kỳ.



Qiangguo Tong, Kỹ sư tư vấn phần mềm, IBM

Qiang Guo Tong gia nhập IBM vào năm 2004. Ông là một trong những nhà lãnh đạo nhóm phát triển IBM SmartCloud Enterprise chịu trách nhiệm về việc tạo các tính năng mới. Ông cũng là kiến trúc sư giải pháp hỗ trợ toàn cầu hóa về SmartCloud. Ông có chuyên môn kỹ thuật về công nghệ toàn cầu hóa và công nghệ JavaEE. Ông đã có hơn 8 năm kinh nghiệm phát triển ứng dụng web dựa trên kiến trúc JavaEE và tập trung vào các công nghệ web 2.0 như Dojo, JSON-RPC.



Pan Xia Zou, Kỹ sư phần mềm, IBM

Pan Xia Zou là Kỹ sư phần mềm nhân viên tại IBM và là kiến trúc sư tự động hóa xây dựng và triển khai về IBM SmartCloud Enterprise.



01 04 2013

Bài này trình bày cách nhân bản ảnh Google Chrome mà bạn đã bắt giữ lại bằng cách sử dụng ICCT ở Phần 2. Hãy tìm hiểu cách tùy chỉnh ảnh thủ công để cho phép cài đặt XAMPP trong khi cung cấp cá thể. Sau đó, xem cách trưng ra các tham số trong khi cung cấp cá thể bằng cách sử dụng tùy chỉnh Rational® Asset Manager (RAM) thủ công. Cuối cùng, hãy tạo ra một gói phần mềm XAMPP sử dụng ICCT có phần phụ thuộc vào gói phần mềm của Google Chrome.

Chúng ta hãy bắt đầu.

Bối cảnh

Để tạo ra một ảnh, bạn có thể bắt giữ lại một ảnh từ một trong các cá thể của bạn hoặc bạn có thể nhân bản một ảnh hiện có. Mỗi phương thức có cái lợi và cái hại riêng của mình. Trong cả hai trường hợp, có một tính năng quan trọng là khả năng sử dụng các tham số khi làm việc với các máy ảo và các gói phần mềm. Việc sử dụng các tham số có thể ngăn ngừa các thiết lập môi trường máy tính cụ thể, chẳng hạn như các địa chỉ IP hoặc các tên máy chủ, bị đóng cứng trong các ảnh máy ảo. Có nghĩa là, bạn không muốn các máy ảo khác phải thừa kế các địa chỉ IP hoặc các tên máy chủ của một máy ảo. Ngoài ra, các tham số có thể tạo nên các thiết lập cấu hình hệ thống cần thiết như mở một cổng trong tường lửa hoặc trưng ra các sự lựa chọn mà những người dùng có với các chương trình cài đặt phần mềm tương tác truyền thống.

Bắt giữ lại ảnh (Capture an image)

Bạn có thể bắt giữ lại một ảnh dựa trên một cá thể đang chạy bằng cách sử dụng Cổng thông tin SmartCloud (SmartCloud Portal), các API SmartCloud hoặc ICCT. Việc bắt giữ lại một ảnh dẫn đến việc nhân bản tài sản trong danh mục tài sản Rational của IBM và lưu một ảnh đã tuỳ chỉnh trên cá thể của bạn. Nếu các ứng dụng được cài đặt trên cá thể, thì trước khi bắt giữ lại ảnh, bạn chỉ cần cấu hình lại các ứng dụng trong lúc kích hoạt cá thể mới dựa trên ảnh đó. Bạn không cần tải về hay cài đặt các ứng dụng cho mọi cá thể. Nếu việc cấu hình lại các ứng dụng đã cài đặt sẵn trở nên khó khăn, thì việc đưa vào các tệp nhị phân của ứng dụng như là một phần của ảnh đã bắt giữ lại và viết các kịch bản lệnh kích hoạt để cài đặt các ứng dụng trong quá trình kích hoạt vẫn có thể mang lại lợi ích. Bạn phải trả phí lưu trữ GHR bổ sung cho ảnh tuỳ chỉnh.

Nhân bản một ảnh

Việc nhân bản một ảnh dẫn đến việc nhân bản tài sản ảnh trong danh mục tài sản Rational của IBM; tuy nhiên, ảnh nhân bản tiếp tục chia sẻ các tệp nhị phân ảnh với ảnh cơ sở đang được nhân bản. Ảnh cơ sở không thay đổi. Tài sản này thường nhỏ hơn nhiều so với ảnh đĩa ảo. Việc nhân bản một ảnh nhanh hơn nhiều so với việc bắt giữ lại một ảnh. Nhân bản một ảnh là một cơ chế để cho phép bạn nhanh chóng tạo ra các ảnh có thể được tùy chỉnh trực tiếp bằng cách cập nhật các tài sản trong danh mục tài sản Rational Asset Manager (RAM) của IBM. Bạn không phải trả thêm bất kỳ chi phí nào để lưu trữ ảnh cơ sở. Khi bạn tạo một cá thể từ một ảnh nhân bản, các kịch bản lệnh và các trình cài đặt cần thiết (như đã quy định trong tệp scripts.txt) được sao chép từ RAM vào đĩa ảo trong lúc cung cấp và có thể được cài đặt trong lúc kích hoạt. Cơ chế này có thể chậm nếu phải sao chép các trình cài đặt lớn từ RAM hoặc từ một số nguồn bên ngoài hay các trình cài đặt chạy chậm.

Một bản sao dùng chung cùng một ảnh nhị phân cơ sở. Việc dùng chung cùng một ảnh nhị phân cơ sở có nhiều lợi ích và nhiều rủi ro. Có một lợi ích là bạn tự động thừa hưởng các sửa lỗi bảo trì trong tệp nhị phân ảnh do chủ sở hữu ảnh nguồn đã làm để tạo ra bản sao chính xác từ ảnh nguồn đó. Có một rủi ro là một sự thay đổi không phù hợp với tệp nhị phân ảnh cơ sở có thể phá hỏng ứng dụng của bạn. Chỉ có thể xóa ảnh ban đầu khi đã xóa tất cả bản sao nhân bản.

Gói phần mềm

Một gói phần mềm là một tài sản có thông tin bắt giữ lại để cài đặt và cấu hình phần mềm trên một hoặc nhiều ảnh ảo. ICCT có thể giúp tạo và sử dụng các gói phần mềm để tạo nên một quá trình xây dựng ảnh đơn giản và tự động hóa. Việc tạo một gói phần mềm cần phải có kiến thức chuyên môn về cách thức hoạt động của phần mềm và việc này thường do một chuyên gia phần mềm thực hiện. Do việc gói gọn này, nên trình xây dựng ảnh sử dụng các gói không cần hiểu rõ các chi tiết cụ thể về cài đặt, kích hoạt và thiết lập lại phần mềm. Việc hiểu rõ luồng công việc và các tương tác giữa ICCT và các công cụ triển khai sẽ có ích cho việc thiết kế các gói của bạn.

Gói phần mềm hỗ trợ việc thực hiện một tập hợp các nhiệm vụ cài đặt một lần. Ban đầu trình xây dựng ảnh tạo ra ảnh và một tập hợp các nhiệm vụ cấu hình được thực hiện cho mỗi lần triển khai ảnh. Cùng với các nhiệm vụ cài đặt, gói phần mềm cần cung cấp các cấu hình thời gian triển khai khác nhau của phần mềm. Việc sử dụng hiệu quả các tham số cấu hình thời gian triển khai sẽ làm giảm số lượng ảnh tổng thể cần thiết bằng cách đưa ra một cách để điều chỉnh phần mềm cho từng lần triển khai. Trình soạn thảo gói phần mềm trong ICCT có bảy phần chính:

Các yêu cầu
Phần Yêu cầu chứa thông tin về hệ điều hành và các điều kiện cần trước về phần mềm cho gói phần mềm. Nếu gói phần mềm của bạn chỉ làm việc với một hệ điều hành cụ thể hoặc cần có một tập hợp phần mềm khác, hãy chỉ rõ thông tin đó trong phần này.
Cài đặt
Phần Cài đặt định nghĩa các nhiệm vụ để cài đặt phần mềm vào ảnh. Việc cài đặt phần mềm sẽ xảy ra một lần và phần mềm đã cài đặt trở thành một thành phần thường trực của ảnh. Chúng tôi khuyên bạn nên định nghĩa việc cài đặt của bất kỳ nội dung tệp lớn nào và nên thực hiện bất kỳ các nhiệm vụ cấu hình phải chạy lâu dài nào trong phần Cài đặt.
Cấu hình
Phần Cấu hình cung cấp các tùy chọn cấu hình lúc triển khai và các kịch bản lệnh kích hoạt cho một gói phần mềm cài đặt sẵn. Phần cấu hình rất quan trọng để cho phép sử dụng các phần mềm của bạn trong các môi trường khác nhau và cho các mục đích khác nhau. Ví dụ, trong quá trình xây dựng ảnh, ICCT cài đặt gói phần mềm của bạn. Trong quá trình cài đặt, máy ảo đang chạy với một địa chỉ IP và các tên máy chủ cụ thể. Sau đó, bạn triển khai ảnh đó để tạo ra một máy ảo mới với một địa chỉ IP và tên máy chủ khác. Nếu cấu hình cho phần mềm cài đặt sẵn của bạn bao gồm thông tin về địa chỉ IP hoặc tên máy chủ, thì bạn phải cấu hình lại phần mềm đó trong quá trình triển khai. Trong ICCT, hãy sử dụng phần Cấu hình để định nghĩa các kịch bản lệnh kích hoạt để thực hiện cấu hình lại như là một phần của quá trình triển khai. Ngoài ra, bạn có thể muốn trưng ra các tham số cấu hình chung cho các trình triển khai ảnh của mình. Ví dụ, nhiều thành phần phần mềm có chứa cấu hình như các cổng và các mật khẩu để cung cấp cho mỗi người dùng cần tùy chỉnh. Bạn có thể kết hợp một tập các tham số với từng kịch bản lệnh kích hoạt mà bạn định nghĩa trong phần Cấu hình. Nếu bạn chọn một tham số là Configurable (Có thể cấu hình), các trình triển khai ảnh có thể cung cấp một giá trị cho tham số đó vào lúc triển khai. Các kịch bản lệnh kích hoạt có quyền truy cập vào các tham số mà bạn chỉ rõ trong gói phần mềm.
Tường lửa
Phần Tường lửa cho phép người dùng tạo ra gói phần mềm biểu thị rằng cần mở các cổng mạng và/hoặc các dải cổng cụ thể nếu có một tường lửa đã chặn tất cả các cổng theo mặc định. Người dùng có thể chỉ rõ các cổng và các dải cổng hoặc các giá trị cổng đã tham số hóa để tham chiếu các tham số cấu hình. Nếu sử dụng các giá trị dải cổng hay cổng đã tham số hóa, thì trình triển khai một ảnh đang chứa một gói phần mềm như vậy có thể chọn các giá trị cổng và dải cổng để mở vào lúc triển khai.
Thiết lập lại
Phần Thiết lập lại cung cấp một cơ chế để làm sạch ảnh. Quá trình xây dựng ảnh dẫn đến việc cài đặt, cấu hình và có thể chạy phần mềm của bạn. Quá trình này có thể để lại các tệp nhật ký và các tạo phẩm khác không còn phù hợp trong ảnh cuối cùng được cung cấp cho việc triển khai. Các kịch bản lệnh thiết lập lại làm sạch các tạo phẩm này trước khi bắt giữ lại ảnh.

Đặc tả gói phần mềm có khả năng kết hợp

Đặc tả này có thông tin mà công cụ cần có để biết cách cài đặt phần mềm, các điều kiện cần trước về phần mềm, các tham số có sẵn để tùy chỉnh phần mềm và các khả năng được cung cấp.

  • Cấu trúc logic. Một gói phần mềm có khả năng kết hợp bắt giữ lại các yêu cầu và các khả năng cùng với các tạo phẩm như các tệp lưu trữ và các kịch bản lệnh cài đặt, cũng như các hoạt động cần được gọi ra chẳng hạn như để chạy các trình cài đặt với một tệp đáp ứng.
  • Cấu trúc vật lý. Các khả năng và các yêu cầu được lưu trữ trong tệp cấu trúc liên kết ngữ nghĩa. Các hoạt động và các thuộc tính của các tạo phẩm được lưu trữ trong tệp cấu trúc liên kết chức năng. Các mối quan hệ với gói phần mềm và các tài sản ảnh khác được lưu trữ trong tệp tài sản.
  • Đóng gói. Việc đóng gói gói phần mềm dựa trên tiêu chuẩn của OMG Reusable Asset Specification (Đặc tả tài sản có thể dùng lại OMG) (xem phần Tài nguyên ) để tạo các tệp lưu trữ chỉ gồm một tệp duy nhất. Các tài sản bó được đặt trong hai thư mục đặc biệt: artifacts (các tạo phẩm) và models (các mô hình). Nội dung bổ sung vào một gói phần mềm đã đóng gói có thể bao gồm các thỏa thuận cấp phép, tài liệu, việc quốc tế hóa và một biểu tượng để nhận biết bó đó trong một giao diện người dùng.

Tùy chỉnh một ảnh bằng cách sử dụng nhân bản

Các bước dưới đây trình bày cách nhân bản một ảnh bằng cách sử dụng giao diện người dùng SmartCloud và sau đó trình bày cách tùy chỉnh tài sản bằng cách cập nhật ảnh đó trực tiếp trong Danh mục tài sản Rational (Rational Asset Catalog).

Hình 1 cho thấy chín ảnh riêng đang được sử dụng. Trường Add Image (Thêm ảnh) chỉ nhân bản tài sản Template Topology (Cấu trúc liên kết khuôn mẫu) trong Rational Asset Manager; nó không tạo ra một bản sao của đĩa trên trung tâm dữ liệu. Vì vậy, khi bạn thêm một ảnh bằng cách nhân bản nó, tổng số ảnh không tăng lên. Ảnh nhân bản không sử dụng phần hạn mức của các ảnh được bắt giữ lại.

  1. Nhấn Add Image (Thêm ảnh).
    Hình 1. Nhân bản một ảnh
    Nhân bản một ảnh
  2. Chọn ảnh bạn muốn nhân bản và nhấn Next (Tiếp tục).
    Hình 2. Chọn một ảnh
    Chọn một ảnh
  3. Nhập tên và mô tả và nhấn Next Next.
    Hình 3. Nhập các thông tin chi tiết cho ảnh mới
    Nhập các thông tin chi tiết cho ảnh mới
  4. Kiểm tra các thông tin chi tiết và nhấn Next.
    Hình 4. Kiểm tra các thông tin chi tiết ảnh
    Kiểm tra các thông tin chi tiết ảnh
  5. Đọc thỏa thuận, chọn I agree (Tôi đồng ý) và nhấn Submit (Gửi đi).
    Hình 5. Chấp nhận các điều khoản và các thỏa thuận cấp phép
    Chấp nhận các điều khoản và các thỏa thuận cấp phép
  6. Trạng thái thay đổi sang Submitting... và sau đó hiển thị rằng yêu cầu này được gửi đi thành công. Quá trình Clone (Nhân bản) khá nhanh do không sao chép đĩa ảnh thực sự.
    Hình 6. Gửi yêu cầu
    Gửi yêu cầu
    Hình 7. Gửi yêu cầu thành công
    Gửi yêu cầu thành công
  7. Nếu bạn nhận được thông báo Unknown System Failure (Lỗi hệ thống không rõ) trong quá trình thêm ảnh, bạn có thể gửi lại yêu cầu này trong ô cửa sổ Place order (Đặt hàng). Sau đó kiểm tra ngăn Images (Các ảnh) dùng cho ảnh nhân bản. Chúng tôi đã thấy rằng ngay cả với lỗi này, ảnh vẫn được nhân bản và có thể thấy nó trong ngăn Images; tuy nhiên, tài sản cho ảnh nhân bản đã ở trạng thái retired (đã nghỉ hưu) và do đó không thể sử dụng được. Bạn có thể xóa ảnh nhân bản cũ nếu nó có trong Cổng thông tin SmartCloud. Cả hai ảnh đều có cùng tên. Để phân biệt ảnh cũ với ảnh mới, ảnh mới phải có một imageId (mã định danh ảnh) lớn hơn so với ảnh cũ. Xóa ảnh có imageId nhỏ hơn nếu điều này xảy ra.
    Hình 8. Xem các ảnh trong ngăn Images
    Xem các ảnh trong ngăn Images

Ảnh nhân bản mới có hiển thị trạng thái là Available (Có sẵn) trong ngăn Image. Lưu ý rằng ảnh nhân bản không làm tăng tổng số ảnh (nó vẫn hiển thị 9 ảnh riêng) vì nó không sử dụng vùng đĩa bổ sung ở trung tâm dữ liệu cho máy ảo. Thay vào đó, nó chia sẻ cùng đĩa ảnh với ảnh ban đầu.

Tùy chỉnh một ảnh bằng cách sửa đổi tài sản RAM

Trước khi bạn tùy chỉnh tài sản nhân bản, đầu tiên hãy tạo ra và kiểm tra các kịch bản cài đặt và cấu hình cần thiết trên một cá thể tạm thời.

Nhấn Create Instance (Tạo cá thể) và tạo ra các kịch bản lệnh để tải về và cài đặt LAMP và kiểm tra các kịch bản lệnh đó trên cá thể tạm thời này. Mục đích là tự động chạy các kịch bản lệnh trong khi cung cấp các cá thể mới mà không cần bắt giữ lại một cá thể mới. Một khi bạn đã thử nghiệm xong các kịch bản lệnh này, hãy cập nhật Template Topology (Image) Asset (Tài sản (Ảnh) cấu trúc liên kết khuôn mẫu) đã nhân bản trong Rational Asset Manager và xóa các cá thể tạm thời này. Tài sản đã cập nhật cho phép tạo ra các cá thể mới với LAMP đã cài đặt như là một phần của việc cung cấp trong lần khởi động đầu tiên.

Lưu ý rằng ảnh nhân bản cũng có Google Chrome Software Bundle (gói phần mềm của Google Chrome) gắn kèm vì Google Chrome đã được cài đặt sẵn và được bắt giữ lại với ảnh ban đầu đã chọn để nhân bản. Do đó, gói phần mềm của Google Chrome này có mặt khi đặt hàng và được cài đặt sẵn và có sẵn khi tạo cá thể.

Hãy tạo một tệp, installXAMPP.sh như hiển thị dưới đây. Hãy kiểm tra vị trí tải về cho phiên bản XAMPP bạn cần dùng tại http://www.apachefriends.org/en/xampp-linux.html và cập nhật yêu cầu wget bằng cách sử dụng kịch bản lệnh dưới đây.

#!/bin/sh
wget http://www.apachefriends.org/download.php?xampp-linux-1.7.7.tar.gz
sudo tar xvfz xampp-linux-1.7.7.tar.gz -C /opt
uname -p | grep x86_64
if [ $? -eq 0 ]; then
   sudo sed -i '/^# XAMPP is 
   currently 32 bit only$/,+12 s.^.#.' /opt/lampp/lampp
   sudo yum -y install glibc.i686
fi
sudo /opt/lampp/lampp start

Chúng tôi đề nghị bạn gỡ bỏ cài đặt bất kỳ các trình quản lý gói RedHat (rpm - RedHat Package Manager) httpd và mysql có trước nào. Bạn có thể tìm kiếm và xóa chúng bằng câu lệnh sau:

rpm -qa | grep httpd | xargs e

Hoặc bạn có thể thêm các rpm cụ thể như sau vào phần đầu của kịch bản lệnh ở trên, nhưng chúng tôi cho rằng điều này là không cần thiết:

sudo rpm -e httpd-2.2.15-9.el6.x86_64 httpd-tools-2.2.15-9.el6.x86_64
gnome-user-share-2.28.2-3.el6.x86_64

Để tùy chỉnh một ảnh:

  1. Chuyển đến Control Panel > View Asset Catalog > My Dashboard và xem xét My Assets (Các tài sản của tôi). Bạn có thể xem bản sao của ảnh mà bạn tạo ra như là một Template Topology Asset (Tài sản cấu trúc liên kết khuôn mẫu). Lưu ý rằng chúng tôi đã nhận thấy việc cập nhật danh mục Rational Asset (Tài sản Rational) bằng cách sử dụng trình duyệt Google Chrome dễ dàng hơn là dùng Firefox.
  2. Nhấn vào tài sản và kiểm tra Image Id. Vào lúc viết bài này, kết quả kiểm tra không hiển thị đúng vì đó là Image Id của ảnh cha mẹ, từ đó đã nhân bản ra tài sản này chứ không phải Image Id đã nhân bản.
    Hình 9. Xem tài sản trong Rational Asset Manager
    Xem tài sản trong Rational Asset Manager
  3. Nhấn Content (Nội dung), rồi nhấn vào activationscripts.
    Hình 10. Lấy các kịch bản lệnh kích hoạt
    Lấy các kịch bản lệnh kích hoạt
  4. Các kịch bản lệnh kích hoạt do ICCT thêm vào được liệt kê ra. Hãy cập nhật chúng để tải về và cài đặt XAMPP.
    1. Tải về tệp cloud-startup3.txt từ Rational Asset Manager. Hãy nối thêm đoạn mã sau:
      if [ -f /etc/cloud/installxampp.sh ]; then
      chmod +x /etc/cloud/installxampp.sh
      /etc/cloud/installxampp.sh
      rm -f /etc/cloud/installxampp.sh
      fi
    2. Tải về tệp scripts.txt từ thư mục activation_scripts và nối thêm dòng mã sau.
      installXAMPP.sh=/etc/cloud/installxampp.sh

      Tệp scripts.txt trông như sau:

      cloud-startup3.txt=/etc/init.d/cloud-startup3.sh
      activate.txt=/etc/cloud/activate.sh
      installXAMPP.sh=/etc/cloud/installxampp.sh

      ICCT đã thêm vào hai dòng mã đầu tiên. Bạn đã thêm vào dòng thứ ba để cho phép sao chép tệp installXAMPP.sh vào /etc/cloud/installxampp.sh trên đĩa cá thể trước khi khởi động nó. Hãy sao chép tệp cloud-startup3.txt thành /etc/init.d/cloud-startup3.sh và chạy tệp installxamppp.sh trong lúc khởi động lần đầu.

  5. Nhấn vào biểu tượng Bút chì để chỉnh sửa tài sản.
  6. Nhấn More options (Các tuỳ chọn thêm nữa) và nhấn vào thư mục activation_scripts.
  7. Trên Upload File (Tải tệp lên), chọn Basic (Cơ sở) và nhấn Choose File (Chọn tệp).
  8. Tải lên tệp cloud-startup3.txt và tệp scripts.txt đã sửa đổi trong Rational Asset Manager mỗi lần một tệp. Các tệp trong Rational Asset Manager được cập nhật. Ngoài ra, hãy thêm tệp installXAMPP.sh mới vào cùng thư mục activation_scripts.
    Hình 11. Tải lên các tệp
    Tải lên các tệp
  9. Nhấn Update (Cập nhật) ở phía dưới cùng để mở cửa sổ Update Comments (Cập nhật các chú thích). Nhập các chú thích và nhấn vào Update.
    Hình 12. Thêm các chú thích cho các tệp tải lên
    Thêm các chú thích cho các tệp tải lên
  10. Một cửa sổ thông báo được hiển thị.
    Hình 13. Cập nhật tài sản
    Cập nhật tài sản
  11. Cuối cùng, bạn nhận được một thông báo rằng tài sản đã được sửa đổi thành công.
    Hình 14. Tài sản được sửa đổi thành công
    Tài sản được sửa đổi thành công
  12. Nhấn Contentactivation_scripts. Kiểm tra ngày sửa đổi và bảo đảm rằng tài sản có các tệp đã cập nhật. Bạn cũng có thể cập nhật tệp GettingStarted.hml một cách tương tự và thêm dòng mã sau đây vào Image Details (Các thông tin chi tiết ảnh). Dòng mã này được hiển thị trong Instance Details khi cung cấp cá thể: <li>XAMPP is installed on the image.</li> (<li>XAMPP được cập nhật trên ảnh.</li>).
  13. Nhấn Return to Cloud portal (Quay về cổng thông tin Đám mây) ở phía trên bên trái để quay về trang Overview (Tổng quan) cho SmartCloud.
  14. Chuyển đến Control Panel > Images, chọn Cloned Image (Ảnh nhân bản) và Create Instance (Tạo cá thể).
  15. Khi cá thể được cung cấp, bạn có thể thấy Instance Details phản ánh html mới trong cổng thông tin SmartCloud.
    Hình 15. Bắt đầu chạy một cá thể
    Bắt đầu chạy một cá thể
  16. Sau khi tạo ra Instance (Cá thể), bạn sẽ có thể đăng nhập vào cá thể đó, khởi động vncserver và khởi động Google Chrome trên cá thể đó.
  17. Kết nối với localhost. Bạn có thể thấy trang chọn ngôn ngữ cho XAMPP. Hãy chọn English (Tiếng Anh). Hãy kiểm tra xem Apache Web Server (Máy chủ Web của Apache) có đang thực sự làm việc không.
  18. Nhấn CD Collection (Bộ sưu tập CD) để chắc chắn rằng PHP và MySQL cũng được cài đặt và khởi động thành công.
    Hình 16. Kiểm tra XAMPP
    Kiểm tra XAMPP

Sử dụng tệp parameters.xml để cho phép người dùng tùy chỉnh ảnh

Lưu ý rằng chúng tôi đã sử dụng localhost để kiểm tra việc cài đặt XAMPP trên cá thể. Bạn chưa thể truy cập localhost từ bên ngoài máy ảo. Để có thể truy cập, bạn cần cho phép mở cổng và thực hiện một số thay đổi cấu hình. Trong việc thực hiện những thay đổi này, hãy cho phép thay đổi cổng Apache Web Server.

  1. Cập nhật tệp parameters.xml và tải lên Rational Asset Manager như sau:
    Liệt kê 1. đề mục
    <?xml version="1.0" encoding="UTF-8"?>
    <parameters xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:noNamespaceSchemaLocation="parameters.xsd">
      <field name="Port" type="string" label="Apache Web Server Port"
                      description="Specify the Port for external access to the 
                                   Apache Web Server">
       <values>
        <value>80</value>
       </values>
      </field>
       <firewall>
           <rule>
              <source>0.0.0.0/0</source>
              <minport>1</minport>
              <maxport>65535</maxport>
           </rule>
       </firewall>
    </parameters>

    Bạn đã thêm Port làm một tham số cấu hình mới. Hãy trích ra tham số này trong tệp installXAMPP.sh bằng kịch bản lệnh sau đây: /usr/bin/extract-parameters.pl "Port" /etc/cloud/parameters.xml

  2. Cập nhật tệp installXAMPP.sh như sau và tải lên Rational Asset Manager:
    #!/bin/sh
    wget http://www.apachefriends.org/download.php?xampp-linux-1.7.7.tar.gz
    sudo tar xvfz xampp-linux-1.7.7.tar.gz -C /opt
    uname -p | grep x86_64
    if [ $? -eq 0 ]; then
       sudo sed -i '/^# XAMPP is currently 
       32 bit only$/,+12 s.^.#.' /opt/lampp/lampp
       sudo yum -y install glibc.i686
    fi
    
    # Configure port for external access
    port=80
    if [ -e /etc/cloud/parameters.xml ] ; then
      # Get user specified information from the parameter.xml file
      port=$(/usr/bin/extract-parameters.pl "Port" /etc/cloud/parameters.xml)
    fi
    sudo sed -i "s/^ServerName .*/ServerName `hostname 
        --fqdn`:$port/" /opt/lampp/etc/httpd.conf
    sudo sed -i "s/^Port .*/Port $port/" /opt/lampp/etc/httpd.conf
    sudo iptables -I INPUT -m state --state NEW -p tcp 
       --destination-port $port -j ACCEPT
    sudo /etc/init.d/iptables save
    sudo sed  -i "s/\\tDeny from all/#\\tDeny from all/"
                   /opt/lampp/etc/extra/httpd-xampp.conf
    
    sudo /opt/lampp/lampp start
  3. Bây giờ bạn có thể cung cấp lại cá thể mới. Nó có thể hiển thị Loading Additional parameters (Nạp các tham số bổ sung) trong Bước 2, Tạo cá thể (Create Instance) khi Cổng thông tin SmartCloud lấy ra các tham số từ Rational Asset Manager. Nhấn Next và lúc này bạn sẽ thấy tham số với cổng mặc định là 80 trong Bước 2b. Thay đổi cổng này thành 8080 để có hiệu lực.
    Hình 17. Chỉ rõ cổng cho cá thể mới
    Chỉ rõ cổng cho cá thể mới
  4. Kiểm tra các thông tin chi tiết của cá thể trong Bước 3 và nhấn Next.
    Hình 18. Kiểm tra cấu hình
    Kiểm tra cấu hình
  5. Chấp nhận các điều khoản và điều kiện cấp phép bằng cách chọn I agree ở bước 4 và nhấn Submit.
    Hình 19. Chấp nhận các điều khoản và các thỏa thuận cấp phép
    Chấp nhận các điều khoản và các thỏa thuận cấp phép
  6. Lưu ý gói phần mềm GoogleChrome được hiển thị như khi ICCT đã cài đặt nó trên ảnh đã bắt giữ lại mà từ đó bạn đã nhân bản ra ảnh hiện tại. Tuy nhiên, bạn không thấy bất kỳ gói phần mềm XAMM nào. Phần 4 trong loạt bài này sẽ đề cập đến chủ đề này.
    Hình 20. Xem cá thể trong ngăn Instance
    Xem cá thể trong ngăn Instance
  7. Bây giờ, bạn đã bắt đầu làm việc trên cổng 8080 và kịch bản lệnh cài đặt đã bật cổng 8080 trong tường lửa. Bạn có thể truy cập vào máy ảo này từ bên ngoài.
    Hình 21. Kiểm tra XAMPP
    Kiểm tra XAMPP

Tạo ra một gói phần mềm có phần phụ thuộc

Hãy làm theo các bước sau để tạo ra một gói phần mềm XAMPP có một phần phụ thuộc vào gói phần mềm của Google Chrome và sau đó tạo ra một ảnh tuỳ chỉnh với cả hai gói phần mềm.

  1. Thay đổi vị trí lưu trữ từ cục bộ sang nhà cung cấp dịch vụ đám mây của bạn khi tạo ra một gói phần mềm mới. Universal ID (ID đa năng) và Version (Phiên bản) là những tham số duy nhất nhận ra gói phần mềm trong ICCT. Nhấn Create.
    Hình 22. Tạo gói mới
    Tạo gói mới
  2. Theo tùy chọn bạn có thể nhập các sản phẩm trong XAMPP trong ngăn General (Thông tin chung) như hiển thị dưới đây. Điều này chỉ cần thiết khi bạn muốn tạo ra các phần phụ thuộc cho các sản phẩm cụ thể trong một gói. Bạn có thể bỏ qua bước này.
    Hình 23. Thông tin chung về XAMPP
    Thông tin chung về XAMPP
  3. Trong tab Requirements, thêm GoogleChrome vào Required Bundles (Các bó cần thiết).
    Hình 24. Thêm phần phụ thuộc vào GoogleChrome
    Thêm phần phụ thuộc vào GoogleChrome
  4. Thêm tệp installXAMPP.sh trong tab Install như hiển thị trong Hình 25.

    Tệp installXAMPP.sh được gọi như sau:

    installXAMPP.sh -tarball ${Archive Name} -port ${Apache Web Server Port}
    Hình 25. Cài đặt cấu hình hoạt động cho XAMPP
    Cài đặt cấu hình hoạt động cho XAMPP

    Dưới đây là tệp installXAMPP.sh cho gói phần mềm:

    #!/bin/sh
    tarball=$2
    if [ -z $tarball ]; then
       tarball=xampp-linux-1.7.7.tar.gz
    fi
    port=$4
    if [ -z $port ]; then
       port=80
    fi
    sudo wget http://www.apachefriends.org/download.php?$tarball
    sudo tar xvfz $tarball -C /opt
    uname -p | grep x86_64
    if [ $? -eq 0 ]; then
       sudo sed -i '/^# XAMPP is currently 32 bit only$/,+12 s.^.#.' /opt/lampp/lampp
       sudo yum -y install glibc.i686
    fi
  5. Đây là một tiền thân của cấu trúc gói phần mềm dùng cho việc tham chiếu để biết sau này ICCT tải tệp này lên Rational Asset Manager ở đâu, khi bạn xuất bản gói phần mềm. Tệp installXAMPP.sh sẽ nằm trong thư mục imageBuild/newStep trong tài sản Rational Asset Manager. Thư mục models (các mô hình) chứa các tệp Automation topology (Cấu trúc liên kết tự động hóa) và Semantic topology (Cấu trúc liên kết ngữ nghĩa) dùng để chứa các phần phụ thuộc và các yêu cầu của gói phần mềm.
    Hình 26. Cấu trúc tệp của gói phần mềm
    Cấu trúc tệp của bó phần mềm
  6. Tạo tệp configureXAMPPPort.sh và thêm nó vào tab Configuration cho một hoạt động ConfigurePort như hiển thị trong Hình 27. Tệp configureXAMPPPort.sh sẽ nằm trong thư mục imageDeploy/configureport như trong Hình 26.
    Hình 27. Thêm tệp configureXAMPPPort.sh vào tab Configuration
    Thêm tệp configureXAMPPPort.sh vào ngăn configuration

    Hãy gọi tệp configureXAMPP.sh bằng kịch bản lệnh sau: configureXAMPPPort.sh -port ${Apache Web Server Port}

    Dưới đây là tệp configureXAMPPPort.sh:

    #!/bin/sh
    
    port=$2
    if [ -z $port ]; then
       port=80
    fi
    sudo sed -i "s/^ServerName .*/ServerName `hostname 
       --fqdn`:$port/" /opt/lampp/etc/httpd.conf
    sudo sed -i "s/^Listen .*/Listen $port/" /opt/lampp/etc/httpd.conf
    sudo iptables -I INPUT -m state --state NEW -p tcp 
       --destination-port $port -j ACCEPT
    sudo /etc/init.d/iptables save
    sudo sed -i "s/\\tDeny from all/#\\tDeny from all/" 
        /opt/lampp/etc/extra/httpd-xampp.conf
    sudo /opt/lampp/lampp start
  7. Tạo tệp cleanupXAMPPLogs.sh và thêm nó vào thư mục imageCapture/newstep trong tab Reset. Tạo tệp cleanupXAMPPLogs.sh và thêm nó vào tab Reset như trong Hình 28. Tệp cleanupXAMPPLogs.sh sẽ nằm trong thư mục imageCapture/newstep trong tài sản Rational Asset Manager như trong Hình 26.
    Hình 28. Thêm tệp cleanupXAMPPLogs.sh vào ngăn Reset
    Thêm tệp cleanupXAMPPLogs.sh vào ngăn Reset

    Dưới đây là các nội dung của tệp cleanupXAMPPLogs.sh:

    #!/bin/sh
    
    sudo /opt/lampp/lampp stop
    sudo rm -f /opt/lampp/logs/*
  8. Nhấn the Save (Lưu) và trạng thái xác nhận hợp lệ thay đổi thành Valid (Hợp lệ).
  9. Nhấn vào biểu tượng Publish (Xuất bản) để lưu tài sản trong Rational Asset Manager. Trạng thái thay đổi thành Published (Đã xuất bản). Bây giờ có thể xem tài sản Rational Asset Manager hiển thị trong Hình 26 trong danh mục Asset trong SmartCloud Enterprise.

Kết luận

Trong bài này, bạn đã học cách nhân bản và sửa đổi một tài sản Rational Asset Manager để cung cấp tùy chỉnh nhờ sử dụng ICCT trên IBM SmartCloud Enterprise bằng cách làm theo một ví dụ đơn giản. Phần 4 của loạt bài này mô tả ba cách để tạo ra các ảnh bằng cách sử dụng ICCT.

Tài nguyên

Học tập

Lấy sản phẩm và công nghệ

  • Đánh giá các sản phẩm của IBM theo cách phù hợp với bạn nhất: Tải về một bản dùng thử sản phẩm, dùng thử một sản phẩm trực tuyến, sử dụng một sản phẩm trong một môi trường đám mây hoặc dành một vài giờ trong SOA Sandbox để học cách thực hiện kiến trúc hướng dịch vụ có hiệu quả.

Thảo luận

  • Hãy tham gia vào cộng đồng My developerWorks. Kết nối với những người sử dụng developerWorks khác trong khi khám phá các blog, các diễn đàn, các nhóm và các wiki theo hướng nhà phát triển.

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=Cloud computing, Rational
ArticleID=863457
ArticleTitle=Quản lý IBM SmartCloud Enterprise, Phần 3: Nhân bản và sửa đổi một tài sản để cung cấp tùy chỉnh
publish-date=04012013