成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

OpenStack實踐之旅:安裝配置篇

原創
運維 系統運維 OpenStack
本文介紹如何從技術角度來使用OpenStack,基礎環境采用Ubuntu 11.10。OpenStack是一套用來管理虛擬機的平臺軟件。它不是一個單一的軟件,而是集成了很多個組件用來協同合作。有興趣的朋友,可以在生產環境使用repo的安裝方式,在測試環境測試開發版本。

【51CTO獨家特稿】OpenStack是一套用來管理虛擬機的平臺軟件。它不是一個單一的軟件,而是集成了很多個組件用來協同合作。簡單的來說,譬如有十臺服務器,在VMware的情況下,我們在每臺服務器上安裝esx或者esxi,然后裝一臺vcenter,在vcenter的管理界面里把十臺服務器的esx通過域名或者ip加入,就能在vcenter里面統一管理。類似的,紅帽也有virsh這種管理虛擬機的程序。

相關閱讀:在Ubuntu上安裝和配置OpenStack Nova

在這里我不介紹其他的云平臺的管理軟件,只是介紹如何從技術角度來使用OpenStack。如果要作為生產環境的話,你還需要考慮更多,譬如架構,網絡拓撲,存儲的方式,節點的分布等等。

在本篇文章里,我將介紹采用ec2兼容認證的方式 。所有組件安裝在一臺controller上。

關鍵字定義

控制端:類似vcenter的管理系統。

節點:類似安裝了esx的服務器。

nova組件:安裝在節點上,讓節點能按照控制端的命令來操作節點上的虛擬機或者存儲。

glance組件:用來管理鏡像。

環境準備

ubuntu 11.10,服務器雙網卡

步驟

安裝完基本的操作系統后 

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install bridge-utils  #安裝網橋軟件 

配置網絡接口

在這里我的架構是eth0連接了外網,即我們可以訪問的網口。eth1做了網橋,和節點之間通過一個交換機連接。這樣的好處是,內部節點和控制器的流量都走br100的交換機,而不會影響虛擬機上的應用使用的網絡。

$ sudo vi /etc/network/interfaces

auto eth0
iface eth0 inet static
address 192.168.200.21
netmask 255.255.255.0
network 192.168.200.0
broadcast 192.168.200.255
gateway 192.168.200.10
auto br100
iface br100 inet static
bridge_ports eth1
bridge_stp off
bridge_maxwait 0
bridge_fd 0
address 10.200.200.2
netmask 255.255.255.0
$ sudo /etc/init.d/networking restart

初期準備工作做好,接下來就是要安裝關于nova,glance等組件

$ sudo apt-get install -y rabbitmq-server #安裝MQ消息組件
$ sudo apt-get install -y python-greenlet python-mysqldb #安裝Python dependencies

接下來安裝各個nova組件及依賴

$ 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,其實個人覺得PostgreSQL更好。

$ sudo su -
# MYSQL_PASS=nova 設定mysql的密碼和nova數據庫的密碼
# 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
# apt-get install -y mysql-server
# exit 退出root環境
$ sudo sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf 修改my.cnf配置文件
$ sudo service mysql restart
$ MYSQL_PASS=nova 在普通用戶環境下把密碼再次設置一下變量
$ NOVA_PASS=notnova 這是nova數據庫的密碼
$ sudo mysql -uroot -p$MYSQL_PASS -e 'CREATE DATABASE nova;' 創建一個名字為nova的數據庫,這裡建議新手使用nova的名字,如果這裡換別的名字,那麼在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');"

至此,nova,glance的安裝部分完成,接下來是配置。

nova配置

$ sudo vi /etc/nova/nova.conf
--dhcpbridge_flagfile=/etc/nova/nova.conf
--dhcpbridge=/usr/bin/nova-dhcpbridge
--logdir=/var/log/nova
--state_path=/data/openstack/nova 這裡的/data/openstack/nova是我新建的一個卷和目錄,確保你有這個,并且要屬于nova用戶,或者你也可以使用他的默認設置
--instances_path=/data/openstack/nova/instances 修改了默認存放instances的地方
--lock_path=/var/lock/nova
--force_dhcp_release=True
--use_deprecated_auth
--iscsi_helper=tgtadm
--verbose
--scheduler_driver=nova.scheduler.simple.SimpleScheduler
--network_manager=nova.network.manager.FlatDHCPManager
--my_ip=10.200.200.2 這是我的內網ip地址
--public_inter>
--sql_connection=mysql://nova:notnova@localhost/nova 剛才建立的數據庫
--libvirt_type=kvm
--api_paste_config=/etc/nova/api-paste.ini
--image_service=nova.image.glance.GlanceImageService
--ec2_dmz_host=192.168.200.21
--ec2_url=http://192.168.200.21:8773/services/Cloud
--rabbit_host=localhost
--glance_api_servers=10.200.200.2:9292
--flat_network_bridge=br100
--flat_inter>
--flat_network_dhcp_start=10.200.200.51 指定從instances分配從51開始,但貌似這個選項不起作用
--fixed_range=10.200.200.0/24 這個選項指定instances的網段
--flat_injected=False
--multi_host=1 使用multi_host,即以后可以在節點上也使用nova-network
--libvirt_use_virtio_for_bridges 使用virtio做instances的網卡模式

