總網頁瀏覽量

搜尋此網誌

2011年12月5日 星期一

台灣雲端發展應重視IAAS


雲端炒作與雲端發展契機
近年蘋果電腦在置型手機與平板電腦的成功,其中有一個非常重要的要素。就是AppStore後端平台的支持,一個好的服務背後需要有強大的基礎設備。擁有基礎架構,算是雲端發展的根基。台灣在發展電子業以往非常成功。靠著微軟與英戴爾的組合,複製以硬體提升模式為主流的發展模式,讓電子業發展在國際上成為典範。但自從2010起這種模式漸漸失效,再往後的發展裡,國內開始發展雲端運算如雨後春筍一般。政府也大力推動雲端產業發展,不過很多打著發展雲端口號的廠商,卻是以舊瓶新裝的方式如洪朝貴「(商業炒作之前的) 雲端簡史 -- SaaS 篇」所示,絕大部分的雲端服務都是舊有技術。而在中研院網格計算團隊主持人林誠謙在「雲端源自平行運算,但比網格更擅長資料運算」一文中,說明雲端計算源自於網格運算,兩種技術概念都源自平行運算技術和觀念發展出來。因此雲端服務顯然也未必需要雲端運算技術來支持達到服務的目的,而雲端運算技術的運用也未必要推出雲端服務。例如每天使用Google搜尋引擎利用MapReduce雲端運算的功能提升搜尋技術,成為搜尋引擎霸主。搜尋引擎在雲端未被炒作前是早已存在的服務,結論為雲端運算技術是一個在規模擴張中提升的手段。當規模一般的雲端服務,一般傳統模式運算即可達成。無謂的以雲端服務而導入雲端運算可說是畫蛇添足,效益難以顯著,更容易成為處處喊著雲端口號廠商口中的肥肉。
由此可知強大國際型SaaS服務,必須有IaaS作為基石。沒有好的地基,遑論建造高聳強固的大樓,若以PaaS作為國內發展的基石為目標,這種越多人使用創造平台價值越高的模式。在Google、微軟、甲骨文等大廠皆無法號召一定比例使用者下。國內PaaS幾乎無發展的機會,況且與PaaS平台也需要強大基礎架構才能運作。
擁有基礎架構,就是雲端的根基,IaaS可隨意部署應用程式,不限作業系統、不綁定平台與不限程式語言,彈性無限可能,國內在製造許多雲端基礎架構的產業都有非常好的技術,電源供應器、伺服器、網路設備製造等供應鏈完整。發展IaaS是最適合國內發展雲端的模式,雲端炒作過度重視在「client端」發展的使用,熟不知「Host雲」才是重點。一般而言國內廠商將原本製造出的伺服器硬體模式賣給國際大廠,再經由大廠掛牌、大小型經銷商到最後的需求者。層層剝削的模式導致毛利率非常低落。但若不是經由代工模式,直接將伺服器送進轉為以IaaS雲端基礎架構服務模式。直接讓最終需求者依需求使用,這種製造後直接到最終使用者的模式最是完美。根本的IaaS是以軟體、作業系統強化整體系統的資源彈性與利用率,這種模式硬體需求會降低。然而軟體與資訊系統整合產業會提高。因此國內若依此舊模式,將日漸衰退下降。對於國內電子代工產業居多的情況,必定有若干影響。發展IaaS雲端基礎架構服務產業,將製造轉為服務,不但不必製造過多的硬體、在環境污染、節能、省碳、產業聚集,更創造提升國家產業模式。毛利率方面更是代工模式高出許多。帶動國內相關產業才能更加蓬勃發展,但若一眛再以wintel(微軟與英戴爾)模式發展,IaaS沒有自主的技術與經驗。最後結果難保重蹈覆轍讓利潤被分瓜稀釋。因此一個全開源自主並挾帶著眾多大廠支持的雲端IaaS架構,是一個非常有發展前景的未來產業。無關炒作實際而趨進現實產業面。畢竟未來雲端產業的發展,挾帶著強而有力的雲端基礎建設,才有能力左右雲端產業發展。



2011年8月11日 星期四

ubuntu 10.04 安裝 Libreoffice

Ubuntu中以指令安裝LibreOffice 有裝OpenOffice,先把OO.o移除掉:
sudo apt-get purge openoffice*.*
加入Ubuntu的第三方軟體來源:
sudo add-apt-repository ppa:libreoffice/ppa

sudo apt-get update

sudo apt-get install libreoffice

      or   sudo apt-get install libreoffice-gnome

2011年7月9日 星期六

ubuntu 安裝 phpmyadmin 管理工具

安裝MySQL-Server
$ sudo apt-get install mysql-server
安裝Apache HTTP Server
$ sudo apt-get install apache2
安裝PHP for Apache HTTP Server
$ sudo apt-get install php5
安裝MySQL for Apache HTTP Server
$ sudo apt-get install libapache2-mod-auth-mysql
$ sudo apt-get install php5-mysql
安裝phpMyAdmin
$ sudo apt-get install phpmyadmin

