前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >kvm-webvirtmgr搭建

kvm-webvirtmgr搭建

作者头像
运维小路
发布于 2024-11-01 12:28:27
发布于 2024-11-01 12:28:27
13000
代码可运行
举报
文章被收录于专栏:运维小路运维小路
运行总次数:0
代码可运行

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

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

1.虚拟化介绍

2.kvm基本使用(本小节属于)

3.kvm进阶使用

4.kvm技术原理

5.vmware介绍&使用

6.小结

虽然我们可以通过命令行完成kvm的使用,但是我们还是可以借助dashboard来管理多台服务器及不用记那么多命令,当然这个web管理还是有多个软件供选择,我们这里以webvirtmgr来演示。

本小节主要就是完成webvirtmgr搭建部署。

WebVirtMgr 是一个强大的基于网页的虚拟化管理工具,当然这个并不是必须的,只是方便新手使用它管理比较方便。

一、主要功能

  1. 虚拟机管理
    • 轻松创建新的虚拟机,可自定义虚拟机的名称、操作系统类型、资源分配等参数。你可以根据实际需求为虚拟机分配适量的 CPU、内存和存储资源。
    • 对已有的虚拟机进行启动、停止、暂停、恢复等操作。当你需要对虚拟机进行维护或出现故障时,可以方便地控制其状态。
    • 实时监控虚拟机的运行状态,包括 CPU 使用率、内存使用情况、网络流量等。这样你可以随时了解虚拟机的资源消耗情况,以便进行合理的调整。
  2. 存储管理
    • 管理虚拟机的存储设备,如添加、删除硬盘或存储卷。你可以根据虚拟机的存储需求灵活地调整存储配置。
    • 支持多种存储类型,如本地存储、网络存储(NFS、iSCSI 等)。这使得你可以根据实际情况选择最适合的存储方案。
  3. 网络管理
    • 配置虚拟机的网络连接,包括设置 IP 地址、子网掩码、网关等。你可以为虚拟机分配静态 IP 地址或使用 DHCP 动态获取 IP 地址。
    • 支持虚拟网络的创建和管理,可实现虚拟机之间的网络隔离或互通。这对于构建复杂的网络环境非常有用。

二、部署介绍

这里的部署是和kvm主机分开的,是独立部署在一台服务器上。

服务器IP

角色

192.168.31.203

kvm宿主机

192.168.31.204

webvirtmgr管理机

1.服务器初始化

过程略,可参考Linux系统-初始化

2.安装部署

2.1 安装epel源

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum install -y epel-release

2.2 安装基础软件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum install -y gcc python-devel openssl-devel  install git python-pip libvirt-python libxml2-python python-websockify supervisor nginx

2.3 安装numpy(选装)

如果不使用浏览器进入系统,则可不安装这个软件包。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#默认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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#如果无法下载可私信我获取软件包
cd /usr/local
git clone git://github.com/retspen/webvirtmgr.git

2.5 安装webvirtmgr依赖包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd webvirtmgr
#如果不使用国内源,则会提示tls问题。
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

2.6 初始化数据库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./manage.py syncdb

2.7 复制静态文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./manage.py collectstatic

2.6 配置nginx

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#先删除默认的nginx80端口配置,这个是我删除以后配置
vi /etc/nginx/nginx.conf
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 配置webvirtmgr的web服务,web.conf名字可以任取
vi /etc/nginx/conf.d/web.conf
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#先检查配置文件是否正确
nginx -t
#启动nginx
systemctl start nginx
systemctl enable nginx

2.8 启动python

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#如果不想配置supervisor,则用该命令前台启动就可以输入该服务器的80端口访问
python /usr/local/webvirtmgr/manage.py run_gunicorn -c /usr/local/webvirtmgr/conf/gunicorn.conf.py
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#配置supervisor,我们将放到下一小节。