然后是glance的:

$ sudo vi /etc/glance/glance-api.conf

修改filesystem_store_datadir參數,來指定你需要存放images的目錄,當然屬主也要改成glance用戶。

$ sudo vi /etc/glance/glance-registry.conf

這個文件可以選修改sql_connection參數來指定你的數據庫。

如果你要修改,使用mysql里面的數據庫,請確保在mysql裡面建立了一個相對應的數據庫

sql_connection = mysql://nova:notnova@localhost/glance

這是我的配置,我在mysql建立了一個glance的數據庫

$ sudo chown -R root:nova /etc/nova

改變一下/etc/nova的屬主

$ sudo chmod 640 /etc/nova/nova.conf

重啟各個服務

$ sudo restart libvirt-bin
$ sudo restart nova-network
$ sudo restart nova-compute
$ sudo restart nova-api
$ sudo restart nova-objectstore
$ sudo restart nova-scheduler
$ sudo restart glance-registry
$ sudo restart glance-api

注意:我們這裡沒有起nova-volume,是因為雖然我們安裝了volume,但是volume需要單獨的一個vg來使用,我們現在還沒配置volume,所以起不來。

這裡可能network服務和compute沒法起來,先暫時不要去管。

接下去,我們做配置nova的運行環境了

$ sudo nova-manage db sync
nova-manage user admin <user_name> 

在這裡我們可以創建一個用戶,如

$ sudo nova-manage user admin test

創建成功屏幕上會返回下面這樣的輸出:

export EC2_ACCESS_KEY=d6aa7747-4324-4abc-9604-4f7d6a2f8f3f
export EC2_SECRET_KEY=2b204b75-da2d-47b8-ba7a-611d71f0ecbf
nova-manage project create <project_name> <user_name>

創建一個項目,屬于剛才我們建的那個用戶 如:

$ sudo nova-manage project create test-proj test
nova-manage network create --help

創建一個實例的網絡,如:

$ sudo nova-manage network create --label=test-net --fixed_range_v4=10.200.200.0/24 --num_network=1 --network_size=256

再次啟動剛才失敗的服務

$ sudo start nova-network
$ sudo start nova-compute
$ sudo start nova-scheduler

怎么樣,成功了吧。

另外,在起每個服務的時候,最好看一下日志,譬如sudo tail -f /var/log/nova/nova-network來確定有沒有報錯,也可以用ps aux | grep [n]ova-network來確認服務有沒有開啟。如果起服務失敗,你確認好原因,修改好以后,需要用sudo start而不是sudo restart來起

好了。這樣計算的環境就部署好了。我們可以用命令來看一下狀態:

$ sudo nova-manage service list
$ sudo nova-manage network list

如此這般。

接下來創建證書,以方便我們使用euca工具

$ cd
$ mkdir creds
$ sudo nova-manage project zipfile test-proj test creds/novacreds.zip
$ unzip creds/novacreds.zip -d creds/
$ source creds/novarc

注意每次你重新登錄shell的時候,需要source一下這個認證文件才能使用euca;當然你也可以把novarc的內容>>到你的用戶profile文件或者bashrc

OK,完成,我們可以用工具來看一下

$ euca-describe-availability-zones verbose
VAILABILITYZONE nova available
AVAILABILITYZONE |- nova-test
AVAILABILITYZONE | |- nova-network enabled :-) 2011-10-17 04:45:44
AVAILABILITYZONE | |- nova-compute enabled :-) 2011-10-17 04:45:45
AVAILABILITYZONE | |- nova-scheduler enabled :-) 2011-10-17 04:45:45

至此,成功啟用了服務。當你發現服務不能正常使用時,用ps aux | grep nova檢查一下服務有沒有開啟,并需要詳細觀察/var/log/nova/目錄下的各個服務的日志文件,這樣才能獲得更進一步的信息。

接下來我們可以用kvm來創建一個image鏡像

$ sudo apt-get install kvm-pxe

安裝一下這個,否則運行kvm的時候會有個警告

$ kvm-img create -f raw server.img 5G
$ sudo kvm -m 1024 -cdrom rhel5.iso -drive   file=server.img,if=virtio,index=0 -boot d -net nic -net user -nographic -vnc :0

這里我們使用RHEL 5的iso,運行完這個命令,可以用vnc連接。

在你的本機連接服務器:ssvncviewer 192.168.200.21 :0

打開vnc你就可以看到安裝界面。

安裝完以后,把下面一段寫入rhel鏡像的/etc/rc.local的開頭:

depmod -a
modprobe acpiphp

