顯示具有 OpenStack 標籤的文章。 顯示所有文章
顯示具有 OpenStack 標籤的文章。 顯示所有文章

2012年6月14日 星期四

[OpenStack] 如何透過 dashboard import keypair?

在 OpenStack dashboard 中存在一項功能 ── import keypair。

But, how to import a keypiar via dashboard 一直困擾著我!囧

經由上網發問,總算得知正確的使用方式。

因此,藉由這裡記錄在 OpenStack dashboard import keypair 的方法。

首先,什麼是 keypair?下面是 OpenStack 初學者手冊中的定義。

You will also need to generate a keypair consisting of private key/public key to be able to launch instances on OpenStack. These keys are injected into the instances to make password-less SSH access to the instance. This depends on the way the necessary tools are bundled into the images.

接下來,將說明如何操作 import keypair。

STEP 1. 在主機上建立公鑰 (public key)
# ssh-keygen

建立過程中詢問之事項皆 Enter 帶過。

STEP 2. 進入 .ssh 資料夾
# cd .ssh

將會發現資料夾中存在 id_rsa 以及 id_rsa.pub 檔案。

STEP 3. 開啟公鑰
# cat ~/.ssh/id_rsa.pub

STEP 4. 複製工要內容,並貼入 dashboard 中 public key 欄位

恭喜你,順利完成 import keypair 的艱難任務! :D

參考資料:
1. OpenStack Compute Starter Guide -Essex

2012年2月13日 星期一

[OpenStack] OpenStack Dashboard 簡介與安裝

簡介:
OpenStack Dashboard 是一個以 web 為基礎的視窗提供使用者透過 OpenStack APIs 與 OpenStack Compute 雲控制器溝通。

系統需求:
1. 必須運行 OpenStack Compute 安裝並包含 Identity 與 Keystone 服務
2. 必須知道 Identity 與 Compute 的 URL
3. 必須安裝 git
4. Python 2.6 或 2.7

安裝步驟:
1. 安裝 OpenStack Dashboard 框架,其中包含 Apache 及相關模組

sudo apt-get install -y libapache2-mod-wsgi
sudo apt-get install -y openstack-dashboard openstackx python -sqlite

2. 配置 Dashboard

2.1 開啟 mysql,並輸入 root 使用者的密碼

mysql -u root -p

2.2 配置 MySQL,建立 dash 資料庫

mysql> CREATE DATABASE dash;

2.3 建立使用者,並擁有 dash 資料庫之最高權限

mysql> GRANT ALL ON dash.* TO 'dash'@'%' IDENTIFIED BY 'yourpassword';

2.4 於 /local/local_settings.py 中修正下列選項:

● DATABASE:

DATABASES = {
      'default': {
          'ENGINE': 'django.db.backends.mysql',
          'NAME': 'dash',
          'USER': 'dash',
          'PASSWORD': 'yourpassword',
          'HOST': 'localhost',
          'default-character-set': 'utf8'
      },
  }


2.5 運行 syncdb 指令初始化資料庫

# If using Cloud Builders packages, do this:
  cd /var/lib/dash
  PYTHONPATH=/var/lib/dash/ python dashboard/manage.py syncdb

  # If using Managed IT packages, do this:
  /usr/share/openstack-dashboard/dashboard/manage.py syncdb


你將會看見下列結果輸出

Installing custom SQL ...
  Installing indexes ...
  DEBUG:django.db.backends:(0.008) CREATE INDEX `django_session_c25c2c28` ON`django_session` (`expire_date`);; args=()
  No fixtures found.


3. 重啟並運行 Apache 伺服器

sudo /etc/init.d/apache2 restart
sudo restart nova-api


如果安裝正確,打開瀏覽器並輸入 http://localhost 你將會看見 OpenStack Dashboard。

2012年2月7日 星期二

[OpenStack] OpenStack Compute (Nova) 簡介

Nova 的特色及功能如下:

1. Instance 生命週期 (life cycle) 管理

2. 計算資源管理

3. 網路及認證

4. REST-based API

5. 最終一致的非同步通訊

6. 支援 Xen, XenServer/XPC, KVM, UML, VMware, vSphere and Hyper-V

OpenStack Compute 組件包含:

