kvm管理平台webvirtmgr的部署

本文详细介绍了如何在CentOS 6.2系统上部署WebVirtMgr,一个KVM虚拟化的管理平台。首先,安装必要的虚拟化环境和依赖包,然后通过手动下载和安装Django解决pip安装问题。接着,配置Django环境,安装MySQLdb,配置nginx,启动django服务。接着设置宿主机环境,包括下载libvirt-bootstrap.sh脚本,配置防火墙和TCP认证。最后,解决使用WebVirtMgr控制台时遇到的问题,包括添加VNC配置,解决novnc连接错误,确保所有虚拟机的控制台可以正常访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

git地址:https://github.com/retspen/webvirtmgr
环境:
system:centos6.2
libvirt: 0.10.2
webvirtmgr的安装,参考:https://github.com/retspen/webvirtmgr/wiki/Install-WebVirtMgr
1.安装虚拟化环境

yum -y groupinstall 'Virtualization Tools'
yum -y groupinstall 'Virtualization'
yum -y groupinstall 'Virtulization Client'
yum -y groupinstall 'Virtulization Platform'

2.安装依赖包

$ sudo yum -y install http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
$ sudo yum -y install git python-pip libvirt-python libxml2-python python-websockify supervisor nginx

3.克隆代码

$ git clone git://github.com/retspen/webvirtmgr.git
$ cd webvirtmgr
$ sudo pip install -r requirements.txt # or python-pip (RedHat, Fedora, CentOS, OpenSuse)

用pip安装django不太顺利,报错:
[root@vm03 ~]# pip install Django==1.5.5
Collecting Django==1.5.5
Could not find a version that satisfies the requirement Django==1.5.5 (from versions: 1.7plus-email-as-username-1.7.0, 4store-0.3, 503-0.1)
No matching distribution found for Django==1.5.5
折腾许久,只能去django官网下载了个Django-1.5.12.tar.gz包来安装

4.Django环境初始化
执行syncdb时,报错,未安装mysqldb
于是下载MySQL-python-1.2.5.zip,解压安装,又是一个报错:command ‘gcc’ failed with exit status 1
原因是未安装:mysql-devel,python-devel,mysql-python

$ ./manage.py syncdb
$ ./manage.py collectstatic

5.配置nginx
vim /etc/nginx/conf.d/webvirtmgr.conf 内容如下:

server {
    listen 80 default_server;

    server_name $hostname;
    #access_log /var/log/nginx/webvirtmgr_access_log; 

    location /static/ {
        root /var/www/webvirtmgr/webvirtmgr; # or /srv instead of /var
        expires max;
    }

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-for $proxy_add_x_forwarded_for;
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_connect_timeout 600;
        proxy_read_timeout 600;
        proxy_send_timeout 600;
        client_max_body_size 1024M; # Set higher depending on your needs 
    }
}

注释掉nginx的default内容,vim /etc/nginx/conf.d/default.conf 。然后启动nginx

 sudo service nginx restart

6.启动django

./manage.py runserver 0.0.0.0:8000

访问:http://x.x.x.x:8000 (x.x.x.x - your server IP address ),输入创建的django用户和密码,如果没有创建,请用python manager.py createsuperuser,命令创建。登录后如下图所示

这里写图片描述

webvirtmgr客户端就这样搭建完了,接下来需要配置虚拟机所在宿主机的,参考git地址:https://github.com/retspen/webvirtmgr/wiki/Setup-Host-Server

配置宿主机环境:
system: centos 6.6
libvirt: 0.10.2
1.下载并执行脚本:libvirt-bootstrap.sh
如果虚拟机比较多,该脚本执行时间会比较长,因为会执行service libvirt-guests restart,会将所有运行的虚拟机挂起然后再恢复,感觉这一步不是必须的,因为我有一台只设置ssh认证,也可以正常连接。

curl http://retspen.github.io/libvirt-bootstrap.sh | sudo sh

2.设置防火墙:

 sudo iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 16509 -j ACCEPT

3.设置TCP认证Setup TCP authorization

参考:<

