mirror of
https://github.com/oneclickvirt/oneclickvirt.github.io.git
synced 2026-07-02 11:54:26 +08:00
9 lines
16 KiB
JavaScript
9 lines
16 KiB
JavaScript
import{_ as s,v as a,b as l,R as e}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"incomplete/webvirtcloud.md","filePath":"incomplete/webvirtcloud.md","lastUpdated":1745307622000}'),o={name:"incomplete/webvirtcloud.md"},n=e(`<h2 id="webvirtcloud-安装指南" tabindex="-1">WebVirtCloud 安装指南 <a class="header-anchor" href="#webvirtcloud-安装指南" aria-label="Permalink to "WebVirtCloud 安装指南""></a></h2><p><a href="https://hits.spiritlhl.net" target="_blank" rel="noreferrer"><img src="https://hits.spiritlhl.net/webvirtcloud.svg?action=hit&title=hits&title_bg=%23555555&count_bg=%233aebee&edge_flat=false" alt="hits"></a></p><p>仓库地址: <a href="https://github.com/oneclickvirt/webvirtcloud" target="_blank" rel="noreferrer">https://github.com/oneclickvirt/webvirtcloud</a></p><h2 id="控制端安装" tabindex="-1">控制端安装 <a class="header-anchor" href="#控制端安装" aria-label="Permalink to "控制端安装""></a></h2><h3 id="系统要求" tabindex="-1">系统要求 <a class="header-anchor" href="#系统要求" aria-label="Permalink to "系统要求""></a></h3><p><strong>最低配置要求:</strong></p><ul><li>CPU: 1 核</li><li>内存: 1 GB RAM</li><li>硬盘: 空余 10 GB</li></ul><h3 id="默认登录信息" tabindex="-1">默认登录信息 <a class="header-anchor" href="#默认登录信息" aria-label="Permalink to "默认登录信息""></a></h3><ul><li>用户名: <code>[email protected]</code></li><li>密码: <code>admin</code></li></ul><h3 id="面板地址" tabindex="-1">面板地址 <a class="header-anchor" href="#面板地址" aria-label="Permalink to "面板地址""></a></h3><ul><li>用户面板: <code>https://192-168-0-114.nip.io</code></li><li>管理后台: <code>https://192-168-0-114.nip.io/admin</code></li></ul><blockquote><p><strong>注意:</strong> 请将 <code>192.168.0.114</code> 替换为你的公网 IP,以获取真实可访问地址。</p></blockquote><h3 id="安装命令" tabindex="-1">安装命令 <a class="header-anchor" href="#安装命令" aria-label="Permalink to "安装命令""></a></h3><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-slk</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">https://raw.githubusercontent.com/oneclickvirt/webvirtcloud/main/scripts/install_webvirt_cloud.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">install_webvirt_cloud.sh</span><span style="color:#A6ACCD;"> \\</span></span>
|
||
<span class="line"><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chmod</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">+x</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">install_webvirt_cloud.sh</span><span style="color:#A6ACCD;"> \\</span></span>
|
||
<span class="line"><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">install_webvirt_cloud.sh</span></span></code></pre></div><h2 id="计算节点安装" tabindex="-1">计算节点安装 <a class="header-anchor" href="#计算节点安装" aria-label="Permalink to "计算节点安装""></a></h2><blockquote><p><strong>重要提示:</strong> Hypervisor 和 Controller 不能在同一虚拟机上安装,否则网络会出现冲突。</p></blockquote><h3 id="系统要求-1" tabindex="-1">系统要求 <a class="header-anchor" href="#系统要求-1" aria-label="Permalink to "系统要求""></a></h3><p><strong>建议配置:</strong></p><ul><li>CPU: 2 核</li><li>内存: 4 GB RAM</li><li>硬盘: 空余 40 GB</li></ul><blockquote><p><strong>额外说明:</strong></p><ul><li>实际使用建议更高配置,测试环境只够开 4 台最小的虚拟机。</li><li>服务器需要支持 KVM 嵌套虚拟化,需要检测项目 <code>VM-x/AMD-V/Hyper-V</code> 是启用的。</li><li>跳过 env 检测安装,直接使用二进制文件,无需安装依赖。</li></ul></blockquote><h3 id="环境检测" tabindex="-1">环境检测 <a class="header-anchor" href="#环境检测" aria-label="Permalink to "环境检测""></a></h3><p>检测服务器是否支持 KVM 嵌套虚拟化:</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-L</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/ecs/master/goecs.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">goecs.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chmod</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">+x</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">goecs.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">./goecs.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">install</span></span></code></pre></div><h3 id="计算节点安装步骤" tabindex="-1">计算节点安装步骤 <a class="header-anchor" href="#计算节点安装步骤" aria-label="Permalink to "计算节点安装步骤""></a></h3><ol><li><p>下载安装脚本:</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-slk</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">https://raw.githubusercontent.com/oneclickvirt/webvirtcloud/main/scripts/install_hypervisor.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-o</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">install_hypervisor.sh</span><span style="color:#A6ACCD;"> \\</span></span>
|
||
<span class="line"><span style="color:#89DDFF;">&&</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">chmod</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">+x</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">install_hypervisor.sh</span></span></code></pre></div></li><li><p>执行安装(替换为你的 Controller IP):</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">install_hypervisor.sh</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">x.x.x.x</span></span></code></pre></div><blockquote><p>请将 <code>x.x.x.x</code> 替换为你的 Controller 控制端的实际 IP 地址。</p></blockquote></li><li><p>面板纳管节点 执行完毕后会有提示需要在Controller面板端需要填写的内容。 面板端要填入Hostname的是当前计算节点的IPV4地址,还有要填入Token识别节点。</p></li></ol><h2 id="问题排查" tabindex="-1">问题排查 <a class="header-anchor" href="#问题排查" aria-label="Permalink to "问题排查""></a></h2><h3 id="networkmanager-版本问题" tabindex="-1">NetworkManager 版本问题 <a class="header-anchor" href="#networkmanager-版本问题" aria-label="Permalink to "NetworkManager 版本问题""></a></h3><p>安装过程中可能会出现以下错误:</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">Connection 'eth0' (bed050e9-ff49-4665-8112-24ddf2a1cd3c) successfully deleted.</span></span>
|
||
<span class="line"><span style="color:#A6ACCD;">Warning: nmcli (1.48.10) and NetworkManager (1.42.2) versions don't match. Restarting NetworkManager is advised.</span></span>
|
||
<span class="line"><span style="color:#A6ACCD;">Error: Failed to add 'br-ext' connection: connection.autoconnect-ports: unknown property</span></span></code></pre></div><p><strong>解决方法:</strong> 重启服务器后重新执行安装命令。</p><h3 id="安装耗时提示" tabindex="-1">安装耗时提示 <a class="header-anchor" href="#安装耗时提示" aria-label="Permalink to "安装耗时提示""></a></h3><ul><li>整个过程大约耗时 <strong>20~25 分钟</strong>。</li><li>大部分时间用于下载 <code>finnix-125.iso</code> 至 <code>/var/lib/libvirt/isos/finnix-125.iso</code>。</li><li>该部分无法加速,<strong>建议使用 tmux 或 screen</strong> 等工具防止中断。</li></ul><h3 id="添加计算节点到控制面板" tabindex="-1">添加计算节点到控制面板 <a class="header-anchor" href="#添加计算节点到控制面板" aria-label="Permalink to "添加计算节点到控制面板""></a></h3><p>安装完成后会生成一个 <strong>Token</strong>,用于在控制端(Admin 面板)中添加计算节点:</p><p>路径: <code>Admin Panel > Computers > Add</code></p><h3 id="添加计算节点错误排查" tabindex="-1">添加计算节点错误排查 <a class="header-anchor" href="#添加计算节点错误排查" aria-label="Permalink to "添加计算节点错误排查""></a></h3><p>在Controller控制端执行:</p><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">telnet</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;"><</span><span style="color:#C3E88D;">node</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">i</span><span style="color:#A6ACCD;">p</span><span style="color:#89DDFF;">></span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">8884</span></span></code></pre></div><p>在计算节点执行:</p><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">systemctl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">status</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">webvirtcompute</span></span></code></pre></div><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">systemctl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">status</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">libvirtd</span></span></code></pre></div><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">systemctl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">status</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">prometheus</span></span></code></pre></div><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">systemctl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">status</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">prometheus-libvirt-exporter</span></span></code></pre></div><p>如果以上都查不出问题,那么就需要到Controller控制端执行:</p><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">docker</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">exec</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-it</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">webvirtcloud-backend</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">/bin/sh</span></span></code></pre></div><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">vi</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">webvirtcloud/settings/production.py</span></span></code></pre></div><p>将 DEBUG=False 改成 DEBUG=True</p><p>然后保存文件后,容器内执行</p><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">UV_PROJECT_ENVIRONMENT</span><span style="color:#89DDFF;">=</span><span style="color:#C3E88D;">/usr/local</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">uv</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">sync</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">--dev</span></span></code></pre></div><p>然后<code>exit</code>退出容器后,执行</p><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">docker</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">restart</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">webvirtcloud-backend</span></span>
|
||
<span class="line"><span style="color:#FFCB6B;">sleep</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">3</span></span>
|
||
<span class="line"><span style="color:#FFCB6B;">docker</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">logs</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">webvirtcloud-backend</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-f</span></span></code></pre></div><p>然后前端去触发错误的位置,这块日志实时加载就会看到对应的报错了</p><h3 id="controller-重启后-docker-容器重启" tabindex="-1">Controller 重启后 Docker 容器重启 <a class="header-anchor" href="#controller-重启后-docker-容器重启" aria-label="Permalink to "Controller 重启后 Docker 容器重启""></a></h3><p>如果 Docker 容器在系统重启后没有自动重启,执行以下命令:</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">docker</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">start</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">$(</span><span style="color:#FFCB6B;">docker</span><span style="color:#C3E88D;"> ps -a -q</span><span style="color:#89DDFF;">)</span></span></code></pre></div><h2 id="致谢" tabindex="-1">致谢 <a class="header-anchor" href="#致谢" aria-label="Permalink to "致谢""></a></h2><p><a href="https://webvirt.cloud/" target="_blank" rel="noreferrer">https://webvirt.cloud/</a></p>`,57),t=[n];function p(r,c,i,C,d,h){return a(),l("div",null,t)}const D=s(o,[["render",p]]);export{u as __pageData,D as default};
|