# simple attempt to get the user ssh key using the meta-data service
mkdir -p /root/.ssh
echo >> /root/.ssh/authorized_keys
curl -m 10 -s http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key | grep 'ssh-rsa' >> /root/.ssh/authorized_keys
echo "AUTHORIZED_KEYS:"
echo "************************"
cat /root/.ssh/authorized_keys
echo "************************"

保存退出,這樣image就做好了。

使用glance上傳鏡像

$ glance --verbose add name="rhel5" disk_format=raw is_public=true < server.img

同時你應該觀察/var/log/glance/registry和api的log。成功之后,用

$ glance index

看看鏡像列表。

啟動你的實例

$ euca-describe-images

查看你現在可用的image,輸出類似下面這樣:

IMAGE ami-00000003 server.img

記住這里ami-000000003這個image號。

$ euca-run-instances -t m1.tiny ami-00000003 

啟動ami-00000003鏡像的實例。-t指明了實例的類型,類型規定了cpu,內存,磁盤大小等信息。

觀察/var/log/nova/nova-api.log nova-scheduler.log,nova-compute,nova-network.log的輸出信息,同時你也可以使用vnc連接serverip:0來看實例的console。

用命令$ euca-describe-instances來查看你目前的實例情況。第一次啟動實例會比較慢,因為需要把image從glance拷貝到nova下的實例目錄。

由于nova目前發展的很快,diablo的release版本功能可以完成日常的一些需求。但是開發版本的nova可以更好的結合keystone,novaclient,dashboard等一些其他的項目,使得OpenStack更加健全。有興趣的朋友,可以在生產環境使用repo的安裝方式,在測試環境測試開發版本。我本人由于在生產環境中使用了git方式安裝的開發版本,因此后續更加完善的整合,我都將以開發版本的形式出現。當然使用開發版本的話,會有更多的煩惱,但也同樣有更多的樂趣和動手的實踐,能更進一步了解其工作的原理機制。

作者簡介:livemoon(gtalk: mwjpiero@gmail.com),小小SA,關注mac,BSD,openstack,開源技術,webos。座右銘:非淡泊無以明志,非寧靜無以致遠。

更新:看到有讀者詢問在哪里可以看到實際的應用,這方面可參考本文的續篇《以公司實際應用講解OpenStack到底是什么(入門篇)》。至于iso下載,則不在本文中提供了,請各位自備~

【編輯推薦】

  1. Rackspace將把OpenStack委托給基金會
  2. OpenStack Nova 的存儲管理
  3. 安裝指南:用Puppet安裝OpenStack Nova計算云
責任編輯:yangsai 來源: 51CTO.com
相關推薦

2011-11-22 10:31:56

2010-06-07 11:22:28

2011-02-25 17:48:52

2011-03-02 10:41:41

Vsftpd安裝

2011-04-02 14:21:46

MRTG安裝

2011-04-01 15:00:35

2011-02-23 10:43:17

2012-04-02 15:29:00

httpvarnish

2011-03-11 16:42:38

Ubuntu安裝LAMP

2011-03-25 13:40:28

Cacti安裝配置

2013-11-28 09:44:00

2011-11-08 21:55:58

MRTG 配置

2011-03-30 15:05:40

MRTG安裝

2011-04-02 15:26:51

Cacti安裝

2011-02-25 17:19:09

Pureftpd安裝

2011-03-25 15:01:44

Cacti安裝

2011-04-02 15:17:59

2011-04-02 15:26:58

Cacti安裝

2011-03-24 13:00:30

2011-08-22 12:25:02

nagios
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久国产亚洲 | 国产激情91久久精品导航 | 国产精品99久久久久 | 久久久久久国产精品 | 一区二区免费在线观看 | 欧美日韩视频在线播放 | 国产视频精品在线 | 久久久欧洲| 成人影视网址 | 欧美日韩亚洲一区二区 | www成人免费视频 | 国产精品九九九 | 亚洲a毛片| 在线高清免费观看视频 | 精品免费国产一区二区三区四区 | 亚洲网址在线观看 | 欧美a在线| 亚洲不卡在线视频 | 欧美成人a∨高清免费观看 欧美日韩中 | 成人在线看片 | 91精品国产欧美一区二区成人 | 久久久久香蕉视频 | 91中文字幕在线 | 国产精品123区| 久久久久久久久久久久久久久久久久久久 | 噜啊噜在线 | 国产一区二区三区高清 | 亚洲欧美成人在线 | 欧美午夜精品久久久久久浪潮 | 国产精品久久久久久一区二区三区 | 国产精品自拍啪啪 | 精品一区二区三区在线播放 | 国产乱码精品一区二区三区中文 | 天天看天天摸天天操 | 综合久久亚洲 | 亚洲高清在线播放 | 国产精品日韩欧美一区二区三区 | 亚洲 一区 | 999国产精品视频免费 | 亚洲国产精品久久久 | 国产精品久久av |