Libvirt 為一套提供方便的方法管理 VM 及其他虛擬功能 ( 例如:Storage 或網路 ) 的 C 語言軟體。這些軟體包含 API 函式庫、daemon (libvirtd) 及一個命令提示工具 (virsh)。
Libvirt 的主要目標為,提供一個簡單的方法管理多個不同的虛擬化提供者或 hypervisor。舉例來說,命令 "virsh list --all" 可列出所有支援的 hypervisor (KVM、Xen、VMWare ESX 等等 )中存在的 VM。
Libvirt 所提供之主要功能為:
1 ) VM 管理:開始、停止、暫停、儲存、回復及遷移。
2 ) 支持遠端機器控制 (Remote machine support):運行 libvirt daemon 的機器皆可使用 libvirt 的所有功能,包含遠端控制機器。更多資訊,可參考 http://libvirt.org/remote.html。
3 ) Storage 管理:運行 libvirt daemon 的機器可管理不同型態的 storage。更多資訊,可參考 http://libvirt.org/storage.html。
4 ) 網路介面管理:運行 libvirt daemon 的機器可管理 physical 和 logical 網路介面。更多資訊,可參考 https://fedorahosted.org/netcf/。
5 ) 虛擬 NAT 與路由基礎網路 (Route based networking):運行 libvirt daemon 的機器可管理與產生虛擬網路 (virtual network)。更多資訊,可參考 http://libvirt.org/archnetwork.html。
Libvirt 支援:
1 ) KVM/QEMU
2 ) Xen
3 ) LXC - Linux container system
4 ) OpenVZ - Linux container system
5 ) User Mode Linux
6 ) VirtualBox
7 ) VMware ESX and GSX
8 ) VMware Workstation and Player
9 ) Microsoft Hyper-V
2012年2月28日 星期二
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 使用者的密碼
2.2 配置 MySQL,建立 dash 資料庫
2.3 建立使用者,並擁有 dash 資料庫之最高權限
2.4 於 /local/local_settings.py 中修正下列選項:
● DATABASE:
2.5 運行 syncdb 指令初始化資料庫
你將會看見下列結果輸出
3. 重啟並運行 Apache 伺服器
如果安裝正確,打開瀏覽器並輸入 http://localhost 你將會看見 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 -p2.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/
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 下,原始檔案內容如下:
相關旗標資訊可參考 /bin/nova-api --help 或 OpenStack Compute Administration 手冊中 Setting Flags in the nova.conf 章節。
設定 nova.conf 後,必須產生一個 "nova" 群組
將 nova.conf 的權限設定給予 root,並保證使用者 nova 隸屬於 nova 群組
緊接著設定 OpenStack Compute 環境,利用 Identity 服務保證資料庫 schema 的及時性。
旗標與環境設定完成後,需產生 Credentials (zip file)。
解壓縮 credentials 的 zip 檔在家目錄下,並加入至安裝環境中。
最後,別忘了啟動存取 VM;使用 "euca-authorize" 指令啟動存取。
如已使用 "euca-authorize" 指令,但無法透過 ping 或 SSH 方式進行存取 VM,請使用下列方法解決問題。
安裝至此,已完成所有安裝與設定之步驟,請帶著愉快的心情使用 OpenStack 吧!:D
首先,必須設定 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月29日 星期日
[Django] 解決 Django 錯誤 "CSRF verification failed. Request aborted."
在 settings.py 的 MIDDLEWARE_CLASSES 中加入下列兩行程式碼
問題就迎刃而解囉!
'django.middleware.csrf.CsrfViewMiddleware'
'django.middleware.csrf.CsrfResponseMiddleware'
問題就迎刃而解囉!
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 進行前置設定。
執行更新
安裝訊息 queue 伺服器,RabbitMQ
安裝 Python dependencies
安裝 nova- 封包及 dependencies ( 自動安裝 )
安裝支援工具,例如 euca2ools 和 unzip
到目前為止,已完成前置作業;接下來將進行資料庫 ( 以 MySQL 為例 ) 安裝及設定。
首先,藉由 "pre-seed" 進行環境設定
安裝 MySQL
編輯 /etc/mysql/my.cof 改變 "bind-address" 從本地端至任意 (0.0.0.0) 並重啟 mysql 服務
建立 nova 資料庫
更新資料庫,並給予使用者 (‘nova’@’%’) 權限
設定使用者 (‘nova’@’%’) 密碼
今欲嘗試安裝 OpenStack 在 最新版本 Ubuntu 11.10 ( Oct. 2011 釋出 ) 上。
首先,安裝 Nova PPA (Personal Packages Archive) 和 python-software-properties 進行前置設定。
sudo apt-get install python-software-propertiessudo 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月20日 星期五
[Cloud] 雲端運算五四三
雲端運算 (cloud computing) 包含
五個必要特色 (essential charateristics),四個部屬模組 (deployment models) 以及三個服務模式 (service models)。
其中,五個必要特色為:
● On-demand self-service
● Broad network access
● Resource pooling
● Rapid elasticity
● Measured service
四個部屬模組為:
◎ 私有雲 (private cloud)
◎ 社群雲 (community cloud)
◎ 公有雲 (public cloud)
◎ 綜合雲 (hybrid cloud)
三個服務模式:
○ SaaS
○ PaaS
○ IaaS
另外,找到一份不錯的文件,參考參考!http://people.chu.edu.tw/~b09602005/attach1122.pdf
參考資料:
1. The NIST Definition of Cloud Computing
- http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
五個必要特色 (essential charateristics),四個部屬模組 (deployment models) 以及三個服務模式 (service models)。
其中,五個必要特色為:
● On-demand self-service
● Broad network access
● Resource pooling
● Rapid elasticity
● Measured service
四個部屬模組為:
◎ 私有雲 (private cloud)
◎ 社群雲 (community cloud)
◎ 公有雲 (public cloud)
◎ 綜合雲 (hybrid cloud)
三個服務模式:
○ SaaS
○ PaaS
○ IaaS
另外,找到一份不錯的文件,參考參考!http://people.chu.edu.tw/~b09602005/attach1122.pdf
參考資料:
1. The NIST Definition of Cloud Computing
- http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
訂閱:
文章 (Atom)