1. API Server (nova-api):提供外界對於雲基礎架構的管理與介面。

2. Message Queue (rabbit-mq server)

3. Compute Workers (nova-compute):處理 instance 的生命週期管理,透過 Message Queue 接收

並處理生命週期管理之請求。

4. Network Controller (nova-network):處理主機網路辨別。例如:分配 IP 位址、辨別專案

VLAN 等等。

5. Volume Worker (nova-volume):用於管理 LVM-based instance volume。功能如新增、刪除及從

instance 掛 ( 卸 ) 載一個 volume。

6. Scheduler (nova-scheduler):對應 nova-API 呼叫至正確的 OpenStack 組件。

參考資料:

1. OpenStack Compute Starter Guide

    - http://docs.openstack.org/diablo/openstack-compute/starter/content/

2012年2月3日 星期五

[OpenStack] 「手動」安裝 OpenStack 後之後續設定

[OpenStack] 在 Ubuntu 11.10 上「手動」安裝 OpenStack 中已將「手動」安裝之前置作業及資料庫設定完成,接下來的後續設定部分,將於本篇中介紹。

首先,必須設定 nova.conf 檔案中的旗標。nova.conf 位在 /etc/nova 下,原始檔案內容如下:

--daemonize=1
--dhcpbridge_flagfile=/etc/nova/nova.conf
--dhcpbridge=/bin/nova-dhcpbridge
--logdir=/var/log/nova
--state_path=/var/lib/nova


相關旗標資訊可參考 /bin/nova-api --help 或 OpenStack Compute Administration 手冊中 Setting Flags in the nova.conf 章節。

設定 nova.conf 後,必須產生一個 "nova" 群組

sudo addgroup nova

將 nova.conf 的權限設定給予 root,並保證使用者 nova 隸屬於 nova 群組

sudo usermod -g nova nova
chown -R root:nova /etc/nova
chmod 640 /etc/nova/nova.conf


緊接著設定 OpenStack Compute 環境,利用 Identity 服務保證資料庫 schema 的及時性。

nova-manage db sync
nova-manage user admin <user_name>
nova-manage project create <project_name> <user_name>
nova-manage network create <network-label> <project-network> <number-of-networks-in-project> <addresses-in-each-network>


旗標與環境設定完成後,需產生 Credentials (zip file)。

mkdir –p /root/creds
/usr/bin/python /usr/bin/nova-manage project zipfile $NOVA_PROJECT $NOVA_PROJECT_USER /root/creds/novacreds.zip


解壓縮 credentials 的 zip 檔在家目錄下,並加入至安裝環境中。

unzip /root/creds/novacreds.zip -d /root/creds/
cat /root/creds/novarc >> ~/.bashrc
source ~/.bashrc


最後,別忘了啟動存取 VM;使用 "euca-authorize" 指令啟動存取。

euca-authorize -P icmp -t -1:-1 default
euca-authorize -P tcp -p 22 default


如已使用 "euca-authorize" 指令,但無法透過 ping 或 SSH 方式進行存取 VM,請使用下列方法解決問題。

killall dnsmasq
service nova-network restart


安裝至此,已完成所有安裝與設定之步驟,請帶著愉快的心情使用 OpenStack 吧!:D

2012年1月21日 星期六

[OpenStack] 在 Ubuntu 11.10 上「手動」安裝 OpenStack

目前 OpenStack 可在 Ubuntu 10.10 或 11.04 上以 root 權限安裝,若非 root 則需前置 sudo 指令。

今欲嘗試安裝 OpenStack 在 最新版本 Ubuntu 11.10 ( Oct. 2011 釋出 ) 上。

首先,安裝 Nova PPA (Personal Packages Archive) 和 python-software-properties 進行前置設定。

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:openstack-release/2011.3

執行更新

sudo apt-get update

安裝訊息 queue 伺服器,RabbitMQ

sudo apt-get install -y rabbitmq-server

安裝 Python dependencies

sudo apt-get install -y python-greenlet python-mysqldb

安裝 nova- 封包及 dependencies ( 自動安裝 )

sudo apt-get install nova-volume nova-vncproxy nova-api nova-ajax-console-proxy
sudo apt-get install nova-doc nova-scheduler nova-objectstore
sudo apt-get install nova-network nova-compute
sudo apt-get install glance


