KVM管理平臺openebula安裝

1.1opennebula控制檯的安裝

(若是要添加映像須要給200G以上給/var/lib/one,本文是共享/var/lib/one實現監控,用映像出建立虛擬機原理是從opennebula控制平臺datastores中的映像複製到主機 datastores,並且映像需APP那下載,本身作的映像不識別,故未使用網頁建立虛擬機前端

關閉selinuxnode

systemctl stop firewalld  #關閉防火牆python

systemctl disable firewalldmysql

yum -y install epel-release   (必定要有擴展庫否則安裝opennebula會報錯依賴rubygem-nokogiri之類)linux

 

 

增長opennebulaweb

cd /etc/yum.repos.d/sql

vi opennebula.repo數據庫

Opennebula的yum源:vim

[opennebula]後端

name=opennebula

baseurl=http://downloads.opennebula.org/repo/5.0/CentOS/7/x86_64/

enabled=1

gpgcheck=0

yum clean all

yum install -y *libxslt-dev* *libxml2-dev*  openssl openssl-devel

###gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/

gem sources --add https://ruby.taobao.org/  --remove https://rubygems.org/

  #修改ruby源爲國內源

gem source –l

gem update –system    升級 rubygems

升級ruby(後面gem 要求ruby版本)

wget -c https://ruby.taobao.org/mirrors/ruby/2.2/ruby-2.2.4.tar.gz

tar -zxf ruby-2.2.4.tar.gz;cd ruby-2.2.4

./configure --prefix=/opt/ruby

make -j4&&make install -j4    #根據CPU核數適當選擇

設置環境變量

export RUBY_HOME=/opt/ruby

export PATH=$RUBY_HOME/bin:$PATH

##export GEM_PATH=/usr/share/gems

####export GEM_HOME=/usr/share/gem

yum install opennebula* -y

安裝可能報依賴報錯

 

yum install opennebula* -y --skip-broken

根據提示安裝各類依賴包

我這須要安裝如下包

yum install -y atlas blas genisoimage glusterfs glusterfs-api glusterfs-client-xlators glusterfs-libs gperftools-libs gssproxy keyutils lapack libbasicobjects libcollection libevent libini_config libiscsi libnfsidmap libpath_utils librbd1 libref_array libtalloc libtevent libtirpc libunwind libusal libverto-tevent nfs-utils numpy python-backports python-backports-ssl_match_hostname python-nose python-setuptools qemu-img quota quota-nls rpcbind  tcp_wrappers xmlrpc-c

yum install opennebula* -y

/usr/share/one/install_gems    #組件包的安裝

在這個過程當中會安裝不少的組件:
例如:

gcc

rubygem-rake

libxml2-devel

libxslt-devel

sqlite-devel

curl-devel

mysql-devel

ruby-devel

Make

 

Redhat 7 啓動 opennebula的方式:
/bin/systemctl start  opennebula.service

/bin/systemctl start opennebula-sunstone.service  #(啓動有問題能夠oneadim用戶嘗試下one start ;sunstone-server start)

systemctl start rpcbind.service

systemctl start nfs.service

Oneuser show #查看opennebula服務是否啓動

Lsof -i:9869   #查看web管理是否啓動

報錯查看日誌在/var/log/one   有些內核錯誤日誌可能在messages中

 

gem instal sinatra

ruby -S gem which sinatra  #查看是否安裝成功

安裝過程總結:

安裝的時候,會給opennebula建立一個管理員的用戶,用戶名是opennebula

用戶密碼查看:在oneadmin用戶的家目錄裏面能夠查看到
[root@front-end225 ~]# su -  oneadmin

[oneadmin@front-end225 ~]$ cd .one/

 [oneadmin@front-end225 .one]$ cat one_auth

oneadmin:c645814f036f9a90b581b769f73e3092

當安裝好了包之後,

1,首先要修改 one的密碼文件。

2,修改 one.conf把數據庫修改爲爲mysql

3,建立mysql的庫,(opennebula)

4,nfs

5,免祕SSH

6,修改 數據倉庫的值,以及修改配置文件DATASTORE_LOCAL

 

1.2數據庫安裝:

默認OpenNebula數據存儲使用sqlite,若是須要使用MySQL,則須要作以下操做

安裝 MySQL Repository:

# rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

安裝 MySQL Server, MySQL client 已經包括在 server 套件內:

# yum install mysql-community-server

開機自動啓動mysql

# /usr/bin/systemctl enable mysqld

啓動mysql

# /usr/bin/systemctl start mysqld

建立數據庫

 mysql -u root -p 

mysql> GRANT ALL PRIVILEGES ON opennebula.* TO 'oneadmin' IDENTIFIED BY '密碼';

mysql> flush privilege

修改配置文件以下 [用戶、端口、密碼、庫名和實際狀況對應修改

[root@front-end225 ~]# vi /etc/one/oned.conf

DB = [ backend = "mysql",

        server  = "localhost",

        port    = 3306,

        user    = "oneadmin",

        passwd  = "oneadmin",

        db_name = "opennebula" ]

這裏的用戶密碼,就是上面建立數據庫時建立的用戶和密碼。

修改sunstone默認監聽IP:(5.0已不用修改)

[root@front-end225 ~]# vi /etc/one/sunstone-server.conf

:host: 0.0.0.0

:port: 9869

 

這裏是控制檯前段的登陸的地址,IP:端口

 

漢化

4.2版本以上官方包默認支持中文

vim /etc/one/sunstone-server.conf

 

 

sunstone-server restart

 

修改datastore (5以上版本無需修改)

Opennebula默認使用的是 Shared Transfer Driver 這種模式比較適合快速部署和熱遷移,只是要配置網絡文件系統。若是沒有網絡文件系統,不想作熱遷移,那麼能夠換成SSH Transfer Driver 的部署方式:

 

[oneadmin@front-end225 ~]$ onedatastore list

  ID NAME                SIZE AVAIL CLUSTER      IMAGES TYPE DS      TM      STAT

   0 system                 - -     DEV-vlan55-1      0 sys  -       ssh     on

   1 default             140G 34%   -                 6 img  fs      ssh     on

   2 files               140G 34%   DEV-vlan55-1      0 fil  fs      ssh     on

 

修改方式:

[oneadmin@front-end225 ~]$ onedatastore update 0

BASE_PATH="/var/lib/one//datastores/"

SHARED="NO"

TM_MAD="ssh"

TYPE="SYSTEM_DS"

 

TM_MAD = 「ssh」這裏就是ssh的方式。咱們本身的環境用這個方式的目的是。

若是不用這種傳輸方式,那麼建立的虛擬機鏡像磁盤等,是建立的opennebla的本地上。用了這種方式之後,能夠把磁盤,鏡像等等,傳輸到想要建立的物理機上面。

 

 

添加NFS共享存儲目錄

[root@front-end225 ~]# cat  /etc/exports

/var/lib/one *(rw,sync,no_subtree_check,root_squash,anonuid=9869,anongid=9869)

啓動服務

systemctl start rpcbind.service

systemctl start nfs.service

 

添加SSH公共KEY

# su - oneadmin 

vi ~/.ssh/config 

添加如下內容

Host * 

 

StrictHostKeyChecking no 

 

UserKnownHostsFile /dev/null 

 

修改文件權限

chmod 600 ~/.ssh/config 

修改oneadmin密碼

 

#su oneadmin 

$passwd oneadmin 

註釋:這裏最好不要修改密碼,修改了屢次都發現報錯。並且查看密碼方式很簡單,在上面有介紹。

 

節點安裝:也就是存儲kvm虛擬機的地方。

[root@kvmhots61 ~]# cat /etc/yum.repos.d/opennebula.repo

[opennebula]

name=opennebula

baseurl= http://downloads.opennebula.org/repo/5.0/CentOS/7/x86_64/

enabled=1

gpgcheck=0

 

yum –y install opennebula-node-kvm

啓動

/bin/systemctl start  messagebus.service

/bin/systemctl start  libvirtd.service

systemctl enable messagebus.service

systemctl enable libvirtd.service

 

給系統網卡作橋接

[root@kvmhots61 ~]# cat /etc/sysconfig/network-scripts/ifcfg-br2

DEVICE=br2

TYPE=Bridge

BOOTPROTO=static

NM_CONTROLLED=no

ONBOOT=yes

IPADDR=192.168.55.61

PREFIX=24

GATEWAY=192.168.55.254

[root@kvmhots61 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=none

IPV6INIT=no

NM_CONTROLLED=no

ONBOOT=yes

TYPE=Ethernet

BRIDGE=br2

 

掛載front-end 中共享出來的nfs文件夾:

把下面寫到分區表當中:

192.168.55.225:/var/lib/one/ /var/lib/one/      nfs     soft,intr,rsize=8192,wsize=8192 0 0

而後掛載:mount –a  檢查掛載。

 

到這裏基本 搭建完畢。

 

 

2使用opennebula建立kvm虛擬機

2.1 後端操做

這裏就簡要介紹部分功能。

在平臺上面添加host機器:

onehost create 192.168.55.62 -i kvm -v kvm -n dummy

命令介紹:添加192.168.55.62 ,-i 參數指定的是虛擬化驅動類型爲kvm,-v指定虛擬化類型爲kvm,-n 指定虛擬機的網絡類型爲 dummy,即默認使用橋接模式。

查看:host機器

[oneadmin@front-end225 ~]$ onehost list

  ID NAME            CLUSTER   RVM      ALLOCATED_CPU      ALLOCATED_MEM STAT

   5 192.168.55.72   DEV-vlan5   3   600 / 1000 (60%)  18G / 31.3G (57%) on

   6 192.168.55.73   DEV-vlan5   4   700 / 1000 (70%)  20G / 31.3G (63%) on

   7 192.168.55.74   DEV-vlan5   4   900 / 1000 (90%)  24G / 31.3G (76%) on

在建立過程當中 host有兩個狀態,首先是 init(初始化),而後是 on(開機)

 

添加網絡:

[oneadmin@front-end225 ~]$ cat vm-network1.one

NAME = "inside-network"

BRIDGE = br2

AR = [

    TYPE = IP4,

    IP = 192.168.55.100,

    SIZE = 30

]

寫好要添加的網絡的配置文件;  NAME爲名稱,BRIDGE是用什麼網絡方式,TYPE是類型,IP是隻該網絡的起始IP地址,SIZE是指該網絡配置文件的IP個數。此文件就表示,從192.168.55.100--192.168.55.129 的IP地址。

 

後面還有不少後臺操做的命令,好比:添加鏡像,添加模板,建立虛擬機,這些均可以從網絡上面找到,後面也有一個PDF,所以不詳細介紹。

 

2.2 前端介紹

輸入開始咱們設置的監聽的IP地址以及端口在瀏覽器中。而後在oneadmin下面找到用戶和密碼的配置文件並登錄網頁。

 

上面幾個圖就是建立好的opennebula前端。具體怎麼在頁面上面操做,能夠參考opennebula的PDF,如今,介紹幾個必要重要的地方。

假設咱們已經瞭解虛擬機建立,那麼要注意以下問題,以及PDF裏面沒有說起到的問題:

重點1:自動生成網卡的設置。

 

 

Opennebula是能夠自動給虛擬機建立網卡的,那麼是經過什麼方式建立網卡的呢?

首先,在kvm的鏡像模板裏面必需要安裝一個包:one-context_4.10.0.rpm

這個包就是讓opennebula的context和鏡像之間的交互,能夠在裏面自動建立網卡,等等。

在kvm的guest裏面查看:

[root@template home]# ll /etc/one-context.d/

total 32

-rwxr-xr-x. 1 root root 4433 Jan 15  2015 00-network

-rwxr-xr-x. 1 root root 1991 Jan 15  2015 01-dns

-rwxr-xr-x. 1 root root 1550 Jan 15  2015 02-ssh_public_key

-rwxr-xr-x. 1 root root   28 Jan 15  2015 03-selinux-ssh

-rwxr-xr-x. 1 root root   15 Jan 15  2015 04-mount-swap

-rwxr-xr-x. 1 root root  614 Jan 15  2015 05-hostname

-rwxr-xr-x. 1 root root  297 Jan 15  2015 99-execute-scripts

這個黃色背景的是建立網絡的配置文件。

在opennebula的機器上面查看添加的網絡地址:

[oneadmin@front-end225 62]$ pwd

/var/lib/one/vms/62

[oneadmin@front-end225 62]$ cat

context.sh         deployment.0       transfer.0.prolog

[oneadmin@front-end225 62]$ cat context.sh

# Context variables generated by OpenNebula

DISK_ID='2'

ETH0_GATEWAY='192.168.55.254'

ETH0_IP='192.168.55.109'

ETH0_MAC='02:00:c0:a8:37:6d'

ETH0_MASK='255.255.255.0'

ETH0_NETWORK='192.168.55.0'

NETWORK='YES'

TARGET='hda'

 

所以配置自動建立網絡的方式就是這樣建立的。

 

重點2:在建立模板的過程當中儘可能別使用下列配置:

 

 

這個配置的主要意思能夠百度查看到,可是這些主要是給物理機使用的,這樣致使了,咱們在vm的環境裏面就不能熱插拔或者電源選項等模式,而後在host機器裏面有時候會致使報錯。其中部分仍是給Windows使用的配置。

已有KVM虛擬機添加。

 

開機後點主機

 

 

添加以後就會出如今虛擬機列表

相關文章
相關標籤/搜索