http://127.0.0.1/phpmyadmin

2011年7月6日 星期三

單台 Novacc all in one and other compute node

 第一台 網路卡設定
auto lo
iface lo inet loopback

auto br100
iface br100 inet static
bridge_ports eth0
bridge_stp off
bridge_maxwait 0
bridge_fd 0
address 0.0.0.0
netmask 255.255.255.0

auto eth1
iface eth1 inet static
address 0.0.0.0
netmask 255.255.255.0


auto eth1:1
iface eth1:1 inet static
address 172.18.11.191
netmask 255.255.255.0
broadcast 172.18.11.255
gateway 172.18.11.254
dns-nameservers 10.0.0.90
第二台
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 0.0.0.0
netmask 255.255.255.0

auto eth1
iface eth1 inet static
address 172.18.11.192
netmask 255.255.255.0
broadcast 172.18.11.255
gateway 172.18.11.254





/etc/nova/nova.conf

--dhcpbridge_flagfile=/etc/nova/nova.conf
--dhcpbridge=/usr/bin/nova-dhcpbridge
--logdir=/var/log/nova
--lock_path=/var/lock/nova
--state_path=/var/lib/nova
--verbose
--s3_host=172.18.11.191
--rabbit_host=172.18.11.191
--cc_host=172.18.11.191
--ec2_url=http://172.18.11.191:8773/services/Cloud
--fixed_range=192.168.3.0/24
--network_size=256
--FAKE_subdomain=ec2
--routing_source_ip=172.18.11.191
--sql_connection=mysql://root:nova@172.18.11.191/nova
--glance_api_servers=172.18.11.191:9292
--image_service=nova.image.glance.GlanceImageService
--flat_network_dhcp_start=192.168.3.5
--public_interface=eth1
--flat_interface=eth0
--flat_injected=False

2011年5月25日 星期三

NovaInstall for Single Machine Installation Record

Step 1: Install required prerequisites
sudo apt-get install -y rabbitmq-server
##Starting rabbitmq-server: SUCCESS
Step 2: Install Nova packages
sudo apt-get install -y python-software-properties
##Setting up python-software-properties (0.80.9) ...
sudo add-apt-repository ppa:nova-core/trunk
 ###
gpg: requesting key 2A2356C9 from hkp server keyserver.ubuntu.com
gpg: key 2A2356C9: public key "Launchpad Nova Packages" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1) 
sudo apt-get update
 ###Reading package lists... Done
sudo apt-get install -y python-nova
###Processing triggers for python-support ...
sudo apt-get install -y nova-common nova-doc nova-api nova-network 
 ####
nova-network is already the newest version.
nova-doc is already the newest version.
nova-common is already the newest version.
nova-api is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 30 not upgraded
sudo apt-get install -y nova-objectstore nova-scheduler nova-compute
 ###
nova-scheduler is already the newest version.
nova-objectstore is already the newest version.
nova-compute is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 30 not upgraded.
sudo apt-get install -y euca2ools
###euca2ools is already the newest version.
sudo apt-get install -y unzip
###unzip is already the newest version.


Step 3:setting up the SQL Database (MySQL) on the Cloud Controller
bash
MYSQL_PASS=nova
NOVA_PASS=notnova
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_preseed $mysql_pass="" boolean="" debconf-set-selections="" mysql-server-5.1="" mysql-server="" mysql_preseed<="" password="" pre="" root_password="" root_password_again="" start_on_boot="" true="" |="">









/usr/bin/nova-manage db sync
/usr/bin/nova-manage user admin dub
###export EC2_ACCESS_KEY=afe710a5-bbc8-45ad-ba69-38db885d3542
###export EC2_SECRET_KEY=54eeb1b8-2b00-4bb8-9092-5e32022be640
/usr/bin/nova-manage project create dubproject dub
/usr/bin/nova-manage network create 192.168.0.0/24 1 256 

sudo apt-get install -y mysql-server
---設mysql root 密碼
sudo sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf
sudo service mysql restart
### 
mysql start/running, process 1819
sudo mysql -uroot -p$MYSQL_PASS -e 'CREATE DATABASE nova;'
sudo mysql -uroot -p$MYSQL_PASS -e "GRANT ALL PRIVILEGES ON *.* TO 'nova'@'%' WITH GRANT OPTION;"
sudo mysql -uroot -p$MYSQL_PASS -e "SET PASSWORD FOR 'nova'@'%' = PASSWORD('$NOVA_PASS');"

Step 4:Installing the Compute Node
nano /etc/network/interfaces