<think>好的,用户想了解如何在KVM服务器上部署WebVirtMgr。我需要根据提供的引用内容整理出一个步骤清晰的教程。首先,引用[2]提到KVM安装和Libvirt的组件,可能需要先确保KVM和Libvirt已经正确安装。然后引用[1]、[3]、[4]提到了部署WebVirtMgr的具体步骤,比如创建目录、复制文件、设置权限等。同时,引用[3]还提到了SSH密钥配置,这部分需要注意权限问题。 接下来,我需要按照逻辑顺序组织这些步骤。可能分为环境准备、安装依赖、配置WebVirtMgr、Nginx设置、权限调整、SSH免密登录、启动服务等部分。还要注意命令的正确性,比如创建目录、复制文件、修改配置文件等操作。需要确保用户按照步骤操作不会出错,比如权限设置和SELinux配置可能会影响访问,所以要提醒用户检查这些部分。 另外,用户可能遇到的问题比如无法访问Web界面,需要检查防火墙和SELinux。引用[3]中的图片虽然无法查看,但文字部分已经包含了关键命令。还要注意使用中文回答,保持结构清晰,避免使用Markdown格式,但用户要求回答中使用代码块,所以需要用正确的格式展示命令。 最后,生成的相关问题要围绕部署过程中可能涉及的扩展内容,比如Nginx配置、Libvirt权限、高可用部署等,这样用户可以有进一步的学习方向。需要确保每个步骤都参考了正确的引用来源,并在末尾添加引用标识。比如,创建目录和复制文件的部分参考了引用[1]和[3],SSH配置参考了引用[3]等。</think>### KVM服务器WebVirtMgr部署教程 #### 一、环境准备 1. **安装KVM虚拟化** 确保KVM已安装并启用虚拟化支持,执行以下命令: ```bash yum install qemu-kvm libvirt virt-install bridge-utils -y systemctl start libvirtd && systemctl enable libvirtd ``` 验证模块加载:`lsmod | grep kvm`[^2] 2. **安装必要依赖** WebVirtMgr需要Python和Nginx支持: ```bash yum install epel-release git python3 python3-devel nginx -y ``` --- #### 二、部署WebVirtMgr 1. **克隆代码并安装Python依赖** ```bash cd /usr/local/src/ git clone https://github.com/retspen/webvirtmgr.git cd webvirtmgr pip3 install -r requirements.txt ``` 2. **初始化数据库** ```bash python3 manage.py migrate python3 manage.py collectstatic ``` 3. **复制文件到Web目录** ```bash mkdir -p /var/www # 若目录不存在则创建[^1] cp -r /usr/local/src/webvirtmgr /var/www/ chown -R nginx:nginx /var/www/webvirtmgr # 权限设置[^3] ``` --- #### 三、配置Nginx反向代理 1. **创建Nginx配置文件** ```bash vim /etc/nginx/conf.d/webvirtmgr.conf ``` 内容如下: ```nginx server { listen 80; server_name your_domain.com; location /static/ { root /var/www/webvirtmgr; } location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } ``` 2. **重启Nginx服务** ```bash systemctl restart nginx ``` --- #### 四、配置Libvirt权限 1. **修改Libvirt配置** 编辑`/etc/libvirt/libvirtd.conf`: ```ini listen_tcp = 1 auth_tcp = "none" ``` 重启服务:`systemctl restart libvirtd`[^2] 2. **关闭SELinux和防火墙** ```bash setenforce 0 # 临时关闭SELinux firewall-cmd --add-port=80/tcp --permanent firewall-cmd --reload ``` --- #### 五、SSH免密登录配置 1. **生成密钥对** ```bash ssh-keygen -t rsa # 默认路径保存[^3] ssh-copy-id root@kvm_server_ip # 将公钥复制到KVM主机 ``` --- #### 六、启动WebVirtMgr 1. **运行Django服务** ```bash cd /var/www/webvirtmgr python3 manage.py runserver 0.0.0.0:8000 ``` 访问`http://your_domain.com`完成初始化设置[^4] --- #### 关键问题排查 - **无法连接Libvirt**:检查`libvirtd`服务状态和TCP监听配置 - **静态文件加载失败**:执行`python3 manage.py collectstatic`重新生成 - **权限拒绝错误**:确保`/var/www/webvirtmgr`目录属主为nginx ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值