2.9 登录webvirtmgr

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#以当前webvirtmgr机器对应的ip为准。
#这里的账号密码就是2.6 初始化配置的账号密码。
http://192.168.31.204
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维小路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
C语言函数大全--o 开头的函数
返回值: 一个 size_t 类型的值,表示该成员变量在结构体中的偏移量(单位是字节)。
huazie
2025/05/14
1970
C语言函数大全--o 开头的函数
C语言函数大全--p 开头的函数
在上述的示例中,主线程调用了 pthread_create() 函数来创建一个新的线程,并传递一个函数指针 thread_func 作为新线程的入口点。新线程运行这个函数,并输出一条消息。主线程等待新线程结束,然后继续运行自己的代码。
huazie
2025/05/15
2080
C语言函数大全--p 开头的函数
C语言之——入门必刷题(2)
在一些入门题目中,题目经常会让我们输入n个数,之后以升序或者降序的方式输出,或者比较。
The sky
2023/04/12
5330
C语言之——入门必刷题(2)
C语言函数大全--n 开头的函数
huazie
2025/05/12
1610
C语言函数大全--n 开头的函数
C语言函数大全--i开头的函数
从指定 I/O 端口读取到的 16 位数据。若读取过程中出现错误,返回值的具体情况可能因系统和硬件而异。
huazie
2025/04/20
1330
C语言函数大全--i开头的函数
C语言函数大全--a开头的函数
开始之前,引用一篇《基于Redis海量数据场景分布式ID架构实践》,该文通过比对不同实现方案的优缺点,帮助大家在分布式ID生成方面提供一些有益的参考和启示。有需要的朋友可以深入研究下!
huazie
2024/12/01
2440
C语言函数大全--a开头的函数
C语言函数大全--m 开头的函数(下)
上述的示例代码,演示了如何使用 mmap() 函数将一个文件映射到内存中,并使用指针 ptr 访问这个映射区域 :
huazie
2025/05/10
1720
C语言函数大全--m 开头的函数(下)
C语言函数大全--e开头的函数
以 (x, y) 为中心,xradius、yradius 为 x 轴 和 y 轴 半径,从角 stangle 开始,endangle 结束,画一段椭圆线。当stangle=0,endangle=360 时,画出一个完整的椭圆
huazie
2025/01/09
1940
C语言函数大全--e开头的函数
C语言函数大全--c开头的函数
huazie
2024/12/28
3140
C语言函数大全--c开头的函数
C语言函数大全--f开头的函数(上)
注意: 如果文件中的一行,不足 n-1 个字符,则读完该行就直接结束。如若该行(包括最后一个换行符)的字符数超过 n-1,则 fgets 只返回一个不完整的行,但是,缓冲区总是以 NULL 字符结尾,对 fgets 的下一次调用会继续读该行。函数成功将返回 stream,失败或读到文件结尾返回 NULL。因此不能直接通过 fgets 的返回值来判断函数是否是出错而终止的,应该借助 feof 函数或者 ferror 函数来判断。
huazie
2025/01/17
2350
C语言函数大全--f开头的函数(上)
C语言函数大全--l开头的函数
上述示例程序中,首先通过 open() 函数打开一个名为 test.txt 的文件,并设置文件访问模式为可读写。接着,调用 lock() 函数对该文件进行加锁操作,保护写入数据的过程。然后,通过 write() 函数将数据写入到文件中。最后,调用 lock() 函数对该文件进行解锁操作,释放锁定的资源。
huazie
2025/04/29
1230
C语言函数大全--l开头的函数
C语言函数大全--j开头的函数
J_0(x) = \sum_{m=0}^{\infty} \frac{(-1)^m}{(m!)^2} \left( \frac{x}{2} \right)^{2m}
huazie
2025/04/23
1450
C语言函数大全--j开头的函数
【C语言】题集 of ④
🚀write in front🚀 🔎大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 🏅2021年度博客之星物联网与嵌入式开发TOP5,2021博客之星Top100→周榜31→总榜2629🏅 🆔本文由 謓泽 原创 CSDN首发🐒 如需转载还请通知⚠ 📝个人主页:打打酱油desu_泽En_CSDN博客🎓 🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​ 📢系列专栏:【C】系列_打打酱油desu-CSDN博客📣 ✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本📩
謓泽
2022/12/12
7370
VS2022中cmath.h头文件功能介绍
在C语言的世界里,数学运算一直是程序开发中不可或缺的一部分。无论是进行简单的数值计算,还是处理复杂的科学工程问题,都需要借助数学函数来实现。在Visual Studio 2022(VS2022)中,cmath.h(在C语言中通常为math.h)头文件为我们提供了丰富的数学函数和常量,极大地简化了数学运算的实现过程。今天,我们就来深入探讨一下cmath.h头文件的功能、使用注意事项以及一些拓展应用,帮助大家更好地掌握这一强大的工具。
siy2333
2025/02/12
1610
C语言函数大全--d开头的函数
注意: 这个程序可能无法在现代操作系统上直接运行,因为其中的一些函数(如disable()、enable()、getvect() 和 setvect())是特定于 DOS 的。如果你想在现代操作系统(如 Linux 或 Windows)上运行这个程序,你可能需要使用更现代的方法来处理中断或使用 DOS 模拟器。
huazie
2025/01/05
2070
C语言函数大全--d开头的函数
C语言函数大全--f开头的函数(下)
如果文件顺利打开后,指向该流的文件指针就会被返回;否则文件打开失败则返回 NULL,并把错误代码存在 error 中。
huazie
2025/01/18
1770
C语言函数大全--f开头的函数(下)
C语言函数大全--c开头的函数之复数篇
相位角是描述波形在时间轴上的位置的一个重要参数,它决定了波形的起始位置和变化状态。在实际应用中,相位角的测量和控制对于电路设计和信号处理至关重要。通过对相位角的理解和应用,可以更好地分析和控制波动现象,从而实现对电力系统和通信系统的优化。
huazie
2024/12/29
1850
C语言函数大全--c开头的函数之复数篇
C语言函数大全--m 开头的函数(上)
注意: 如果 s 是空指针,则返回 0,表示不是多字节字符;否则,如果 n 不足以包含完整的多字节字符,则返回 -1,表示需要更多的输入;否则,返回多字节字符所需的字节数。
huazie
2025/05/08
2070
C语言函数大全--m 开头的函数(上)
C语言函数大全--g开头的函数(上)
上述代码是一个简单的图形程序,使用了图形库函数 arc 来绘制一个弧线并显示其起始和结束点的坐标。
huazie
2025/01/22
1800
C语言函数大全--g开头的函数(上)
基础篇- iOS开发中常用的数学函数
在编程中我们总要进行一些数学运算以及数字处理,本文简单总结下常用的数学函数 。 常用函数 1、 三角函数 double sin (double);正弦 double cos (double);余弦 double tan (double);正切 2 、反三角函数 double asin (double); 结果介于[-PI/2, PI/2] double acos (double); 结果介于[0, PI] double atan (double); 反正切(主值),
進无尽
2018/09/12
1.4K0
相关推荐
C语言函数大全--o 开头的函数
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档