络腮胡菲菲 发表于 2025-4-11 22:22:55

云盘算&虚拟化-kvm-webvirtmgr搭建

作者介绍:简历上没有一个精通的运维工程师。渴望各人多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
https://i-blog.csdnimg.cn/direct/45a13128d76940abbb6a07bfde2880dc.png

虚拟化,简单来说就是把一台服务器/PC电脑,虚拟成多台独立的虚拟机,每台虚拟机之间相互隔离,每个虚拟机都有自己独立的操作体系,磁盘,网络资源。虚拟化是一个很庞大的体系,我的介绍主要是帮助你入门,让你相识基本技能原理,具备搭建操作虚拟化的本领。由于涉及到内容较多,这里的目录就只是以简单分类介绍和说明,不再针对单个末节举行目录列出,主要涉及的分类包罗以下几个方面:

1.虚拟化介绍
2.kvm基本使用(本末节属于)
3.kvm进阶使用
4.kvm技能原理
5.vmware介绍&使用
6.小结

虽然我们可以通过命令行完成kvm的使用,但是我们还是可以借助dashboard来管理多台服务器及不消记那么多命令,固然这个web管理还是有多个软件供选择,我们这里以webvirtmgr来演示。
本末节主要就是完成webvirtmgr搭建部署。
WebVirtMgr 是一个强大的基于网页的虚拟化管理工具,固然这个并不是必须的,只是方便新手使用它管理比力方便。
一、主要功能


[*] 虚拟机管理

[*] 轻松创建新的虚拟机,可自界说虚拟机的名称、操作体系类型、资源分配等参数。你可以根据实际需求为虚拟机分配适量的 CPU、内存和存储资源。
[*] 对已有的虚拟机举行启动、制止、暂停、规复等操作。当你必要对虚拟机举行维护或出现故障时,可以方便地控制其状态。
[*] 及时监控虚拟机的运行状态,包罗 CPU 使用率、内存使用情况、网络流量等。这样你可以随时相识虚拟机的资源斲丧情况,以便举行公道的调整。

[*] 存储管理

[*] 管理虚拟机的存储设备,如添加、删除硬盘或存储卷。你可以根据虚拟机的存储需求灵活地调整存储设置。
[*] 支持多种存储类型,如当地存储、网络存储(NFS、iSCSI 等)。这使得你可以根据实际情况选择最适合的存储方案。

[*] 网络管理

[*] 设置虚拟机的网络毗连,包罗设置 IP 地址、子网掩码、网关等。你可以为虚拟机分配静态 IP 地址或使用 DHCP 动态获取 IP 地址。
[*] 支持虚拟网络的创建和管理,可实现虚拟机之间的网络隔离或互通。这对于构建复杂的网络情况非常有效。


二、部署介绍

这里的部署是和kvm主机分开的,是独立部署在一台服务器上。
服务器IP脚色192.168.31.203kvm宿主机192.168.31.204webvirtmgr管理机 1.服务器初始化

过程略,可参考Linux体系-初始化。
2.安装部署

2.1 安装epel源

yum install -y epel-release 2.2 安装基础软件

yum install -y gcc python-devel openssl-develinstall git python-pip libvirt-python libxml2-python python-websockify supervisor nginx 2.3 安装numpy(选装)

如果不使用欣赏器进入体系,则可不安装这个软件包。
#默认2.7是无法安装这个包的
pip install numpy
#可手动去下载安装,但是最新版不兼容
https://pypi.org/project/numpy/#files
# 这里找了旧版本可使用
https://pypi.tuna.tsinghua.edu.cn/packages/c4/33/8ec8dcdb4ede5d453047bbdbd01916dbaccdb63e98bba60989718f5f0876/numpy-1.16.2-cp27-cp27mu-manylinux1_x86_64.whl#sha256=fb3c83554f39f48f3fa3123b9c24aecf681b1c289f9334f8215c1d3c8e2f6e5b

# 安装
pip install ./numpy-1.16.2-cp27-cp27mu-manylinux1_x86_64.whl
2.4 下载webvirtmgr

#如果无法下载可私信我获取软件包
cd /usr/local
git clone git://github.com/retspen/webvirtmgr.git

2.5 安装webvirtmgr依赖包​​​​​​​

cd webvirtmgr
#如果不使用国内源,则会提示tls问题。
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

2.6 初始化数据库

./manage.py syncdb
https://img-blog.csdnimg.cn/img_convert/02e504e273af3e53539f801ee57100ff.png
2.7 复制静态文件

./manage.py collectstatic
https://img-blog.csdnimg.cn/img_convert/8cbbdedc5ec1e79a8243bc6f668eb226.png
2.6 设置nginx​​​​​​​

#先删除默认的nginx80端口配置,这个是我删除以后配置
vi /etc/nginx/nginx.conf


https://img-blog.csdnimg.cn/img_convert/2e93622a10da5238be2ae68ca008d9a5.png
# 配置webvirtmgr的web服务,web.conf名字可以任取
vi /etc/nginx/conf.d/web.conf server {
    listen 80 default_server;
    server_name _;
    #access_log /var/log/nginx/webvirtmgr_access_log;
    location /static/ {
        root /usr/local/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
    }
} 2.7 启动nginx​​​​​​​

#先检查配置文件是否正确
nginx -t
#启动nginx
systemctl start nginx
systemctl enable nginx

2.8 启动python​​​​​​​

#如果不想配置supervisor,则用该命令前台启动就可以输入该服务器的80端口访问
python /usr/local/webvirtmgr/manage.py run_gunicorn -c /usr/local/webvirtmgr/conf/gunicorn.conf.py #配置supervisor,我们将放到下一小节。 2.9 登录webvirtmgr
#以当前webvirtmgr机器对应的ip为准。
#这里的账号密码就是2.6 初始化配置的账号密码。
http://192.168.31.204
https://img-blog.csdnimg.cn/img_convert/920213f25bab93f6504efa57af659527.png


https://img-blog.csdnimg.cn/img_convert/3a23ca46fe7072bdb351ce5bb2ab0d2b.png

https://img-blog.csdnimg.cn/img_convert/3cd4ce0d32f3abdc1613256076d4c606.png
运维小路
一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎各人骚扰的运维!
关注微信公众号《运维小路》获取更多内容。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 云盘算&虚拟化-kvm-webvirtmgr搭建