convirt2.5在虚拟机上安装笔记

    xiaoxiao2025-12-11  3

    <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">convirt2.5在虚拟机上安装笔记</span>

    简介:ConVirt开源是业内领先的Xen/KVM开源管理产品, 使企业能够以集中的方式管理其虚拟环境。ConVirt开源支持企业通过一个交互式的Web用户界面进行虚拟机部署、性能诊断、负载均衡。ConVirt开源对用户完全开放、免费。

     

    开源ConVirt的关键特性:

     

    三层的标准架构ConVirt开源采用了一个全新的三层标准架构,提供了强大的可伸缩性、安全性和系统集成能力,可以满足企业最苛刻的需求。

     

    服务器池为基础的管理为了充分利用虚拟化敏捷优势,您需要根据IT策略和资源限额统一管理服务器池。ConVirt开源通过划分服务器池(一个服务器池通常是一个集群)的方式对硬件资源进行重新组织, 支持用户以服务器池为单元进行虚拟机的监控、部署及配置,极大地简化服务器及虚拟机的管理。

     

    模板为前提的配置ConVirt开源基于模板配置服务器, 标准化您的虚拟环境。在短短几分钟内,通过分配CPU和内存,定义网络参数/指定共享存储/创建新的专属模板, 或干脆使用第三方虚拟设备,只需一个点击便可轻松创建到新的或现有的服务器。

     

    监控和配置管理ConVirt开源提供监控与配置管理功能,它使您可以快速地发现瓶颈、进行资源再分配并保证遵循企业规定。具体功能包括:24 x7监控虚拟机可用性和性能、追踪历史信息、收集详细的配置信息、确保基于模板的配置。

     

    集中管理ConVirt开源让您可以集中管理全部的虚拟机。

     

    自动化ConVirt开源支持您自动在线迁移与部署虚拟机,以满足您的业务目标。

     

    存储监测与配置ConVirt开源支持您关联共享存储NAS/SAN 到服务器池。关联成功后,该服务器池中新建的虚拟机将具有相同的存储配置。ConVirt开源自动统计服务器池中的存储使用信息,使您可以实时地监测资源消耗情况。

     

    网络配置ConVirt开源支持您自定义私有网络,自动化部署私有网络所需的配置,如DHCP配制。

    官方帮助文档

    安装:

    1.     通过sphereclient 登录(192.168.100.30)服务端(root/tes.srv0)添加虚拟机

    2.     右键文件>新建虚拟机,在配置中选择自定义创建好新的虚拟机环境

    3.    启动虚拟机(例:test_jing),点击上方的光盘和扳手在一起的按钮,选择“连接到本地磁盘的iso镜像”,输入路径\\192.168.100.15\Tools\Linux,选择需要的系统-->打开

    4.    按ctrl+alt+insert 组合键后进入系统的安装(例:centos 6.4 )

    a)      选择 Install system  with base video driver

    b)     Skip (不选择OK,测试时间太长)

    c)       以下就遵照centos的安装步骤,在选择安装的使用环境时选择desktop,现在自定义,将TurboGears 、mysql的服务端和客户端选择上。--> 下一步安装系统

    5.    配置网络使其能连接上外网(需要下载软件)

    a)      192.168.100.6为该虚拟机添加ip(例:192.168.108.83)

    b)     设置虚拟机为ip获取方式为dhcp

    6.    ConVirt 2.0 Setup for Fedora/RHEL/CentOS(重点开始)

    a)      切换到root用户

    b)     设置 ConVirt 的源

    For rhel 6.x

    #cd/etc/yum.repos.d; #wget --no-cache http://www.convirture.com/repos/definitions/rhel/6.x/convirt.repo

    c)      安装socat

    #yum install socat

    d)     要安装cms(ConVirt  management  server),最好切换到普通用户 convirt,切换到用户主目录

    $cd ~; e)      如果有代理服务器可以配置代理服务器,没有的话就跳过这一步

    exporthttp_proxy="http://company-proxy-server:80"

     注意:代理端口根据实际情况而定

    f)       从Convirt网站下载所需要的包

    $wget --no-cache http://www.convirture.com/downloads/convirt/2.5/convirt-install-2.5.tar.gz; $wget --no-cache http://www.convirture.com/downloads/convirt/2.5/convirt-2.5.tar.gz; $wget --no-cache http://www.convirture.com/downloads/convirture-tools/2.5/convirture-tools-2.5.tar.gz g)      在主目录中解压,你将会在主目录中看到包含创建TurboGerars2环境和Cms 的脚本的目录。

    $tar -xzf convirt-install-2.5.tar.gz h)     以root用户或者sudo 安装依赖

    $cd ~/convirt-install/install/cms/scripts/; $sudo ./install_dependencies 会提示输入convirt的密码,输入”convirt”后可能会提示用户不在sudo组中。将convirt添加到管理员组中。

    切到root用户

    #chmod u+w /etc/sudoers 开启写权限 #vim /etc/sudoers 找到root位置 在下一行添加命令

    convirt ALL=(ALL)   ALL

    #chmod u-w /etc/sudoers 关闭写权限 $ sudo ./install_dependencies Centos6下自动安装的是mysql,centos7下自动安装的是mariadb数据库,需要替换掉,看 ”Centos7 下安装 mysql ”文档

     执行到后面会启动mysqld服务,需要用户密码,因为预先安装的mysql,没有设置root密码,直接按enter键。设置root密码,重复两次(例密码:root)。

    然后系统询问是否删除匿名用户(Y/N),“Y“!

    不允许root远程连接(Y/N),”Y”.

    删除预置的test数据库(Y/N),”Y”.

    马上重新载入特权表(Y/N),”Y”.

    i)   设置 innodb 缓存和内存池

    切换权限为root

    修改/etc/my.cnf文件

    #vim /etc/my.cnf [mysqld]下添加下面两行

    innodb_buffer_pool_size=1G

    innodb_additional_mem_pool_size=20M

    j)        重启mysql服务

    $sudo /etc/init.d/mysqld restart

    7.    安装ConVirt ,以非root用户登录

    a)      如果有需要,再次设置代理服务器。否则直接跳过

    export http_proxy="http://company-proxy-server:80"

    b)     默认的cms 会安装在主目录下的~/convirt ,可以通过修改配置文件更改安装的位置.

    $cd ~/convirt-install/install/cms/scripts $vim install_config 将CONVIRT-BASE=~改为CONVIRT-BASE= ~/cms

    重新载入install_config配置文件

    ~$source ~/convirt-install/install/cms/scripts/install_config c)      解压 cms包到刚才设置的目录

    创建$mkdir  ~/cms目录

    $tar -xzf convirt-2.5.tar.gz -C $CONVIRT_BASE d)     设置 TurboGears (python的轻量级框架)

    ~/convirt-install/install/cms/scripts/setup_tg2 e)      设置 ConVirt

    修改~/cms/convirt/src/convirt/web/convirt/development.ini中的sqlalchemy.url选项内容来映射mys数据库的用户名和密码。

    $vim ~/cms/convirt/src/convirt/web/convirt/development.ini “/sqlalchemy.url”命令查找其位置

    #sqlalchemy.url=postgres://username:password@hostname:port/databasename?charset=utf8

    sqlalchemy.url=mysql://root:root@localhost:3306/convirt?charset=utf8

     

    注:后台收集的cpu、内存等信息都会保存到数据库中,默认为365天,数据量非常大,造成后期mysql查询很慢,磁盘IO很高,如果机器性能不好,应该修改下面的参数,来减少数据保存的时间:

     

    1.  purge_hr_data = 60

    2.  purge_day_data = 30

    3.  purge_week_data = 30

    4.  purge_month_data =30

    5.  purge_raw_data = 30

    6.  task_results_purge_interval=30

    7.  TaskPaneLimit=7

    8.  task_panel_row_limit=200

    9.  notifications_row_limit=200

     

    刚才设置的mysql密码为root。

    然后执行$~/convirt-install/install/cms/scripts/setup_convirt

    会要求输入passPhrase。

    Enterpassphrase(empty for no passphrase):记住密语以后会用到(例:testOS

    Entersame  passphrase again: 记住密语以后会用到(例:testOS

    cms启动时也会用到,通过密语来连接cmsmanaged server

    PS:

    如果在这里出现 convirt-ctl   setup error 同意思的字样,可能得删除数据库中的convirt数据库,然后重新执行

    ~/convirt-install/install/cms/scripts/setup_convirt

    有时候mysql数据库是用root用户启动的,那么cms也必须用root用户启动

    8.    使CMS设置生效

    a)      启动cms服务

    $~/cms/convirt/convirt-ctl start 将命令设置为:

    $alias cv_start=”/home/convirt/cms/convirt/convirt-ctlstart” $alias cv_stop=”/home/convirt/cms/convirt/convirt-ctlstop” 服务名称为:paster  代理服务:ssh-agent

    可以通过ps  -e | grep paster 查看服务是否开启

    b)     如果开启着防火墙,配置访问策略(root权限)

    #iptables -I INPUT -p tcp --dport 8081 -j ACCEPT c)      验证是否运行成功

    不成功就重启下cms服务和防火墙,返回a).b)

    如果多次启动仍然不成功,切换到root用户再次重试

    查看ip:#ifconfig eth0  得ip(192.168.108.83)

    在另一台机器上浏览器中输入:http://192.168.108.83:8081

    这样就是成功了。

    d)     关闭服务

    $~/cms/convirt/convirt-ctl stop

    9.    准备好Managed Servers

    a)      安装虚拟化平台KVM    

    安装另外的被管理的服务端,即manager server

    PS:在选择系统安装环境时,默认选择是最小安装,通常是安装带有桌面版的,但在这里需要选择“Virtual Host”安装选项。安装完成没有图形界面,只有命令行。

    下面红字是在同一台机器上练习kvm,失败

    对于RHEL6centos6.X版本的改动如下:

    Centos中默认没有安装KVM

    安装#yum -y groupinstall 'Virtualization' 'Virtualization Client' 'VirtualizationPlatform' 'Virtualization Tools'

     

    查看模块:lsmod | grep kvm

    b)     修改网络配置:

    The/etc/sysconfig/network-scripts/ifcfg-eth0 content looks as follows on defaultinstallation.

    DEVICE="eth0" HWADDR=specifc mac address NM_CONTROLLED="yes" ONBOOT="no"  

    ForDHCP, configure the interface as follows.

    DEVICE="eth0" HWADDR=specifc mac address NM_CONTROLLED="no" ONBOOT="yes" BOOTPROTO="dhcp"

     

     Restart the network after configuration. /etc/init.d/network restart

    ForStatic ip, configure it as follows

    DEVICE="eth0" HWADDR=specifc mac address NM_CONTROLLED="no" ONBOOT="yes" BOOTPROTO="static" IPADDR=ip address here. NETMASK=netmask here. Change the /etc/sysconfig/network to have the GATEWAY.   NETWORKING=yes HOSTNAME=www1.nixcraft.in GATEWAY=gateway address here.   Change /etc/resolve.conf nameserver Specify ip address of dns server/usually same as gateway. For example configuration, see  Method #3 http://www.cyberciti.biz/faq/rhel-centos-fedoracore-linux-network-card-configuration/ Restart the network after configuration. /etc/init.d/network restart

    配置文件中的mac地址必须要和ifconfig查看的对应接口的地址一样,否则会报错。测试能连接上网络之后操作下一步。

    c)      检查系统cpu是否支持KVM虚拟化

    在Linux环境下,在终端输入#egrep -c ‘(vmx|svm)’ /proc/cpuinfo

    0 表示不支持,1 表示支持。

    d)     加载kvm模块

    #modprobe  kvm

    #modprobe  kvm_amd

    #modprobe  kvm_intel

    硬件不支持虚拟化操作

    10.             运行 convirt-tool

    a)      cms 账户登录

    下载工具包:convirture-tools-2.5.tar.gz 前面已经下载

    b)     将convirture-tools-2.5.tar.gz复制到 managed server:

    $scp convirture-tools-2.5.tar.gz  root@managed-server:/root

    c)      $使用cms账户(convirt)远程登录到managed server 作为root用户。

    $ssh   root@ managed-server

    root/123456

    d)     解压:convirture-tools-2.5.tar.gz

    tar -xzf convirture-tools-2.5.tar.gz

    e)      切换到convirt-tool所在目录,使用该命令检查或配置Managed Server,登录身份必须为root

    #cd  /root/convirture-tools/install/managed_server/script

    查看帮助信息

    #./convirt-tool  -h

    使平台生效:

    #./convirt-tool  --detect_only  setup (detect 前有两个”-”)

    原因是该软件现在正常情况是不支持Centos6之上版本的。网上也没有这方面的资料,偷个懒,破坏下规则,修改脚本文件

    --> 结果就是:web上登录进去时显示”internal  server  error”.

    -->  所以不建议这样做

     

    修改如下图:

    修改/root/convirture-tools/install/managed_server/scripts/convirt-tool

    添加上两个条件

    添加依赖包

    #./convirt-tool  install_dependencies

    下一步需要网络配置为一个接口桥接,否则远程访问登录就会断掉。

     

    配置文件如下:

    #cd/etc/sysconfig/network-script/

    #vim  ifcfg-em1

    #ifcfg-br1

    修改完后如果不能联网,重启系统试试

    启动工具

     #~/convirture-tools/install/managed_server/script/convirt-tool    setup

     

    重启系统

    如果这时候网络断掉了,基本上就直接在服务器面前操作了,参照上面的配置图将网桥配置上。

    通过测试ssh能够远程访问后就成功了。

    11.             使用ConVirt管理服务器

    a)      启动cms管理程序

    /home/convirt/cms/convirt/convirt-ctlstart

    b)     终端通过浏览器访问:http://ip-address:8081

    登录:(默认为admin/admin)

    c)      选择想要添加新的被管理服务端的服务池,比如:QA Pool

    d)     右击从菜单上选择”Add Server”

    e)      选择虚拟化的平台

    f)       提供打算将要管理的被管理服务端(managed server)的IP地址或者主机名,也可以提供ssh证书或者在高级选项中点击”Use Keys”(需要配置ssh免密码登录)

    g)      点击OK添加。

    新添加的managed server 将会显示在服务池中,现在就可以创建和管理这台服务器上的虚拟机了。

    详细参考文档地址:http://www.convirture.com/wiki/index.php?title=Convirt2_doc

    12. 为了更好的操作,现在配置VNC

    a)      为了在浏览器上显示图形界面的对虚拟机的控制,还需要做一些额外的步骤。

    前提:浏览器安装了java插件,需要运行VNC applet

    Convirt允许执行某个主机作为VNC守护,默认为CMS机器。

    登录CMS主机并且开启CMS( ./convirt-ctl start)。

    作为CMS设置的一部分,~/.ssh/cms_id_rsa and cms_id_rsa.pub files已经产生。

    现在,从cms主机,尝试登录managed server 使用 设定的key,输入在安装cms时使用的密语(passphrase)。

    eval  ‘ssh-agent –s’; ssh-add  ~/.ssh/cms_id_rsa; 如果出现Could not open a connection to your authentication agent 执行   ssh-agent bash  后再次执行ssh-add  ~/.ssh/cms_id_rsa;  

    b)     现在就可以登录任一台那些key已经设置好的managed server

             ssh root@managed-server

    ps:大多数情况下,当你输入凭证,同时在添加managed server需要检查“use Keys”时,convirt会自动给managed server 添加一个cms_id_rsa 到审定的主机。

    如果因为某些原因,这样行不通,就需要复制cms_id_rsa到每个managed server 并且再把这个文件克隆一份并命名为: authorized_keys

     

          scp ~/.ssh/cms_id_rsa.pub root@managed-server:/root/.ssh/vnc_proxy_id_rsa.pub        ssh root@managed-server        cat ~/.ssh/vnc_proxy_id_rsa.pub >> ~/.ssh/authorized_keys

    c)      更改cms上的防火墙,使其允许端口(6900-6999)通过,这些端口用作convirt允许VNC applet 获取到虚拟机的控制权,以root身份登录cms,并执行命令

    iptables -I INPUT -m state --state NEW -p tcp --dport 6900:6999 -j ACCEPT

    13.   VNC的详细配置用于convirt

    术语:

    CMSserver : 运行CMS 服务的物理主机

    ManagedServer:运行虚拟平台并运行一个或多个虚拟机的服务。

    VNCProxy Host:默认设置在CMS server上。

    Vm-vnc-port:虚拟机需要使用的VNC端口

    a)    详细配置:

    浏览器上VNC的连接路径:

    Browser/Applet---tcp/ip--> CMS Server:socat listen:6900-6999 --ssh--> ManagedServer:socat --> Managed Server:vm-vnc-port

    (1)为了获取可视控制的请求,cms首先启动socat来监听6900:6999间可用端口

    (2)浏览器连接的端口由CMS服务指定

    (3)Socat接收Applet的连接请求,执行ssh连接到managed Server 使用sshkeys,并启动另一个socat进程。

    (4)Managed server上的scoatt,为了连接vm-vnc-port会使用127.0.0.1:vm-vnc-port。

    (5)下面是设置使用的命令

    socat-d -d -d -d TCP-LISTEN:6900 EXEC:'/usr/bin/ssh root@srv-001 socat -TCP\:127.0.0.1\:5902' > /tmp/6900_5902_qKhAFc.log 2>&1 &

    6900是从cms上选择的端口,srv-001是被管理的服务器,5902是vm-vnc-port

    现在可以再cms上尝试上一命令,并开启一个vnc客户端,标记为vncviewer cms_server :6900

     

    解决cms免密码无法登录到managed server

    获取cms   id

    $ssh-keygen-t rsa -f ~/.ssh/cms_id_rsa $chmod0600 ~/.ssh/cms_id_rsa* 开启 ssh 代理和载入 key

    $eval `ssh-agent -s` $ssh-add~/.ssh/cms_id_rsa 登录 managed server

    $ ssh root@managed-server 仍然无法免密码登录的解决方法

    $scp ~/.ssh/cms_id_rsa.pub root@managed-server: /root/.ssh/ vnc_proxy_id_rsa.pub $ssh root@managed-server (You would be prompted for password.) $cat ~/.ssh/vnc_proxy_id_rsa.pub >>~/.ssh/authorized_keys $iptables -I INPUT -m state --state NEW -ptcp --dport 6900:6999 -j ACCEPT 再不行就关闭防火墙,重启电脑

     如果出现HostKeys object has no attribute has_key

    #vim /home/convirt/cms/convirt/src/convirt/core/utils/phelper.py 修改内容:将has_key 替换为 get

     

     

     

     

     

    相关资源:convirt离线安装-linux
    最新回复(0)