auto lo
iface lo inet loopback
auto br100
iface br100 inet static
bridge_ports eth0
bridge_stp off
bridge_maxwait 0
bridge_fd 0
address 192.168.104.11
netmask 255.255.255.0
network 192.168.104.0
gateway 192.168.104.254
broadcast 192.168.104.255
dns-nameservers 8.8.4.4

sudo /etc/init.d/networking restart
restart libvirt-bin; restart nova-network; restart nova-compute;

libvirt-bin start/running, process 1994
nova-network start/running, process 2012
nova-compute start/running, process 2025
restart nova-api; restart nova-objectstore; restart nova-scheduler

nova-api start/running, process 2113
nova-objectstore start/running, process 2121
nova-scheduler start/running, process 2135
 Step6 Creating Certifications
mkdir –p /root/creds
/usr/bin/python /usr/bin/nova-manage project zipfile $NOVA_PROJECT $NOVA_PROJECT_USER /root/creds/novacreds.zip
unzip /root/creds/novacreds.zip -d /root/creds/
Archive:  /root/creds/novacreds.zip
 extracting: /root/creds/novarc
 extracting: /root/creds/pk.pem
 extracting: /root/creds/cert.pem
 extracting: /root/creds/cacert.pem
cat /root/creds/novarc >> ~/.bashrc
source ~/.bashrc
source /root/creds/novarc
sudo reboot

Enabling Access to VMs on the Compute Node

euca-authorize -P icmp -t -1:-1 default----錯誤[Errno 111] Connection refused
-rw-r----- 1 root nova 461 2011-05-25 22:03 nova.conf (nova.conf 為root所有) ---改
-rw-r----- 1 nova nova 461 2011-05-25 22:03 nova.conf (nova.conf 為nova所有)
正確
euca-authorize -P icmp -t -1:-1 default
default None None icmp -1 -1 0.0.0.0/0
GROUP   default
PERMISSION      default ALLOWS  icmp    -1      -1      FROM    CIDR    0.0.0.0/0
euca-authorize -P tcp -p 22 default
default None None tcp 22 22 0.0.0.0/0
GROUP   default
PERMISSION      default ALLOWS  tcp     22      22      FROM    CIDR    0.0.0.0/0
Configuring Multiple Compute Nodes

restart libvirt-bin; service nova-compute restart

libvirt-bin start/running, process 1703
nova-compute start/running, process 1725

chgrp kvm /dev/kvm
chmod g+rwx /dev/kvm
iptables -t nat -A PREROUTING -d 169.254.169.254/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.104.13:8773
mysql -uroot -pnova nova -e 'select * from services;'

2011年5月5日 星期四

Static IP & KVM

1.編輯
 vi /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 172.18.11.191
netmask 255.255.255.0
gateway 172.18.11.254

egrep -c '(vmx|svm)' /proc/cpuinfo 檢查cpu是否支援虛擬化
如果算出來的數字大於 0 的話,就表示有支援了,不過還是記得要去 BIOS 裡確認是否有 Enable CPU Virtualization 的功能喔

2. 正式安裝相關套件
首先不多說,就是安裝 KVM 下去
# apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder
好了之後可以檢查 KVM 是否有啟動了,還有它所載入的 Module 為何
# lsmod | grep kvm
kvm_intel              56851  0
kvm                   367707  1 kvm_intel
檢查 KVM 有載入哪些 Module
# modprobe -l | grep kvm
kernel/arch/x86/kvm/kvm.ko
kernel/arch/x86/kvm/kvm-intel.ko
kernel/arch/x86/kvm/kvm-amd.ko
檢查我們的硬體規格
# virsh nodeinfo
處理器類型:   x86_64
處理器數目:   2
處理器的頻率: 800 MHz
處理器的插槽: 1
每個插槽的核心: 2
每個核心的執行續: 1
NUMA cell:         1
記憶體大小:   4058760 kB
因為我裝的版本是 ubuntu desktop 64 位元版,所以用圖形化的介面來操作
因此來安裝一個比較視覺化的管理軟體,方便未來管理
# apt-get install virt-manager
裝好之後應該會在「應用程式」->「系統工具」看到一個「虛擬機器管理員」
3. 網路設定
接下來要來搞定網路這一塊,首先我們要弄出一張虛擬網卡讓它可以橋接原本的 eth0 出去,到時裡面的 VM 網路才會通
首先網路卡給停掉 ( 這裡的 vim 是我另外裝的,預設是沒有的 )
# invoke-rc.d networking stop
# vim /etc/network/interfaces
如果你的網路環境是手動設定 IP 的話,請參考這個設定
auto lo
iface lo inet loopback

auth eth0
iface eth0 inet manual

auto br0
iface br0 inet static
        address 192.168.0.105
        network 192.168.0.0
        netmask 255.255.255.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0
如果你的網路環境是 DHCP 的話,請參考這個設定
auto lo
iface lo inet loopback

auth eth0
iface eth0 inet manual

auto br0
iface br0 inet dhcp
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0