安裝支援工具,例如 euca2ools 和 unzip

sudo apt-get install -y euca2ools unzip

到目前為止,已完成前置作業;接下來將進行資料庫 ( 以 MySQL 為例 ) 安裝及設定。

首先,藉由 "pre-seed" 進行環境設定

bash
MYSQL_PASS=nova
NOVA_PASS=notnova
cat <<MYSQL_PRESEED | debconf-set-selections
mysql-server-5.1 mysql-server/root_password password $MYSQL_PASS
mysql-server-5.1 mysql-server/root_password_again password $MYSQL_PASS
mysql-server-5.1 mysql-server/start_on_boot boolean true
MYSQL_PRESEED


安裝 MySQL

sudo apt-get install -y mysql-server

編輯 /etc/mysql/my.cof 改變 "bind-address" 從本地端至任意 (0.0.0.0) 並重啟 mysql 服務

sudo sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf
sudo service mysql restart


建立 nova 資料庫

sudo mysql -u root -p$MYSQL_PASS -e 'CREATE DATABASE nova;'

更新資料庫,並給予使用者 (‘nova’@’%’) 權限

sudo mysql -u root -p$MYSQL_PASS -e "GRANT ALL PRIVILEGES ON *.* TO 'nova'@'%' WITH GRANT OPTION;"

設定使用者 (‘nova’@’%’) 密碼

sudo mysql -u root -p$MYSQL_PASS -e "SET PASSWORD FOR 'nova'@'%' = PASSWORD('$NOVA_PASS');"

2012年1月19日 星期四

[OpenStack] 安裝 OpenStack 系統需求建議

基本 OpenStack 安裝包含下列兩種伺服器 (server):

1. Cloud Controller node ( 運行網路、volume、API、scheduler 及映像服務 )。

硬體規格建議
處理器:64 位元 x86
記憶體:12 GB RAM
硬碟大小:30 GB (SATA 或 SAS 或 SSD)
volume:在 compute node 上掛載兩個 2TB (SATA) 硬碟
網路:一塊 1GB 網路卡 (Network Interface Card, NIC)

2. Compute nodes ( 運行 virtual instance )。

硬體規格建議
處理器:64 位元 x86
記憶體:32 GB RAM
硬碟大小:30 GB (SATA)
網路:兩塊 1GB 網路卡


作業系統:OpenStack 目前支援 Ubuntu、RHEL、SUSE、Debian 和 Fedora。

網路:1000 Mbps。對於虛擬機之間的網路有三種選擇,分別是 flat、DHCP 以及 VLAN。

資料庫:對於 OpenStack Compute,目前可存取 PostgreSQL 以及 MySQL。

Network Time Protocol:必須安裝時間同步軟體,例如 NTP。

2012年1月16日 星期一

[OpenStack] OpenStack 概論

    OpenStack 提供開放原始碼建立公有 (public) 或私有 (private) 雲。其宗旨在於幫助組織運行虛擬計算 (virtual computing) 或儲存服務 (storage) 的雲。OpenStack 旗下包含一組公共維護 (community-maintained) 的開放原始碼項目,分別是 OpenStack Comput (Nova)OpenStack Storage (Swift) 以及 OpenStack Image Service (Glance)

    OpenStack Compute 是雲的控制器。它用於啟動個人或一組用戶的虛擬實例 (virtual instance),也為每一個實例 (instance) 或項目 (project) 進行網路配置。

    OpenStack Storage 提供分散式且最終一致的虛擬物件存儲 (virtual object store)。它類似於 Amazon Web Service - Simple Storage Service (S3),能藉由分散式節點存儲數十億物件,並具有冗餘和容錯管理的能力。

    OpenStack Image Service 是一個虛擬機 (virtual machine, VM) 鏡像存儲、查詢和檢索系統,服務包括允許使用者透過 REST-like  HTTP 請求查詢 VM 鏡像詮釋資料 (metadata) 以及檢索實際鏡像。

三者之間關係圖如下:


參考資料:
1. OpenStack 官方網站 - http://www.openstack.org/
2. OpenStack Compute Administration Manual
    - http://docs.openstack.org/diablo/openstack-compute/admin/content/index.html