diff --git a/404.html b/404.html index 362e6eb1ad..ea7bdda215 100644 --- a/404.html +++ b/404.html @@ -12,8 +12,8 @@ -
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.
- +
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.
+ \ No newline at end of file diff --git a/assets/case_case1.md.a9751583.js b/assets/case_case1.md.8facee8c.js similarity index 99% rename from assets/case_case1.md.a9751583.js rename to assets/case_case1.md.8facee8c.js index a16e437434..4b62694a65 100644 --- a/assets/case_case1.md.a9751583.js +++ b/assets/case_case1.md.8facee8c.js @@ -1,4 +1,4 @@ -import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case1.md","filePath":"case/case1.md","lastUpdated":1691593150000}'),o={name:"case/case1.md"},p=n(`

仓库

https://github.com/spiritLHLS/one-click-installation-script

Hits

所有脚本如需在国内服务器使用,请在链接前加上https://ghproxy.com/确保命令可以下载本仓库的shell脚本执行

目录

一键修复脚本

运行所有一键修复脚本前注意看说明,以及保证服务器无重要数据,运行后造成的一切后果作者不负任何责任,自行评判风险!

一键尝试修复apt源

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/package.sh -o package.sh && chmod +x package.sh && bash package.sh

一键尝试修复系统时间

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/modify_time.sh -o modify_time.sh && chmod +x modify_time.sh && bash modify_time.sh

一键尝试修复sudo警告

不要在生产环境上使用该脚本,否则容易造成网络hosts配置错误,配置的host名字不在外网IP上反而在内网IP(127.0.0.1)上

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/check_sudo.sh -o check_sudo.sh && chmod +x check_sudo.sh && bash check_sudo.sh

一键修改系统自带的journal日志记录大小释放系统盘空间

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/resize_journal.sh -o resize_journal.sh && chmod +x resize_journal.sh && bash resize_journal.sh

一键尝试修复网络

该脚本轻易勿要使用,请确保运行时服务器无重要文件或程序,出现运行bug后续可能需要重装系统

一定要在screen中执行该脚本,否则可能导致修改过程中ssh断链接而修改失败卡住最终SSH无法连接!不在screen中执行后果自负!

bash
curl -L https://cdn.spiritlhl.workers.dev/https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/network.sh -o network.sh && chmod +x network.sh && bash network.sh

如果是纯V6的也可以不使用上面脚本的nat64,使用warp添加V4网络

比如:https://github.com/fscarmen/warp

bash
wget -N https://raw.githubusercontent.com/fscarmen/warp/main/menu.sh && bash menu.sh [option] [lisence]

非纯V6的,带V4切换优先级到IPV4可用以下命令

bash
sudo sed -i 's/.*precedence ::ffff:0:0\\/96.*/precedence ::ffff:0:0\\/96  100/g' /etc/gai.conf && sudo systemctl restart networking

一键环境安装脚本

只推荐在新服务器上安装,环境不纯净不保证不出bug

运行所有一键环境安装脚本前注意看说明,以及保证服务器无重要数据,运行后造成的一切后果作者不负任何责任,自行评判风险!

一键安装jupyter环境

原始用途是方便快捷的在按小时计费的超大型服务器上部署python环境进行科学计算,充分利用时间别浪费在构建环境上。

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/jupyter.sh -o jupyter.sh && chmod +x jupyter.sh && bash jupyter.sh

一键安装R语言环境

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/R.sh -o R.sh && chmod +x R.sh && bash R.sh

一键安装rust环境

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/rust.sh -o rust.sh && chmod +x rust.sh && bash rust.sh

一键安装C环境

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/cplusplus.sh -o cplusplus.sh && chmod +x cplusplus.sh && bash cplusplus.sh

一键安装vnstat环境

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/vnstat.sh -o vnstat.sh && chmod +x vnstat.sh && bash vnstat.sh

一键升级低版本debian为debian11

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/todebian11.sh -o todebian11.sh && chmod +x todebian11.sh && bash todebian11.sh

一键升级低版本ubuntu为ubuntu22

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/toubuntu22.sh -o toubuntu22.sh && chmod +x toubuntu22.sh && bash toubuntu22.sh

一键安装zipline平台

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/zipline.sh -o zipline.sh && chmod +x zipline.sh && bash zipline.sh

如果需要删除0字节文件,打开/root/zipline文件夹,执行

docker-compose exec zipline yarn scripts:clear-zero-byte

按照提示操作

一键安装filebrowser平台

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/filebrowser.sh -o filebrowser.sh && chmod +x filebrowser.sh && bash filebrowser.sh

一键删除平台监控

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/dlm.sh -o dlm.sh && chmod +x dlm.shh && bash dlm.sh

部分手动命令

一键开启root登陆并替换密码

bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

一键屏蔽邮件端口避免被恶意程序使用

bash
iptables -A INPUT -p tcp --dport 25 -j DROP
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case1.md","filePath":"case/case1.md","lastUpdated":1691741224000}'),o={name:"case/case1.md"},p=n(`

仓库

https://github.com/spiritLHLS/one-click-installation-script

Hits

所有脚本如需在国内服务器使用,请在链接前加上https://ghproxy.com/确保命令可以下载本仓库的shell脚本执行

目录

一键修复脚本

运行所有一键修复脚本前注意看说明,以及保证服务器无重要数据,运行后造成的一切后果作者不负任何责任,自行评判风险!

一键尝试修复apt源

  • 支持系统:Ubuntu 12+,Debian 6+
  • 修复apt下载包进程意外退出导致的源锁死
  • 修复apt源broken损坏
  • 修复apt源多进程占用锁死
  • 修复apt源公钥缺失
  • 修复替换系统可用的apt源列表,国内用阿里源,国外用官方源
  • 修复本机的Ubuntu系统是EOL非长期维护的版本(奇数或陈旧的偶数版本),将替换为Ubuntu官方的old-releases仓库以支持apt的使用
  • 修复只保证apt update不会报错,其他命令报错未修复
  • 如若修复后install还有问题,重启服务器解决问题
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/package.sh -o package.sh && chmod +x package.sh && bash package.sh

一键尝试修复系统时间

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 由于系统时间不准确都是未进行时区时间同步造成的,使用chronyd进行时区时间同步后应当解决了问题
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/modify_time.sh -o modify_time.sh && chmod +x modify_time.sh && bash modify_time.sh

一键尝试修复sudo警告

  • 一键尝试修复sudo: unable to resolve host xxx: Name or service not known警告(爆错)

不要在生产环境上使用该脚本,否则容易造成网络hosts配置错误,配置的host名字不在外网IP上反而在内网IP(127.0.0.1)上

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/check_sudo.sh -o check_sudo.sh && chmod +x check_sudo.sh && bash check_sudo.sh

一键修改系统自带的journal日志记录大小释放系统盘空间

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 1.自定义修改大小,单位为MB,一般500或者1000即可,有的系统日志默认给了5000甚至更多,不是做站啥的没必要
    • 请注意,修改journal目录大小会影响系统日志的记录,因此,在修改journal目录大小之前如果需要之前的日志,建议先备份系统日志到本地
  • 2.自定义修改设置系统日志保留日期时长,超过日期时长的日志将被清除
  • 3.默认修改日志只记录warning等级(无法自定义)
  • 4.以后日志的产生将受到日志文件大小,日志保留时间,日志保留等级的限制
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/resize_journal.sh -o resize_journal.sh && chmod +x resize_journal.sh && bash resize_journal.sh

一键尝试修复网络

该脚本轻易勿要使用,请确保运行时服务器无重要文件或程序,出现运行bug后续可能需要重装系统

一定要在screen中执行该脚本,否则可能导致修改过程中ssh断链接而修改失败卡住最终SSH无法连接!不在screen中执行后果自负!

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 尝试修复nameserver为google源或cloudflare源
  • 尝试修复为IP类型对应的网络优先级(默认IPV4类型,纯V6类型再替换为IPV6类型)
bash
curl -L https://cdn.spiritlhl.workers.dev/https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/network.sh -o network.sh && chmod +x network.sh && bash network.sh

如果是纯V6的也可以不使用上面脚本的nat64,使用warp添加V4网络

比如:https://github.com/fscarmen/warp

bash
wget -N https://raw.githubusercontent.com/fscarmen/warp/main/menu.sh && bash menu.sh [option] [lisence]

非纯V6的,带V4切换优先级到IPV4可用以下命令

bash
sudo sed -i 's/.*precedence ::ffff:0:0\\/96.*/precedence ::ffff:0:0\\/96  100/g' /etc/gai.conf && sudo systemctl restart networking

一键环境安装脚本

只推荐在新服务器上安装,环境不纯净不保证不出bug

运行所有一键环境安装脚本前注意看说明,以及保证服务器无重要数据,运行后造成的一切后果作者不负任何责任,自行评判风险!

一键安装jupyter环境

  • 本脚本尝试使用Miniconda3安装虚拟环境jupyter-env再进行jupyter和jupyterlab的安装,如若安装机器不纯净勿要轻易使用本脚本!
  • 本脚本为实验性脚本可能会有各种bug,勿要轻易尝试!
  • 验证已支持的系统:
    • Ubuntu 18/20/22 - 推荐,脚本自动挂起到后台
    • Debian 9/10/11 - 还行,需要手动挂起到后台,详看脚本运行安装完毕的后续提示
  • 可能支持的系统(未验证):centos 7+,Fedora,Almalinux 8.5+
  • 执行脚本,之前有用本脚本安装过则直接打印设置的登陆信息,没安装过则进行安装再打印信息,如果已安装但未启动则自动启动后再打印信息
  • 如果是初次安装无脑输入y回车即可,按照提示进行操作即可,安装完毕将在后台常驻运行
  • 安装完毕后,如果需要在lab中安装第三方库需要在lab中使用terminal并使用conda进行下载而不是pip3下载,这是需要注意的
  • 安装过程中有判断是否为中国IP,可选择是否使用中国镜像

原始用途是方便快捷的在按小时计费的超大型服务器上部署python环境进行科学计算,充分利用时间别浪费在构建环境上。

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/jupyter.sh -o jupyter.sh && chmod +x jupyter.sh && bash jupyter.sh

一键安装R语言环境

  • 安装前需使用Miniconda3安装虚拟环境jupyter-env,然后进行jupyter和jupyterlab的安装,再然后才能安装本内核
  • 简单的说,需要执行本仓库对应的jupyter安装脚本再运行本脚本安装R语言环境,会自动安装R环境内核和图形设备支持库
  • x11可能需要手动启动一下,执行sudo /usr/bin/Xorg
  • 可能支持的系统(未验证):centos 7+,Fedora,Almalinux 8.5+
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/R.sh -o R.sh && chmod +x R.sh && bash R.sh

一键安装rust环境

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 加载官方脚本安装,前置条件适配系统以及后置条件判断安装的版本
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/rust.sh -o rust.sh && chmod +x rust.sh && bash rust.sh

一键安装C环境

  • 一键安装C++环境
  • 支持系统:使用apt或者yum作为包管理器的系统
  • 如果未安装则安装,如果有安装则提示升级
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/cplusplus.sh -o cplusplus.sh && chmod +x cplusplus.sh && bash cplusplus.sh

一键安装vnstat环境

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 加载官方文件编译安装,前置条件适配系统以及后置条件判断安装的版本
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/vnstat.sh -o vnstat.sh && chmod +x vnstat.sh && bash vnstat.sh

一键升级低版本debian为debian11

  • 支持系统:debian 6+
  • 升级后需要重启系统加载内核,升级过程中需要选择的都无脑按回车即可
  • 升级是一个版本迭代一个版本,所以如果版本低,每执行一次升级一个版本,直至升级到debian11
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/todebian11.sh -o todebian11.sh && chmod +x todebian11.sh && bash todebian11.sh

一键升级低版本ubuntu为ubuntu22

  • 支持系统:Ubuntu 16+
  • 升级后需要重启系统加载内核,升级过程中需要选择的都无脑按回车即可
  • 升级是一个版本迭代一个版本,所以如果版本低,每执行一次升级一个版本,直至升级到ubuntu22
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/toubuntu22.sh -o toubuntu22.sh && chmod +x toubuntu22.sh && bash toubuntu22.sh

一键安装zipline平台

  • 应该支持的系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 暂时只在Ubuntu上验证无问题
  • 如若要设置反向代理绑定域名,安装前请保证原服务器未安装过nginx,如若已安装过nginx,请自行配置反向代理本机的3000端口
  • 默认一路回车是不启用反代不安装nginx的,自行选择,如需通过本脚本配置反代系统一定要未安装过nginx并在填写y或Y开启安装
  • zipline 平台功能: ShareX,自定义短链接,文件上传分享,多用户校验,高亮显示,阅后即焚,设置简单 (含pastebin)
  • 自动安装docker,docker-compose,如若已安装zipline在/root目录下,则自动更新
  • 反向代理如若已设置成功,还需要在面板设置中填写域名,绑定启用
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/zipline.sh -o zipline.sh && chmod +x zipline.sh && bash zipline.sh

如果需要删除0字节文件,打开/root/zipline文件夹,执行

docker-compose exec zipline yarn scripts:clear-zero-byte

按照提示操作

一键安装filebrowser平台

  • 端口设置为3030了,其他登陆信息详见提示
  • filebrowser平台支持下载上传文件到服务器,批量下载多个文件(自定义压缩格式),构建文件分享链接,设置分享时长
  • 如果本地有启用IPV6优先级可能绑定到V6去了,使用lsof -i:3030查看绑定情况,切换优先级后再安装就正常了
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/filebrowser.sh -o filebrowser.sh && chmod +x filebrowser.sh && bash filebrowser.sh

一键删除平台监控

  • 一键移除大多数云服务器监控
  • 涵盖阿里云、腾讯云、华为云、UCLOUD、甲骨文云、京东云
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/dlm.sh -o dlm.sh && chmod +x dlm.shh && bash dlm.sh

部分手动命令

一键开启root登陆并替换密码

bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

一键屏蔽邮件端口避免被恶意程序使用

bash
iptables -A INPUT -p tcp --dport 25 -j DROP
 iptables -A OUTPUT -p tcp --dport 25 -j DROP
 /sbin/iptables-save

设置语言包

bash
sudo apt-get update
 sudo apt-get install language-pack-en-base
diff --git a/assets/case_case1.md.a9751583.lean.js b/assets/case_case1.md.8facee8c.lean.js
similarity index 99%
rename from assets/case_case1.md.a9751583.lean.js
rename to assets/case_case1.md.8facee8c.lean.js
index a16e437434..4b62694a65 100644
--- a/assets/case_case1.md.a9751583.lean.js
+++ b/assets/case_case1.md.8facee8c.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case1.md","filePath":"case/case1.md","lastUpdated":1691593150000}'),o={name:"case/case1.md"},p=n(`

仓库

https://github.com/spiritLHLS/one-click-installation-script

Hits

所有脚本如需在国内服务器使用,请在链接前加上https://ghproxy.com/确保命令可以下载本仓库的shell脚本执行

目录

一键修复脚本

运行所有一键修复脚本前注意看说明,以及保证服务器无重要数据,运行后造成的一切后果作者不负任何责任,自行评判风险!

一键尝试修复apt源

  • 支持系统:Ubuntu 12+,Debian 6+
  • 修复apt下载包进程意外退出导致的源锁死
  • 修复apt源broken损坏
  • 修复apt源多进程占用锁死
  • 修复apt源公钥缺失
  • 修复替换系统可用的apt源列表,国内用阿里源,国外用官方源
  • 修复本机的Ubuntu系统是EOL非长期维护的版本(奇数或陈旧的偶数版本),将替换为Ubuntu官方的old-releases仓库以支持apt的使用
  • 修复只保证apt update不会报错,其他命令报错未修复
  • 如若修复后install还有问题,重启服务器解决问题
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/package.sh -o package.sh && chmod +x package.sh && bash package.sh

一键尝试修复系统时间

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 由于系统时间不准确都是未进行时区时间同步造成的,使用chronyd进行时区时间同步后应当解决了问题
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/modify_time.sh -o modify_time.sh && chmod +x modify_time.sh && bash modify_time.sh

一键尝试修复sudo警告

  • 一键尝试修复sudo: unable to resolve host xxx: Name or service not known警告(爆错)

不要在生产环境上使用该脚本,否则容易造成网络hosts配置错误,配置的host名字不在外网IP上反而在内网IP(127.0.0.1)上

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/check_sudo.sh -o check_sudo.sh && chmod +x check_sudo.sh && bash check_sudo.sh

一键修改系统自带的journal日志记录大小释放系统盘空间

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 1.自定义修改大小,单位为MB,一般500或者1000即可,有的系统日志默认给了5000甚至更多,不是做站啥的没必要
    • 请注意,修改journal目录大小会影响系统日志的记录,因此,在修改journal目录大小之前如果需要之前的日志,建议先备份系统日志到本地
  • 2.自定义修改设置系统日志保留日期时长,超过日期时长的日志将被清除
  • 3.默认修改日志只记录warning等级(无法自定义)
  • 4.以后日志的产生将受到日志文件大小,日志保留时间,日志保留等级的限制
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/resize_journal.sh -o resize_journal.sh && chmod +x resize_journal.sh && bash resize_journal.sh

一键尝试修复网络

该脚本轻易勿要使用,请确保运行时服务器无重要文件或程序,出现运行bug后续可能需要重装系统

一定要在screen中执行该脚本,否则可能导致修改过程中ssh断链接而修改失败卡住最终SSH无法连接!不在screen中执行后果自负!

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 尝试修复nameserver为google源或cloudflare源
  • 尝试修复为IP类型对应的网络优先级(默认IPV4类型,纯V6类型再替换为IPV6类型)
bash
curl -L https://cdn.spiritlhl.workers.dev/https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/network.sh -o network.sh && chmod +x network.sh && bash network.sh

如果是纯V6的也可以不使用上面脚本的nat64,使用warp添加V4网络

比如:https://github.com/fscarmen/warp

bash
wget -N https://raw.githubusercontent.com/fscarmen/warp/main/menu.sh && bash menu.sh [option] [lisence]

非纯V6的,带V4切换优先级到IPV4可用以下命令

bash
sudo sed -i 's/.*precedence ::ffff:0:0\\/96.*/precedence ::ffff:0:0\\/96  100/g' /etc/gai.conf && sudo systemctl restart networking

一键环境安装脚本

只推荐在新服务器上安装,环境不纯净不保证不出bug

运行所有一键环境安装脚本前注意看说明,以及保证服务器无重要数据,运行后造成的一切后果作者不负任何责任,自行评判风险!

一键安装jupyter环境

  • 本脚本尝试使用Miniconda3安装虚拟环境jupyter-env再进行jupyter和jupyterlab的安装,如若安装机器不纯净勿要轻易使用本脚本!
  • 本脚本为实验性脚本可能会有各种bug,勿要轻易尝试!
  • 验证已支持的系统:
    • Ubuntu 18/20/22 - 推荐,脚本自动挂起到后台
    • Debian 9/10/11 - 还行,需要手动挂起到后台,详看脚本运行安装完毕的后续提示
  • 可能支持的系统(未验证):centos 7+,Fedora,Almalinux 8.5+
  • 执行脚本,之前有用本脚本安装过则直接打印设置的登陆信息,没安装过则进行安装再打印信息,如果已安装但未启动则自动启动后再打印信息
  • 如果是初次安装无脑输入y回车即可,按照提示进行操作即可,安装完毕将在后台常驻运行
  • 安装完毕后,如果需要在lab中安装第三方库需要在lab中使用terminal并使用conda进行下载而不是pip3下载,这是需要注意的
  • 安装过程中有判断是否为中国IP,可选择是否使用中国镜像

原始用途是方便快捷的在按小时计费的超大型服务器上部署python环境进行科学计算,充分利用时间别浪费在构建环境上。

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/jupyter.sh -o jupyter.sh && chmod +x jupyter.sh && bash jupyter.sh

一键安装R语言环境

  • 安装前需使用Miniconda3安装虚拟环境jupyter-env,然后进行jupyter和jupyterlab的安装,再然后才能安装本内核
  • 简单的说,需要执行本仓库对应的jupyter安装脚本再运行本脚本安装R语言环境,会自动安装R环境内核和图形设备支持库
  • x11可能需要手动启动一下,执行sudo /usr/bin/Xorg
  • 可能支持的系统(未验证):centos 7+,Fedora,Almalinux 8.5+
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/R.sh -o R.sh && chmod +x R.sh && bash R.sh

一键安装rust环境

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 加载官方脚本安装,前置条件适配系统以及后置条件判断安装的版本
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/rust.sh -o rust.sh && chmod +x rust.sh && bash rust.sh

一键安装C环境

  • 一键安装C++环境
  • 支持系统:使用apt或者yum作为包管理器的系统
  • 如果未安装则安装,如果有安装则提示升级
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/cplusplus.sh -o cplusplus.sh && chmod +x cplusplus.sh && bash cplusplus.sh

一键安装vnstat环境

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 加载官方文件编译安装,前置条件适配系统以及后置条件判断安装的版本
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/vnstat.sh -o vnstat.sh && chmod +x vnstat.sh && bash vnstat.sh

一键升级低版本debian为debian11

  • 支持系统:debian 6+
  • 升级后需要重启系统加载内核,升级过程中需要选择的都无脑按回车即可
  • 升级是一个版本迭代一个版本,所以如果版本低,每执行一次升级一个版本,直至升级到debian11
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/todebian11.sh -o todebian11.sh && chmod +x todebian11.sh && bash todebian11.sh

一键升级低版本ubuntu为ubuntu22

  • 支持系统:Ubuntu 16+
  • 升级后需要重启系统加载内核,升级过程中需要选择的都无脑按回车即可
  • 升级是一个版本迭代一个版本,所以如果版本低,每执行一次升级一个版本,直至升级到ubuntu22
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/toubuntu22.sh -o toubuntu22.sh && chmod +x toubuntu22.sh && bash toubuntu22.sh

一键安装zipline平台

  • 应该支持的系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 暂时只在Ubuntu上验证无问题
  • 如若要设置反向代理绑定域名,安装前请保证原服务器未安装过nginx,如若已安装过nginx,请自行配置反向代理本机的3000端口
  • 默认一路回车是不启用反代不安装nginx的,自行选择,如需通过本脚本配置反代系统一定要未安装过nginx并在填写y或Y开启安装
  • zipline 平台功能: ShareX,自定义短链接,文件上传分享,多用户校验,高亮显示,阅后即焚,设置简单 (含pastebin)
  • 自动安装docker,docker-compose,如若已安装zipline在/root目录下,则自动更新
  • 反向代理如若已设置成功,还需要在面板设置中填写域名,绑定启用
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/zipline.sh -o zipline.sh && chmod +x zipline.sh && bash zipline.sh

如果需要删除0字节文件,打开/root/zipline文件夹,执行

docker-compose exec zipline yarn scripts:clear-zero-byte

按照提示操作

一键安装filebrowser平台

  • 端口设置为3030了,其他登陆信息详见提示
  • filebrowser平台支持下载上传文件到服务器,批量下载多个文件(自定义压缩格式),构建文件分享链接,设置分享时长
  • 如果本地有启用IPV6优先级可能绑定到V6去了,使用lsof -i:3030查看绑定情况,切换优先级后再安装就正常了
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/filebrowser.sh -o filebrowser.sh && chmod +x filebrowser.sh && bash filebrowser.sh

一键删除平台监控

  • 一键移除大多数云服务器监控
  • 涵盖阿里云、腾讯云、华为云、UCLOUD、甲骨文云、京东云
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/dlm.sh -o dlm.sh && chmod +x dlm.shh && bash dlm.sh

部分手动命令

一键开启root登陆并替换密码

bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

一键屏蔽邮件端口避免被恶意程序使用

bash
iptables -A INPUT -p tcp --dport 25 -j DROP
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case1.md","filePath":"case/case1.md","lastUpdated":1691741224000}'),o={name:"case/case1.md"},p=n(`

仓库

https://github.com/spiritLHLS/one-click-installation-script

Hits

所有脚本如需在国内服务器使用,请在链接前加上https://ghproxy.com/确保命令可以下载本仓库的shell脚本执行

目录

一键修复脚本

运行所有一键修复脚本前注意看说明,以及保证服务器无重要数据,运行后造成的一切后果作者不负任何责任,自行评判风险!

一键尝试修复apt源

  • 支持系统:Ubuntu 12+,Debian 6+
  • 修复apt下载包进程意外退出导致的源锁死
  • 修复apt源broken损坏
  • 修复apt源多进程占用锁死
  • 修复apt源公钥缺失
  • 修复替换系统可用的apt源列表,国内用阿里源,国外用官方源
  • 修复本机的Ubuntu系统是EOL非长期维护的版本(奇数或陈旧的偶数版本),将替换为Ubuntu官方的old-releases仓库以支持apt的使用
  • 修复只保证apt update不会报错,其他命令报错未修复
  • 如若修复后install还有问题,重启服务器解决问题
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/package.sh -o package.sh && chmod +x package.sh && bash package.sh

一键尝试修复系统时间

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 由于系统时间不准确都是未进行时区时间同步造成的,使用chronyd进行时区时间同步后应当解决了问题
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/modify_time.sh -o modify_time.sh && chmod +x modify_time.sh && bash modify_time.sh

一键尝试修复sudo警告

  • 一键尝试修复sudo: unable to resolve host xxx: Name or service not known警告(爆错)

不要在生产环境上使用该脚本,否则容易造成网络hosts配置错误,配置的host名字不在外网IP上反而在内网IP(127.0.0.1)上

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/check_sudo.sh -o check_sudo.sh && chmod +x check_sudo.sh && bash check_sudo.sh

一键修改系统自带的journal日志记录大小释放系统盘空间

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 1.自定义修改大小,单位为MB,一般500或者1000即可,有的系统日志默认给了5000甚至更多,不是做站啥的没必要
    • 请注意,修改journal目录大小会影响系统日志的记录,因此,在修改journal目录大小之前如果需要之前的日志,建议先备份系统日志到本地
  • 2.自定义修改设置系统日志保留日期时长,超过日期时长的日志将被清除
  • 3.默认修改日志只记录warning等级(无法自定义)
  • 4.以后日志的产生将受到日志文件大小,日志保留时间,日志保留等级的限制
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/resize_journal.sh -o resize_journal.sh && chmod +x resize_journal.sh && bash resize_journal.sh

一键尝试修复网络

该脚本轻易勿要使用,请确保运行时服务器无重要文件或程序,出现运行bug后续可能需要重装系统

一定要在screen中执行该脚本,否则可能导致修改过程中ssh断链接而修改失败卡住最终SSH无法连接!不在screen中执行后果自负!

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 尝试修复nameserver为google源或cloudflare源
  • 尝试修复为IP类型对应的网络优先级(默认IPV4类型,纯V6类型再替换为IPV6类型)
bash
curl -L https://cdn.spiritlhl.workers.dev/https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/network.sh -o network.sh && chmod +x network.sh && bash network.sh

如果是纯V6的也可以不使用上面脚本的nat64,使用warp添加V4网络

比如:https://github.com/fscarmen/warp

bash
wget -N https://raw.githubusercontent.com/fscarmen/warp/main/menu.sh && bash menu.sh [option] [lisence]

非纯V6的,带V4切换优先级到IPV4可用以下命令

bash
sudo sed -i 's/.*precedence ::ffff:0:0\\/96.*/precedence ::ffff:0:0\\/96  100/g' /etc/gai.conf && sudo systemctl restart networking

一键环境安装脚本

只推荐在新服务器上安装,环境不纯净不保证不出bug

运行所有一键环境安装脚本前注意看说明,以及保证服务器无重要数据,运行后造成的一切后果作者不负任何责任,自行评判风险!

一键安装jupyter环境

  • 本脚本尝试使用Miniconda3安装虚拟环境jupyter-env再进行jupyter和jupyterlab的安装,如若安装机器不纯净勿要轻易使用本脚本!
  • 本脚本为实验性脚本可能会有各种bug,勿要轻易尝试!
  • 验证已支持的系统:
    • Ubuntu 18/20/22 - 推荐,脚本自动挂起到后台
    • Debian 9/10/11 - 还行,需要手动挂起到后台,详看脚本运行安装完毕的后续提示
  • 可能支持的系统(未验证):centos 7+,Fedora,Almalinux 8.5+
  • 执行脚本,之前有用本脚本安装过则直接打印设置的登陆信息,没安装过则进行安装再打印信息,如果已安装但未启动则自动启动后再打印信息
  • 如果是初次安装无脑输入y回车即可,按照提示进行操作即可,安装完毕将在后台常驻运行
  • 安装完毕后,如果需要在lab中安装第三方库需要在lab中使用terminal并使用conda进行下载而不是pip3下载,这是需要注意的
  • 安装过程中有判断是否为中国IP,可选择是否使用中国镜像

原始用途是方便快捷的在按小时计费的超大型服务器上部署python环境进行科学计算,充分利用时间别浪费在构建环境上。

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/jupyter.sh -o jupyter.sh && chmod +x jupyter.sh && bash jupyter.sh

一键安装R语言环境

  • 安装前需使用Miniconda3安装虚拟环境jupyter-env,然后进行jupyter和jupyterlab的安装,再然后才能安装本内核
  • 简单的说,需要执行本仓库对应的jupyter安装脚本再运行本脚本安装R语言环境,会自动安装R环境内核和图形设备支持库
  • x11可能需要手动启动一下,执行sudo /usr/bin/Xorg
  • 可能支持的系统(未验证):centos 7+,Fedora,Almalinux 8.5+
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/R.sh -o R.sh && chmod +x R.sh && bash R.sh

一键安装rust环境

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 加载官方脚本安装,前置条件适配系统以及后置条件判断安装的版本
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/rust.sh -o rust.sh && chmod +x rust.sh && bash rust.sh

一键安装C环境

  • 一键安装C++环境
  • 支持系统:使用apt或者yum作为包管理器的系统
  • 如果未安装则安装,如果有安装则提示升级
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/cplusplus.sh -o cplusplus.sh && chmod +x cplusplus.sh && bash cplusplus.sh

一键安装vnstat环境

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 加载官方文件编译安装,前置条件适配系统以及后置条件判断安装的版本
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/vnstat.sh -o vnstat.sh && chmod +x vnstat.sh && bash vnstat.sh

一键升级低版本debian为debian11

  • 支持系统:debian 6+
  • 升级后需要重启系统加载内核,升级过程中需要选择的都无脑按回车即可
  • 升级是一个版本迭代一个版本,所以如果版本低,每执行一次升级一个版本,直至升级到debian11
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/todebian11.sh -o todebian11.sh && chmod +x todebian11.sh && bash todebian11.sh

一键升级低版本ubuntu为ubuntu22

  • 支持系统:Ubuntu 16+
  • 升级后需要重启系统加载内核,升级过程中需要选择的都无脑按回车即可
  • 升级是一个版本迭代一个版本,所以如果版本低,每执行一次升级一个版本,直至升级到ubuntu22
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/toubuntu22.sh -o toubuntu22.sh && chmod +x toubuntu22.sh && bash toubuntu22.sh

一键安装zipline平台

  • 应该支持的系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 暂时只在Ubuntu上验证无问题
  • 如若要设置反向代理绑定域名,安装前请保证原服务器未安装过nginx,如若已安装过nginx,请自行配置反向代理本机的3000端口
  • 默认一路回车是不启用反代不安装nginx的,自行选择,如需通过本脚本配置反代系统一定要未安装过nginx并在填写y或Y开启安装
  • zipline 平台功能: ShareX,自定义短链接,文件上传分享,多用户校验,高亮显示,阅后即焚,设置简单 (含pastebin)
  • 自动安装docker,docker-compose,如若已安装zipline在/root目录下,则自动更新
  • 反向代理如若已设置成功,还需要在面板设置中填写域名,绑定启用
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/zipline.sh -o zipline.sh && chmod +x zipline.sh && bash zipline.sh

如果需要删除0字节文件,打开/root/zipline文件夹,执行

docker-compose exec zipline yarn scripts:clear-zero-byte

按照提示操作

一键安装filebrowser平台

  • 端口设置为3030了,其他登陆信息详见提示
  • filebrowser平台支持下载上传文件到服务器,批量下载多个文件(自定义压缩格式),构建文件分享链接,设置分享时长
  • 如果本地有启用IPV6优先级可能绑定到V6去了,使用lsof -i:3030查看绑定情况,切换优先级后再安装就正常了
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/filebrowser.sh -o filebrowser.sh && chmod +x filebrowser.sh && bash filebrowser.sh

一键删除平台监控

  • 一键移除大多数云服务器监控
  • 涵盖阿里云、腾讯云、华为云、UCLOUD、甲骨文云、京东云
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/dlm.sh -o dlm.sh && chmod +x dlm.shh && bash dlm.sh

部分手动命令

一键开启root登陆并替换密码

bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

一键屏蔽邮件端口避免被恶意程序使用

bash
iptables -A INPUT -p tcp --dport 25 -j DROP
 iptables -A OUTPUT -p tcp --dport 25 -j DROP
 /sbin/iptables-save

设置语言包

bash
sudo apt-get update
 sudo apt-get install language-pack-en-base
diff --git a/assets/case_case2.md.48820ddb.js b/assets/case_case2.md.1b638414.js
similarity index 99%
rename from assets/case_case2.md.48820ddb.js
rename to assets/case_case2.md.1b638414.js
index e9a2864d84..22eb828c7f 100644
--- a/assets/case_case2.md.48820ddb.js
+++ b/assets/case_case2.md.1b638414.js
@@ -1 +1 @@
-import{_ as s,v as a,b as e,R as t}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case2.md","filePath":"case/case2.md","lastUpdated":1691593150000}'),l={name:"case/case2.md"},p=t('

仓库

https://github.com/spiritLHLS/ecs

Hits

融合怪测评脚本

支持系统:

Ubuntu 18+, Debian 8+, Centos 7+, Fedora 33+, Almalinux 8.5+, OracleLinux 8+, RockyLinux 8+, AstraLinux CE, Arch

半支持系统:

FreeBSD(前提已执行pkg install -y curl bash),Armbian

Armbian系统部分检测和测试暂不支持,部分会编码错误

FreeBSD系统的硬盘测试和CPU测试目前是半残的,有些东西显示有问题

FreeBSD系统的分享链接的预处理部分sed命令存在问题未删除部分无效内容

支持架构:

基本都支持,无论是本地服务器还是云端服务器

支持地域:

能连得上网都支持

部分服务器运行测试有各类bug一键修复后再测试

一键修复各种系统原生bug的仓库:

https://github.com/spiritLHLS/one-click-installation-script

如若还有系统bug请到上面仓库的issues反映,脚本原生BUG该仓库issues反映

融合怪命令

交互形式

bash
curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

bash
curl -L https://github.com/spiritLHLS/ecs/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

bash <(wget -qO- bash.spiritlhl.net/ecs)

无交互形式

bash
echo 1 | bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh)

bash
echo 1 | bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecs/raw/main/ecs.sh)

echo 1 | bash <(wget -qO- bash.spiritlhl.net/ecs)

IP质量检测

  • IP质量检测,含多家数据库查询,含黑名单查询
  • IPV4IPV6 检测,含ASN和地址查询
  • 含25端口的邮箱可达性检测,如果某个邮箱可达,则可搭建邮局
bash
bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/za/-/raw/main/qzcheck.sh)

bash
bash <(wget -qO- bash.spiritlhl.net/ecs-ipcheck)

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/ecs/main/qzcheck.sh)

融合怪说明

融合怪脚本最好在 /root 路径下执行,避免各种奇奇怪怪的问题

融合怪的执行结果保存在当前路径下的test_result.txt中,可先退出SSH登录后续再查看文件

融合怪的完整版和精简版运行完毕会自动上传结果到pastebin并回传分享链接,如果测一半想要退出,那么按Ctrl+C同时按下可终止测试,此时会自动退出删除残余文件

有时候想要测一些配置极其拉跨的机器时,推荐使用screen命令挂起执行选项1的融合怪,然后你可以关闭SSH连接,等待一段时间后使用cat test_result.txt查看运行的实时状况,这样可以避免IO或者CPU过于垃圾导致的测试过程中的SSH连接中断,就不会测一半啥都没了,假如screen中显示乱码,也没问题,结果是不带乱码的

最烂机器测试的例子(跑了47分钟一样测完):跳转

使用CDN加速已支持国内国外服务器测试,但国内受CDN连通性或国内机器带宽大小的限制加载可能会慢很多

融合怪测试说明以及部分测试结果的内容解释(初次使用推荐查看):

除了已标注的原创内容,其余所有分区均为借鉴并进行优化修改后的版本,与原始对应的脚本不一样

所有检测都有考虑过使用并行测试,并在部分环节使用了该技术,比正常的顺序执行优化了2~3分钟,属于是独有的,暂无哪家的测试有同类技术

系统基础信息测试融合了多家还有我自己修补的部分检测(systl、NAT类型检测,并发ASN检测等),应该是目前最全面最通用的了

CPU测试使用sysbench测试得分,不是yabs的gb4或gb5,前者只是简单的计算质数测试速度快,后者geekbench是综合测试系统算加权得分,不是同一种东西,别互相比较了,没有可比性

CPU测试单核得分在5000以上的可以算第一梯队,4000到5000分算第二梯队,每1000分算一档,自己看看自己在哪个档位吧

AMD的7950x单核满血性能得分在6500左右,AMD的5950x单核满血性能得分5700左右,Intel普通的CPU(E5之类的)在1000~800左右,低于500的单核CPU可以算是比较烂的了

IO测试收录了两种,来源于lemonbench的dd磁盘测试和yabs的fio磁盘测试,综合来看会比较好,前者可能误差偏大但测试速度快无硬盘大小限制,后者真实一点但测试速度慢有硬盘以及内存大小限制

流媒体测试收录了两种,一个是go编译的二进制文件和一个shell脚本版本,二者各有优劣,互相对比看即可

tiktok测试有superbench和lmc999两种版本,哪个失效了随时可能更新为其中一种版本,以最新的脚本为准

回程路由测试选用的GO编译的二进制版本和朋友PR的版本,本人做了优化适配多个IP列表以及融合部分查询

IP质量检测纯原创,如有bug或者更多数据库来源可在issues中提出,日常看IP2Location数据库的IP类型即可,其中的25端口邮箱可达,则可搭建邮局

融合怪的IP质量检测是简化过的,没有查询Cloudflare的威胁得分,个人原创区的IP质量检测才是完整版(或者仓库说明中列出的那个IP质量检测的命令也是完整版)

三网测速使用自写的测速脚本,尽量使用最新节点最新组件进行测速,且有备用go版本测速,做到自更新测速节点列表,自适应系统环境测速

其他第三方脚本归纳到了第三方脚本区,里面有同类型脚本不同作者的各种竞品脚本,如果融合怪不能使你满意或者有错误,可以看看那部分

原创脚本区是个人原创的部分,有事没事也可以看看,可能会更新某些偏门或者独到的脚本

VPS测试,VPS测速,VPS综合性能测试,VPS回程线路测试,VPS流媒体测试等所有测试融合的脚本,本脚本能融合的都融合了

融合怪功能

  • [x] 自由组合测试方向和单项测试以及合集收录第三方脚本
  • [x] 基础信息查询--感谢bench.shsuperbench.shyabslemonbench开源,本人整理修改优化,同原版均不一致
  • [x] CPU测试--感谢lemonbench开源,本人整理修改优化
  • [x] 内存测试--感谢lemonbench开源,本人整理修改优化
  • [x] 磁盘dd读写测试--感谢lemonbench开源,本人整理修改优化
  • [x] 硬盘fio读写测试--感谢yabs开源,本人整理修改优化
  • [x] 御三家流媒体解锁测试--感谢sjlleo的二进制文件,本人修改整理优化
  • [x] 常用流媒体解锁测试--感谢RegionRestrictionCheck开源,本人整理修改优化
  • [x] Tiktok解锁--感谢TikTokCheck开源,本人整理修改优化
  • [x] 三网回程以及路由延迟--感谢zhanghanyun/backtrace开源,本人整理修改
  • [x] 回程路由以及带宽类型检测(商宽/家宽/数据中心)--由fscarmen的PR以及本人的技术思路提供,本人后续修改优化
  • [x] IP质量与25端口检测(含IPV4和IPV6)--本脚本独创,感谢互联网提供的查询资源
  • [x] speedtest测速--使用自写ecsspeed仓库,自动更新测速服务器ID,一劳永逸解决老是要手动更新测速ID的问题
  • [ ] 端口检测(检测是否被墙)--由fscarmen的PR以及本人的技术思路提供 - 待修复

友链

测评频道

https://t.me/vps_reviews

自动更新测速服务器节点列表的网络基准测试脚本

https://github.com/spiritLHLS/ecsspeed

脚本概况

主界面:

图片

选项1融合怪完全体:

图片图片图片图片图片图片图片

选项6原创区:

图片

',75),n=[p];function o(r,c,i,h,b,d){return a(),e("div",null,n)}const g=s(l,[["render",o]]);export{C as __pageData,g as default}; +import{_ as s,v as a,b as e,R as t}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case2.md","filePath":"case/case2.md","lastUpdated":1691741224000}'),l={name:"case/case2.md"},p=t('

仓库

https://github.com/spiritLHLS/ecs

Hits

融合怪测评脚本

支持系统:

Ubuntu 18+, Debian 8+, Centos 7+, Fedora 33+, Almalinux 8.5+, OracleLinux 8+, RockyLinux 8+, AstraLinux CE, Arch

半支持系统:

FreeBSD(前提已执行pkg install -y curl bash),Armbian

Armbian系统部分检测和测试暂不支持,部分会编码错误

FreeBSD系统的硬盘测试和CPU测试目前是半残的,有些东西显示有问题

FreeBSD系统的分享链接的预处理部分sed命令存在问题未删除部分无效内容

支持架构:

基本都支持,无论是本地服务器还是云端服务器

支持地域:

能连得上网都支持

部分服务器运行测试有各类bug一键修复后再测试

一键修复各种系统原生bug的仓库:

https://github.com/spiritLHLS/one-click-installation-script

如若还有系统bug请到上面仓库的issues反映,脚本原生BUG该仓库issues反映

融合怪命令

交互形式

bash
curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

bash
curl -L https://github.com/spiritLHLS/ecs/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

bash <(wget -qO- bash.spiritlhl.net/ecs)

无交互形式

bash
echo 1 | bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh)

bash
echo 1 | bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecs/raw/main/ecs.sh)

echo 1 | bash <(wget -qO- bash.spiritlhl.net/ecs)

IP质量检测

  • IP质量检测,含多家数据库查询,含黑名单查询
  • IPV4IPV6 检测,含ASN和地址查询
  • 含25端口的邮箱可达性检测,如果某个邮箱可达,则可搭建邮局
bash
bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/za/-/raw/main/qzcheck.sh)

bash
bash <(wget -qO- bash.spiritlhl.net/ecs-ipcheck)

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/ecs/main/qzcheck.sh)

融合怪说明

融合怪脚本最好在 /root 路径下执行,避免各种奇奇怪怪的问题

融合怪的执行结果保存在当前路径下的test_result.txt中,可先退出SSH登录后续再查看文件

融合怪的完整版和精简版运行完毕会自动上传结果到pastebin并回传分享链接,如果测一半想要退出,那么按Ctrl+C同时按下可终止测试,此时会自动退出删除残余文件

有时候想要测一些配置极其拉跨的机器时,推荐使用screen命令挂起执行选项1的融合怪,然后你可以关闭SSH连接,等待一段时间后使用cat test_result.txt查看运行的实时状况,这样可以避免IO或者CPU过于垃圾导致的测试过程中的SSH连接中断,就不会测一半啥都没了,假如screen中显示乱码,也没问题,结果是不带乱码的

最烂机器测试的例子(跑了47分钟一样测完):跳转

使用CDN加速已支持国内国外服务器测试,但国内受CDN连通性或国内机器带宽大小的限制加载可能会慢很多

融合怪测试说明以及部分测试结果的内容解释(初次使用推荐查看):

除了已标注的原创内容,其余所有分区均为借鉴并进行优化修改后的版本,与原始对应的脚本不一样

所有检测都有考虑过使用并行测试,并在部分环节使用了该技术,比正常的顺序执行优化了2~3分钟,属于是独有的,暂无哪家的测试有同类技术

系统基础信息测试融合了多家还有我自己修补的部分检测(systl、NAT类型检测,并发ASN检测等),应该是目前最全面最通用的了

CPU测试使用sysbench测试得分,不是yabs的gb4或gb5,前者只是简单的计算质数测试速度快,后者geekbench是综合测试系统算加权得分,不是同一种东西,别互相比较了,没有可比性

CPU测试单核得分在5000以上的可以算第一梯队,4000到5000分算第二梯队,每1000分算一档,自己看看自己在哪个档位吧

AMD的7950x单核满血性能得分在6500左右,AMD的5950x单核满血性能得分5700左右,Intel普通的CPU(E5之类的)在1000~800左右,低于500的单核CPU可以算是比较烂的了

IO测试收录了两种,来源于lemonbench的dd磁盘测试和yabs的fio磁盘测试,综合来看会比较好,前者可能误差偏大但测试速度快无硬盘大小限制,后者真实一点但测试速度慢有硬盘以及内存大小限制

流媒体测试收录了两种,一个是go编译的二进制文件和一个shell脚本版本,二者各有优劣,互相对比看即可

tiktok测试有superbench和lmc999两种版本,哪个失效了随时可能更新为其中一种版本,以最新的脚本为准

回程路由测试选用的GO编译的二进制版本和朋友PR的版本,本人做了优化适配多个IP列表以及融合部分查询

IP质量检测纯原创,如有bug或者更多数据库来源可在issues中提出,日常看IP2Location数据库的IP类型即可,其中的25端口邮箱可达,则可搭建邮局

融合怪的IP质量检测是简化过的,没有查询Cloudflare的威胁得分,个人原创区的IP质量检测才是完整版(或者仓库说明中列出的那个IP质量检测的命令也是完整版)

三网测速使用自写的测速脚本,尽量使用最新节点最新组件进行测速,且有备用go版本测速,做到自更新测速节点列表,自适应系统环境测速

其他第三方脚本归纳到了第三方脚本区,里面有同类型脚本不同作者的各种竞品脚本,如果融合怪不能使你满意或者有错误,可以看看那部分

原创脚本区是个人原创的部分,有事没事也可以看看,可能会更新某些偏门或者独到的脚本

VPS测试,VPS测速,VPS综合性能测试,VPS回程线路测试,VPS流媒体测试等所有测试融合的脚本,本脚本能融合的都融合了

融合怪功能

  • [x] 自由组合测试方向和单项测试以及合集收录第三方脚本
  • [x] 基础信息查询--感谢bench.shsuperbench.shyabslemonbench开源,本人整理修改优化,同原版均不一致
  • [x] CPU测试--感谢lemonbench开源,本人整理修改优化
  • [x] 内存测试--感谢lemonbench开源,本人整理修改优化
  • [x] 磁盘dd读写测试--感谢lemonbench开源,本人整理修改优化
  • [x] 硬盘fio读写测试--感谢yabs开源,本人整理修改优化
  • [x] 御三家流媒体解锁测试--感谢sjlleo的二进制文件,本人修改整理优化
  • [x] 常用流媒体解锁测试--感谢RegionRestrictionCheck开源,本人整理修改优化
  • [x] Tiktok解锁--感谢TikTokCheck开源,本人整理修改优化
  • [x] 三网回程以及路由延迟--感谢zhanghanyun/backtrace开源,本人整理修改
  • [x] 回程路由以及带宽类型检测(商宽/家宽/数据中心)--由fscarmen的PR以及本人的技术思路提供,本人后续修改优化
  • [x] IP质量与25端口检测(含IPV4和IPV6)--本脚本独创,感谢互联网提供的查询资源
  • [x] speedtest测速--使用自写ecsspeed仓库,自动更新测速服务器ID,一劳永逸解决老是要手动更新测速ID的问题
  • [ ] 端口检测(检测是否被墙)--由fscarmen的PR以及本人的技术思路提供 - 待修复

友链

测评频道

https://t.me/vps_reviews

自动更新测速服务器节点列表的网络基准测试脚本

https://github.com/spiritLHLS/ecsspeed

脚本概况

主界面:

图片

选项1融合怪完全体:

图片图片图片图片图片图片图片

选项6原创区:

图片

',75),n=[p];function o(r,c,i,h,b,d){return a(),e("div",null,n)}const g=s(l,[["render",o]]);export{C as __pageData,g as default}; diff --git a/assets/case_case2.md.48820ddb.lean.js b/assets/case_case2.md.1b638414.lean.js similarity index 99% rename from assets/case_case2.md.48820ddb.lean.js rename to assets/case_case2.md.1b638414.lean.js index e9a2864d84..22eb828c7f 100644 --- a/assets/case_case2.md.48820ddb.lean.js +++ b/assets/case_case2.md.1b638414.lean.js @@ -1 +1 @@ -import{_ as s,v as a,b as e,R as t}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case2.md","filePath":"case/case2.md","lastUpdated":1691593150000}'),l={name:"case/case2.md"},p=t('

仓库

https://github.com/spiritLHLS/ecs

Hits

融合怪测评脚本

支持系统:

Ubuntu 18+, Debian 8+, Centos 7+, Fedora 33+, Almalinux 8.5+, OracleLinux 8+, RockyLinux 8+, AstraLinux CE, Arch

半支持系统:

FreeBSD(前提已执行pkg install -y curl bash),Armbian

Armbian系统部分检测和测试暂不支持,部分会编码错误

FreeBSD系统的硬盘测试和CPU测试目前是半残的,有些东西显示有问题

FreeBSD系统的分享链接的预处理部分sed命令存在问题未删除部分无效内容

支持架构:

基本都支持,无论是本地服务器还是云端服务器

支持地域:

能连得上网都支持

部分服务器运行测试有各类bug一键修复后再测试

一键修复各种系统原生bug的仓库:

https://github.com/spiritLHLS/one-click-installation-script

如若还有系统bug请到上面仓库的issues反映,脚本原生BUG该仓库issues反映

融合怪命令

交互形式

bash
curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

bash
curl -L https://github.com/spiritLHLS/ecs/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

bash <(wget -qO- bash.spiritlhl.net/ecs)

无交互形式

bash
echo 1 | bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh)

bash
echo 1 | bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecs/raw/main/ecs.sh)

echo 1 | bash <(wget -qO- bash.spiritlhl.net/ecs)

IP质量检测

  • IP质量检测,含多家数据库查询,含黑名单查询
  • IPV4IPV6 检测,含ASN和地址查询
  • 含25端口的邮箱可达性检测,如果某个邮箱可达,则可搭建邮局
bash
bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/za/-/raw/main/qzcheck.sh)

bash
bash <(wget -qO- bash.spiritlhl.net/ecs-ipcheck)

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/ecs/main/qzcheck.sh)

融合怪说明

融合怪脚本最好在 /root 路径下执行,避免各种奇奇怪怪的问题

融合怪的执行结果保存在当前路径下的test_result.txt中,可先退出SSH登录后续再查看文件

融合怪的完整版和精简版运行完毕会自动上传结果到pastebin并回传分享链接,如果测一半想要退出,那么按Ctrl+C同时按下可终止测试,此时会自动退出删除残余文件

有时候想要测一些配置极其拉跨的机器时,推荐使用screen命令挂起执行选项1的融合怪,然后你可以关闭SSH连接,等待一段时间后使用cat test_result.txt查看运行的实时状况,这样可以避免IO或者CPU过于垃圾导致的测试过程中的SSH连接中断,就不会测一半啥都没了,假如screen中显示乱码,也没问题,结果是不带乱码的

最烂机器测试的例子(跑了47分钟一样测完):跳转

使用CDN加速已支持国内国外服务器测试,但国内受CDN连通性或国内机器带宽大小的限制加载可能会慢很多

融合怪测试说明以及部分测试结果的内容解释(初次使用推荐查看):

除了已标注的原创内容,其余所有分区均为借鉴并进行优化修改后的版本,与原始对应的脚本不一样

所有检测都有考虑过使用并行测试,并在部分环节使用了该技术,比正常的顺序执行优化了2~3分钟,属于是独有的,暂无哪家的测试有同类技术

系统基础信息测试融合了多家还有我自己修补的部分检测(systl、NAT类型检测,并发ASN检测等),应该是目前最全面最通用的了

CPU测试使用sysbench测试得分,不是yabs的gb4或gb5,前者只是简单的计算质数测试速度快,后者geekbench是综合测试系统算加权得分,不是同一种东西,别互相比较了,没有可比性

CPU测试单核得分在5000以上的可以算第一梯队,4000到5000分算第二梯队,每1000分算一档,自己看看自己在哪个档位吧

AMD的7950x单核满血性能得分在6500左右,AMD的5950x单核满血性能得分5700左右,Intel普通的CPU(E5之类的)在1000~800左右,低于500的单核CPU可以算是比较烂的了

IO测试收录了两种,来源于lemonbench的dd磁盘测试和yabs的fio磁盘测试,综合来看会比较好,前者可能误差偏大但测试速度快无硬盘大小限制,后者真实一点但测试速度慢有硬盘以及内存大小限制

流媒体测试收录了两种,一个是go编译的二进制文件和一个shell脚本版本,二者各有优劣,互相对比看即可

tiktok测试有superbench和lmc999两种版本,哪个失效了随时可能更新为其中一种版本,以最新的脚本为准

回程路由测试选用的GO编译的二进制版本和朋友PR的版本,本人做了优化适配多个IP列表以及融合部分查询

IP质量检测纯原创,如有bug或者更多数据库来源可在issues中提出,日常看IP2Location数据库的IP类型即可,其中的25端口邮箱可达,则可搭建邮局

融合怪的IP质量检测是简化过的,没有查询Cloudflare的威胁得分,个人原创区的IP质量检测才是完整版(或者仓库说明中列出的那个IP质量检测的命令也是完整版)

三网测速使用自写的测速脚本,尽量使用最新节点最新组件进行测速,且有备用go版本测速,做到自更新测速节点列表,自适应系统环境测速

其他第三方脚本归纳到了第三方脚本区,里面有同类型脚本不同作者的各种竞品脚本,如果融合怪不能使你满意或者有错误,可以看看那部分

原创脚本区是个人原创的部分,有事没事也可以看看,可能会更新某些偏门或者独到的脚本

VPS测试,VPS测速,VPS综合性能测试,VPS回程线路测试,VPS流媒体测试等所有测试融合的脚本,本脚本能融合的都融合了

融合怪功能

  • [x] 自由组合测试方向和单项测试以及合集收录第三方脚本
  • [x] 基础信息查询--感谢bench.shsuperbench.shyabslemonbench开源,本人整理修改优化,同原版均不一致
  • [x] CPU测试--感谢lemonbench开源,本人整理修改优化
  • [x] 内存测试--感谢lemonbench开源,本人整理修改优化
  • [x] 磁盘dd读写测试--感谢lemonbench开源,本人整理修改优化
  • [x] 硬盘fio读写测试--感谢yabs开源,本人整理修改优化
  • [x] 御三家流媒体解锁测试--感谢sjlleo的二进制文件,本人修改整理优化
  • [x] 常用流媒体解锁测试--感谢RegionRestrictionCheck开源,本人整理修改优化
  • [x] Tiktok解锁--感谢TikTokCheck开源,本人整理修改优化
  • [x] 三网回程以及路由延迟--感谢zhanghanyun/backtrace开源,本人整理修改
  • [x] 回程路由以及带宽类型检测(商宽/家宽/数据中心)--由fscarmen的PR以及本人的技术思路提供,本人后续修改优化
  • [x] IP质量与25端口检测(含IPV4和IPV6)--本脚本独创,感谢互联网提供的查询资源
  • [x] speedtest测速--使用自写ecsspeed仓库,自动更新测速服务器ID,一劳永逸解决老是要手动更新测速ID的问题
  • [ ] 端口检测(检测是否被墙)--由fscarmen的PR以及本人的技术思路提供 - 待修复

友链

测评频道

https://t.me/vps_reviews

自动更新测速服务器节点列表的网络基准测试脚本

https://github.com/spiritLHLS/ecsspeed

脚本概况

主界面:

图片

选项1融合怪完全体:

图片图片图片图片图片图片图片

选项6原创区:

图片

',75),n=[p];function o(r,c,i,h,b,d){return a(),e("div",null,n)}const g=s(l,[["render",o]]);export{C as __pageData,g as default}; +import{_ as s,v as a,b as e,R as t}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case2.md","filePath":"case/case2.md","lastUpdated":1691741224000}'),l={name:"case/case2.md"},p=t('

仓库

https://github.com/spiritLHLS/ecs

Hits

融合怪测评脚本

支持系统:

Ubuntu 18+, Debian 8+, Centos 7+, Fedora 33+, Almalinux 8.5+, OracleLinux 8+, RockyLinux 8+, AstraLinux CE, Arch

半支持系统:

FreeBSD(前提已执行pkg install -y curl bash),Armbian

Armbian系统部分检测和测试暂不支持,部分会编码错误

FreeBSD系统的硬盘测试和CPU测试目前是半残的,有些东西显示有问题

FreeBSD系统的分享链接的预处理部分sed命令存在问题未删除部分无效内容

支持架构:

基本都支持,无论是本地服务器还是云端服务器

支持地域:

能连得上网都支持

部分服务器运行测试有各类bug一键修复后再测试

一键修复各种系统原生bug的仓库:

https://github.com/spiritLHLS/one-click-installation-script

如若还有系统bug请到上面仓库的issues反映,脚本原生BUG该仓库issues反映

融合怪命令

交互形式

bash
curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

bash
curl -L https://github.com/spiritLHLS/ecs/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

bash <(wget -qO- bash.spiritlhl.net/ecs)

无交互形式

bash
echo 1 | bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh)

bash
echo 1 | bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecs/raw/main/ecs.sh)

echo 1 | bash <(wget -qO- bash.spiritlhl.net/ecs)

IP质量检测

  • IP质量检测,含多家数据库查询,含黑名单查询
  • IPV4IPV6 检测,含ASN和地址查询
  • 含25端口的邮箱可达性检测,如果某个邮箱可达,则可搭建邮局
bash
bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/za/-/raw/main/qzcheck.sh)

bash
bash <(wget -qO- bash.spiritlhl.net/ecs-ipcheck)

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/ecs/main/qzcheck.sh)

融合怪说明

融合怪脚本最好在 /root 路径下执行,避免各种奇奇怪怪的问题

融合怪的执行结果保存在当前路径下的test_result.txt中,可先退出SSH登录后续再查看文件

融合怪的完整版和精简版运行完毕会自动上传结果到pastebin并回传分享链接,如果测一半想要退出,那么按Ctrl+C同时按下可终止测试,此时会自动退出删除残余文件

有时候想要测一些配置极其拉跨的机器时,推荐使用screen命令挂起执行选项1的融合怪,然后你可以关闭SSH连接,等待一段时间后使用cat test_result.txt查看运行的实时状况,这样可以避免IO或者CPU过于垃圾导致的测试过程中的SSH连接中断,就不会测一半啥都没了,假如screen中显示乱码,也没问题,结果是不带乱码的

最烂机器测试的例子(跑了47分钟一样测完):跳转

使用CDN加速已支持国内国外服务器测试,但国内受CDN连通性或国内机器带宽大小的限制加载可能会慢很多

融合怪测试说明以及部分测试结果的内容解释(初次使用推荐查看):

除了已标注的原创内容,其余所有分区均为借鉴并进行优化修改后的版本,与原始对应的脚本不一样

所有检测都有考虑过使用并行测试,并在部分环节使用了该技术,比正常的顺序执行优化了2~3分钟,属于是独有的,暂无哪家的测试有同类技术

系统基础信息测试融合了多家还有我自己修补的部分检测(systl、NAT类型检测,并发ASN检测等),应该是目前最全面最通用的了

CPU测试使用sysbench测试得分,不是yabs的gb4或gb5,前者只是简单的计算质数测试速度快,后者geekbench是综合测试系统算加权得分,不是同一种东西,别互相比较了,没有可比性

CPU测试单核得分在5000以上的可以算第一梯队,4000到5000分算第二梯队,每1000分算一档,自己看看自己在哪个档位吧

AMD的7950x单核满血性能得分在6500左右,AMD的5950x单核满血性能得分5700左右,Intel普通的CPU(E5之类的)在1000~800左右,低于500的单核CPU可以算是比较烂的了

IO测试收录了两种,来源于lemonbench的dd磁盘测试和yabs的fio磁盘测试,综合来看会比较好,前者可能误差偏大但测试速度快无硬盘大小限制,后者真实一点但测试速度慢有硬盘以及内存大小限制

流媒体测试收录了两种,一个是go编译的二进制文件和一个shell脚本版本,二者各有优劣,互相对比看即可

tiktok测试有superbench和lmc999两种版本,哪个失效了随时可能更新为其中一种版本,以最新的脚本为准

回程路由测试选用的GO编译的二进制版本和朋友PR的版本,本人做了优化适配多个IP列表以及融合部分查询

IP质量检测纯原创,如有bug或者更多数据库来源可在issues中提出,日常看IP2Location数据库的IP类型即可,其中的25端口邮箱可达,则可搭建邮局

融合怪的IP质量检测是简化过的,没有查询Cloudflare的威胁得分,个人原创区的IP质量检测才是完整版(或者仓库说明中列出的那个IP质量检测的命令也是完整版)

三网测速使用自写的测速脚本,尽量使用最新节点最新组件进行测速,且有备用go版本测速,做到自更新测速节点列表,自适应系统环境测速

其他第三方脚本归纳到了第三方脚本区,里面有同类型脚本不同作者的各种竞品脚本,如果融合怪不能使你满意或者有错误,可以看看那部分

原创脚本区是个人原创的部分,有事没事也可以看看,可能会更新某些偏门或者独到的脚本

VPS测试,VPS测速,VPS综合性能测试,VPS回程线路测试,VPS流媒体测试等所有测试融合的脚本,本脚本能融合的都融合了

融合怪功能

  • [x] 自由组合测试方向和单项测试以及合集收录第三方脚本
  • [x] 基础信息查询--感谢bench.shsuperbench.shyabslemonbench开源,本人整理修改优化,同原版均不一致
  • [x] CPU测试--感谢lemonbench开源,本人整理修改优化
  • [x] 内存测试--感谢lemonbench开源,本人整理修改优化
  • [x] 磁盘dd读写测试--感谢lemonbench开源,本人整理修改优化
  • [x] 硬盘fio读写测试--感谢yabs开源,本人整理修改优化
  • [x] 御三家流媒体解锁测试--感谢sjlleo的二进制文件,本人修改整理优化
  • [x] 常用流媒体解锁测试--感谢RegionRestrictionCheck开源,本人整理修改优化
  • [x] Tiktok解锁--感谢TikTokCheck开源,本人整理修改优化
  • [x] 三网回程以及路由延迟--感谢zhanghanyun/backtrace开源,本人整理修改
  • [x] 回程路由以及带宽类型检测(商宽/家宽/数据中心)--由fscarmen的PR以及本人的技术思路提供,本人后续修改优化
  • [x] IP质量与25端口检测(含IPV4和IPV6)--本脚本独创,感谢互联网提供的查询资源
  • [x] speedtest测速--使用自写ecsspeed仓库,自动更新测速服务器ID,一劳永逸解决老是要手动更新测速ID的问题
  • [ ] 端口检测(检测是否被墙)--由fscarmen的PR以及本人的技术思路提供 - 待修复

友链

测评频道

https://t.me/vps_reviews

自动更新测速服务器节点列表的网络基准测试脚本

https://github.com/spiritLHLS/ecsspeed

脚本概况

主界面:

图片

选项1融合怪完全体:

图片图片图片图片图片图片图片

选项6原创区:

图片

',75),n=[p];function o(r,c,i,h,b,d){return a(),e("div",null,n)}const g=s(l,[["render",o]]);export{C as __pageData,g as default}; diff --git a/assets/case_case3.md.35ddbe52.js b/assets/case_case3.md.a369e2f8.js similarity index 99% rename from assets/case_case3.md.35ddbe52.js rename to assets/case_case3.md.a369e2f8.js index dd02517174..c5d72c454e 100644 --- a/assets/case_case3.md.35ddbe52.js +++ b/assets/case_case3.md.a369e2f8.js @@ -1 +1 @@ -import{_ as e,v as s,b as t,R as a}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case3.md","filePath":"case/case3.md","lastUpdated":1691593150000}'),p={name:"case/case3.md"},n=a('

仓库

https://github.com/spiritLHLS/ecsspeed

ecsspeed

自动更新测速服务器节点列表的网络基准测试脚本

Network benchmarking script that automatically updates the list of speed measurement server nodes

说明

所有组件以及数据均来源于平台或已有的开源项目,无非开源部分,放心食用

对应 speedtest.net 的自动更新测速服务器ID的测速脚本

日常推荐使用

bash <(wget -qO- bash.spiritlhl.net/ecs-net)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-net.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-net.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表大概每7天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

当官方CLI安装失败(如罕见的架构或者官方网站访问失败时)自动使用 speedtest-go 作为替代品测速

对应 speedtest.cn 的自动更新测速服务器ID的测速脚本

单线程测速

bash <(wget -qO- bash.spiritlhl.net/ecs-cn)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-cn.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-cn.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表每天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

自动更新测试服务器列表的三网延迟测试脚本

平均耗时10~15秒

bash <(wget -qO- bash.spiritlhl.net/ecs-ping)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-ping.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-ping.sh)

效果图

图片

功能

  • [x] 自动抓取 speedtest.cn 节点信息结合已有信息去重并更新列表数据
  • [x] 自动抓取 speedtest.net 节点信息结合已有信息去重并更新列表数据
  • [x] 对应 speedtest.net 的自动更新测速服务器列表的测速脚本
  • [x] 对应 speedtest.cn 的自动更新测速服务器列表的测速脚本
  • [x] 自动更新测试服务器列表的三网Ping值测试脚本

.cn数据

仓库:https://github.com/spiritLHLS/speedtest.cn-CN-ID

.net数据

仓库:https://github.com/spiritLHLS/speedtest.net-CN-ID

',43),c=[n];function i(r,l,o,h,d,g){return s(),t("div",null,c)}const m=e(p,[["render",i]]);export{u as __pageData,m as default}; +import{_ as e,v as s,b as t,R as a}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case3.md","filePath":"case/case3.md","lastUpdated":1691741224000}'),p={name:"case/case3.md"},n=a('

仓库

https://github.com/spiritLHLS/ecsspeed

ecsspeed

自动更新测速服务器节点列表的网络基准测试脚本

Network benchmarking script that automatically updates the list of speed measurement server nodes

说明

所有组件以及数据均来源于平台或已有的开源项目,无非开源部分,放心食用

对应 speedtest.net 的自动更新测速服务器ID的测速脚本

日常推荐使用

bash <(wget -qO- bash.spiritlhl.net/ecs-net)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-net.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-net.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表大概每7天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

当官方CLI安装失败(如罕见的架构或者官方网站访问失败时)自动使用 speedtest-go 作为替代品测速

对应 speedtest.cn 的自动更新测速服务器ID的测速脚本

单线程测速

bash <(wget -qO- bash.spiritlhl.net/ecs-cn)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-cn.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-cn.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表每天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

自动更新测试服务器列表的三网延迟测试脚本

平均耗时10~15秒

bash <(wget -qO- bash.spiritlhl.net/ecs-ping)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-ping.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-ping.sh)

效果图

图片

功能

  • [x] 自动抓取 speedtest.cn 节点信息结合已有信息去重并更新列表数据
  • [x] 自动抓取 speedtest.net 节点信息结合已有信息去重并更新列表数据
  • [x] 对应 speedtest.net 的自动更新测速服务器列表的测速脚本
  • [x] 对应 speedtest.cn 的自动更新测速服务器列表的测速脚本
  • [x] 自动更新测试服务器列表的三网Ping值测试脚本

.cn数据

仓库:https://github.com/spiritLHLS/speedtest.cn-CN-ID

.net数据

仓库:https://github.com/spiritLHLS/speedtest.net-CN-ID

',43),c=[n];function i(r,l,o,h,d,g){return s(),t("div",null,c)}const m=e(p,[["render",i]]);export{u as __pageData,m as default}; diff --git a/assets/case_case3.md.35ddbe52.lean.js b/assets/case_case3.md.a369e2f8.lean.js similarity index 99% rename from assets/case_case3.md.35ddbe52.lean.js rename to assets/case_case3.md.a369e2f8.lean.js index dd02517174..c5d72c454e 100644 --- a/assets/case_case3.md.35ddbe52.lean.js +++ b/assets/case_case3.md.a369e2f8.lean.js @@ -1 +1 @@ -import{_ as e,v as s,b as t,R as a}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case3.md","filePath":"case/case3.md","lastUpdated":1691593150000}'),p={name:"case/case3.md"},n=a('

仓库

https://github.com/spiritLHLS/ecsspeed

ecsspeed

自动更新测速服务器节点列表的网络基准测试脚本

Network benchmarking script that automatically updates the list of speed measurement server nodes

说明

所有组件以及数据均来源于平台或已有的开源项目,无非开源部分,放心食用

对应 speedtest.net 的自动更新测速服务器ID的测速脚本

日常推荐使用

bash <(wget -qO- bash.spiritlhl.net/ecs-net)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-net.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-net.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表大概每7天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

当官方CLI安装失败(如罕见的架构或者官方网站访问失败时)自动使用 speedtest-go 作为替代品测速

对应 speedtest.cn 的自动更新测速服务器ID的测速脚本

单线程测速

bash <(wget -qO- bash.spiritlhl.net/ecs-cn)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-cn.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-cn.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表每天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

自动更新测试服务器列表的三网延迟测试脚本

平均耗时10~15秒

bash <(wget -qO- bash.spiritlhl.net/ecs-ping)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-ping.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-ping.sh)

效果图

图片

功能

  • [x] 自动抓取 speedtest.cn 节点信息结合已有信息去重并更新列表数据
  • [x] 自动抓取 speedtest.net 节点信息结合已有信息去重并更新列表数据
  • [x] 对应 speedtest.net 的自动更新测速服务器列表的测速脚本
  • [x] 对应 speedtest.cn 的自动更新测速服务器列表的测速脚本
  • [x] 自动更新测试服务器列表的三网Ping值测试脚本

.cn数据

仓库:https://github.com/spiritLHLS/speedtest.cn-CN-ID

.net数据

仓库:https://github.com/spiritLHLS/speedtest.net-CN-ID

',43),c=[n];function i(r,l,o,h,d,g){return s(),t("div",null,c)}const m=e(p,[["render",i]]);export{u as __pageData,m as default}; +import{_ as e,v as s,b as t,R as a}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case3.md","filePath":"case/case3.md","lastUpdated":1691741224000}'),p={name:"case/case3.md"},n=a('

仓库

https://github.com/spiritLHLS/ecsspeed

ecsspeed

自动更新测速服务器节点列表的网络基准测试脚本

Network benchmarking script that automatically updates the list of speed measurement server nodes

说明

所有组件以及数据均来源于平台或已有的开源项目,无非开源部分,放心食用

对应 speedtest.net 的自动更新测速服务器ID的测速脚本

日常推荐使用

bash <(wget -qO- bash.spiritlhl.net/ecs-net)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-net.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-net.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表大概每7天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

当官方CLI安装失败(如罕见的架构或者官方网站访问失败时)自动使用 speedtest-go 作为替代品测速

对应 speedtest.cn 的自动更新测速服务器ID的测速脚本

单线程测速

bash <(wget -qO- bash.spiritlhl.net/ecs-cn)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-cn.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-cn.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表每天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

自动更新测试服务器列表的三网延迟测试脚本

平均耗时10~15秒

bash <(wget -qO- bash.spiritlhl.net/ecs-ping)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-ping.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-ping.sh)

效果图

图片

功能

  • [x] 自动抓取 speedtest.cn 节点信息结合已有信息去重并更新列表数据
  • [x] 自动抓取 speedtest.net 节点信息结合已有信息去重并更新列表数据
  • [x] 对应 speedtest.net 的自动更新测速服务器列表的测速脚本
  • [x] 对应 speedtest.cn 的自动更新测速服务器列表的测速脚本
  • [x] 自动更新测试服务器列表的三网Ping值测试脚本

.cn数据

仓库:https://github.com/spiritLHLS/speedtest.cn-CN-ID

.net数据

仓库:https://github.com/spiritLHLS/speedtest.net-CN-ID

',43),c=[n];function i(r,l,o,h,d,g){return s(),t("div",null,c)}const m=e(p,[["render",i]]);export{u as __pageData,m as default}; diff --git a/assets/case_case4.md.064faf06.js b/assets/case_case4.md.8c31ef7b.js similarity index 98% rename from assets/case_case4.md.064faf06.js rename to assets/case_case4.md.8c31ef7b.js index 2058467b87..145e3495fc 100644 --- a/assets/case_case4.md.064faf06.js +++ b/assets/case_case4.md.8c31ef7b.js @@ -1 +1 @@ -import{_ as e,v as a,b as s,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case4.md","filePath":"case/case4.md","lastUpdated":1691593150000}'),i={name:"case/case4.md"},l=t('

仓库

https://github.com/spiritLHLS/Oracle-server-keep-alive-script

Oracle-server-keep-alive-script

实际不止可以在甲骨文服务器上使用,也可以使用在任意ARM或X86_64架构的系统,用作资源占用

甲骨文服务器保活脚本

适配系统:已在Ubuntu 20+,Debian 10+, Centos 7+, Oracle linux 8+,AlmaLinux 8.5+

上述系统验证无问题,别的主流系统应该也没有问题

可选占用:CPU,内存,带宽

安装完毕后如果有问题请卸载脚本反馈问题(重复卸载也没问题)

所有资源(除了CPU)可选默认配置则动态占用,实时调整,避免服务器有别的任何资源已经超过限额了仍然再占用资源

为避免GitHub的CDN抽风加载不了新内容,所有新更新已使用Gitlab仓库

由于speedtest-go的release依赖于GitHub,所以请检查 www.githubstatus.com ,有问题时无法安装带宽占用

基础开发完毕,测试中,有问题请在issues中反馈

选项1安装,选项2卸载,选项3更新安装引导脚本,选项4退出脚本

安装过程中无脑回车则全部可选的占用都占用,不需要什么占用输入n再回车

如果选择带宽占用,会询问使用speedtest-go占用还是使用wget占用,按照提示进行选择即可

有询问是否需要带宽占用的参数自定义,这时候默认选项就是n,回车就使用默认配置,输入y再回车则需要按照提示自定义参数

curl -L https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh -o oalive.sh && chmod +x oalive.sh && bash oalive.sh

bash oalive.sh

bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh)

说明

  • 提供两种CPU占用模式:DD模拟占用和科学计算模式,用户可以自由选择,占用范围设置在15%至25%之间,更推荐DD模拟占用
  • DD模拟占用在守护进程中设置了CPU占用的最高限制
  • 默认情况下,CPU占用设置为25%最高值,计算方法是核数乘以12%,如果计算结果低于25%,则设置为该值;如果计算结果高于25%,则按照计算结果的比例进行设置。
  • 内存占用设置为占用总内存的20%,占用时间为300秒,休息时间为300秒。
  • 每300秒检测一次内存占用情况,并根据需要动态调整占用大小。如果内存占用已经大于20%,则不增加占用。
  • 在占用过程中,使用守护进程和开机自启服务,以确保占用任务持续且有效。
  • 默认选项的带宽占用每45分钟下载一次大小在1G至10G之间的文件,只进行下载而不保存。在下载过程中会占用硬盘空间,但在下载完成后会自动释放。
  • 默认选项的带宽占用动态调整实际下载的带宽/速率,限制每次下载的最长时长为6分钟。在每次下载之前,会测试最大可用带宽,并根据实时结果将下载速率设置为30%的带宽。
  • 带宽占用测试使用了speedtest-cli和speedtest-go两种工具,以防其中之一不可用时使用第二种工具,用户可以自定义设置带宽占用,此时详见设置提示。
  • 提供一键卸载所有占用服务的选项,卸载将删除所有脚本、服务、任务、守护进程和开机自启设置。
  • 提供一键检查更新的功能,更新范围仅限于脚本更新。请在更新后重新设置占用服务
  • 对所有进程执行增加唯一性检测,避免重复运行,使用PID文件进行判断。

如若不希望一键的,希望自定义设置时间的,请查看README_CRON.md自行设置定时任务

',25),r=[l];function p(o,c,n,h,d,u){return a(),s("div",null,r)}const v=e(i,[["render",p]]);export{m as __pageData,v as default}; +import{_ as e,v as a,b as s,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case4.md","filePath":"case/case4.md","lastUpdated":1691741224000}'),i={name:"case/case4.md"},l=t('

仓库

https://github.com/spiritLHLS/Oracle-server-keep-alive-script

Oracle-server-keep-alive-script

实际不止可以在甲骨文服务器上使用,也可以使用在任意ARM或X86_64架构的系统,用作资源占用

甲骨文服务器保活脚本

适配系统:已在Ubuntu 20+,Debian 10+, Centos 7+, Oracle linux 8+,AlmaLinux 8.5+

上述系统验证无问题,别的主流系统应该也没有问题

可选占用:CPU,内存,带宽

安装完毕后如果有问题请卸载脚本反馈问题(重复卸载也没问题)

所有资源(除了CPU)可选默认配置则动态占用,实时调整,避免服务器有别的任何资源已经超过限额了仍然再占用资源

为避免GitHub的CDN抽风加载不了新内容,所有新更新已使用Gitlab仓库

由于speedtest-go的release依赖于GitHub,所以请检查 www.githubstatus.com ,有问题时无法安装带宽占用

基础开发完毕,测试中,有问题请在issues中反馈

选项1安装,选项2卸载,选项3更新安装引导脚本,选项4退出脚本

安装过程中无脑回车则全部可选的占用都占用,不需要什么占用输入n再回车

如果选择带宽占用,会询问使用speedtest-go占用还是使用wget占用,按照提示进行选择即可

有询问是否需要带宽占用的参数自定义,这时候默认选项就是n,回车就使用默认配置,输入y再回车则需要按照提示自定义参数

curl -L https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh -o oalive.sh && chmod +x oalive.sh && bash oalive.sh

bash oalive.sh

bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh)

说明

  • 提供两种CPU占用模式:DD模拟占用和科学计算模式,用户可以自由选择,占用范围设置在15%至25%之间,更推荐DD模拟占用
  • DD模拟占用在守护进程中设置了CPU占用的最高限制
  • 默认情况下,CPU占用设置为25%最高值,计算方法是核数乘以12%,如果计算结果低于25%,则设置为该值;如果计算结果高于25%,则按照计算结果的比例进行设置。
  • 内存占用设置为占用总内存的20%,占用时间为300秒,休息时间为300秒。
  • 每300秒检测一次内存占用情况,并根据需要动态调整占用大小。如果内存占用已经大于20%,则不增加占用。
  • 在占用过程中,使用守护进程和开机自启服务,以确保占用任务持续且有效。
  • 默认选项的带宽占用每45分钟下载一次大小在1G至10G之间的文件,只进行下载而不保存。在下载过程中会占用硬盘空间,但在下载完成后会自动释放。
  • 默认选项的带宽占用动态调整实际下载的带宽/速率,限制每次下载的最长时长为6分钟。在每次下载之前,会测试最大可用带宽,并根据实时结果将下载速率设置为30%的带宽。
  • 带宽占用测试使用了speedtest-cli和speedtest-go两种工具,以防其中之一不可用时使用第二种工具,用户可以自定义设置带宽占用,此时详见设置提示。
  • 提供一键卸载所有占用服务的选项,卸载将删除所有脚本、服务、任务、守护进程和开机自启设置。
  • 提供一键检查更新的功能,更新范围仅限于脚本更新。请在更新后重新设置占用服务
  • 对所有进程执行增加唯一性检测,避免重复运行,使用PID文件进行判断。

如若不希望一键的,希望自定义设置时间的,请查看README_CRON.md自行设置定时任务

',25),r=[l];function p(o,c,n,h,d,u){return a(),s("div",null,r)}const v=e(i,[["render",p]]);export{m as __pageData,v as default}; diff --git a/assets/case_case4.md.064faf06.lean.js b/assets/case_case4.md.8c31ef7b.lean.js similarity index 98% rename from assets/case_case4.md.064faf06.lean.js rename to assets/case_case4.md.8c31ef7b.lean.js index 2058467b87..145e3495fc 100644 --- a/assets/case_case4.md.064faf06.lean.js +++ b/assets/case_case4.md.8c31ef7b.lean.js @@ -1 +1 @@ -import{_ as e,v as a,b as s,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case4.md","filePath":"case/case4.md","lastUpdated":1691593150000}'),i={name:"case/case4.md"},l=t('

仓库

https://github.com/spiritLHLS/Oracle-server-keep-alive-script

Oracle-server-keep-alive-script

实际不止可以在甲骨文服务器上使用,也可以使用在任意ARM或X86_64架构的系统,用作资源占用

甲骨文服务器保活脚本

适配系统:已在Ubuntu 20+,Debian 10+, Centos 7+, Oracle linux 8+,AlmaLinux 8.5+

上述系统验证无问题,别的主流系统应该也没有问题

可选占用:CPU,内存,带宽

安装完毕后如果有问题请卸载脚本反馈问题(重复卸载也没问题)

所有资源(除了CPU)可选默认配置则动态占用,实时调整,避免服务器有别的任何资源已经超过限额了仍然再占用资源

为避免GitHub的CDN抽风加载不了新内容,所有新更新已使用Gitlab仓库

由于speedtest-go的release依赖于GitHub,所以请检查 www.githubstatus.com ,有问题时无法安装带宽占用

基础开发完毕,测试中,有问题请在issues中反馈

选项1安装,选项2卸载,选项3更新安装引导脚本,选项4退出脚本

安装过程中无脑回车则全部可选的占用都占用,不需要什么占用输入n再回车

如果选择带宽占用,会询问使用speedtest-go占用还是使用wget占用,按照提示进行选择即可

有询问是否需要带宽占用的参数自定义,这时候默认选项就是n,回车就使用默认配置,输入y再回车则需要按照提示自定义参数

curl -L https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh -o oalive.sh && chmod +x oalive.sh && bash oalive.sh

bash oalive.sh

bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh)

说明

  • 提供两种CPU占用模式:DD模拟占用和科学计算模式,用户可以自由选择,占用范围设置在15%至25%之间,更推荐DD模拟占用
  • DD模拟占用在守护进程中设置了CPU占用的最高限制
  • 默认情况下,CPU占用设置为25%最高值,计算方法是核数乘以12%,如果计算结果低于25%,则设置为该值;如果计算结果高于25%,则按照计算结果的比例进行设置。
  • 内存占用设置为占用总内存的20%,占用时间为300秒,休息时间为300秒。
  • 每300秒检测一次内存占用情况,并根据需要动态调整占用大小。如果内存占用已经大于20%,则不增加占用。
  • 在占用过程中,使用守护进程和开机自启服务,以确保占用任务持续且有效。
  • 默认选项的带宽占用每45分钟下载一次大小在1G至10G之间的文件,只进行下载而不保存。在下载过程中会占用硬盘空间,但在下载完成后会自动释放。
  • 默认选项的带宽占用动态调整实际下载的带宽/速率,限制每次下载的最长时长为6分钟。在每次下载之前,会测试最大可用带宽,并根据实时结果将下载速率设置为30%的带宽。
  • 带宽占用测试使用了speedtest-cli和speedtest-go两种工具,以防其中之一不可用时使用第二种工具,用户可以自定义设置带宽占用,此时详见设置提示。
  • 提供一键卸载所有占用服务的选项,卸载将删除所有脚本、服务、任务、守护进程和开机自启设置。
  • 提供一键检查更新的功能,更新范围仅限于脚本更新。请在更新后重新设置占用服务
  • 对所有进程执行增加唯一性检测,避免重复运行,使用PID文件进行判断。

如若不希望一键的,希望自定义设置时间的,请查看README_CRON.md自行设置定时任务

',25),r=[l];function p(o,c,n,h,d,u){return a(),s("div",null,r)}const v=e(i,[["render",p]]);export{m as __pageData,v as default}; +import{_ as e,v as a,b as s,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case4.md","filePath":"case/case4.md","lastUpdated":1691741224000}'),i={name:"case/case4.md"},l=t('

仓库

https://github.com/spiritLHLS/Oracle-server-keep-alive-script

Oracle-server-keep-alive-script

实际不止可以在甲骨文服务器上使用,也可以使用在任意ARM或X86_64架构的系统,用作资源占用

甲骨文服务器保活脚本

适配系统:已在Ubuntu 20+,Debian 10+, Centos 7+, Oracle linux 8+,AlmaLinux 8.5+

上述系统验证无问题,别的主流系统应该也没有问题

可选占用:CPU,内存,带宽

安装完毕后如果有问题请卸载脚本反馈问题(重复卸载也没问题)

所有资源(除了CPU)可选默认配置则动态占用,实时调整,避免服务器有别的任何资源已经超过限额了仍然再占用资源

为避免GitHub的CDN抽风加载不了新内容,所有新更新已使用Gitlab仓库

由于speedtest-go的release依赖于GitHub,所以请检查 www.githubstatus.com ,有问题时无法安装带宽占用

基础开发完毕,测试中,有问题请在issues中反馈

选项1安装,选项2卸载,选项3更新安装引导脚本,选项4退出脚本

安装过程中无脑回车则全部可选的占用都占用,不需要什么占用输入n再回车

如果选择带宽占用,会询问使用speedtest-go占用还是使用wget占用,按照提示进行选择即可

有询问是否需要带宽占用的参数自定义,这时候默认选项就是n,回车就使用默认配置,输入y再回车则需要按照提示自定义参数

curl -L https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh -o oalive.sh && chmod +x oalive.sh && bash oalive.sh

bash oalive.sh

bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh)

说明

  • 提供两种CPU占用模式:DD模拟占用和科学计算模式,用户可以自由选择,占用范围设置在15%至25%之间,更推荐DD模拟占用
  • DD模拟占用在守护进程中设置了CPU占用的最高限制
  • 默认情况下,CPU占用设置为25%最高值,计算方法是核数乘以12%,如果计算结果低于25%,则设置为该值;如果计算结果高于25%,则按照计算结果的比例进行设置。
  • 内存占用设置为占用总内存的20%,占用时间为300秒,休息时间为300秒。
  • 每300秒检测一次内存占用情况,并根据需要动态调整占用大小。如果内存占用已经大于20%,则不增加占用。
  • 在占用过程中,使用守护进程和开机自启服务,以确保占用任务持续且有效。
  • 默认选项的带宽占用每45分钟下载一次大小在1G至10G之间的文件,只进行下载而不保存。在下载过程中会占用硬盘空间,但在下载完成后会自动释放。
  • 默认选项的带宽占用动态调整实际下载的带宽/速率,限制每次下载的最长时长为6分钟。在每次下载之前,会测试最大可用带宽,并根据实时结果将下载速率设置为30%的带宽。
  • 带宽占用测试使用了speedtest-cli和speedtest-go两种工具,以防其中之一不可用时使用第二种工具,用户可以自定义设置带宽占用,此时详见设置提示。
  • 提供一键卸载所有占用服务的选项,卸载将删除所有脚本、服务、任务、守护进程和开机自启设置。
  • 提供一键检查更新的功能,更新范围仅限于脚本更新。请在更新后重新设置占用服务
  • 对所有进程执行增加唯一性检测,避免重复运行,使用PID文件进行判断。

如若不希望一键的,希望自定义设置时间的,请查看README_CRON.md自行设置定时任务

',25),r=[l];function p(o,c,n,h,d,u){return a(),s("div",null,r)}const v=e(i,[["render",p]]);export{m as __pageData,v as default}; diff --git a/assets/case_case5.md.5c69ccbb.js b/assets/case_case5.md.dd547a5f.js similarity index 97% rename from assets/case_case5.md.5c69ccbb.js rename to assets/case_case5.md.dd547a5f.js index a18486375b..f403e46c14 100644 --- a/assets/case_case5.md.5c69ccbb.js +++ b/assets/case_case5.md.dd547a5f.js @@ -1 +1 @@ -import{_ as a,v as e,b as t,R as s}from"./chunks/framework.70afa331.js";const v=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case5.md","filePath":"case/case5.md","lastUpdated":1691593150000}'),o={name:"case/case5.md"},n=s('

仓库

https://github.com/spiritLHLS/convoypanel-scripts

convoypanel-scripts

One-click installation of convoy panel

Prerequisites for installation:

  • PVE is installed
  • System is debian 11
  • CPU at least 2 cores, hard disk at least 20G, memory at least 4G (memory covers swap)

I don't guarantee that this script is error-free, it's just for my own amusement.

curl -L https://github.com/spiritLHLS/convoypanel-scripts/raw/main/installconvoy.sh -o installconvoy.sh && chmod +x installconvoy.sh && bash installconvoy.sh

Thanks

Base on https://github.com/spiritLHLS/pve

Base on https://docs.convoypanel.com/guide/deployment/#installation

Base on https://github.com/ConvoyPanel/panel

',12),l=[n];function i(r,c,p,h,d,m){return e(),t("div",null,l)}const y=a(o,[["render",i]]);export{v as __pageData,y as default}; +import{_ as a,v as e,b as t,R as s}from"./chunks/framework.70afa331.js";const v=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case5.md","filePath":"case/case5.md","lastUpdated":1691741224000}'),o={name:"case/case5.md"},n=s('

仓库

https://github.com/spiritLHLS/convoypanel-scripts

convoypanel-scripts

One-click installation of convoy panel

Prerequisites for installation:

  • PVE is installed
  • System is debian 11
  • CPU at least 2 cores, hard disk at least 20G, memory at least 4G (memory covers swap)

I don't guarantee that this script is error-free, it's just for my own amusement.

curl -L https://github.com/spiritLHLS/convoypanel-scripts/raw/main/installconvoy.sh -o installconvoy.sh && chmod +x installconvoy.sh && bash installconvoy.sh

Thanks

Base on https://github.com/spiritLHLS/pve

Base on https://docs.convoypanel.com/guide/deployment/#installation

Base on https://github.com/ConvoyPanel/panel

',12),l=[n];function i(r,c,p,h,d,m){return e(),t("div",null,l)}const y=a(o,[["render",i]]);export{v as __pageData,y as default}; diff --git a/assets/case_case5.md.5c69ccbb.lean.js b/assets/case_case5.md.dd547a5f.lean.js similarity index 97% rename from assets/case_case5.md.5c69ccbb.lean.js rename to assets/case_case5.md.dd547a5f.lean.js index a18486375b..f403e46c14 100644 --- a/assets/case_case5.md.5c69ccbb.lean.js +++ b/assets/case_case5.md.dd547a5f.lean.js @@ -1 +1 @@ -import{_ as a,v as e,b as t,R as s}from"./chunks/framework.70afa331.js";const v=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case5.md","filePath":"case/case5.md","lastUpdated":1691593150000}'),o={name:"case/case5.md"},n=s('

仓库

https://github.com/spiritLHLS/convoypanel-scripts

convoypanel-scripts

One-click installation of convoy panel

Prerequisites for installation:

  • PVE is installed
  • System is debian 11
  • CPU at least 2 cores, hard disk at least 20G, memory at least 4G (memory covers swap)

I don't guarantee that this script is error-free, it's just for my own amusement.

curl -L https://github.com/spiritLHLS/convoypanel-scripts/raw/main/installconvoy.sh -o installconvoy.sh && chmod +x installconvoy.sh && bash installconvoy.sh

Thanks

Base on https://github.com/spiritLHLS/pve

Base on https://docs.convoypanel.com/guide/deployment/#installation

Base on https://github.com/ConvoyPanel/panel

',12),l=[n];function i(r,c,p,h,d,m){return e(),t("div",null,l)}const y=a(o,[["render",i]]);export{v as __pageData,y as default}; +import{_ as a,v as e,b as t,R as s}from"./chunks/framework.70afa331.js";const v=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case5.md","filePath":"case/case5.md","lastUpdated":1691741224000}'),o={name:"case/case5.md"},n=s('

仓库

https://github.com/spiritLHLS/convoypanel-scripts

convoypanel-scripts

One-click installation of convoy panel

Prerequisites for installation:

  • PVE is installed
  • System is debian 11
  • CPU at least 2 cores, hard disk at least 20G, memory at least 4G (memory covers swap)

I don't guarantee that this script is error-free, it's just for my own amusement.

curl -L https://github.com/spiritLHLS/convoypanel-scripts/raw/main/installconvoy.sh -o installconvoy.sh && chmod +x installconvoy.sh && bash installconvoy.sh

Thanks

Base on https://github.com/spiritLHLS/pve

Base on https://docs.convoypanel.com/guide/deployment/#installation

Base on https://github.com/ConvoyPanel/panel

',12),l=[n];function i(r,c,p,h,d,m){return e(),t("div",null,l)}const y=a(o,[["render",i]]);export{v as __pageData,y as default}; diff --git a/assets/case_index.md.0cead287.js b/assets/case_index.md.d5a08686.js similarity index 93% rename from assets/case_index.md.0cead287.js rename to assets/case_index.md.d5a08686.js index 01e0597201..d68fc75575 100644 --- a/assets/case_index.md.0cead287.js +++ b/assets/case_index.md.d5a08686.js @@ -1 +1 @@ -import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","description":"","frontmatter":{"layout":"home","title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","hero":{"name":"Linux相关项目","text":"与Linux相关的一些一键脚本项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"查看项目 →","link":"/case/case1"}]},"features":[{"title":"注意事项","details":"注意每个项目说明,部分项目有可能对系统造成不可修复的错误,需要重装系统,请仔细查看说明"}]},"headers":[],"relativePath":"case/index.md","filePath":"case/index.md","lastUpdated":1691593150000}'),i={name:"case/index.md"};function s(n,r,o,c,d,l){return t(),a("div")}const x=e(i,[["render",s]]);export{m as __pageData,x as default}; +import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","description":"","frontmatter":{"layout":"home","title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","hero":{"name":"Linux相关项目","text":"与Linux相关的一些一键脚本项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"查看项目 →","link":"/case/case1"}]},"features":[{"title":"注意事项","details":"注意每个项目说明,部分项目有可能对系统造成不可修复的错误,需要重装系统,请仔细查看说明"}]},"headers":[],"relativePath":"case/index.md","filePath":"case/index.md","lastUpdated":1691741224000}'),i={name:"case/index.md"};function s(n,r,o,c,d,l){return t(),a("div")}const x=e(i,[["render",s]]);export{m as __pageData,x as default}; diff --git a/assets/case_index.md.0cead287.lean.js b/assets/case_index.md.d5a08686.lean.js similarity index 93% rename from assets/case_index.md.0cead287.lean.js rename to assets/case_index.md.d5a08686.lean.js index 01e0597201..d68fc75575 100644 --- a/assets/case_index.md.0cead287.lean.js +++ b/assets/case_index.md.d5a08686.lean.js @@ -1 +1 @@ -import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","description":"","frontmatter":{"layout":"home","title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","hero":{"name":"Linux相关项目","text":"与Linux相关的一些一键脚本项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"查看项目 →","link":"/case/case1"}]},"features":[{"title":"注意事项","details":"注意每个项目说明,部分项目有可能对系统造成不可修复的错误,需要重装系统,请仔细查看说明"}]},"headers":[],"relativePath":"case/index.md","filePath":"case/index.md","lastUpdated":1691593150000}'),i={name:"case/index.md"};function s(n,r,o,c,d,l){return t(),a("div")}const x=e(i,[["render",s]]);export{m as __pageData,x as default}; +import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","description":"","frontmatter":{"layout":"home","title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","hero":{"name":"Linux相关项目","text":"与Linux相关的一些一键脚本项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"查看项目 →","link":"/case/case1"}]},"features":[{"title":"注意事项","details":"注意每个项目说明,部分项目有可能对系统造成不可修复的错误,需要重装系统,请仔细查看说明"}]},"headers":[],"relativePath":"case/index.md","filePath":"case/index.md","lastUpdated":1691741224000}'),i={name:"case/index.md"};function s(n,r,o,c,d,l){return t(),a("div")}const x=e(i,[["render",s]]);export{m as __pageData,x as default}; diff --git a/assets/developer_index.md.cb26371e.js b/assets/developer_index.md.7893760b.js similarity index 93% rename from assets/developer_index.md.cb26371e.js rename to assets/developer_index.md.7893760b.js index b543076ca4..859faf849a 100644 --- a/assets/developer_index.md.cb26371e.js +++ b/assets/developer_index.md.7893760b.js @@ -1 +1 @@ -import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const c=JSON.parse('{"title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","description":"","frontmatter":{"layout":"home","title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","hero":{"name":"开发手册","text":"开发手册","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/developer/l10n"}]}},"headers":[],"relativePath":"developer/index.md","filePath":"developer/index.md","lastUpdated":1691593150000}'),s={name:"developer/index.md"};function n(r,o,i,l,d,p){return t(),a("div")}const u=e(s,[["render",n]]);export{c as __pageData,u as default}; +import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const c=JSON.parse('{"title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","description":"","frontmatter":{"layout":"home","title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","hero":{"name":"开发手册","text":"开发手册","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/developer/l10n"}]}},"headers":[],"relativePath":"developer/index.md","filePath":"developer/index.md","lastUpdated":1691741224000}'),s={name:"developer/index.md"};function n(r,o,i,l,d,p){return t(),a("div")}const u=e(s,[["render",n]]);export{c as __pageData,u as default}; diff --git a/assets/developer_index.md.cb26371e.lean.js b/assets/developer_index.md.7893760b.lean.js similarity index 93% rename from assets/developer_index.md.cb26371e.lean.js rename to assets/developer_index.md.7893760b.lean.js index b543076ca4..859faf849a 100644 --- a/assets/developer_index.md.cb26371e.lean.js +++ b/assets/developer_index.md.7893760b.lean.js @@ -1 +1 @@ -import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const c=JSON.parse('{"title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","description":"","frontmatter":{"layout":"home","title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","hero":{"name":"开发手册","text":"开发手册","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/developer/l10n"}]}},"headers":[],"relativePath":"developer/index.md","filePath":"developer/index.md","lastUpdated":1691593150000}'),s={name:"developer/index.md"};function n(r,o,i,l,d,p){return t(),a("div")}const u=e(s,[["render",n]]);export{c as __pageData,u as default}; +import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const c=JSON.parse('{"title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","description":"","frontmatter":{"layout":"home","title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","hero":{"name":"开发手册","text":"开发手册","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/developer/l10n"}]}},"headers":[],"relativePath":"developer/index.md","filePath":"developer/index.md","lastUpdated":1691741224000}'),s={name:"developer/index.md"};function n(r,o,i,l,d,p){return t(),a("div")}const u=e(s,[["render",n]]);export{c as __pageData,u as default}; diff --git a/assets/developer_l10n.md.eeeeb5ed.js b/assets/developer_l10n.md.da859088.js similarity index 90% rename from assets/developer_l10n.md.eeeeb5ed.js rename to assets/developer_l10n.md.da859088.js index 7ff3a5cd9d..d35e2c3f63 100644 --- a/assets/developer_l10n.md.eeeeb5ed.js +++ b/assets/developer_l10n.md.da859088.js @@ -1 +1 @@ -import{_ as e,v as o,b as t,R as a}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"developer/l10n.md","filePath":"developer/l10n.md","lastUpdated":1691593150000}'),l={name:"developer/l10n.md"},r=a('

你可以在开发新功能时遵循以下步骤来支持本地化

介绍

  1. 你可以直接使用 /resource/l10n/zh-CN.toml 中已有的文本配置来替换新功能中的文本
  2. 如果新功能中有新增文本,请参考 zh-CN.toml 的配置文本,将新文本拉取到 zh-CN.toml 等其他语言的配置文件中,并添加翻译

新本地化文本的添加

  1. /resource/l10n/ 中添加新的语言文本配置
  2. 在新的语言文本配置中拉取其他语言已有的文本配置
  3. 为新的语言文本配置添加翻译
',5),s=[r];function d(i,n,c,h,p,_){return o(),t("div",null,s)}const f=e(l,[["render",d]]);export{u as __pageData,f as default}; +import{_ as e,v as o,b as t,R as a}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"developer/l10n.md","filePath":"developer/l10n.md","lastUpdated":1691741224000}'),l={name:"developer/l10n.md"},r=a('

你可以在开发新功能时遵循以下步骤来支持本地化

介绍

  1. 你可以直接使用 /resource/l10n/zh-CN.toml 中已有的文本配置来替换新功能中的文本
  2. 如果新功能中有新增文本,请参考 zh-CN.toml 的配置文本,将新文本拉取到 zh-CN.toml 等其他语言的配置文件中,并添加翻译

新本地化文本的添加

  1. /resource/l10n/ 中添加新的语言文本配置
  2. 在新的语言文本配置中拉取其他语言已有的文本配置
  3. 为新的语言文本配置添加翻译
',5),s=[r];function d(i,n,c,h,p,_){return o(),t("div",null,s)}const f=e(l,[["render",d]]);export{u as __pageData,f as default}; diff --git a/assets/developer_l10n.md.eeeeb5ed.lean.js b/assets/developer_l10n.md.da859088.lean.js similarity index 90% rename from assets/developer_l10n.md.eeeeb5ed.lean.js rename to assets/developer_l10n.md.da859088.lean.js index 7ff3a5cd9d..d35e2c3f63 100644 --- a/assets/developer_l10n.md.eeeeb5ed.lean.js +++ b/assets/developer_l10n.md.da859088.lean.js @@ -1 +1 @@ -import{_ as e,v as o,b as t,R as a}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"developer/l10n.md","filePath":"developer/l10n.md","lastUpdated":1691593150000}'),l={name:"developer/l10n.md"},r=a('

你可以在开发新功能时遵循以下步骤来支持本地化

介绍

  1. 你可以直接使用 /resource/l10n/zh-CN.toml 中已有的文本配置来替换新功能中的文本
  2. 如果新功能中有新增文本,请参考 zh-CN.toml 的配置文本,将新文本拉取到 zh-CN.toml 等其他语言的配置文件中,并添加翻译

新本地化文本的添加

  1. /resource/l10n/ 中添加新的语言文本配置
  2. 在新的语言文本配置中拉取其他语言已有的文本配置
  3. 为新的语言文本配置添加翻译
',5),s=[r];function d(i,n,c,h,p,_){return o(),t("div",null,s)}const f=e(l,[["render",d]]);export{u as __pageData,f as default}; +import{_ as e,v as o,b as t,R as a}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"developer/l10n.md","filePath":"developer/l10n.md","lastUpdated":1691741224000}'),l={name:"developer/l10n.md"},r=a('

你可以在开发新功能时遵循以下步骤来支持本地化

介绍

  1. 你可以直接使用 /resource/l10n/zh-CN.toml 中已有的文本配置来替换新功能中的文本
  2. 如果新功能中有新增文本,请参考 zh-CN.toml 的配置文本,将新文本拉取到 zh-CN.toml 等其他语言的配置文件中,并添加翻译

新本地化文本的添加

  1. /resource/l10n/ 中添加新的语言文本配置
  2. 在新的语言文本配置中拉取其他语言已有的文本配置
  3. 为新的语言文本配置添加翻译
',5),s=[r];function d(i,n,c,h,p,_){return o(),t("div",null,s)}const f=e(l,[["render",d]]);export{u as __pageData,f as default}; diff --git a/assets/en_US_developer_index.md.2255610b.js b/assets/en_US_developer_index.md.d6c8d7c8.js similarity index 92% rename from assets/en_US_developer_index.md.2255610b.js rename to assets/en_US_developer_index.md.d6c8d7c8.js index 3457c69e7a..3c18361c96 100644 --- a/assets/en_US_developer_index.md.2255610b.js +++ b/assets/en_US_developer_index.md.d6c8d7c8.js @@ -1 +1 @@ -import{_ as e,v as t,b as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","description":"","frontmatter":{"layout":"home","title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","hero":{"name":"Development Manual","text":"Welcome to the oneclickvirt Development Manual.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Start Now →","link":"/en_US/developer/l10n"}]}},"headers":[],"relativePath":"en_US/developer/index.md","filePath":"en_US/developer/index.md","lastUpdated":1691593150000}'),a={name:"en_US/developer/index.md"};function o(l,i,r,p,m,s){return t(),n("div")}const v=e(a,[["render",o]]);export{d as __pageData,v as default}; +import{_ as e,v as t,b as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","description":"","frontmatter":{"layout":"home","title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","hero":{"name":"Development Manual","text":"Welcome to the oneclickvirt Development Manual.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Start Now →","link":"/en_US/developer/l10n"}]}},"headers":[],"relativePath":"en_US/developer/index.md","filePath":"en_US/developer/index.md","lastUpdated":1691741224000}'),a={name:"en_US/developer/index.md"};function o(l,i,r,p,m,s){return t(),n("div")}const v=e(a,[["render",o]]);export{d as __pageData,v as default}; diff --git a/assets/en_US_developer_index.md.2255610b.lean.js b/assets/en_US_developer_index.md.d6c8d7c8.lean.js similarity index 92% rename from assets/en_US_developer_index.md.2255610b.lean.js rename to assets/en_US_developer_index.md.d6c8d7c8.lean.js index 3457c69e7a..3c18361c96 100644 --- a/assets/en_US_developer_index.md.2255610b.lean.js +++ b/assets/en_US_developer_index.md.d6c8d7c8.lean.js @@ -1 +1 @@ -import{_ as e,v as t,b as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","description":"","frontmatter":{"layout":"home","title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","hero":{"name":"Development Manual","text":"Welcome to the oneclickvirt Development Manual.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Start Now →","link":"/en_US/developer/l10n"}]}},"headers":[],"relativePath":"en_US/developer/index.md","filePath":"en_US/developer/index.md","lastUpdated":1691593150000}'),a={name:"en_US/developer/index.md"};function o(l,i,r,p,m,s){return t(),n("div")}const v=e(a,[["render",o]]);export{d as __pageData,v as default}; +import{_ as e,v as t,b as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","description":"","frontmatter":{"layout":"home","title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","hero":{"name":"Development Manual","text":"Welcome to the oneclickvirt Development Manual.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Start Now →","link":"/en_US/developer/l10n"}]}},"headers":[],"relativePath":"en_US/developer/index.md","filePath":"en_US/developer/index.md","lastUpdated":1691741224000}'),a={name:"en_US/developer/index.md"};function o(l,i,r,p,m,s){return t(),n("div")}const v=e(a,[["render",o]]);export{d as __pageData,v as default}; diff --git a/assets/en_US_developer_l10n.md.4036c795.js b/assets/en_US_developer_l10n.md.2063851e.js similarity index 95% rename from assets/en_US_developer_l10n.md.4036c795.js rename to assets/en_US_developer_l10n.md.2063851e.js index f228a9bbd6..ee5e66df54 100644 --- a/assets/en_US_developer_l10n.md.4036c795.js +++ b/assets/en_US_developer_l10n.md.2063851e.js @@ -1 +1 @@ -import{_ as e,v as t,b as n,R as o}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/developer/l10n.md","filePath":"en_US/developer/l10n.md","lastUpdated":1691593150000}'),a={name:"en_US/developer/l10n.md"},i=o('

You can follow these steps to support localization when developing new features

Introduction

  1. You can directly use the text configuration already available in /resource/l10n/en-US.toml to replace the text in the new feature.
  2. If there is new text in the new feature, please refer to the configuration text in en-US.toml, pull the new text into the configuration files of other languages such as en-US.toml, and add translations.

Adding a new localized text file

  1. Add a new language text configuration in /resource/l10n/.
  2. Pull existing text configurations from other languages in the new language text configuration.
  3. Add translations for the new language text configuration.
',5),l=[i];function r(d,s,c,u,f,h){return t(),n("div",null,l)}const x=e(a,[["render",r]]);export{p as __pageData,x as default}; +import{_ as e,v as t,b as n,R as o}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/developer/l10n.md","filePath":"en_US/developer/l10n.md","lastUpdated":1691741224000}'),a={name:"en_US/developer/l10n.md"},i=o('

You can follow these steps to support localization when developing new features

Introduction

  1. You can directly use the text configuration already available in /resource/l10n/en-US.toml to replace the text in the new feature.
  2. If there is new text in the new feature, please refer to the configuration text in en-US.toml, pull the new text into the configuration files of other languages such as en-US.toml, and add translations.

Adding a new localized text file

  1. Add a new language text configuration in /resource/l10n/.
  2. Pull existing text configurations from other languages in the new language text configuration.
  3. Add translations for the new language text configuration.
',5),l=[i];function r(d,s,c,u,f,h){return t(),n("div",null,l)}const x=e(a,[["render",r]]);export{p as __pageData,x as default}; diff --git a/assets/en_US_developer_l10n.md.4036c795.lean.js b/assets/en_US_developer_l10n.md.2063851e.lean.js similarity index 95% rename from assets/en_US_developer_l10n.md.4036c795.lean.js rename to assets/en_US_developer_l10n.md.2063851e.lean.js index f228a9bbd6..ee5e66df54 100644 --- a/assets/en_US_developer_l10n.md.4036c795.lean.js +++ b/assets/en_US_developer_l10n.md.2063851e.lean.js @@ -1 +1 @@ -import{_ as e,v as t,b as n,R as o}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/developer/l10n.md","filePath":"en_US/developer/l10n.md","lastUpdated":1691593150000}'),a={name:"en_US/developer/l10n.md"},i=o('

You can follow these steps to support localization when developing new features

Introduction

  1. You can directly use the text configuration already available in /resource/l10n/en-US.toml to replace the text in the new feature.
  2. If there is new text in the new feature, please refer to the configuration text in en-US.toml, pull the new text into the configuration files of other languages such as en-US.toml, and add translations.

Adding a new localized text file

  1. Add a new language text configuration in /resource/l10n/.
  2. Pull existing text configurations from other languages in the new language text configuration.
  3. Add translations for the new language text configuration.
',5),l=[i];function r(d,s,c,u,f,h){return t(),n("div",null,l)}const x=e(a,[["render",r]]);export{p as __pageData,x as default}; +import{_ as e,v as t,b as n,R as o}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/developer/l10n.md","filePath":"en_US/developer/l10n.md","lastUpdated":1691741224000}'),a={name:"en_US/developer/l10n.md"},i=o('

You can follow these steps to support localization when developing new features

Introduction

  1. You can directly use the text configuration already available in /resource/l10n/en-US.toml to replace the text in the new feature.
  2. If there is new text in the new feature, please refer to the configuration text in en-US.toml, pull the new text into the configuration files of other languages such as en-US.toml, and add translations.

Adding a new localized text file

  1. Add a new language text configuration in /resource/l10n/.
  2. Pull existing text configurations from other languages in the new language text configuration.
  3. Add translations for the new language text configuration.
',5),l=[i];function r(d,s,c,u,f,h){return t(),n("div",null,l)}const x=e(a,[["render",r]]);export{p as __pageData,x as default}; diff --git a/assets/en_US_guide_dashboard.md.43ac12c3.js b/assets/en_US_guide_dashboard.md.8bd90168.js similarity index 98% rename from assets/en_US_guide_dashboard.md.43ac12c3.js rename to assets/en_US_guide_dashboard.md.8bd90168.js index 2cd30f122d..fb719c4682 100644 --- a/assets/en_US_guide_dashboard.md.43ac12c3.js +++ b/assets/en_US_guide_dashboard.md.8bd90168.js @@ -1 +1 @@ -import{_ as t,v as e,b as a,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/dashboard.md","filePath":"en_US/guide/dashboard.md","lastUpdated":1691593150000}'),o={name:"en_US/guide/dashboard.md"},i=r('

准备工作

需要虚拟化出服务器,你需要:

  1. 一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速

TIP

如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速

  1. 本地可以稳定连接SSH,如果不能稳定连接,请使用screen命令创建窗口后,在窗口内执行命令

TIP

不会用screen命令的,自行查找相关教程学习

  1. 确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明

本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净

WARNING

PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统

项目仓库

欢迎Star和Fork

PVE

可开设KVM虚拟化的虚拟机、LXC虚拟化的容器

https://github.com/spiritLHLS/pve

Hits

LXD

可开设LXC虚拟化的容器

https://github.com/spiritLHLS/lxd

Hits

Docker

可开设Docker虚拟化的容器

https://github.com/spiritLHLS/docker

Hits



',25),s=[i];function p(l,c,h,n,d,m){return e(),a("div",null,s)}const g=t(o,[["render",p]]);export{b as __pageData,g as default}; +import{_ as t,v as e,b as a,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/dashboard.md","filePath":"en_US/guide/dashboard.md","lastUpdated":1691741224000}'),o={name:"en_US/guide/dashboard.md"},i=r('

准备工作

需要虚拟化出服务器,你需要:

  1. 一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速

TIP

如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速

  1. 本地可以稳定连接SSH,如果不能稳定连接,请使用screen命令创建窗口后,在窗口内执行命令

TIP

不会用screen命令的,自行查找相关教程学习

  1. 确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明

本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净

WARNING

PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统

项目仓库

欢迎Star和Fork

PVE

可开设KVM虚拟化的虚拟机、LXC虚拟化的容器

https://github.com/spiritLHLS/pve

Hits

LXD

可开设LXC虚拟化的容器

https://github.com/spiritLHLS/lxd

Hits

Docker

可开设Docker虚拟化的容器

https://github.com/spiritLHLS/docker

Hits



',25),s=[i];function p(l,c,h,n,d,m){return e(),a("div",null,s)}const g=t(o,[["render",p]]);export{b as __pageData,g as default}; diff --git a/assets/en_US_guide_dashboard.md.43ac12c3.lean.js b/assets/en_US_guide_dashboard.md.8bd90168.lean.js similarity index 98% rename from assets/en_US_guide_dashboard.md.43ac12c3.lean.js rename to assets/en_US_guide_dashboard.md.8bd90168.lean.js index 2cd30f122d..fb719c4682 100644 --- a/assets/en_US_guide_dashboard.md.43ac12c3.lean.js +++ b/assets/en_US_guide_dashboard.md.8bd90168.lean.js @@ -1 +1 @@ -import{_ as t,v as e,b as a,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/dashboard.md","filePath":"en_US/guide/dashboard.md","lastUpdated":1691593150000}'),o={name:"en_US/guide/dashboard.md"},i=r('

准备工作

需要虚拟化出服务器,你需要:

  1. 一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速

TIP

如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速

  1. 本地可以稳定连接SSH,如果不能稳定连接,请使用screen命令创建窗口后,在窗口内执行命令

TIP

不会用screen命令的,自行查找相关教程学习

  1. 确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明

本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净

WARNING

PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统

项目仓库

欢迎Star和Fork

PVE

可开设KVM虚拟化的虚拟机、LXC虚拟化的容器

https://github.com/spiritLHLS/pve

Hits

LXD

可开设LXC虚拟化的容器

https://github.com/spiritLHLS/lxd

Hits

Docker

可开设Docker虚拟化的容器

https://github.com/spiritLHLS/docker

Hits



',25),s=[i];function p(l,c,h,n,d,m){return e(),a("div",null,s)}const g=t(o,[["render",p]]);export{b as __pageData,g as default}; +import{_ as t,v as e,b as a,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/dashboard.md","filePath":"en_US/guide/dashboard.md","lastUpdated":1691741224000}'),o={name:"en_US/guide/dashboard.md"},i=r('

准备工作

需要虚拟化出服务器,你需要:

  1. 一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速

TIP

如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速

  1. 本地可以稳定连接SSH,如果不能稳定连接,请使用screen命令创建窗口后,在窗口内执行命令

TIP

不会用screen命令的,自行查找相关教程学习

  1. 确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明

本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净

WARNING

PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统

项目仓库

欢迎Star和Fork

PVE

可开设KVM虚拟化的虚拟机、LXC虚拟化的容器

https://github.com/spiritLHLS/pve

Hits

LXD

可开设LXC虚拟化的容器

https://github.com/spiritLHLS/lxd

Hits

Docker

可开设Docker虚拟化的容器

https://github.com/spiritLHLS/docker

Hits



',25),s=[i];function p(l,c,h,n,d,m){return e(),a("div",null,s)}const g=t(o,[["render",p]]);export{b as __pageData,g as default}; diff --git a/assets/en_US_guide_dashboardq.md.15cf9dc4.js b/assets/en_US_guide_dashboardq.md.29d0f55c.js similarity index 85% rename from assets/en_US_guide_dashboardq.md.15cf9dc4.js rename to assets/en_US_guide_dashboardq.md.29d0f55c.js index 08e41ec84f..8a78cecfde 100644 --- a/assets/en_US_guide_dashboardq.md.15cf9dc4.js +++ b/assets/en_US_guide_dashboardq.md.29d0f55c.js @@ -1 +1 @@ -import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md","filePath":"en_US/guide/dashboardq.md","lastUpdated":1691593150000}'),o={name:"en_US/guide/dashboardq.md"},n=t('

Give me a cup of coffee.

https://ko-fi.com/spiritlhl

USDT-TRC20

bash
TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd
',4),r=[n];function p(d,i,c,l,h,_){return e(),s("div",null,r)}const u=a(o,[["render",p]]);export{m as __pageData,u as default}; +import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md","filePath":"en_US/guide/dashboardq.md","lastUpdated":1691741224000}'),o={name:"en_US/guide/dashboardq.md"},n=t('

Give me a cup of coffee.

https://ko-fi.com/spiritlhl

USDT-TRC20

bash
TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd
',4),r=[n];function p(d,i,c,l,h,_){return e(),s("div",null,r)}const u=a(o,[["render",p]]);export{m as __pageData,u as default}; diff --git a/assets/en_US_guide_dashboardq.md.15cf9dc4.lean.js b/assets/en_US_guide_dashboardq.md.29d0f55c.lean.js similarity index 85% rename from assets/en_US_guide_dashboardq.md.15cf9dc4.lean.js rename to assets/en_US_guide_dashboardq.md.29d0f55c.lean.js index 08e41ec84f..8a78cecfde 100644 --- a/assets/en_US_guide_dashboardq.md.15cf9dc4.lean.js +++ b/assets/en_US_guide_dashboardq.md.29d0f55c.lean.js @@ -1 +1 @@ -import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md","filePath":"en_US/guide/dashboardq.md","lastUpdated":1691593150000}'),o={name:"en_US/guide/dashboardq.md"},n=t('

Give me a cup of coffee.

https://ko-fi.com/spiritlhl

USDT-TRC20

bash
TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd
',4),r=[n];function p(d,i,c,l,h,_){return e(),s("div",null,r)}const u=a(o,[["render",p]]);export{m as __pageData,u as default}; +import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md","filePath":"en_US/guide/dashboardq.md","lastUpdated":1691741224000}'),o={name:"en_US/guide/dashboardq.md"},n=t('

Give me a cup of coffee.

https://ko-fi.com/spiritlhl

USDT-TRC20

bash
TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd
',4),r=[n];function p(d,i,c,l,h,_){return e(),s("div",null,r)}const u=a(o,[["render",p]]);export{m as __pageData,u as default}; diff --git a/assets/en_US_guide_docker_build.md.c0bfd8d1.js b/assets/en_US_guide_docker_build.md.fe82b803.js similarity index 99% rename from assets/en_US_guide_docker_build.md.c0bfd8d1.js rename to assets/en_US_guide_docker_build.md.fe82b803.js index e8465dfef7..d84b8837b2 100644 --- a/assets/en_US_guide_docker_build.md.c0bfd8d1.js +++ b/assets/en_US_guide_docker_build.md.fe82b803.js @@ -1,4 +1,4 @@ -import{_ as s,v as a,b as l,R as o}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_build.md","filePath":"en_US/guide/docker_build.md","lastUpdated":1691593150000}'),n={name:"en_US/guide/docker_build.md"},e=o(`

前言

两种开设方式

单独开设

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

运行

./onedocker.sh name cpu memory password sshport startport endport system

目前system仅支持选择alpine或debian,默认是debian

示例

  • 以下为开设的示例容器的信息:
    容器名字 - test SSH登录的用户名 - root SSH登录的密码 - 123456 CPU核数 - 1
    内存大小 - 512MB SSH端口 - 25000 内外网映射端口一致的区间 - 34975到35000 系统 - debian
shell
./onedocker.sh test 1 512 123456 25000 34975 35000 debian

删除示例

shell
docker rm -f test
+import{_ as s,v as a,b as l,R as o}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_build.md","filePath":"en_US/guide/docker_build.md","lastUpdated":1691741224000}'),n={name:"en_US/guide/docker_build.md"},e=o(`

前言

两种开设方式

单独开设

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

运行

./onedocker.sh name cpu memory password sshport startport endport system

目前system仅支持选择alpine或debian,默认是debian

示例

  • 以下为开设的示例容器的信息:
    容器名字 - test SSH登录的用户名 - root SSH登录的密码 - 123456 CPU核数 - 1
    内存大小 - 512MB SSH端口 - 25000 内外网映射端口一致的区间 - 34975到35000 系统 - debian
shell
./onedocker.sh test 1 512 123456 25000 34975 35000 debian

删除示例

shell
docker rm -f test
 rm -rf test
 ls

进入示例

shell
docker exec -it test /bin/bash

要退出容器就执行exit退出。

查询信息

shell
cat 容器名字

输出格式

容器名字 SSH端口 登陆的root密码 核数 内存 外网端口起 外网端口止

批量开设

  • 批量多次运行继承配置生成
  • 生成多个时为避免SSH连接中断建议在screen中执行

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/dockers.sh -o dockers.sh && chmod +x dockers.sh && bash dockers.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

查询批量开设的信息

shell
cat dclog

输出格式

容器名字 SSH端口 登陆的root密码 核数 内存 外网端口起 外网端口止

一行一个容器对应的信息

卸载所有docker容器和镜像

shell
docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)
 rm -rf dclog
diff --git a/assets/en_US_guide_docker_build.md.c0bfd8d1.lean.js b/assets/en_US_guide_docker_build.md.fe82b803.lean.js
similarity index 99%
rename from assets/en_US_guide_docker_build.md.c0bfd8d1.lean.js
rename to assets/en_US_guide_docker_build.md.fe82b803.lean.js
index e8465dfef7..d84b8837b2 100644
--- a/assets/en_US_guide_docker_build.md.c0bfd8d1.lean.js
+++ b/assets/en_US_guide_docker_build.md.fe82b803.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as o}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_build.md","filePath":"en_US/guide/docker_build.md","lastUpdated":1691593150000}'),n={name:"en_US/guide/docker_build.md"},e=o(`

前言

两种开设方式

单独开设

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

运行

./onedocker.sh name cpu memory password sshport startport endport system

目前system仅支持选择alpine或debian,默认是debian

示例

  • 以下为开设的示例容器的信息:
    容器名字 - test SSH登录的用户名 - root SSH登录的密码 - 123456 CPU核数 - 1
    内存大小 - 512MB SSH端口 - 25000 内外网映射端口一致的区间 - 34975到35000 系统 - debian
shell
./onedocker.sh test 1 512 123456 25000 34975 35000 debian

删除示例

shell
docker rm -f test
+import{_ as s,v as a,b as l,R as o}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_build.md","filePath":"en_US/guide/docker_build.md","lastUpdated":1691741224000}'),n={name:"en_US/guide/docker_build.md"},e=o(`

前言

两种开设方式

单独开设

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

运行

./onedocker.sh name cpu memory password sshport startport endport system

目前system仅支持选择alpine或debian,默认是debian

示例

  • 以下为开设的示例容器的信息:
    容器名字 - test SSH登录的用户名 - root SSH登录的密码 - 123456 CPU核数 - 1
    内存大小 - 512MB SSH端口 - 25000 内外网映射端口一致的区间 - 34975到35000 系统 - debian
shell
./onedocker.sh test 1 512 123456 25000 34975 35000 debian

删除示例

shell
docker rm -f test
 rm -rf test
 ls

进入示例

shell
docker exec -it test /bin/bash

要退出容器就执行exit退出。

查询信息

shell
cat 容器名字

输出格式

容器名字 SSH端口 登陆的root密码 核数 内存 外网端口起 外网端口止

批量开设

  • 批量多次运行继承配置生成
  • 生成多个时为避免SSH连接中断建议在screen中执行

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/dockers.sh -o dockers.sh && chmod +x dockers.sh && bash dockers.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

查询批量开设的信息

shell
cat dclog

输出格式

容器名字 SSH端口 登陆的root密码 核数 内存 外网端口起 外网端口止

一行一个容器对应的信息

卸载所有docker容器和镜像

shell
docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)
 rm -rf dclog
diff --git a/assets/en_US_guide_docker_custom.md.bebb1118.js b/assets/en_US_guide_docker_custom.md.bebb1118.js
new file mode 100644
index 0000000000..d11d532869
--- /dev/null
+++ b/assets/en_US_guide_docker_custom.md.bebb1118.js
@@ -0,0 +1 @@
+import{_ as e,v as t,b as s}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_custom.md","filePath":"en_US/guide/docker_custom.md","lastUpdated":1691741224000}'),a={name:"en_US/guide/docker_custom.md"};function o(r,c,d,_,n,i){return t(),s("div")}const u=e(a,[["render",o]]);export{p as __pageData,u as default};
diff --git a/assets/en_US_guide_docker_custom.md.bebb1118.lean.js b/assets/en_US_guide_docker_custom.md.bebb1118.lean.js
new file mode 100644
index 0000000000..d11d532869
--- /dev/null
+++ b/assets/en_US_guide_docker_custom.md.bebb1118.lean.js
@@ -0,0 +1 @@
+import{_ as e,v as t,b as s}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_custom.md","filePath":"en_US/guide/docker_custom.md","lastUpdated":1691741224000}'),a={name:"en_US/guide/docker_custom.md"};function o(r,c,d,_,n,i){return t(),s("div")}const u=e(a,[["render",o]]);export{p as __pageData,u as default};
diff --git a/assets/en_US_guide_docker_install.md.8c82b475.js b/assets/en_US_guide_docker_install.md.713b5fd3.js
similarity index 97%
rename from assets/en_US_guide_docker_install.md.8c82b475.js
rename to assets/en_US_guide_docker_install.md.713b5fd3.js
index 3812f42dd3..0189c19159 100644
--- a/assets/en_US_guide_docker_install.md.8c82b475.js
+++ b/assets/en_US_guide_docker_install.md.713b5fd3.js
@@ -1 +1 @@
-import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const A=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_install.md","filePath":"en_US/guide/docker_install.md","lastUpdated":1691593150000}'),n={name:"en_US/guide/docker_install.md"},o=p('

环境预设

  • 检测环境
  • 安装docker
  • 下载预制脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
',6),e=[o];function t(r,c,C,i,y,d){return a(),l("div",null,e)}const h=s(n,[["render",t]]);export{A as __pageData,h as default}; +import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const A=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_install.md","filePath":"en_US/guide/docker_install.md","lastUpdated":1691741224000}'),n={name:"en_US/guide/docker_install.md"},o=p('

环境预设

  • 检测环境
  • 安装docker
  • 下载预制脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
',6),e=[o];function t(r,c,C,i,y,d){return a(),l("div",null,e)}const h=s(n,[["render",t]]);export{A as __pageData,h as default}; diff --git a/assets/en_US_guide_docker_install.md.8c82b475.lean.js b/assets/en_US_guide_docker_install.md.713b5fd3.lean.js similarity index 97% rename from assets/en_US_guide_docker_install.md.8c82b475.lean.js rename to assets/en_US_guide_docker_install.md.713b5fd3.lean.js index 3812f42dd3..0189c19159 100644 --- a/assets/en_US_guide_docker_install.md.8c82b475.lean.js +++ b/assets/en_US_guide_docker_install.md.713b5fd3.lean.js @@ -1 +1 @@ -import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const A=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_install.md","filePath":"en_US/guide/docker_install.md","lastUpdated":1691593150000}'),n={name:"en_US/guide/docker_install.md"},o=p('

环境预设

  • 检测环境
  • 安装docker
  • 下载预制脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
',6),e=[o];function t(r,c,C,i,y,d){return a(),l("div",null,e)}const h=s(n,[["render",t]]);export{A as __pageData,h as default}; +import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const A=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_install.md","filePath":"en_US/guide/docker_install.md","lastUpdated":1691741224000}'),n={name:"en_US/guide/docker_install.md"},o=p('

环境预设

  • 检测环境
  • 安装docker
  • 下载预制脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
',6),e=[o];function t(r,c,C,i,y,d){return a(),l("div",null,e)}const h=s(n,[["render",t]]);export{A as __pageData,h as default}; diff --git a/assets/en_US_guide_docker_precheck.md.8dd186d4.js b/assets/en_US_guide_docker_precheck.md.0279ebfe.js similarity index 97% rename from assets/en_US_guide_docker_precheck.md.8dd186d4.js rename to assets/en_US_guide_docker_precheck.md.0279ebfe.js index b4d8f0c0eb..25c7fc2f11 100644 --- a/assets/en_US_guide_docker_precheck.md.8dd186d4.js +++ b/assets/en_US_guide_docker_precheck.md.0279ebfe.js @@ -1 +1 @@ -import{_ as e,v as r,b as a,R as t}from"./chunks/framework.70afa331.js";const k=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_precheck.md","filePath":"en_US/guide/docker_precheck.md","lastUpdated":1691593150000}'),o={name:"en_US/guide/docker_precheck.md"},s=t('

前言

项目特点

通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)

默认使用debian系统,每个容器自带1个外网ssh端口,25个内外网一致端口

默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker

由于只是在宿主机进行了CPU和内存的限制未在容器内使用cgroup驱动,所以在容器内使用服务器测试脚本检测容器的可用资源是无效的,显示的会是宿主机的资源

由于大部分云服务器xfs文件系统不启用pquota选项,所以默认共享宿主机硬盘,无法限制每个容器的磁盘大小

配置要求

系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行

推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致母鸡卡死 跳转

PS: 如果硬件资源只是好了一点,需要限制更多东西并需要配置IPV6独立地址和限制硬盘大小,可使用LXD批量开LXC虚拟化的容器 跳转

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

',12),i=[s];function p(d,n,c,h,l,_){return r(),a("div",null,i)}const f=e(o,[["render",p]]);export{k as __pageData,f as default}; +import{_ as e,v as r,b as a,R as t}from"./chunks/framework.70afa331.js";const k=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_precheck.md","filePath":"en_US/guide/docker_precheck.md","lastUpdated":1691741224000}'),o={name:"en_US/guide/docker_precheck.md"},s=t('

前言

项目特点

通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)

默认使用debian系统,每个容器自带1个外网ssh端口,25个内外网一致端口

默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker

由于只是在宿主机进行了CPU和内存的限制未在容器内使用cgroup驱动,所以在容器内使用服务器测试脚本检测容器的可用资源是无效的,显示的会是宿主机的资源

由于大部分云服务器xfs文件系统不启用pquota选项,所以默认共享宿主机硬盘,无法限制每个容器的磁盘大小

配置要求

系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行

推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致母鸡卡死 跳转

PS: 如果硬件资源只是好了一点,需要限制更多东西并需要配置IPV6独立地址和限制硬盘大小,可使用LXD批量开LXC虚拟化的容器 跳转

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

',12),i=[s];function p(d,n,c,h,l,_){return r(),a("div",null,i)}const f=e(o,[["render",p]]);export{k as __pageData,f as default}; diff --git a/assets/en_US_guide_docker_precheck.md.8dd186d4.lean.js b/assets/en_US_guide_docker_precheck.md.0279ebfe.lean.js similarity index 97% rename from assets/en_US_guide_docker_precheck.md.8dd186d4.lean.js rename to assets/en_US_guide_docker_precheck.md.0279ebfe.lean.js index b4d8f0c0eb..25c7fc2f11 100644 --- a/assets/en_US_guide_docker_precheck.md.8dd186d4.lean.js +++ b/assets/en_US_guide_docker_precheck.md.0279ebfe.lean.js @@ -1 +1 @@ -import{_ as e,v as r,b as a,R as t}from"./chunks/framework.70afa331.js";const k=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_precheck.md","filePath":"en_US/guide/docker_precheck.md","lastUpdated":1691593150000}'),o={name:"en_US/guide/docker_precheck.md"},s=t('

前言

项目特点

通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)

默认使用debian系统,每个容器自带1个外网ssh端口,25个内外网一致端口

默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker

由于只是在宿主机进行了CPU和内存的限制未在容器内使用cgroup驱动,所以在容器内使用服务器测试脚本检测容器的可用资源是无效的,显示的会是宿主机的资源

由于大部分云服务器xfs文件系统不启用pquota选项,所以默认共享宿主机硬盘,无法限制每个容器的磁盘大小

配置要求

系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行

推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致母鸡卡死 跳转

PS: 如果硬件资源只是好了一点,需要限制更多东西并需要配置IPV6独立地址和限制硬盘大小,可使用LXD批量开LXC虚拟化的容器 跳转

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

',12),i=[s];function p(d,n,c,h,l,_){return r(),a("div",null,i)}const f=e(o,[["render",p]]);export{k as __pageData,f as default}; +import{_ as e,v as r,b as a,R as t}from"./chunks/framework.70afa331.js";const k=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/docker_precheck.md","filePath":"en_US/guide/docker_precheck.md","lastUpdated":1691741224000}'),o={name:"en_US/guide/docker_precheck.md"},s=t('

前言

项目特点

通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)

默认使用debian系统,每个容器自带1个外网ssh端口,25个内外网一致端口

默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker

由于只是在宿主机进行了CPU和内存的限制未在容器内使用cgroup驱动,所以在容器内使用服务器测试脚本检测容器的可用资源是无效的,显示的会是宿主机的资源

由于大部分云服务器xfs文件系统不启用pquota选项,所以默认共享宿主机硬盘,无法限制每个容器的磁盘大小

配置要求

系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行

推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致母鸡卡死 跳转

PS: 如果硬件资源只是好了一点,需要限制更多东西并需要配置IPV6独立地址和限制硬盘大小,可使用LXD批量开LXC虚拟化的容器 跳转

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

',12),i=[s];function p(d,n,c,h,l,_){return r(),a("div",null,i)}const f=e(o,[["render",p]]);export{k as __pageData,f as default}; diff --git a/assets/en_US_guide_docker_qa.md.9e6be4d4.js b/assets/en_US_guide_docker_qa.md.56b5d8e5.js similarity index 84% rename from assets/en_US_guide_docker_qa.md.9e6be4d4.js rename to assets/en_US_guide_docker_qa.md.56b5d8e5.js index caa5e90957..13fab0e4a3 100644 --- a/assets/en_US_guide_docker_qa.md.9e6be4d4.js +++ b/assets/en_US_guide_docker_qa.md.56b5d8e5.js @@ -1 +1 @@ -import{_ as e,v as a,b as t}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md","filePath":"en_US/guide/docker_qa.md","lastUpdated":1691593150000}'),r={name:"en_US/guide/docker_qa.md"};function d(s,_,o,n,c,i){return a(),t("div")}const m=e(r,[["render",d]]);export{f as __pageData,m as default}; +import{_ as e,v as a,b as t}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md","filePath":"en_US/guide/docker_qa.md","lastUpdated":1691741224000}'),r={name:"en_US/guide/docker_qa.md"};function d(s,_,o,n,c,i){return a(),t("div")}const m=e(r,[["render",d]]);export{f as __pageData,m as default}; diff --git a/assets/en_US_guide_docker_qa.md.9e6be4d4.lean.js b/assets/en_US_guide_docker_qa.md.56b5d8e5.lean.js similarity index 84% rename from assets/en_US_guide_docker_qa.md.9e6be4d4.lean.js rename to assets/en_US_guide_docker_qa.md.56b5d8e5.lean.js index caa5e90957..13fab0e4a3 100644 --- a/assets/en_US_guide_docker_qa.md.9e6be4d4.lean.js +++ b/assets/en_US_guide_docker_qa.md.56b5d8e5.lean.js @@ -1 +1 @@ -import{_ as e,v as a,b as t}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md","filePath":"en_US/guide/docker_qa.md","lastUpdated":1691593150000}'),r={name:"en_US/guide/docker_qa.md"};function d(s,_,o,n,c,i){return a(),t("div")}const m=e(r,[["render",d]]);export{f as __pageData,m as default}; +import{_ as e,v as a,b as t}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md","filePath":"en_US/guide/docker_qa.md","lastUpdated":1691741224000}'),r={name:"en_US/guide/docker_qa.md"};function d(s,_,o,n,c,i){return a(),t("div")}const m=e(r,[["render",d]]);export{f as __pageData,m as default}; diff --git a/assets/en_US_guide_docker_thanks.md.fe0a5144.js b/assets/en_US_guide_docker_thanks.md.4c5159cf.js similarity index 84% rename from assets/en_US_guide_docker_thanks.md.fe0a5144.js rename to assets/en_US_guide_docker_thanks.md.4c5159cf.js index 685ca4fee1..27a002eb9a 100644 --- a/assets/en_US_guide_docker_thanks.md.fe0a5144.js +++ b/assets/en_US_guide_docker_thanks.md.4c5159cf.js @@ -1 +1 @@ -import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_thanks.md","filePath":"en_US/guide/docker_thanks.md","lastUpdated":1691593150000}'),s={name:"en_US/guide/docker_thanks.md"};function r(n,d,_,o,c,i){return t(),a("div")}const h=e(s,[["render",r]]);export{f as __pageData,h as default}; +import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_thanks.md","filePath":"en_US/guide/docker_thanks.md","lastUpdated":1691741224000}'),s={name:"en_US/guide/docker_thanks.md"};function r(n,d,_,o,c,i){return t(),a("div")}const h=e(s,[["render",r]]);export{f as __pageData,h as default}; diff --git a/assets/en_US_guide_docker_thanks.md.fe0a5144.lean.js b/assets/en_US_guide_docker_thanks.md.4c5159cf.lean.js similarity index 84% rename from assets/en_US_guide_docker_thanks.md.fe0a5144.lean.js rename to assets/en_US_guide_docker_thanks.md.4c5159cf.lean.js index 685ca4fee1..27a002eb9a 100644 --- a/assets/en_US_guide_docker_thanks.md.fe0a5144.lean.js +++ b/assets/en_US_guide_docker_thanks.md.4c5159cf.lean.js @@ -1 +1 @@ -import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_thanks.md","filePath":"en_US/guide/docker_thanks.md","lastUpdated":1691593150000}'),s={name:"en_US/guide/docker_thanks.md"};function r(n,d,_,o,c,i){return t(),a("div")}const h=e(s,[["render",r]]);export{f as __pageData,h as default}; +import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_thanks.md","filePath":"en_US/guide/docker_thanks.md","lastUpdated":1691741224000}'),s={name:"en_US/guide/docker_thanks.md"};function r(n,d,_,o,c,i){return t(),a("div")}const h=e(s,[["render",r]]);export{f as __pageData,h as default}; diff --git a/assets/en_US_guide_lxd_custom.md.c729cc49.js b/assets/en_US_guide_lxd_custom.md.c729cc49.js new file mode 100644 index 0000000000..69098c4db5 --- /dev/null +++ b/assets/en_US_guide_lxd_custom.md.c729cc49.js @@ -0,0 +1 @@ +import{_ as t,v as e,b as s}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_custom.md","filePath":"en_US/guide/lxd_custom.md","lastUpdated":1691741224000}'),a={name:"en_US/guide/lxd_custom.md"};function d(_,o,r,n,c,i){return e(),s("div")}const u=t(a,[["render",d]]);export{p as __pageData,u as default}; diff --git a/assets/en_US_guide_lxd_custom.md.c729cc49.lean.js b/assets/en_US_guide_lxd_custom.md.c729cc49.lean.js new file mode 100644 index 0000000000..69098c4db5 --- /dev/null +++ b/assets/en_US_guide_lxd_custom.md.c729cc49.lean.js @@ -0,0 +1 @@ +import{_ as t,v as e,b as s}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_custom.md","filePath":"en_US/guide/lxd_custom.md","lastUpdated":1691741224000}'),a={name:"en_US/guide/lxd_custom.md"};function d(_,o,r,n,c,i){return e(),s("div")}const u=t(a,[["render",d]]);export{p as __pageData,u as default}; diff --git a/assets/en_US_guide_lxd_extra_config.md.ce758aaa.js b/assets/en_US_guide_lxd_extra_config.md.2b4d8ad3.js similarity index 99% rename from assets/en_US_guide_lxd_extra_config.md.ce758aaa.js rename to assets/en_US_guide_lxd_extra_config.md.2b4d8ad3.js index 987cfdb982..6ede49f5cc 100644 --- a/assets/en_US_guide_lxd_extra_config.md.ce758aaa.js +++ b/assets/en_US_guide_lxd_extra_config.md.2b4d8ad3.js @@ -1,4 +1,4 @@ -import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"其他自定义配置","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_extra_config.md","filePath":"en_US/guide/lxd_extra_config.md","lastUpdated":1691593150000}'),p={name:"en_US/guide/lxd_extra_config.md"},o=n(`

其他自定义配置

TIP

以下的配置安装会加重母鸡的负担,非必要不要安装

TIP

如果是个人使用,可忽略防滥用部分脚本的安装

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于母鸡有给IPV6子网且是/64的,且母鸡绑定了子网的第一个IP母鸡的IPV6地址或IPV6的gateway
  • 自动为LXD创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

自动为容器配置IPV6映射地址

bash
bash build_ipv6_network.sh 容器名称

映射完毕会打印信息

示例(给test容器自动配置IPV6地址,配置完成会写入一个test_v6的文件信息)

bash
bash build_ipv6_network.sh test

删除所有IPV6已映射的规则

bash
ip6tables -t nat -F PREROUTING
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"其他自定义配置","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_extra_config.md","filePath":"en_US/guide/lxd_extra_config.md","lastUpdated":1691741224000}'),p={name:"en_US/guide/lxd_extra_config.md"},o=n(`

其他自定义配置

TIP

以下的配置安装会加重母鸡的负担,非必要不要安装

TIP

如果是个人使用,可忽略防滥用部分脚本的安装

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于母鸡有给IPV6子网且是/64的,且母鸡绑定了子网的第一个IP母鸡的IPV6地址或IPV6的gateway
  • 自动为LXD创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

自动为容器配置IPV6映射地址

bash
bash build_ipv6_network.sh 容器名称

映射完毕会打印信息

示例(给test容器自动配置IPV6地址,配置完成会写入一个test_v6的文件信息)

bash
bash build_ipv6_network.sh test

删除所有IPV6已映射的规则

bash
ip6tables -t nat -F PREROUTING
 ip6tables-legacy -t nat -F PREROUTING
 ip6tables-save > /etc/iptables/rules.v6
 netfilter-persistent save
diff --git a/assets/en_US_guide_lxd_extra_config.md.ce758aaa.lean.js b/assets/en_US_guide_lxd_extra_config.md.2b4d8ad3.lean.js
similarity index 99%
rename from assets/en_US_guide_lxd_extra_config.md.ce758aaa.lean.js
rename to assets/en_US_guide_lxd_extra_config.md.2b4d8ad3.lean.js
index 987cfdb982..6ede49f5cc 100644
--- a/assets/en_US_guide_lxd_extra_config.md.ce758aaa.lean.js
+++ b/assets/en_US_guide_lxd_extra_config.md.2b4d8ad3.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"其他自定义配置","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_extra_config.md","filePath":"en_US/guide/lxd_extra_config.md","lastUpdated":1691593150000}'),p={name:"en_US/guide/lxd_extra_config.md"},o=n(`

其他自定义配置

TIP

以下的配置安装会加重母鸡的负担,非必要不要安装

TIP

如果是个人使用,可忽略防滥用部分脚本的安装

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于母鸡有给IPV6子网且是/64的,且母鸡绑定了子网的第一个IP母鸡的IPV6地址或IPV6的gateway
  • 自动为LXD创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

自动为容器配置IPV6映射地址

bash
bash build_ipv6_network.sh 容器名称

映射完毕会打印信息

示例(给test容器自动配置IPV6地址,配置完成会写入一个test_v6的文件信息)

bash
bash build_ipv6_network.sh test

删除所有IPV6已映射的规则

bash
ip6tables -t nat -F PREROUTING
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"其他自定义配置","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_extra_config.md","filePath":"en_US/guide/lxd_extra_config.md","lastUpdated":1691741224000}'),p={name:"en_US/guide/lxd_extra_config.md"},o=n(`

其他自定义配置

TIP

以下的配置安装会加重母鸡的负担,非必要不要安装

TIP

如果是个人使用,可忽略防滥用部分脚本的安装

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于母鸡有给IPV6子网且是/64的,且母鸡绑定了子网的第一个IP母鸡的IPV6地址或IPV6的gateway
  • 自动为LXD创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

自动为容器配置IPV6映射地址

bash
bash build_ipv6_network.sh 容器名称

映射完毕会打印信息

示例(给test容器自动配置IPV6地址,配置完成会写入一个test_v6的文件信息)

bash
bash build_ipv6_network.sh test

删除所有IPV6已映射的规则

bash
ip6tables -t nat -F PREROUTING
 ip6tables-legacy -t nat -F PREROUTING
 ip6tables-save > /etc/iptables/rules.v6
 netfilter-persistent save
diff --git a/assets/en_US_guide_lxd_install.md.4fecd7a8.js b/assets/en_US_guide_lxd_install.md.870634e7.js
similarity index 74%
rename from assets/en_US_guide_lxd_install.md.4fecd7a8.js
rename to assets/en_US_guide_lxd_install.md.870634e7.js
index 2b75521fff..530a8b1109 100644
--- a/assets/en_US_guide_lxd_install.md.4fecd7a8.js
+++ b/assets/en_US_guide_lxd_install.md.870634e7.js
@@ -1,6 +1,6 @@
-import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXD主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_install.md","filePath":"en_US/guide/lxd_install.md","lastUpdated":1691593150000}'),n={name:"en_US/guide/lxd_install.md"},o=p(`

LXD主体安装

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用后面的一键安装也行

关闭防火墙

bash
apt update
+import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXD主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_install.md","filePath":"en_US/guide/lxd_install.md","lastUpdated":1691741224000}'),n={name:"en_US/guide/lxd_install.md"},o=p(`

LXD主体安装

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用后面的一键安装也行

关闭防火墙

bash
apt update
 apt install curl wget sudo dos2unix ufw jq -y
 ufw disable

开设虚拟内存SWAP

内存看你开多少小鸡,这里如果要开8个,换算需要2G内存,实际内存如果是512MB内存,还需要开1.5G,保守点开2G虚拟内存即可

执行下面命令,输入1,再输入2048,代表开2G虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

安装LXD

实际swap开的虚拟内存应该是实际内存的2倍,也就是开1G是合理的,上面我描述的情况属于超开了

apt install snapd -y
 snap install lxd
 /snap/bin/lxd init

如果上面的命令中出现下面的错误

(snap "lxd" assumes unsupported features: snapd2.39 (try to update snapd and refresh the core snap))

使用命令修补后再进行lxd的安装

snap install core

如果无异常,上面三行命令执行结果如下

图片

一般的选项回车默认即可

选择配置物理盘大小(提示默认最小1GB那个选项),一般我填空闲磁盘大小减去内存大小后乘以0.95并向下取整,这里我填了10GB

提示带auto的更新image的选项记得选no,避免更新占用系统

测试lxc有没有软连接上

lxc -h

如果报错则执行以下命令软连接lxc命令

bash
! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
-export PATH=$PATH:/snap/bin

连接后再测试lxc命令是否有报错找不到

一键安装

WARNING

如果是全新的服务器,务必保证apt update和apt install curl都无问题再执行本脚本

TIP

且自开机起最好等待5分钟后再执行以下命令,避免系统默认设置中就执行了本脚本导致apt源卡死

  • 环境要求:Ubuntu 18+(推荐),Debian 8+(仅限x86_64架构)

如果是Debian系的宿主机,务必在screen中执行本脚本,避免长期运行时SSH中断导致ZFS编译安装失败

这里的虚拟内存是说要开的SWAP大小,存储池则是你所有要开的小鸡占的盘的大小的总和

环境安装过程中可能需要重启服务器以加载含zfs的内核,然后再次执行安装命令,一切以运行后命令行的提示为准

如果第二次执行安装命令仍提示重启系统加载内核,那么意味着内核在上一次加载中失败了,最好重装宿主机系统为ubuntu系解决这个问题

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

例子:

如果系统盘除去已占用空间还有18G硬盘空余,想开2G虚拟内存(2048MB的SWAP),15G的存储池,按照命令行的提示则依次输入204815

`,43),t=[o];function e(c,r,C,i,y,D){return a(),l("div",null,t)}const h=s(n,[["render",e]]);export{d as __pageData,h as default}; +export PATH=$PATH:/snap/bin

连接后再测试lxc命令是否有报错找不到

一键安装

WARNING

如果是全新的服务器,务必保证apt update和apt install curl都无问题再执行本脚本

TIP

且自开机起最好等待5分钟后再执行以下命令,避免系统默认设置中就执行了本脚本导致apt源卡死

  • 环境要求:Ubuntu 18+(推荐),Debian 8+(仅限x86_64架构)

如果是Debian系的宿主机,务必在screen中执行本脚本,避免长期运行时SSH中断导致ZFS编译安装失败

这里的虚拟内存是说要开的SWAP大小,存储池则是你所有要开的小鸡占的盘的大小的总和

环境安装过程中可能需要重启服务器以加载含zfs的内核,然后再次执行安装命令,一切以运行后命令行的提示为准

如果脚本提示重启系统后需要再次执行脚本,第二次执行安装脚本仍提示重启系统加载内核,那么意味着内核在上一次加载中失败了,最好重装宿主机系统为ubuntu系解决这个问题

每次执行脚本都需要输入一次初始化的配置,所以遇到脚本提示需重启系统再次执行,那么就得再次输入初始化的配置

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

初始化配置的例子:

如果系统盘除去已占用空间还有18G硬盘空余,想开2G虚拟内存(2048MB的SWAP),15G的存储池,按照命令行的提示则依次输入204815

`,44),t=[o];function e(c,r,C,i,y,D){return a(),l("div",null,t)}const h=s(n,[["render",e]]);export{d as __pageData,h as default}; diff --git a/assets/en_US_guide_lxd_install.md.4fecd7a8.lean.js b/assets/en_US_guide_lxd_install.md.870634e7.lean.js similarity index 74% rename from assets/en_US_guide_lxd_install.md.4fecd7a8.lean.js rename to assets/en_US_guide_lxd_install.md.870634e7.lean.js index 2b75521fff..530a8b1109 100644 --- a/assets/en_US_guide_lxd_install.md.4fecd7a8.lean.js +++ b/assets/en_US_guide_lxd_install.md.870634e7.lean.js @@ -1,6 +1,6 @@ -import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXD主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_install.md","filePath":"en_US/guide/lxd_install.md","lastUpdated":1691593150000}'),n={name:"en_US/guide/lxd_install.md"},o=p(`

LXD主体安装

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用后面的一键安装也行

关闭防火墙

bash
apt update
+import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXD主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_install.md","filePath":"en_US/guide/lxd_install.md","lastUpdated":1691741224000}'),n={name:"en_US/guide/lxd_install.md"},o=p(`

LXD主体安装

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用后面的一键安装也行

关闭防火墙

bash
apt update
 apt install curl wget sudo dos2unix ufw jq -y
 ufw disable

开设虚拟内存SWAP

内存看你开多少小鸡,这里如果要开8个,换算需要2G内存,实际内存如果是512MB内存,还需要开1.5G,保守点开2G虚拟内存即可

执行下面命令,输入1,再输入2048,代表开2G虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

安装LXD

实际swap开的虚拟内存应该是实际内存的2倍,也就是开1G是合理的,上面我描述的情况属于超开了

apt install snapd -y
 snap install lxd
 /snap/bin/lxd init

如果上面的命令中出现下面的错误

(snap "lxd" assumes unsupported features: snapd2.39 (try to update snapd and refresh the core snap))

使用命令修补后再进行lxd的安装

snap install core

如果无异常,上面三行命令执行结果如下

图片

一般的选项回车默认即可

选择配置物理盘大小(提示默认最小1GB那个选项),一般我填空闲磁盘大小减去内存大小后乘以0.95并向下取整,这里我填了10GB

提示带auto的更新image的选项记得选no,避免更新占用系统

测试lxc有没有软连接上

lxc -h

如果报错则执行以下命令软连接lxc命令

bash
! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
-export PATH=$PATH:/snap/bin

连接后再测试lxc命令是否有报错找不到

一键安装

WARNING

如果是全新的服务器,务必保证apt update和apt install curl都无问题再执行本脚本

TIP

且自开机起最好等待5分钟后再执行以下命令,避免系统默认设置中就执行了本脚本导致apt源卡死

  • 环境要求:Ubuntu 18+(推荐),Debian 8+(仅限x86_64架构)

如果是Debian系的宿主机,务必在screen中执行本脚本,避免长期运行时SSH中断导致ZFS编译安装失败

这里的虚拟内存是说要开的SWAP大小,存储池则是你所有要开的小鸡占的盘的大小的总和

环境安装过程中可能需要重启服务器以加载含zfs的内核,然后再次执行安装命令,一切以运行后命令行的提示为准

如果第二次执行安装命令仍提示重启系统加载内核,那么意味着内核在上一次加载中失败了,最好重装宿主机系统为ubuntu系解决这个问题

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

例子:

如果系统盘除去已占用空间还有18G硬盘空余,想开2G虚拟内存(2048MB的SWAP),15G的存储池,按照命令行的提示则依次输入204815

`,43),t=[o];function e(c,r,C,i,y,D){return a(),l("div",null,t)}const h=s(n,[["render",e]]);export{d as __pageData,h as default}; +export PATH=$PATH:/snap/bin

连接后再测试lxc命令是否有报错找不到

一键安装

WARNING

如果是全新的服务器,务必保证apt update和apt install curl都无问题再执行本脚本

TIP

且自开机起最好等待5分钟后再执行以下命令,避免系统默认设置中就执行了本脚本导致apt源卡死

  • 环境要求:Ubuntu 18+(推荐),Debian 8+(仅限x86_64架构)

如果是Debian系的宿主机,务必在screen中执行本脚本,避免长期运行时SSH中断导致ZFS编译安装失败

这里的虚拟内存是说要开的SWAP大小,存储池则是你所有要开的小鸡占的盘的大小的总和

环境安装过程中可能需要重启服务器以加载含zfs的内核,然后再次执行安装命令,一切以运行后命令行的提示为准

如果脚本提示重启系统后需要再次执行脚本,第二次执行安装脚本仍提示重启系统加载内核,那么意味着内核在上一次加载中失败了,最好重装宿主机系统为ubuntu系解决这个问题

每次执行脚本都需要输入一次初始化的配置,所以遇到脚本提示需重启系统再次执行,那么就得再次输入初始化的配置

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

初始化配置的例子:

如果系统盘除去已占用空间还有18G硬盘空余,想开2G虚拟内存(2048MB的SWAP),15G的存储池,按照命令行的提示则依次输入204815

`,44),t=[o];function e(c,r,C,i,y,D){return a(),l("div",null,t)}const h=s(n,[["render",e]]);export{d as __pageData,h as default}; diff --git a/assets/en_US_guide_lxd_lxc.md.128cc437.js b/assets/en_US_guide_lxd_lxc.md.92a86cdd.js similarity index 99% rename from assets/en_US_guide_lxd_lxc.md.128cc437.js rename to assets/en_US_guide_lxd_lxc.md.92a86cdd.js index b0b1b178f2..d941840470 100644 --- a/assets/en_US_guide_lxd_lxc.md.128cc437.js +++ b/assets/en_US_guide_lxd_lxc.md.92a86cdd.js @@ -1,4 +1,4 @@ -import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_lxc.md","filePath":"en_US/guide/lxd_lxc.md","lastUpdated":1691593150000}'),p={name:"en_US/guide/lxd_lxc.md"},o=n(`

LXC虚拟化

单独生成一个NAT服务器

  • 只生成一个NAT服务器,可自定义限制所有内容

下载开机脚本是非必须的,如果你使用过一键安装LXD的命令,自动已下载对应的开机脚本,不需要重复下载该脚本

国际

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

国内

shell
curl -L https://ghproxy.com/https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

使用方法

./buildone.sh 小鸡名称 内存大小 硬盘大小 SSH端口 外网起端口 外网止端口 下载速度 上传速度 是否启用IPV6(Y or N) 系统(留空则为debian11)

内存大小以MB计算,硬盘大小以GB计算,下载速度上传速度以Mbit计算,是否启用IPV6不一定要填Y或者N,没有这个参数也行,留空默认不开启IPV6

如果外网起端口外网止端口都设置为0则不做区间外网端口映射了,只映射基础的SSH端口,注意不能为空,不进行映射需要设置为0

支持自定义小鸡的系统,不填写留空时默认使用debian11,注意传入参数为系统名字+版本号,如:

  • debian10,debian11,debian12
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,centos9 (实际开设出来都是Stream版本)
  • alpine3.15,alpine3.16,alpine3.17,alpine3.18
  • 注意都是小写字母+数字的组合,自行尝试,如果搜索无该系统则会自动退出脚本
  • 版本号可以带英文小数点,为了适配alpine的版本号已支持
  • 注意部分系统可能因为未加载cgroup,所以在容器内测试系统资源会显示的宿主机的系统资源,实际是有约束的,类同Docker

TIP

版本号中已结束长期维护的一般不再有官方镜像了,暂时未找到历史镜像的存档地址,如果有找到欢迎留言我会添加支持

示例

./buildone.sh test 256 2 20001 20002 20025 500 500 N
  • 以下为开设的示例小鸡的信息:
\`小鸡名字\` - test
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_lxc.md","filePath":"en_US/guide/lxd_lxc.md","lastUpdated":1691741224000}'),p={name:"en_US/guide/lxd_lxc.md"},o=n(`

LXC虚拟化

单独生成一个NAT服务器

  • 只生成一个NAT服务器,可自定义限制所有内容

下载开机脚本是非必须的,如果你使用过一键安装LXD的命令,自动已下载对应的开机脚本,不需要重复下载该脚本

国际

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

国内

shell
curl -L https://ghproxy.com/https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

使用方法

./buildone.sh 小鸡名称 内存大小 硬盘大小 SSH端口 外网起端口 外网止端口 下载速度 上传速度 是否启用IPV6(Y or N) 系统(留空则为debian11)

内存大小以MB计算,硬盘大小以GB计算,下载速度上传速度以Mbit计算,是否启用IPV6不一定要填Y或者N,没有这个参数也行,留空默认不开启IPV6

如果外网起端口外网止端口都设置为0则不做区间外网端口映射了,只映射基础的SSH端口,注意不能为空,不进行映射需要设置为0

支持自定义小鸡的系统,不填写留空时默认使用debian11,注意传入参数为系统名字+版本号,如:

  • debian10,debian11,debian12
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,centos9 (实际开设出来都是Stream版本)
  • alpine3.15,alpine3.16,alpine3.17,alpine3.18
  • 注意都是小写字母+数字的组合,自行尝试,如果搜索无该系统则会自动退出脚本
  • 版本号可以带英文小数点,为了适配alpine的版本号已支持
  • 注意部分系统可能因为未加载cgroup,所以在容器内测试系统资源会显示的宿主机的系统资源,实际是有约束的,类同Docker

TIP

版本号中已结束长期维护的一般不再有官方镜像了,暂时未找到历史镜像的存档地址,如果有找到欢迎留言我会添加支持

示例

./buildone.sh test 256 2 20001 20002 20025 500 500 N
  • 以下为开设的示例小鸡的信息:
\`小鸡名字\` - test
 \`SSH登录的用户名\` - root
 \`SSH登录的密码\` - 随机生成
 \`CPU核数\` - 1   
diff --git a/assets/en_US_guide_lxd_lxc.md.128cc437.lean.js b/assets/en_US_guide_lxd_lxc.md.92a86cdd.lean.js
similarity index 99%
rename from assets/en_US_guide_lxd_lxc.md.128cc437.lean.js
rename to assets/en_US_guide_lxd_lxc.md.92a86cdd.lean.js
index b0b1b178f2..d941840470 100644
--- a/assets/en_US_guide_lxd_lxc.md.128cc437.lean.js
+++ b/assets/en_US_guide_lxd_lxc.md.92a86cdd.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_lxc.md","filePath":"en_US/guide/lxd_lxc.md","lastUpdated":1691593150000}'),p={name:"en_US/guide/lxd_lxc.md"},o=n(`

LXC虚拟化

单独生成一个NAT服务器

  • 只生成一个NAT服务器,可自定义限制所有内容

下载开机脚本是非必须的,如果你使用过一键安装LXD的命令,自动已下载对应的开机脚本,不需要重复下载该脚本

国际

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

国内

shell
curl -L https://ghproxy.com/https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

使用方法

./buildone.sh 小鸡名称 内存大小 硬盘大小 SSH端口 外网起端口 外网止端口 下载速度 上传速度 是否启用IPV6(Y or N) 系统(留空则为debian11)

内存大小以MB计算,硬盘大小以GB计算,下载速度上传速度以Mbit计算,是否启用IPV6不一定要填Y或者N,没有这个参数也行,留空默认不开启IPV6

如果外网起端口外网止端口都设置为0则不做区间外网端口映射了,只映射基础的SSH端口,注意不能为空,不进行映射需要设置为0

支持自定义小鸡的系统,不填写留空时默认使用debian11,注意传入参数为系统名字+版本号,如:

  • debian10,debian11,debian12
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,centos9 (实际开设出来都是Stream版本)
  • alpine3.15,alpine3.16,alpine3.17,alpine3.18
  • 注意都是小写字母+数字的组合,自行尝试,如果搜索无该系统则会自动退出脚本
  • 版本号可以带英文小数点,为了适配alpine的版本号已支持
  • 注意部分系统可能因为未加载cgroup,所以在容器内测试系统资源会显示的宿主机的系统资源,实际是有约束的,类同Docker

TIP

版本号中已结束长期维护的一般不再有官方镜像了,暂时未找到历史镜像的存档地址,如果有找到欢迎留言我会添加支持

示例

./buildone.sh test 256 2 20001 20002 20025 500 500 N
  • 以下为开设的示例小鸡的信息:
\`小鸡名字\` - test
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_lxc.md","filePath":"en_US/guide/lxd_lxc.md","lastUpdated":1691741224000}'),p={name:"en_US/guide/lxd_lxc.md"},o=n(`

LXC虚拟化

单独生成一个NAT服务器

  • 只生成一个NAT服务器,可自定义限制所有内容

下载开机脚本是非必须的,如果你使用过一键安装LXD的命令,自动已下载对应的开机脚本,不需要重复下载该脚本

国际

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

国内

shell
curl -L https://ghproxy.com/https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

使用方法

./buildone.sh 小鸡名称 内存大小 硬盘大小 SSH端口 外网起端口 外网止端口 下载速度 上传速度 是否启用IPV6(Y or N) 系统(留空则为debian11)

内存大小以MB计算,硬盘大小以GB计算,下载速度上传速度以Mbit计算,是否启用IPV6不一定要填Y或者N,没有这个参数也行,留空默认不开启IPV6

如果外网起端口外网止端口都设置为0则不做区间外网端口映射了,只映射基础的SSH端口,注意不能为空,不进行映射需要设置为0

支持自定义小鸡的系统,不填写留空时默认使用debian11,注意传入参数为系统名字+版本号,如:

  • debian10,debian11,debian12
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,centos9 (实际开设出来都是Stream版本)
  • alpine3.15,alpine3.16,alpine3.17,alpine3.18
  • 注意都是小写字母+数字的组合,自行尝试,如果搜索无该系统则会自动退出脚本
  • 版本号可以带英文小数点,为了适配alpine的版本号已支持
  • 注意部分系统可能因为未加载cgroup,所以在容器内测试系统资源会显示的宿主机的系统资源,实际是有约束的,类同Docker

TIP

版本号中已结束长期维护的一般不再有官方镜像了,暂时未找到历史镜像的存档地址,如果有找到欢迎留言我会添加支持

示例

./buildone.sh test 256 2 20001 20002 20025 500 500 N
  • 以下为开设的示例小鸡的信息:
\`小鸡名字\` - test
 \`SSH登录的用户名\` - root
 \`SSH登录的密码\` - 随机生成
 \`CPU核数\` - 1   
diff --git a/assets/en_US_guide_lxd_precheck.md.87fc8e3c.js b/assets/en_US_guide_lxd_precheck.md.42edddf0.js
similarity index 98%
rename from assets/en_US_guide_lxd_precheck.md.87fc8e3c.js
rename to assets/en_US_guide_lxd_precheck.md.42edddf0.js
index d153a2375d..d389f1c267 100644
--- a/assets/en_US_guide_lxd_precheck.md.87fc8e3c.js
+++ b/assets/en_US_guide_lxd_precheck.md.42edddf0.js
@@ -1 +1 @@
-import{_ as e,v as a,b as t,R as i}from"./chunks/framework.70afa331.js";const _=JSON.parse('{"title":"系统与硬件配置要求","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_precheck.md","filePath":"en_US/guide/lxd_precheck.md","lastUpdated":1691593150000}'),s={name:"en_US/guide/lxd_precheck.md"},l=i('

系统与硬件配置要求

要求

硬件要求:

  • 系统:Debian 8+, Ubuntu 18+(推荐20.04)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,Debian无法使用zfs时自动切换别的存储类型

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测母鸡是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)
',14),r=[l];function p(n,o,c,d,h,u){return a(),t("div",null,r)}const g=e(s,[["render",p]]);export{_ as __pageData,g as default}; +import{_ as e,v as a,b as t,R as i}from"./chunks/framework.70afa331.js";const _=JSON.parse('{"title":"系统与硬件配置要求","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_precheck.md","filePath":"en_US/guide/lxd_precheck.md","lastUpdated":1691741224000}'),s={name:"en_US/guide/lxd_precheck.md"},l=i('

系统与硬件配置要求

要求

硬件要求:

  • 系统:Debian 8+, Ubuntu 18+(推荐20.04)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,Debian无法使用zfs时自动切换别的存储类型

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测母鸡是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)
',14),r=[l];function p(n,o,c,d,h,u){return a(),t("div",null,r)}const g=e(s,[["render",p]]);export{_ as __pageData,g as default}; diff --git a/assets/en_US_guide_lxd_precheck.md.87fc8e3c.lean.js b/assets/en_US_guide_lxd_precheck.md.42edddf0.lean.js similarity index 98% rename from assets/en_US_guide_lxd_precheck.md.87fc8e3c.lean.js rename to assets/en_US_guide_lxd_precheck.md.42edddf0.lean.js index d153a2375d..d389f1c267 100644 --- a/assets/en_US_guide_lxd_precheck.md.87fc8e3c.lean.js +++ b/assets/en_US_guide_lxd_precheck.md.42edddf0.lean.js @@ -1 +1 @@ -import{_ as e,v as a,b as t,R as i}from"./chunks/framework.70afa331.js";const _=JSON.parse('{"title":"系统与硬件配置要求","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_precheck.md","filePath":"en_US/guide/lxd_precheck.md","lastUpdated":1691593150000}'),s={name:"en_US/guide/lxd_precheck.md"},l=i('

系统与硬件配置要求

要求

硬件要求:

  • 系统:Debian 8+, Ubuntu 18+(推荐20.04)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,Debian无法使用zfs时自动切换别的存储类型

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测母鸡是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)
',14),r=[l];function p(n,o,c,d,h,u){return a(),t("div",null,r)}const g=e(s,[["render",p]]);export{_ as __pageData,g as default}; +import{_ as e,v as a,b as t,R as i}from"./chunks/framework.70afa331.js";const _=JSON.parse('{"title":"系统与硬件配置要求","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_precheck.md","filePath":"en_US/guide/lxd_precheck.md","lastUpdated":1691741224000}'),s={name:"en_US/guide/lxd_precheck.md"},l=i('

系统与硬件配置要求

要求

硬件要求:

  • 系统:Debian 8+, Ubuntu 18+(推荐20.04)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,Debian无法使用zfs时自动切换别的存储类型

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测母鸡是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)
',14),r=[l];function p(n,o,c,d,h,u){return a(),t("div",null,r)}const g=e(s,[["render",p]]);export{_ as __pageData,g as default}; diff --git a/assets/en_US_guide_lxd_qa.md.61830c4d.js b/assets/en_US_guide_lxd_qa.md.eaeeb5b9.js similarity index 98% rename from assets/en_US_guide_lxd_qa.md.61830c4d.js rename to assets/en_US_guide_lxd_qa.md.eaeeb5b9.js index 9c2b846332..cf72bee466 100644 --- a/assets/en_US_guide_lxd_qa.md.61830c4d.js +++ b/assets/en_US_guide_lxd_qa.md.eaeeb5b9.js @@ -1,2 +1,2 @@ -import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const _=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_qa.md","filePath":"en_US/guide/lxd_qa.md","lastUpdated":1691593150000}'),l={name:"en_US/guide/lxd_qa.md"},p=t(`

解惑

如果LXD安装后lxc命令显示找不到怎么办

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
+import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const _=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_qa.md","filePath":"en_US/guide/lxd_qa.md","lastUpdated":1691741224000}'),l={name:"en_US/guide/lxd_qa.md"},p=t(`

解惑

如果LXD安装后lxc命令显示找不到怎么办

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
 export PATH=$PATH:/snap/bin

执行这个命令后尝试

lxc -h

看看lxc命令是否已修复

开设centos7发现报错CGroupV1不支持怎么办

启用CGroup V1:要在Ubuntu系统上启用CGroup V1,需要编辑内核启动参数。

请注意,在更改内核启动参数之前,请务必备份重要的数据和设置,以防止意外的问题。

编辑/etc/default/grub文件,将GRUB_CMDLINE_LINUX_DEFAULT中的参数末尾加上cgroup_enable=memory

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash cgroup_enable=memory"

保存文件并运行以下命令更新GRUB引导。

bash
sudo update-grub

重启系统,使更改生效

如果上述更改仍旧不支持开设centos7,那么请使用别的宿主机系统尝试

目前已验证可开带独立IPV6地址容器的VPS商家

kuroit 中的 美国凤凰城 regular

datalix 中的 德国AMD 促销款

luxvps 中的 德国AMD 促销款

`,19),o=[p];function n(r,c,i,d,u,h){return e(),s("div",null,o)}const b=a(l,[["render",n]]);export{_ as __pageData,b as default}; diff --git a/assets/en_US_guide_lxd_qa.md.61830c4d.lean.js b/assets/en_US_guide_lxd_qa.md.eaeeb5b9.lean.js similarity index 98% rename from assets/en_US_guide_lxd_qa.md.61830c4d.lean.js rename to assets/en_US_guide_lxd_qa.md.eaeeb5b9.lean.js index 9c2b846332..cf72bee466 100644 --- a/assets/en_US_guide_lxd_qa.md.61830c4d.lean.js +++ b/assets/en_US_guide_lxd_qa.md.eaeeb5b9.lean.js @@ -1,2 +1,2 @@ -import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const _=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_qa.md","filePath":"en_US/guide/lxd_qa.md","lastUpdated":1691593150000}'),l={name:"en_US/guide/lxd_qa.md"},p=t(`

解惑

如果LXD安装后lxc命令显示找不到怎么办

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
+import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const _=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/lxd_qa.md","filePath":"en_US/guide/lxd_qa.md","lastUpdated":1691741224000}'),l={name:"en_US/guide/lxd_qa.md"},p=t(`

解惑

如果LXD安装后lxc命令显示找不到怎么办

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
 export PATH=$PATH:/snap/bin

执行这个命令后尝试

lxc -h

看看lxc命令是否已修复

开设centos7发现报错CGroupV1不支持怎么办

启用CGroup V1:要在Ubuntu系统上启用CGroup V1,需要编辑内核启动参数。

请注意,在更改内核启动参数之前,请务必备份重要的数据和设置,以防止意外的问题。

编辑/etc/default/grub文件,将GRUB_CMDLINE_LINUX_DEFAULT中的参数末尾加上cgroup_enable=memory

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash cgroup_enable=memory"

保存文件并运行以下命令更新GRUB引导。

bash
sudo update-grub

重启系统,使更改生效

如果上述更改仍旧不支持开设centos7,那么请使用别的宿主机系统尝试

目前已验证可开带独立IPV6地址容器的VPS商家

kuroit 中的 美国凤凰城 regular

datalix 中的 德国AMD 促销款

luxvps 中的 德国AMD 促销款

`,19),o=[p];function n(r,c,i,d,u,h){return e(),s("div",null,o)}const b=a(l,[["render",n]]);export{_ as __pageData,b as default}; diff --git a/assets/en_US_guide_lxd_thanks.md.6410f665.js b/assets/en_US_guide_lxd_thanks.md.e617b72f.js similarity index 94% rename from assets/en_US_guide_lxd_thanks.md.6410f665.js rename to assets/en_US_guide_lxd_thanks.md.e617b72f.js index 60cf144988..7a31dc30b6 100644 --- a/assets/en_US_guide_lxd_thanks.md.6410f665.js +++ b/assets/en_US_guide_lxd_thanks.md.e617b72f.js @@ -1 +1 @@ -import{_ as t,v as e,b as r,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_thanks.md","filePath":"en_US/guide/lxd_thanks.md","lastUpdated":1691593150000}'),n={name:"en_US/guide/lxd_thanks.md"},s=a('

致谢

https://github.com/lxc/lxd

https://lxdware.com/

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

感谢 @Ella-Alinda @fscarmen 提供的指导

',10),o=[s];function i(c,l,p,d,h,u){return e(),r("div",null,o)}const x=t(n,[["render",i]]);export{g as __pageData,x as default}; +import{_ as t,v as e,b as r,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_thanks.md","filePath":"en_US/guide/lxd_thanks.md","lastUpdated":1691741224000}'),n={name:"en_US/guide/lxd_thanks.md"},s=a('

致谢

https://github.com/lxc/lxd

https://lxdware.com/

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

感谢 @Ella-Alinda @fscarmen 提供的指导

',10),o=[s];function i(c,l,p,d,h,u){return e(),r("div",null,o)}const x=t(n,[["render",i]]);export{g as __pageData,x as default}; diff --git a/assets/en_US_guide_lxd_thanks.md.6410f665.lean.js b/assets/en_US_guide_lxd_thanks.md.e617b72f.lean.js similarity index 94% rename from assets/en_US_guide_lxd_thanks.md.6410f665.lean.js rename to assets/en_US_guide_lxd_thanks.md.e617b72f.lean.js index 60cf144988..7a31dc30b6 100644 --- a/assets/en_US_guide_lxd_thanks.md.6410f665.lean.js +++ b/assets/en_US_guide_lxd_thanks.md.e617b72f.lean.js @@ -1 +1 @@ -import{_ as t,v as e,b as r,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_thanks.md","filePath":"en_US/guide/lxd_thanks.md","lastUpdated":1691593150000}'),n={name:"en_US/guide/lxd_thanks.md"},s=a('

致谢

https://github.com/lxc/lxd

https://lxdware.com/

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

感谢 @Ella-Alinda @fscarmen 提供的指导

',10),o=[s];function i(c,l,p,d,h,u){return e(),r("div",null,o)}const x=t(n,[["render",i]]);export{g as __pageData,x as default}; +import{_ as t,v as e,b as r,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/lxd_thanks.md","filePath":"en_US/guide/lxd_thanks.md","lastUpdated":1691741224000}'),n={name:"en_US/guide/lxd_thanks.md"},s=a('

致谢

https://github.com/lxc/lxd

https://lxdware.com/

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

感谢 @Ella-Alinda @fscarmen 提供的指导

',10),o=[s];function i(c,l,p,d,h,u){return e(),r("div",null,o)}const x=t(n,[["render",i]]);export{g as __pageData,x as default}; diff --git a/assets/en_US_guide_pve_custom.md.66528c36.js b/assets/en_US_guide_pve_custom.md.66528c36.js new file mode 100644 index 0000000000..d57391b4d0 --- /dev/null +++ b/assets/en_US_guide_pve_custom.md.66528c36.js @@ -0,0 +1 @@ +import{_ as e,v as t,b as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_custom.md","filePath":"en_US/guide/pve_custom.md","lastUpdated":1691741224000}'),a={name:"en_US/guide/pve_custom.md"};function _(o,r,n,c,d,p){return t(),s("div")}const u=e(a,[["render",_]]);export{m as __pageData,u as default}; diff --git a/assets/en_US_guide_pve_custom.md.66528c36.lean.js b/assets/en_US_guide_pve_custom.md.66528c36.lean.js new file mode 100644 index 0000000000..d57391b4d0 --- /dev/null +++ b/assets/en_US_guide_pve_custom.md.66528c36.lean.js @@ -0,0 +1 @@ +import{_ as e,v as t,b as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_custom.md","filePath":"en_US/guide/pve_custom.md","lastUpdated":1691741224000}'),a={name:"en_US/guide/pve_custom.md"};function _(o,r,n,c,d,p){return t(),s("div")}const u=e(a,[["render",_]]);export{m as __pageData,u as default}; diff --git a/assets/en_US_guide_pve_install.md.237a1890.js b/assets/en_US_guide_pve_install.md.237a1890.js deleted file mode 100644 index e1463edc47..0000000000 --- a/assets/en_US_guide_pve_install.md.237a1890.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,v as a,b as l,R as e}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"PVE主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_install.md","filePath":"en_US/guide/pve_install.md","lastUpdated":1691593150000}'),p={name:"en_US/guide/pve_install.md"},t=e('

PVE主体安装

安装过程中遇到选项不会选的可无脑按回车,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载

一键安装PVE

TIP

建议debian11而不是debian12,因为后者虽然是stable版本但不知道是否有未发现的BUG,debian11安装的目前稳定点

  • 安装的是当下apt源最新的PVE
  • 比如debian10则是pve6.4,debian11则是pve7.x,debian12则是pve8.x
  • /etc/hosts文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
  • /etc/cloud/cloud.cfg文件修改(避免覆写已修改的hostname等配置)
  • /etc/network/interfaces文件修改(修复auto、dhcp类型为static、增加vmbr0网关)
  • 检测是否为中国IP,如果为中国IP使用清华镜像源,否则使用官方源,同时处理apt的源和对应的nameserver,避免断网
  • 安装PVE开虚拟机需要的必备工具包
  • x86_64的替换apt源中的企业订阅为社区源,arm的使用第三方修复的补丁构建的源
  • 打印查询Linux系统内核和PVE内核是否已安装
  • 设置DNS检测8.8.8.8的开机自启添加DNS的systemd服务
  • 新增PVE的APT源链接后,下载PVE并打印输出登陆信息

所有修改过的文件均已设置为只读模式,避免重启后文件被覆写

如需修改请使用chattr -i 文件路径取消只读锁定,修改完毕请执行chattr +i 文件路径进行只读锁定

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

shell
bash install_pve.sh

TIP

安装成功后打开网页可能提示不安全,点击高级或更多选项,坚持访问即可

预配置环境

  • 创建资源池mypool
  • 移除订阅弹窗
  • 尝试开启硬件直通
  • 对AppArmor模块检测和自动安装
  • 重启系统前推荐挂上nezha探针方便在后台不通过SSH使用命令行,避免SSH可能因为商家奇葩的预设可能导致重启后root密码丢失
  • 执行reboot前需要等待后台任务执行完毕,一些宿主机的系统apt命令执行很慢,得等一会才能执行完毕,当然大部分的机器没这么烂

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

自动配置宿主机的网关

WARNING

使用前请保证重启过服务器且此时PVE能正常使用WEB端再执行,重启机器后不要立即执行此命令,待WEB端启动成功后至少等5分钟再执行本命令

TIP

这一步是最容易造成SSH断开的,原因是未等待PVE内核启动就修改网络会造成设置冲突,所以至少等几分钟待内核启动也就是WEB端启动成功后再执行

  • 创建vmbr0(独立IP网关),宿主机允许addr和gateway为内网IP或外网IP,已自动识别
  • vmbr0创建支持开设纯IPV4、纯IPV6、双栈虚拟机,自动识别IPV4地址和IPV6地址,自动识别对应的IP区间
  • 创建vmbr1(NAT网关),暂不支持开设带独立IPV6地址的NAT的IPV4虚拟机
  • 想查看完整设置可以执行cat /etc/network/interfaces查看,如需修改网关需要修改该文件,web端已经无法修改
  • 加载iptables并设置回源且允许NAT端口转发

简单的说,vmbr0负责v4/v6的独立IP,vmbr1复杂v4/v6的NAT

开独立IPV4的虚拟机时使用的vmbr0,gateway同宿主机,IPV4/CIDR使用同一网段的地址和相同的子网掩码,使用宿主机未绑定的IPV4地址做IPV4/CIDR,当然如果后续使用本套脚本无需关注这点细枝末节的东西

开NAT的IPV4的虚拟机时使用vmbr1,gateway使用172.16.1.1,IPV4/CIDR使用172.16.1.x/24,这里的x不能是1,当然如果后续使用本套脚本无需关注这点细枝末节的东西

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

TIP

这一步是可能需要你执行成功几分钟后重启系统,详见脚本最后执行完毕的提示

',32),o=[t];function n(c,i,r,d,h,C){return a(),l("div",null,o)}const u=s(p,[["render",n]]);export{m as __pageData,u as default}; diff --git a/assets/en_US_guide_pve_install.md.237a1890.lean.js b/assets/en_US_guide_pve_install.md.237a1890.lean.js deleted file mode 100644 index e1463edc47..0000000000 --- a/assets/en_US_guide_pve_install.md.237a1890.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,v as a,b as l,R as e}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"PVE主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_install.md","filePath":"en_US/guide/pve_install.md","lastUpdated":1691593150000}'),p={name:"en_US/guide/pve_install.md"},t=e('

PVE主体安装

安装过程中遇到选项不会选的可无脑按回车,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载

一键安装PVE

TIP

建议debian11而不是debian12,因为后者虽然是stable版本但不知道是否有未发现的BUG,debian11安装的目前稳定点

  • 安装的是当下apt源最新的PVE
  • 比如debian10则是pve6.4,debian11则是pve7.x,debian12则是pve8.x
  • /etc/hosts文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
  • /etc/cloud/cloud.cfg文件修改(避免覆写已修改的hostname等配置)
  • /etc/network/interfaces文件修改(修复auto、dhcp类型为static、增加vmbr0网关)
  • 检测是否为中国IP,如果为中国IP使用清华镜像源,否则使用官方源,同时处理apt的源和对应的nameserver,避免断网
  • 安装PVE开虚拟机需要的必备工具包
  • x86_64的替换apt源中的企业订阅为社区源,arm的使用第三方修复的补丁构建的源
  • 打印查询Linux系统内核和PVE内核是否已安装
  • 设置DNS检测8.8.8.8的开机自启添加DNS的systemd服务
  • 新增PVE的APT源链接后,下载PVE并打印输出登陆信息

所有修改过的文件均已设置为只读模式,避免重启后文件被覆写

如需修改请使用chattr -i 文件路径取消只读锁定,修改完毕请执行chattr +i 文件路径进行只读锁定

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

shell
bash install_pve.sh

TIP

安装成功后打开网页可能提示不安全,点击高级或更多选项,坚持访问即可

预配置环境

  • 创建资源池mypool
  • 移除订阅弹窗
  • 尝试开启硬件直通
  • 对AppArmor模块检测和自动安装
  • 重启系统前推荐挂上nezha探针方便在后台不通过SSH使用命令行,避免SSH可能因为商家奇葩的预设可能导致重启后root密码丢失
  • 执行reboot前需要等待后台任务执行完毕,一些宿主机的系统apt命令执行很慢,得等一会才能执行完毕,当然大部分的机器没这么烂

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

自动配置宿主机的网关

WARNING

使用前请保证重启过服务器且此时PVE能正常使用WEB端再执行,重启机器后不要立即执行此命令,待WEB端启动成功后至少等5分钟再执行本命令

TIP

这一步是最容易造成SSH断开的,原因是未等待PVE内核启动就修改网络会造成设置冲突,所以至少等几分钟待内核启动也就是WEB端启动成功后再执行

  • 创建vmbr0(独立IP网关),宿主机允许addr和gateway为内网IP或外网IP,已自动识别
  • vmbr0创建支持开设纯IPV4、纯IPV6、双栈虚拟机,自动识别IPV4地址和IPV6地址,自动识别对应的IP区间
  • 创建vmbr1(NAT网关),暂不支持开设带独立IPV6地址的NAT的IPV4虚拟机
  • 想查看完整设置可以执行cat /etc/network/interfaces查看,如需修改网关需要修改该文件,web端已经无法修改
  • 加载iptables并设置回源且允许NAT端口转发

简单的说,vmbr0负责v4/v6的独立IP,vmbr1复杂v4/v6的NAT

开独立IPV4的虚拟机时使用的vmbr0,gateway同宿主机,IPV4/CIDR使用同一网段的地址和相同的子网掩码,使用宿主机未绑定的IPV4地址做IPV4/CIDR,当然如果后续使用本套脚本无需关注这点细枝末节的东西

开NAT的IPV4的虚拟机时使用vmbr1,gateway使用172.16.1.1,IPV4/CIDR使用172.16.1.x/24,这里的x不能是1,当然如果后续使用本套脚本无需关注这点细枝末节的东西

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

TIP

这一步是可能需要你执行成功几分钟后重启系统,详见脚本最后执行完毕的提示

',32),o=[t];function n(c,i,r,d,h,C){return a(),l("div",null,o)}const u=s(p,[["render",n]]);export{m as __pageData,u as default}; diff --git a/assets/en_US_guide_pve_install.md.d630b2fd.js b/assets/en_US_guide_pve_install.md.d630b2fd.js new file mode 100644 index 0000000000..6e7c8e3124 --- /dev/null +++ b/assets/en_US_guide_pve_install.md.d630b2fd.js @@ -0,0 +1 @@ +import{_ as s,v as a,b as l,R as e}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"PVE主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_install.md","filePath":"en_US/guide/pve_install.md","lastUpdated":1691741224000}'),p={name:"en_US/guide/pve_install.md"},t=e('

PVE主体安装

安装过程中遇到选项不会选的可无脑按回车,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载

一键安装PVE

TIP

建议debian11而不是debian12,因为后者虽然是stable版本但不知道是否有未发现的BUG,debian11安装的目前稳定点

  • 安装的是当下apt源最新的PVE
  • 比如debian10则是pve6.4,debian11则是pve7.x,debian12则是pve8.x
  • /etc/hosts文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
  • /etc/cloud/cloud.cfg文件修改(避免覆写已修改的hostname等配置)
  • /etc/network/interfaces文件修改(修复auto、dhcp类型为static、增加vmbr0网关)
  • 检测是否为中国IP,如果为中国IP使用清华镜像源,否则使用官方源,同时处理apt的源和对应的nameserver,避免断网
  • 创建vmbr0(独立IP网关),宿主机允许addr和gateway为内网IP或外网IP,已自动识别
  • vmbr0创建支持开设纯IPV4、纯IPV6、双栈虚拟机,自动识别IPV4地址和IPV6地址,自动识别对应的IP区间
  • 安装PVE开虚拟机需要的必备工具包
  • x86_64的替换apt源中的企业订阅为社区源,arm的使用第三方修复的补丁构建的源
  • 打印查询Linux系统内核和PVE内核是否已安装
  • 设置DNS检测8.8.8.8的开机自启添加DNS的systemd服务
  • 新增PVE的APT源链接后,下载PVE并打印输出登陆信息

所有修改过的文件均已设置为只读模式,避免重启后文件被覆写

如需修改请使用chattr -i 文件路径取消只读锁定,修改完毕请执行chattr +i 文件路径进行只读锁定

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

shell
bash install_pve.sh

TIP

安装成功后打开网页可能提示不安全,点击高级或更多选项,坚持访问即可

预配置环境

  • 创建资源池mypool
  • 移除订阅弹窗
  • 尝试开启硬件直通
  • 对AppArmor模块检测和自动安装
  • 重启系统前推荐挂上nezha探针方便在后台不通过SSH使用命令行,避免SSH可能因为商家奇葩的预设可能导致重启后root密码丢失
  • 执行reboot前需要等待后台任务执行完毕,一些宿主机的系统apt命令执行很慢,得等一会才能执行完毕,当然大部分的机器没这么烂

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

自动配置宿主机的网关

WARNING

使用前请保证重启过服务器且此时PVE能正常使用WEB端再执行,重启机器后不要立即执行此命令,待WEB端启动成功后至少等1分钟再执行本命令

TIP

这一步是最容易造成SSH断开的,原因是未等待PVE内核启动就修改网络会造成设置冲突,所以至少等几分钟待内核启动也就是WEB端启动成功后再执行

  • 创建vmbr1(NAT网关),暂不支持开设带独立IPV6地址的NAT的IPV4虚拟机
  • 想查看完整设置可以执行cat /etc/network/interfaces查看,如需修改网关需要修改该文件,web端已经无法修改
  • 加载iptables并设置回源且允许NAT端口转发

简单的说,vmbr0负责v4/v6的独立IP,vmbr1复杂v4/v6的NAT

开独立IPV4的虚拟机时使用的vmbr0,gateway同宿主机,IPV4/CIDR使用同一网段的地址和相同的子网掩码,使用宿主机未绑定的IPV4地址做IPV4/CIDR,当然如果后续使用本套脚本无需关注这点细枝末节的东西

开NAT的IPV4的虚拟机时使用vmbr1,gateway使用172.16.1.1,IPV4/CIDR使用172.16.1.x/24,这里的x不能是1,当然如果后续使用本套脚本无需关注这点细枝末节的东西

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

TIP

这一步是可能需要你执行成功几分钟后重启系统,详见脚本最后执行完毕的提示

',32),o=[t];function n(c,i,r,d,h,C){return a(),l("div",null,o)}const u=s(p,[["render",n]]);export{m as __pageData,u as default}; diff --git a/assets/en_US_guide_pve_install.md.d630b2fd.lean.js b/assets/en_US_guide_pve_install.md.d630b2fd.lean.js new file mode 100644 index 0000000000..6e7c8e3124 --- /dev/null +++ b/assets/en_US_guide_pve_install.md.d630b2fd.lean.js @@ -0,0 +1 @@ +import{_ as s,v as a,b as l,R as e}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"PVE主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_install.md","filePath":"en_US/guide/pve_install.md","lastUpdated":1691741224000}'),p={name:"en_US/guide/pve_install.md"},t=e('

PVE主体安装

安装过程中遇到选项不会选的可无脑按回车,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载

一键安装PVE

TIP

建议debian11而不是debian12,因为后者虽然是stable版本但不知道是否有未发现的BUG,debian11安装的目前稳定点

  • 安装的是当下apt源最新的PVE
  • 比如debian10则是pve6.4,debian11则是pve7.x,debian12则是pve8.x
  • /etc/hosts文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
  • /etc/cloud/cloud.cfg文件修改(避免覆写已修改的hostname等配置)
  • /etc/network/interfaces文件修改(修复auto、dhcp类型为static、增加vmbr0网关)
  • 检测是否为中国IP,如果为中国IP使用清华镜像源,否则使用官方源,同时处理apt的源和对应的nameserver,避免断网
  • 创建vmbr0(独立IP网关),宿主机允许addr和gateway为内网IP或外网IP,已自动识别
  • vmbr0创建支持开设纯IPV4、纯IPV6、双栈虚拟机,自动识别IPV4地址和IPV6地址,自动识别对应的IP区间
  • 安装PVE开虚拟机需要的必备工具包
  • x86_64的替换apt源中的企业订阅为社区源,arm的使用第三方修复的补丁构建的源
  • 打印查询Linux系统内核和PVE内核是否已安装
  • 设置DNS检测8.8.8.8的开机自启添加DNS的systemd服务
  • 新增PVE的APT源链接后,下载PVE并打印输出登陆信息

所有修改过的文件均已设置为只读模式,避免重启后文件被覆写

如需修改请使用chattr -i 文件路径取消只读锁定,修改完毕请执行chattr +i 文件路径进行只读锁定

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

shell
bash install_pve.sh

TIP

安装成功后打开网页可能提示不安全,点击高级或更多选项,坚持访问即可

预配置环境

  • 创建资源池mypool
  • 移除订阅弹窗
  • 尝试开启硬件直通
  • 对AppArmor模块检测和自动安装
  • 重启系统前推荐挂上nezha探针方便在后台不通过SSH使用命令行,避免SSH可能因为商家奇葩的预设可能导致重启后root密码丢失
  • 执行reboot前需要等待后台任务执行完毕,一些宿主机的系统apt命令执行很慢,得等一会才能执行完毕,当然大部分的机器没这么烂

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

自动配置宿主机的网关

WARNING

使用前请保证重启过服务器且此时PVE能正常使用WEB端再执行,重启机器后不要立即执行此命令,待WEB端启动成功后至少等1分钟再执行本命令

TIP

这一步是最容易造成SSH断开的,原因是未等待PVE内核启动就修改网络会造成设置冲突,所以至少等几分钟待内核启动也就是WEB端启动成功后再执行

  • 创建vmbr1(NAT网关),暂不支持开设带独立IPV6地址的NAT的IPV4虚拟机
  • 想查看完整设置可以执行cat /etc/network/interfaces查看,如需修改网关需要修改该文件,web端已经无法修改
  • 加载iptables并设置回源且允许NAT端口转发

简单的说,vmbr0负责v4/v6的独立IP,vmbr1复杂v4/v6的NAT

开独立IPV4的虚拟机时使用的vmbr0,gateway同宿主机,IPV4/CIDR使用同一网段的地址和相同的子网掩码,使用宿主机未绑定的IPV4地址做IPV4/CIDR,当然如果后续使用本套脚本无需关注这点细枝末节的东西

开NAT的IPV4的虚拟机时使用vmbr1,gateway使用172.16.1.1,IPV4/CIDR使用172.16.1.x/24,这里的x不能是1,当然如果后续使用本套脚本无需关注这点细枝末节的东西

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

TIP

这一步是可能需要你执行成功几分钟后重启系统,详见脚本最后执行完毕的提示

',32),o=[t];function n(c,i,r,d,h,C){return a(),l("div",null,o)}const u=s(p,[["render",n]]);export{m as __pageData,u as default}; diff --git a/assets/en_US_guide_pve_kvm.md.320475b6.js b/assets/en_US_guide_pve_kvm.md.4a11a7e4.js similarity index 99% rename from assets/en_US_guide_pve_kvm.md.320475b6.js rename to assets/en_US_guide_pve_kvm.md.4a11a7e4.js index 3b25ca4d51..3d2d16e292 100644 --- a/assets/en_US_guide_pve_kvm.md.320475b6.js +++ b/assets/en_US_guide_pve_kvm.md.4a11a7e4.js @@ -1,4 +1,4 @@ -import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"KVM虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_kvm.md","filePath":"en_US/guide/pve_kvm.md","lastUpdated":1691593150000}'),o={name:"en_US/guide/pve_kvm.md"},p=n(`

KVM虚拟化

SSH登录说明

KVM虚拟化开设出的虚拟机,默认生成的用户名不是root,你需要执行sudo -i切换为root用户

当然部分模板实际支持用户名root登录,默认的root密码是password,你也可以先试试

登录SSH切换为root权限后,一定要修改root密码,可以使用以下命令修改

国际

bash
bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

国内

bash
bash <(curl -sSL https://ghproxy.com/https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

部分注意事项

执行本项目的检测环境的命令,展示如下

图片

查询如上的只需使用下面的一键脚本自动创建虚拟机即可,无需手动再修改WEB端设置

图片

查询如上的在使用后续脚本创建了虚拟机后,可能需要手动修改WEB端设置,需要关闭对应每个虚拟机的硬件嵌套虚拟化,如下图

图片

先停止虚拟机再修改,修改完后再开机才能使用NOVNC,不关闭可能导致这个虚拟机有BUG无法使用

如果强行安装PVE开KVM,启动不了的也可以关闭这个选项试试能不能启动虚拟机

TIP

开设虚拟机前请使用screen挂起执行,避免开设时间过长,SSH不稳定导致中间执行中断

开设KVM虚拟机可使用的镜像

  • 已预安装开启cloudinit
  • 开启SSH登陆
  • 预设置SSH监听V4和V6的22端口
  • 开启允许密码验证登陆
  • 开启允许root登陆
  • 部分预安装Qemu-guest-agent

目前可使用的镜像名字的列表为

https://github.com/oneclickvirt/kvm_images/blob/main/list.text

单独开设NAT的KVM虚拟化的虚拟机

  • 自动开设NAT服务器,默认使用Debian10镜像,因为该镜像占用最小
  • 可在命令中自定义需要使用的镜像,这里有给出配置好的镜像,镜像自带空间设置是2~10G硬盘,日常使用至少10G以上即可,除非某些镜像开不起来再增加硬盘大小
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 自定义内存大小推荐512MB内存
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloud-init配置好网络以及登陆信息,大概需要5分钟
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

使用方法

  • 系统支持:
    • x86_64架构的详见 跳转 中列出的系统,使用时只需写文件名字,不需要.qcow2尾缀
    • arm架构的详见 跳转 中列出的系统,使用时只需要写系统名字+系统版本号,如ubuntu20、ubutnu22这种

TIP

注意这里的用户名不能是纯数字,会造成cloudinit出问题,最好是纯英文或英文开头

shell
./buildvm.sh VMID 用户名 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildvm.sh 102 test1 oneclick123 1 512 10 40001 40002 40003 50000 50025 debian11 local

开设完毕可执行cat vm102查看信息,或到WEB端对应VM的NOTES中查看

  • 以下为开设的示例VM的信息:
\`VMID\` - 102
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"KVM虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_kvm.md","filePath":"en_US/guide/pve_kvm.md","lastUpdated":1691741224000}'),o={name:"en_US/guide/pve_kvm.md"},p=n(`

KVM虚拟化

SSH登录说明

KVM虚拟化开设出的虚拟机,默认生成的用户名不是root,你需要执行sudo -i切换为root用户

当然部分模板实际支持用户名root登录,默认的root密码是password,你也可以先试试

登录SSH切换为root权限后,一定要修改root密码,可以使用以下命令修改

国际

bash
bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

国内

bash
bash <(curl -sSL https://ghproxy.com/https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

部分注意事项

执行本项目的检测环境的命令,展示如下

图片

查询如上的只需使用下面的一键脚本自动创建虚拟机即可,无需手动再修改WEB端设置

图片

查询如上的在使用后续脚本创建了虚拟机后,可能需要手动修改WEB端设置,需要关闭对应每个虚拟机的硬件嵌套虚拟化,如下图

图片

先停止虚拟机再修改,修改完后再开机才能使用NOVNC,不关闭可能导致这个虚拟机有BUG无法使用

如果强行安装PVE开KVM,启动不了的也可以关闭这个选项试试能不能启动虚拟机

TIP

开设虚拟机前请使用screen挂起执行,避免开设时间过长,SSH不稳定导致中间执行中断

开设KVM虚拟机可使用的镜像

  • 已预安装开启cloudinit
  • 开启SSH登陆
  • 预设置SSH监听V4和V6的22端口
  • 开启允许密码验证登陆
  • 开启允许root登陆
  • 部分预安装Qemu-guest-agent

目前可使用的镜像名字的列表为

https://github.com/oneclickvirt/kvm_images/blob/main/list.text

单独开设NAT的KVM虚拟化的虚拟机

  • 自动开设NAT服务器,默认使用Debian10镜像,因为该镜像占用最小
  • 可在命令中自定义需要使用的镜像,这里有给出配置好的镜像,镜像自带空间设置是2~10G硬盘,日常使用至少10G以上即可,除非某些镜像开不起来再增加硬盘大小
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 自定义内存大小推荐512MB内存
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloud-init配置好网络以及登陆信息,大概需要5分钟
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

使用方法

  • 系统支持:
    • x86_64架构的详见 跳转 中列出的系统,使用时只需写文件名字,不需要.qcow2尾缀
    • arm架构的详见 跳转 中列出的系统,使用时只需要写系统名字+系统版本号,如ubuntu20、ubutnu22这种

TIP

注意这里的用户名不能是纯数字,会造成cloudinit出问题,最好是纯英文或英文开头

shell
./buildvm.sh VMID 用户名 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildvm.sh 102 test1 oneclick123 1 512 10 40001 40002 40003 50000 50025 debian11 local

开设完毕可执行cat vm102查看信息,或到WEB端对应VM的NOTES中查看

  • 以下为开设的示例VM的信息:
\`VMID\` - 102
 \`SSH登录的用户名\` - test1
 \`SSH登录的密码\` - oneclick123
 \`CPU核数\` - 1   
diff --git a/assets/en_US_guide_pve_kvm.md.320475b6.lean.js b/assets/en_US_guide_pve_kvm.md.4a11a7e4.lean.js
similarity index 99%
rename from assets/en_US_guide_pve_kvm.md.320475b6.lean.js
rename to assets/en_US_guide_pve_kvm.md.4a11a7e4.lean.js
index 3b25ca4d51..3d2d16e292 100644
--- a/assets/en_US_guide_pve_kvm.md.320475b6.lean.js
+++ b/assets/en_US_guide_pve_kvm.md.4a11a7e4.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"KVM虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_kvm.md","filePath":"en_US/guide/pve_kvm.md","lastUpdated":1691593150000}'),o={name:"en_US/guide/pve_kvm.md"},p=n(`

KVM虚拟化

SSH登录说明

KVM虚拟化开设出的虚拟机,默认生成的用户名不是root,你需要执行sudo -i切换为root用户

当然部分模板实际支持用户名root登录,默认的root密码是password,你也可以先试试

登录SSH切换为root权限后,一定要修改root密码,可以使用以下命令修改

国际

bash
bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

国内

bash
bash <(curl -sSL https://ghproxy.com/https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

部分注意事项

执行本项目的检测环境的命令,展示如下

图片

查询如上的只需使用下面的一键脚本自动创建虚拟机即可,无需手动再修改WEB端设置

图片

查询如上的在使用后续脚本创建了虚拟机后,可能需要手动修改WEB端设置,需要关闭对应每个虚拟机的硬件嵌套虚拟化,如下图

图片

先停止虚拟机再修改,修改完后再开机才能使用NOVNC,不关闭可能导致这个虚拟机有BUG无法使用

如果强行安装PVE开KVM,启动不了的也可以关闭这个选项试试能不能启动虚拟机

TIP

开设虚拟机前请使用screen挂起执行,避免开设时间过长,SSH不稳定导致中间执行中断

开设KVM虚拟机可使用的镜像

  • 已预安装开启cloudinit
  • 开启SSH登陆
  • 预设置SSH监听V4和V6的22端口
  • 开启允许密码验证登陆
  • 开启允许root登陆
  • 部分预安装Qemu-guest-agent

目前可使用的镜像名字的列表为

https://github.com/oneclickvirt/kvm_images/blob/main/list.text

单独开设NAT的KVM虚拟化的虚拟机

  • 自动开设NAT服务器,默认使用Debian10镜像,因为该镜像占用最小
  • 可在命令中自定义需要使用的镜像,这里有给出配置好的镜像,镜像自带空间设置是2~10G硬盘,日常使用至少10G以上即可,除非某些镜像开不起来再增加硬盘大小
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 自定义内存大小推荐512MB内存
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloud-init配置好网络以及登陆信息,大概需要5分钟
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

使用方法

  • 系统支持:
    • x86_64架构的详见 跳转 中列出的系统,使用时只需写文件名字,不需要.qcow2尾缀
    • arm架构的详见 跳转 中列出的系统,使用时只需要写系统名字+系统版本号,如ubuntu20、ubutnu22这种

TIP

注意这里的用户名不能是纯数字,会造成cloudinit出问题,最好是纯英文或英文开头

shell
./buildvm.sh VMID 用户名 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildvm.sh 102 test1 oneclick123 1 512 10 40001 40002 40003 50000 50025 debian11 local

开设完毕可执行cat vm102查看信息,或到WEB端对应VM的NOTES中查看

  • 以下为开设的示例VM的信息:
\`VMID\` - 102
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"KVM虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_kvm.md","filePath":"en_US/guide/pve_kvm.md","lastUpdated":1691741224000}'),o={name:"en_US/guide/pve_kvm.md"},p=n(`

KVM虚拟化

SSH登录说明

KVM虚拟化开设出的虚拟机,默认生成的用户名不是root,你需要执行sudo -i切换为root用户

当然部分模板实际支持用户名root登录,默认的root密码是password,你也可以先试试

登录SSH切换为root权限后,一定要修改root密码,可以使用以下命令修改

国际

bash
bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

国内

bash
bash <(curl -sSL https://ghproxy.com/https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

部分注意事项

执行本项目的检测环境的命令,展示如下

图片

查询如上的只需使用下面的一键脚本自动创建虚拟机即可,无需手动再修改WEB端设置

图片

查询如上的在使用后续脚本创建了虚拟机后,可能需要手动修改WEB端设置,需要关闭对应每个虚拟机的硬件嵌套虚拟化,如下图

图片

先停止虚拟机再修改,修改完后再开机才能使用NOVNC,不关闭可能导致这个虚拟机有BUG无法使用

如果强行安装PVE开KVM,启动不了的也可以关闭这个选项试试能不能启动虚拟机

TIP

开设虚拟机前请使用screen挂起执行,避免开设时间过长,SSH不稳定导致中间执行中断

开设KVM虚拟机可使用的镜像

  • 已预安装开启cloudinit
  • 开启SSH登陆
  • 预设置SSH监听V4和V6的22端口
  • 开启允许密码验证登陆
  • 开启允许root登陆
  • 部分预安装Qemu-guest-agent

目前可使用的镜像名字的列表为

https://github.com/oneclickvirt/kvm_images/blob/main/list.text

单独开设NAT的KVM虚拟化的虚拟机

  • 自动开设NAT服务器,默认使用Debian10镜像,因为该镜像占用最小
  • 可在命令中自定义需要使用的镜像,这里有给出配置好的镜像,镜像自带空间设置是2~10G硬盘,日常使用至少10G以上即可,除非某些镜像开不起来再增加硬盘大小
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 自定义内存大小推荐512MB内存
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloud-init配置好网络以及登陆信息,大概需要5分钟
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

使用方法

  • 系统支持:
    • x86_64架构的详见 跳转 中列出的系统,使用时只需写文件名字,不需要.qcow2尾缀
    • arm架构的详见 跳转 中列出的系统,使用时只需要写系统名字+系统版本号,如ubuntu20、ubutnu22这种

TIP

注意这里的用户名不能是纯数字,会造成cloudinit出问题,最好是纯英文或英文开头

shell
./buildvm.sh VMID 用户名 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildvm.sh 102 test1 oneclick123 1 512 10 40001 40002 40003 50000 50025 debian11 local

开设完毕可执行cat vm102查看信息,或到WEB端对应VM的NOTES中查看

  • 以下为开设的示例VM的信息:
\`VMID\` - 102
 \`SSH登录的用户名\` - test1
 \`SSH登录的密码\` - oneclick123
 \`CPU核数\` - 1   
diff --git a/assets/en_US_guide_pve_lxc.md.a412d748.js b/assets/en_US_guide_pve_lxc.md.ae424d29.js
similarity index 99%
rename from assets/en_US_guide_pve_lxc.md.a412d748.js
rename to assets/en_US_guide_pve_lxc.md.ae424d29.js
index 3385ec198c..2a0ed33dbe 100644
--- a/assets/en_US_guide_pve_lxc.md.a412d748.js
+++ b/assets/en_US_guide_pve_lxc.md.ae424d29.js
@@ -1 +1 @@
-import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_lxc.md","filePath":"en_US/guide/pve_lxc.md","lastUpdated":1691593150000}'),p={name:"en_US/guide/pve_lxc.md"},o=n('

LXC虚拟化

单独开设LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 自动开设NAT服务器,默认使用Debian11镜像,也可自定义系统
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部配置好网络以及登陆信息,大概需要3分钟
  • 默认开设的网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

使用方法

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
  • 系统支持:
  • debian10,debian11
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,almalinux9
  • 其他系统可能支持可能不支持,自行测试

TIP

系统参数一律是小写的系统名字拼接版本号,x86_64的具体可执行pveam available --section system查看可用的系统名字和版本号,arm的可在https://mirror.tuna.tsinghua.edu.cn/lxc-images/images/中查看支持的系统,版本号类同执行pveam available --section system查看到的版本号。 (注意脚本使用的参数只有小写的英文系统名字拼接版本号)

所有系统的CT默认用户名是root

shell
./buildct.sh CTID 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildct.sh 102 oneclick123 1 512 5 20001 20002 20003 30000 30025 debian11 local

开设完毕可执行cat ct102查看信息,或在web端的NOTES查看

  • 以下为开设的示例CT的信息:
`VMID` - 102\n`SSH登录的用户名` - root\n`SSH登录的密码` - oneclick123\n`CPU核数` - 1   \n`内存大小` - 512MB\n`磁盘大小` - 5G   \n`SSH端口` - 20001\n`80端口` - 20002\n`443端口` - 20003\n`内外网映射端口一致的区间` - 30000到30025\n`系统` - debian11\n`宿主机的存储盘` - local

删除示例

  • 停止CT
  • 删除CT
  • 删除端口映射
  • 重启网络
  • 删除log文件
shell
pct stop 102\npct destroy 102\nrm -rf ct102\niptables -t nat -F\niptables -t filter -F\nservice networking restart\nsystemctl restart networking.service

批量开设NAT的LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 可多次运行批量生成CT容器,但需要注意的是母鸡内存记得开点swap免得机器炸了开SWAP点我跳转
  • 每个容器创建之间有间隔等待60秒避免突发性能不足
  • 可自定义批量开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

开设完毕可执行cat ctlog查看信息,或在web端的NOTES查看

删除所有CT

  • 删除所有CT
  • 删除所有nat的端口映射
  • 重启网络
  • 删除log文件
shell
pct list | awk 'NR>1{print $1}' | xargs -I {} sh -c 'pct stop {}; pct destroy {}'\nrm -rf ct*\niptables -t nat -F\niptables -t filter -F\nservice networking restart\nsystemctl restart networking.service

开设纯IPV6地址的虚拟机

前提是宿主机给的是IPV6子网而不是单独一个IPV6地址,且宿主机未开启MAC地址校验

自动选择IPV6地址无需手动指定

  • 自动检测可用的IPV6区间,对应容器编号的V6地址绑定到容器上
  • 系统的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh

创建示例

shell
./buildct_onlyv6.sh CTID 密码 CPU核数 内存大小以MB计算 硬盘大小以GB计算 系统 存储盘
shell
./buildct_onlyv6.sh 152 oneclick123 1 1024 10 debian12 local

上述命令意义为开设一个纯IPV6地址的CT容器,CTID是152,用户名是root,密码是oneclick123,CPU是1核,内存是1024MB,硬盘是10G,系统是debian12,存储盘是local盘也就是系统盘

删除示例

shell
rm -rf ct*\npct stop 152 \npct destroy 152
',50),e=[o];function t(c,r,C,i,y,A){return a(),l("div",null,e)}const h=s(p,[["render",t]]);export{d as __pageData,h as default}; +import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_lxc.md","filePath":"en_US/guide/pve_lxc.md","lastUpdated":1691741224000}'),p={name:"en_US/guide/pve_lxc.md"},o=n('

LXC虚拟化

单独开设LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 自动开设NAT服务器,默认使用Debian11镜像,也可自定义系统
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部配置好网络以及登陆信息,大概需要3分钟
  • 默认开设的网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

使用方法

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
  • 系统支持:
  • debian10,debian11
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,almalinux9
  • 其他系统可能支持可能不支持,自行测试

TIP

系统参数一律是小写的系统名字拼接版本号,x86_64的具体可执行pveam available --section system查看可用的系统名字和版本号,arm的可在https://mirror.tuna.tsinghua.edu.cn/lxc-images/images/中查看支持的系统,版本号类同执行pveam available --section system查看到的版本号。 (注意脚本使用的参数只有小写的英文系统名字拼接版本号)

所有系统的CT默认用户名是root

shell
./buildct.sh CTID 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildct.sh 102 oneclick123 1 512 5 20001 20002 20003 30000 30025 debian11 local

开设完毕可执行cat ct102查看信息,或在web端的NOTES查看

  • 以下为开设的示例CT的信息:
`VMID` - 102\n`SSH登录的用户名` - root\n`SSH登录的密码` - oneclick123\n`CPU核数` - 1   \n`内存大小` - 512MB\n`磁盘大小` - 5G   \n`SSH端口` - 20001\n`80端口` - 20002\n`443端口` - 20003\n`内外网映射端口一致的区间` - 30000到30025\n`系统` - debian11\n`宿主机的存储盘` - local

删除示例

  • 停止CT
  • 删除CT
  • 删除端口映射
  • 重启网络
  • 删除log文件
shell
pct stop 102\npct destroy 102\nrm -rf ct102\niptables -t nat -F\niptables -t filter -F\nservice networking restart\nsystemctl restart networking.service

批量开设NAT的LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 可多次运行批量生成CT容器,但需要注意的是母鸡内存记得开点swap免得机器炸了开SWAP点我跳转
  • 每个容器创建之间有间隔等待60秒避免突发性能不足
  • 可自定义批量开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

开设完毕可执行cat ctlog查看信息,或在web端的NOTES查看

删除所有CT

  • 删除所有CT
  • 删除所有nat的端口映射
  • 重启网络
  • 删除log文件
shell
pct list | awk 'NR>1{print $1}' | xargs -I {} sh -c 'pct stop {}; pct destroy {}'\nrm -rf ct*\niptables -t nat -F\niptables -t filter -F\nservice networking restart\nsystemctl restart networking.service

开设纯IPV6地址的虚拟机

前提是宿主机给的是IPV6子网而不是单独一个IPV6地址,且宿主机未开启MAC地址校验

自动选择IPV6地址无需手动指定

  • 自动检测可用的IPV6区间,对应容器编号的V6地址绑定到容器上
  • 系统的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh

创建示例

shell
./buildct_onlyv6.sh CTID 密码 CPU核数 内存大小以MB计算 硬盘大小以GB计算 系统 存储盘
shell
./buildct_onlyv6.sh 152 oneclick123 1 1024 10 debian12 local

上述命令意义为开设一个纯IPV6地址的CT容器,CTID是152,用户名是root,密码是oneclick123,CPU是1核,内存是1024MB,硬盘是10G,系统是debian12,存储盘是local盘也就是系统盘

删除示例

shell
rm -rf ct*\npct stop 152 \npct destroy 152
',50),e=[o];function t(c,r,C,i,y,A){return a(),l("div",null,e)}const h=s(p,[["render",t]]);export{d as __pageData,h as default}; diff --git a/assets/en_US_guide_pve_lxc.md.a412d748.lean.js b/assets/en_US_guide_pve_lxc.md.ae424d29.lean.js similarity index 99% rename from assets/en_US_guide_pve_lxc.md.a412d748.lean.js rename to assets/en_US_guide_pve_lxc.md.ae424d29.lean.js index 3385ec198c..2a0ed33dbe 100644 --- a/assets/en_US_guide_pve_lxc.md.a412d748.lean.js +++ b/assets/en_US_guide_pve_lxc.md.ae424d29.lean.js @@ -1 +1 @@ -import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_lxc.md","filePath":"en_US/guide/pve_lxc.md","lastUpdated":1691593150000}'),p={name:"en_US/guide/pve_lxc.md"},o=n('

LXC虚拟化

单独开设LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 自动开设NAT服务器,默认使用Debian11镜像,也可自定义系统
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部配置好网络以及登陆信息,大概需要3分钟
  • 默认开设的网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

使用方法

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
  • 系统支持:
  • debian10,debian11
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,almalinux9
  • 其他系统可能支持可能不支持,自行测试

TIP

系统参数一律是小写的系统名字拼接版本号,x86_64的具体可执行pveam available --section system查看可用的系统名字和版本号,arm的可在https://mirror.tuna.tsinghua.edu.cn/lxc-images/images/中查看支持的系统,版本号类同执行pveam available --section system查看到的版本号。 (注意脚本使用的参数只有小写的英文系统名字拼接版本号)

所有系统的CT默认用户名是root

shell
./buildct.sh CTID 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildct.sh 102 oneclick123 1 512 5 20001 20002 20003 30000 30025 debian11 local

开设完毕可执行cat ct102查看信息,或在web端的NOTES查看

  • 以下为开设的示例CT的信息:
`VMID` - 102\n`SSH登录的用户名` - root\n`SSH登录的密码` - oneclick123\n`CPU核数` - 1   \n`内存大小` - 512MB\n`磁盘大小` - 5G   \n`SSH端口` - 20001\n`80端口` - 20002\n`443端口` - 20003\n`内外网映射端口一致的区间` - 30000到30025\n`系统` - debian11\n`宿主机的存储盘` - local

删除示例

  • 停止CT
  • 删除CT
  • 删除端口映射
  • 重启网络
  • 删除log文件
shell
pct stop 102\npct destroy 102\nrm -rf ct102\niptables -t nat -F\niptables -t filter -F\nservice networking restart\nsystemctl restart networking.service

批量开设NAT的LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 可多次运行批量生成CT容器,但需要注意的是母鸡内存记得开点swap免得机器炸了开SWAP点我跳转
  • 每个容器创建之间有间隔等待60秒避免突发性能不足
  • 可自定义批量开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

开设完毕可执行cat ctlog查看信息,或在web端的NOTES查看

删除所有CT

  • 删除所有CT
  • 删除所有nat的端口映射
  • 重启网络
  • 删除log文件
shell
pct list | awk 'NR>1{print $1}' | xargs -I {} sh -c 'pct stop {}; pct destroy {}'\nrm -rf ct*\niptables -t nat -F\niptables -t filter -F\nservice networking restart\nsystemctl restart networking.service

开设纯IPV6地址的虚拟机

前提是宿主机给的是IPV6子网而不是单独一个IPV6地址,且宿主机未开启MAC地址校验

自动选择IPV6地址无需手动指定

  • 自动检测可用的IPV6区间,对应容器编号的V6地址绑定到容器上
  • 系统的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh

创建示例

shell
./buildct_onlyv6.sh CTID 密码 CPU核数 内存大小以MB计算 硬盘大小以GB计算 系统 存储盘
shell
./buildct_onlyv6.sh 152 oneclick123 1 1024 10 debian12 local

上述命令意义为开设一个纯IPV6地址的CT容器,CTID是152,用户名是root,密码是oneclick123,CPU是1核,内存是1024MB,硬盘是10G,系统是debian12,存储盘是local盘也就是系统盘

删除示例

shell
rm -rf ct*\npct stop 152 \npct destroy 152
',50),e=[o];function t(c,r,C,i,y,A){return a(),l("div",null,e)}const h=s(p,[["render",t]]);export{d as __pageData,h as default}; +import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_lxc.md","filePath":"en_US/guide/pve_lxc.md","lastUpdated":1691741224000}'),p={name:"en_US/guide/pve_lxc.md"},o=n('

LXC虚拟化

单独开设LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 自动开设NAT服务器,默认使用Debian11镜像,也可自定义系统
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部配置好网络以及登陆信息,大概需要3分钟
  • 默认开设的网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

使用方法

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
  • 系统支持:
  • debian10,debian11
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,almalinux9
  • 其他系统可能支持可能不支持,自行测试

TIP

系统参数一律是小写的系统名字拼接版本号,x86_64的具体可执行pveam available --section system查看可用的系统名字和版本号,arm的可在https://mirror.tuna.tsinghua.edu.cn/lxc-images/images/中查看支持的系统,版本号类同执行pveam available --section system查看到的版本号。 (注意脚本使用的参数只有小写的英文系统名字拼接版本号)

所有系统的CT默认用户名是root

shell
./buildct.sh CTID 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildct.sh 102 oneclick123 1 512 5 20001 20002 20003 30000 30025 debian11 local

开设完毕可执行cat ct102查看信息,或在web端的NOTES查看

  • 以下为开设的示例CT的信息:
`VMID` - 102\n`SSH登录的用户名` - root\n`SSH登录的密码` - oneclick123\n`CPU核数` - 1   \n`内存大小` - 512MB\n`磁盘大小` - 5G   \n`SSH端口` - 20001\n`80端口` - 20002\n`443端口` - 20003\n`内外网映射端口一致的区间` - 30000到30025\n`系统` - debian11\n`宿主机的存储盘` - local

删除示例

  • 停止CT
  • 删除CT
  • 删除端口映射
  • 重启网络
  • 删除log文件
shell
pct stop 102\npct destroy 102\nrm -rf ct102\niptables -t nat -F\niptables -t filter -F\nservice networking restart\nsystemctl restart networking.service

批量开设NAT的LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 可多次运行批量生成CT容器,但需要注意的是母鸡内存记得开点swap免得机器炸了开SWAP点我跳转
  • 每个容器创建之间有间隔等待60秒避免突发性能不足
  • 可自定义批量开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

开设完毕可执行cat ctlog查看信息,或在web端的NOTES查看

删除所有CT

  • 删除所有CT
  • 删除所有nat的端口映射
  • 重启网络
  • 删除log文件
shell
pct list | awk 'NR>1{print $1}' | xargs -I {} sh -c 'pct stop {}; pct destroy {}'\nrm -rf ct*\niptables -t nat -F\niptables -t filter -F\nservice networking restart\nsystemctl restart networking.service

开设纯IPV6地址的虚拟机

前提是宿主机给的是IPV6子网而不是单独一个IPV6地址,且宿主机未开启MAC地址校验

自动选择IPV6地址无需手动指定

  • 自动检测可用的IPV6区间,对应容器编号的V6地址绑定到容器上
  • 系统的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh

创建示例

shell
./buildct_onlyv6.sh CTID 密码 CPU核数 内存大小以MB计算 硬盘大小以GB计算 系统 存储盘
shell
./buildct_onlyv6.sh 152 oneclick123 1 1024 10 debian12 local

上述命令意义为开设一个纯IPV6地址的CT容器,CTID是152,用户名是root,密码是oneclick123,CPU是1核,内存是1024MB,硬盘是10G,系统是debian12,存储盘是local盘也就是系统盘

删除示例

shell
rm -rf ct*\npct stop 152 \npct destroy 152
',50),e=[o];function t(c,r,C,i,y,A){return a(),l("div",null,e)}const h=s(p,[["render",t]]);export{d as __pageData,h as default}; diff --git a/assets/en_US_guide_pve_precheck.md.a2047c48.js b/assets/en_US_guide_pve_precheck.md.dd286485.js similarity index 99% rename from assets/en_US_guide_pve_precheck.md.a2047c48.js rename to assets/en_US_guide_pve_precheck.md.dd286485.js index b6171f0883..875514938e 100644 --- a/assets/en_US_guide_pve_precheck.md.a2047c48.js +++ b/assets/en_US_guide_pve_precheck.md.dd286485.js @@ -1 +1 @@ -import{_ as s,v as a,b as p,R as l}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"系统和硬件配置要求","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_precheck.md","filePath":"en_US/guide/pve_precheck.md","lastUpdated":1691593150000}'),e={name:"en_US/guide/pve_precheck.md"},n=l('

系统和硬件配置要求

如果有未适配的商家或机器欢迎联系@spiritlhl_bot,有空会尝试支持一下

各种要求

建议debian在使用前尽量使用最新的稳定版本的系统

非debian11可使用 debian一键升级 来升级系统

本项目只适配Debian系统(非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装)

  • 系统要求:Debian 8+

TIP

建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版

  • 硬件要求:2核2G内存x86_64arm架构服务器硬盘至少20G
  • 可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)
  • 如果硬件或系统需求不满足,可使用LXD批量开LXC容器跳转

WARNING

内存开点swap免得机器炸了开SWAP点我跳转

开设虚拟内存(SWAP)

单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用

建议只开实际内存大小两倍大小的虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

检测环境

  • 本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本
  • 检测本机IPV6的网络配置情况(有无IPV6都可安装,只是查询一下罢了)
  • 检测硬件配置是否满足最低要求
  • 检测硬件环境是否可嵌套虚拟化KVM类型的服务器
  • 检测系统环境是否可嵌套虚拟化KVM类型的服务器
  • 不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用LXD

国际

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

国内

bash
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

如果你需要更新IPV6信息再查询,那么执行以下命令后再查询

bash
rm -rf /usr/local/bin/pve_ipv6*


',27),o=[n];function t(r,c,i,h,C,d){return a(),p("div",null,o)}const A=s(e,[["render",t]]);export{D as __pageData,A as default}; +import{_ as s,v as a,b as p,R as l}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"系统和硬件配置要求","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_precheck.md","filePath":"en_US/guide/pve_precheck.md","lastUpdated":1691741224000}'),e={name:"en_US/guide/pve_precheck.md"},n=l('

系统和硬件配置要求

如果有未适配的商家或机器欢迎联系@spiritlhl_bot,有空会尝试支持一下

各种要求

建议debian在使用前尽量使用最新的稳定版本的系统

非debian11可使用 debian一键升级 来升级系统

本项目只适配Debian系统(非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装)

  • 系统要求:Debian 8+

TIP

建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版

  • 硬件要求:2核2G内存x86_64arm架构服务器硬盘至少20G
  • 可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)
  • 如果硬件或系统需求不满足,可使用LXD批量开LXC容器跳转

WARNING

内存开点swap免得机器炸了开SWAP点我跳转

开设虚拟内存(SWAP)

单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用

建议只开实际内存大小两倍大小的虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

检测环境

  • 本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本
  • 检测本机IPV6的网络配置情况(有无IPV6都可安装,只是查询一下罢了)
  • 检测硬件配置是否满足最低要求
  • 检测硬件环境是否可嵌套虚拟化KVM类型的服务器
  • 检测系统环境是否可嵌套虚拟化KVM类型的服务器
  • 不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用LXD

国际

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

国内

bash
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

如果你需要更新IPV6信息再查询,那么执行以下命令后再查询

bash
rm -rf /usr/local/bin/pve_ipv6*


',27),o=[n];function t(r,c,i,h,C,d){return a(),p("div",null,o)}const A=s(e,[["render",t]]);export{D as __pageData,A as default}; diff --git a/assets/en_US_guide_pve_precheck.md.a2047c48.lean.js b/assets/en_US_guide_pve_precheck.md.dd286485.lean.js similarity index 99% rename from assets/en_US_guide_pve_precheck.md.a2047c48.lean.js rename to assets/en_US_guide_pve_precheck.md.dd286485.lean.js index b6171f0883..875514938e 100644 --- a/assets/en_US_guide_pve_precheck.md.a2047c48.lean.js +++ b/assets/en_US_guide_pve_precheck.md.dd286485.lean.js @@ -1 +1 @@ -import{_ as s,v as a,b as p,R as l}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"系统和硬件配置要求","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_precheck.md","filePath":"en_US/guide/pve_precheck.md","lastUpdated":1691593150000}'),e={name:"en_US/guide/pve_precheck.md"},n=l('

系统和硬件配置要求

如果有未适配的商家或机器欢迎联系@spiritlhl_bot,有空会尝试支持一下

各种要求

建议debian在使用前尽量使用最新的稳定版本的系统

非debian11可使用 debian一键升级 来升级系统

本项目只适配Debian系统(非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装)

  • 系统要求:Debian 8+

TIP

建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版

  • 硬件要求:2核2G内存x86_64arm架构服务器硬盘至少20G
  • 可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)
  • 如果硬件或系统需求不满足,可使用LXD批量开LXC容器跳转

WARNING

内存开点swap免得机器炸了开SWAP点我跳转

开设虚拟内存(SWAP)

单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用

建议只开实际内存大小两倍大小的虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

检测环境

  • 本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本
  • 检测本机IPV6的网络配置情况(有无IPV6都可安装,只是查询一下罢了)
  • 检测硬件配置是否满足最低要求
  • 检测硬件环境是否可嵌套虚拟化KVM类型的服务器
  • 检测系统环境是否可嵌套虚拟化KVM类型的服务器
  • 不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用LXD

国际

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

国内

bash
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

如果你需要更新IPV6信息再查询,那么执行以下命令后再查询

bash
rm -rf /usr/local/bin/pve_ipv6*


',27),o=[n];function t(r,c,i,h,C,d){return a(),p("div",null,o)}const A=s(e,[["render",t]]);export{D as __pageData,A as default}; +import{_ as s,v as a,b as p,R as l}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"系统和硬件配置要求","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_precheck.md","filePath":"en_US/guide/pve_precheck.md","lastUpdated":1691741224000}'),e={name:"en_US/guide/pve_precheck.md"},n=l('

系统和硬件配置要求

如果有未适配的商家或机器欢迎联系@spiritlhl_bot,有空会尝试支持一下

各种要求

建议debian在使用前尽量使用最新的稳定版本的系统

非debian11可使用 debian一键升级 来升级系统

本项目只适配Debian系统(非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装)

  • 系统要求:Debian 8+

TIP

建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版

  • 硬件要求:2核2G内存x86_64arm架构服务器硬盘至少20G
  • 可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)
  • 如果硬件或系统需求不满足,可使用LXD批量开LXC容器跳转

WARNING

内存开点swap免得机器炸了开SWAP点我跳转

开设虚拟内存(SWAP)

单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用

建议只开实际内存大小两倍大小的虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

检测环境

  • 本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本
  • 检测本机IPV6的网络配置情况(有无IPV6都可安装,只是查询一下罢了)
  • 检测硬件配置是否满足最低要求
  • 检测硬件环境是否可嵌套虚拟化KVM类型的服务器
  • 检测系统环境是否可嵌套虚拟化KVM类型的服务器
  • 不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用LXD

国际

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

国内

bash
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

如果你需要更新IPV6信息再查询,那么执行以下命令后再查询

bash
rm -rf /usr/local/bin/pve_ipv6*


',27),o=[n];function t(r,c,i,h,C,d){return a(),p("div",null,o)}const A=s(e,[["render",t]]);export{D as __pageData,A as default}; diff --git a/assets/en_US_guide_pve_qa.md.9516d4d0.js b/assets/en_US_guide_pve_qa.md.a4ce5baa.js similarity index 99% rename from assets/en_US_guide_pve_qa.md.9516d4d0.js rename to assets/en_US_guide_pve_qa.md.a4ce5baa.js index 52c24c3163..defd0ca28a 100644 --- a/assets/en_US_guide_pve_qa.md.9516d4d0.js +++ b/assets/en_US_guide_pve_qa.md.a4ce5baa.js @@ -1,4 +1,4 @@ -import{_ as a,v as e,b as s,R as r}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_qa.md","filePath":"en_US/guide/pve_qa.md","lastUpdated":1691593150000}'),t={name:"en_US/guide/pve_qa.md"},n=r(`

解惑

安装PVE成功但重启后失联

如果什么机器安装PVE成功后WEB可用,但重启失联,请安装成功PVE后,重启前执行以下命令再重启

bash
auto_interface=$(grep '^auto ' /etc/network/interfaces | grep -v '^auto lo' | awk '{print $2}' | head -n 1)
+import{_ as a,v as e,b as s,R as r}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_qa.md","filePath":"en_US/guide/pve_qa.md","lastUpdated":1691741224000}'),t={name:"en_US/guide/pve_qa.md"},n=r(`

解惑

安装PVE成功但重启后失联

如果什么机器安装PVE成功后WEB可用,但重启失联,请安装成功PVE后,重启前执行以下命令再重启

bash
auto_interface=$(grep '^auto ' /etc/network/interfaces | grep -v '^auto lo' | awk '{print $2}' | head -n 1)
 if ! grep -q "^post-up /sbin/ethtool" /etc/network/interfaces; then
     chattr -i /etc/network/interfaces
     echo "post-up /sbin/ethtool -K $auto_interface tx off rx off" >> /etc/network/interfaces
diff --git a/assets/en_US_guide_pve_qa.md.9516d4d0.lean.js b/assets/en_US_guide_pve_qa.md.a4ce5baa.lean.js
similarity index 99%
rename from assets/en_US_guide_pve_qa.md.9516d4d0.lean.js
rename to assets/en_US_guide_pve_qa.md.a4ce5baa.lean.js
index 52c24c3163..defd0ca28a 100644
--- a/assets/en_US_guide_pve_qa.md.9516d4d0.lean.js
+++ b/assets/en_US_guide_pve_qa.md.a4ce5baa.lean.js
@@ -1,4 +1,4 @@
-import{_ as a,v as e,b as s,R as r}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_qa.md","filePath":"en_US/guide/pve_qa.md","lastUpdated":1691593150000}'),t={name:"en_US/guide/pve_qa.md"},n=r(`

解惑

安装PVE成功但重启后失联

如果什么机器安装PVE成功后WEB可用,但重启失联,请安装成功PVE后,重启前执行以下命令再重启

bash
auto_interface=$(grep '^auto ' /etc/network/interfaces | grep -v '^auto lo' | awk '{print $2}' | head -n 1)
+import{_ as a,v as e,b as s,R as r}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/pve_qa.md","filePath":"en_US/guide/pve_qa.md","lastUpdated":1691741224000}'),t={name:"en_US/guide/pve_qa.md"},n=r(`

解惑

安装PVE成功但重启后失联

如果什么机器安装PVE成功后WEB可用,但重启失联,请安装成功PVE后,重启前执行以下命令再重启

bash
auto_interface=$(grep '^auto ' /etc/network/interfaces | grep -v '^auto lo' | awk '{print $2}' | head -n 1)
 if ! grep -q "^post-up /sbin/ethtool" /etc/network/interfaces; then
     chattr -i /etc/network/interfaces
     echo "post-up /sbin/ethtool -K $auto_interface tx off rx off" >> /etc/network/interfaces
diff --git a/assets/en_US_guide_pve_thanks.md.8f5d1ae3.js b/assets/en_US_guide_pve_thanks.md.11a4369a.js
similarity index 93%
rename from assets/en_US_guide_pve_thanks.md.8f5d1ae3.js
rename to assets/en_US_guide_pve_thanks.md.11a4369a.js
index 02c5229cc8..a2b4b9dcff 100644
--- a/assets/en_US_guide_pve_thanks.md.8f5d1ae3.js
+++ b/assets/en_US_guide_pve_thanks.md.11a4369a.js
@@ -1 +1 @@
-import{_ as e,v as r,b as t,R as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_thanks.md","filePath":"en_US/guide/pve_thanks.md","lastUpdated":1691593150000}'),o={name:"en_US/guide/pve_thanks.md"},p=a('

致谢

https://forum.proxmox.com/

https://blog.ilolicon.com/archives/615

https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh

https://pve.proxmox.com/pve-docs/qm.1.html

https://down.idc.wiki/Image/realServer-Template/

https://mirrors.tuna.tsinghua.edu.cn/proxmox/

https://github.com/roacn/pve/blob/main/pve.sh

https://github.com/spiritLHLS/lxc

https://github.com/leitbogioro/Tools

https://github.com/jiangcuo/Proxmox-Arm64

感谢 @Ella-Alinda 提供的PVE指导

',12),s=[p];function n(h,l,i,m,c,b){return r(),t("div",null,s)}const _=e(o,[["render",n]]);export{f as __pageData,_ as default}; +import{_ as e,v as r,b as t,R as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_thanks.md","filePath":"en_US/guide/pve_thanks.md","lastUpdated":1691741224000}'),o={name:"en_US/guide/pve_thanks.md"},p=a('

致谢

https://forum.proxmox.com/

https://blog.ilolicon.com/archives/615

https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh

https://pve.proxmox.com/pve-docs/qm.1.html

https://down.idc.wiki/Image/realServer-Template/

https://mirrors.tuna.tsinghua.edu.cn/proxmox/

https://github.com/roacn/pve/blob/main/pve.sh

https://github.com/spiritLHLS/lxc

https://github.com/leitbogioro/Tools

https://github.com/jiangcuo/Proxmox-Arm64

感谢 @Ella-Alinda 提供的PVE指导

',12),s=[p];function n(h,l,i,m,c,b){return r(),t("div",null,s)}const _=e(o,[["render",n]]);export{f as __pageData,_ as default}; diff --git a/assets/en_US_guide_pve_thanks.md.8f5d1ae3.lean.js b/assets/en_US_guide_pve_thanks.md.11a4369a.lean.js similarity index 93% rename from assets/en_US_guide_pve_thanks.md.8f5d1ae3.lean.js rename to assets/en_US_guide_pve_thanks.md.11a4369a.lean.js index 02c5229cc8..a2b4b9dcff 100644 --- a/assets/en_US_guide_pve_thanks.md.8f5d1ae3.lean.js +++ b/assets/en_US_guide_pve_thanks.md.11a4369a.lean.js @@ -1 +1 @@ -import{_ as e,v as r,b as t,R as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_thanks.md","filePath":"en_US/guide/pve_thanks.md","lastUpdated":1691593150000}'),o={name:"en_US/guide/pve_thanks.md"},p=a('

致谢

https://forum.proxmox.com/

https://blog.ilolicon.com/archives/615

https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh

https://pve.proxmox.com/pve-docs/qm.1.html

https://down.idc.wiki/Image/realServer-Template/

https://mirrors.tuna.tsinghua.edu.cn/proxmox/

https://github.com/roacn/pve/blob/main/pve.sh

https://github.com/spiritLHLS/lxc

https://github.com/leitbogioro/Tools

https://github.com/jiangcuo/Proxmox-Arm64

感谢 @Ella-Alinda 提供的PVE指导

',12),s=[p];function n(h,l,i,m,c,b){return r(),t("div",null,s)}const _=e(o,[["render",n]]);export{f as __pageData,_ as default}; +import{_ as e,v as r,b as t,R as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/pve_thanks.md","filePath":"en_US/guide/pve_thanks.md","lastUpdated":1691741224000}'),o={name:"en_US/guide/pve_thanks.md"},p=a('

致谢

https://forum.proxmox.com/

https://blog.ilolicon.com/archives/615

https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh

https://pve.proxmox.com/pve-docs/qm.1.html

https://down.idc.wiki/Image/realServer-Template/

https://mirrors.tuna.tsinghua.edu.cn/proxmox/

https://github.com/roacn/pve/blob/main/pve.sh

https://github.com/spiritLHLS/lxc

https://github.com/leitbogioro/Tools

https://github.com/jiangcuo/Proxmox-Arm64

感谢 @Ella-Alinda 提供的PVE指导

',12),s=[p];function n(h,l,i,m,c,b){return r(),t("div",null,s)}const _=e(o,[["render",n]]);export{f as __pageData,_ as default}; diff --git a/assets/en_US_index.md.e24d0466.js b/assets/en_US_index.md.a890aa4e.js similarity index 96% rename from assets/en_US_index.md.e24d0466.js rename to assets/en_US_index.md.a890aa4e.js index 70776a7812..c3ba8242e5 100644 --- a/assets/en_US_index.md.e24d0466.js +++ b/assets/en_US_index.md.a890aa4e.js @@ -1 +1 @@ -import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","description":"","frontmatter":{"layout":"home","title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","hero":{"name":"One Click Virtualization","text":"Open source, easy to use server virtualization project","tagline":"Documentation has not been translated yet, waiting for translation.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Learn More →","link":"/en_US/guide/dashboard"}]},"features":[{"title":"One Click Use","details":"Supports one-click script installation for easy creation of virtual machines/containers on servers of X86_64 and ARM architectures"},{"title":"Based on mainstream systems development","details":"Based on Debian, Ubuntu long-term maintenance version, if you want to use it, please try to ensure that the host system and the development environment are the same"},{"title":"Comes with internal and external port forwarding","details":"Support automatic intranet port forwarding, including TCP and UDP protocols, without manual management"},{"title":"Batch Virtualization","details":"Support for KVM, LXC, Docker virtualization batch opening of virtual machines/containers"},{"title":"Multisystem support","details":"Virtual machines/containers already support multiple systems, covering almost all major systems"},{"title":"Self-limiting abuse","details":"Partially virtual machines/containers have been masked and loaded with restrictions to avoid being used for abuse"}]},"headers":[],"relativePath":"en_US/index.md","filePath":"en_US/index.md","lastUpdated":1691593150000}'),i={name:"en_US/index.md"};function n(s,r,o,l,c,u){return t(),a("div")}const p=e(i,[["render",n]]);export{m as __pageData,p as default}; +import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","description":"","frontmatter":{"layout":"home","title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","hero":{"name":"One Click Virtualization","text":"Open source, easy to use server virtualization project","tagline":"Documentation has not been translated yet, waiting for translation.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Learn More →","link":"/en_US/guide/dashboard"}]},"features":[{"title":"One Click Use","details":"Supports one-click script installation for easy creation of virtual machines/containers on servers of X86_64 and ARM architectures"},{"title":"Based on mainstream systems development","details":"Based on Debian, Ubuntu long-term maintenance version, if you want to use it, please try to ensure that the host system and the development environment are the same"},{"title":"Comes with internal and external port forwarding","details":"Support automatic intranet port forwarding, including TCP and UDP protocols, without manual management"},{"title":"Batch Virtualization","details":"Support for KVM, LXC, Docker virtualization batch opening of virtual machines/containers"},{"title":"Multisystem support","details":"Virtual machines/containers already support multiple systems, covering almost all major systems"},{"title":"Self-limiting abuse","details":"Partially virtual machines/containers have been masked and loaded with restrictions to avoid being used for abuse"}]},"headers":[],"relativePath":"en_US/index.md","filePath":"en_US/index.md","lastUpdated":1691741224000}'),i={name:"en_US/index.md"};function n(s,r,o,l,c,u){return t(),a("div")}const p=e(i,[["render",n]]);export{m as __pageData,p as default}; diff --git a/assets/en_US_index.md.e24d0466.lean.js b/assets/en_US_index.md.a890aa4e.lean.js similarity index 96% rename from assets/en_US_index.md.e24d0466.lean.js rename to assets/en_US_index.md.a890aa4e.lean.js index 70776a7812..c3ba8242e5 100644 --- a/assets/en_US_index.md.e24d0466.lean.js +++ b/assets/en_US_index.md.a890aa4e.lean.js @@ -1 +1 @@ -import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","description":"","frontmatter":{"layout":"home","title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","hero":{"name":"One Click Virtualization","text":"Open source, easy to use server virtualization project","tagline":"Documentation has not been translated yet, waiting for translation.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Learn More →","link":"/en_US/guide/dashboard"}]},"features":[{"title":"One Click Use","details":"Supports one-click script installation for easy creation of virtual machines/containers on servers of X86_64 and ARM architectures"},{"title":"Based on mainstream systems development","details":"Based on Debian, Ubuntu long-term maintenance version, if you want to use it, please try to ensure that the host system and the development environment are the same"},{"title":"Comes with internal and external port forwarding","details":"Support automatic intranet port forwarding, including TCP and UDP protocols, without manual management"},{"title":"Batch Virtualization","details":"Support for KVM, LXC, Docker virtualization batch opening of virtual machines/containers"},{"title":"Multisystem support","details":"Virtual machines/containers already support multiple systems, covering almost all major systems"},{"title":"Self-limiting abuse","details":"Partially virtual machines/containers have been masked and loaded with restrictions to avoid being used for abuse"}]},"headers":[],"relativePath":"en_US/index.md","filePath":"en_US/index.md","lastUpdated":1691593150000}'),i={name:"en_US/index.md"};function n(s,r,o,l,c,u){return t(),a("div")}const p=e(i,[["render",n]]);export{m as __pageData,p as default}; +import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","description":"","frontmatter":{"layout":"home","title":"One Click Virtualization","titleTemplate":"Open source, easy to use server virtualization project","hero":{"name":"One Click Virtualization","text":"Open source, easy to use server virtualization project","tagline":"Documentation has not been translated yet, waiting for translation.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Learn More →","link":"/en_US/guide/dashboard"}]},"features":[{"title":"One Click Use","details":"Supports one-click script installation for easy creation of virtual machines/containers on servers of X86_64 and ARM architectures"},{"title":"Based on mainstream systems development","details":"Based on Debian, Ubuntu long-term maintenance version, if you want to use it, please try to ensure that the host system and the development environment are the same"},{"title":"Comes with internal and external port forwarding","details":"Support automatic intranet port forwarding, including TCP and UDP protocols, without manual management"},{"title":"Batch Virtualization","details":"Support for KVM, LXC, Docker virtualization batch opening of virtual machines/containers"},{"title":"Multisystem support","details":"Virtual machines/containers already support multiple systems, covering almost all major systems"},{"title":"Self-limiting abuse","details":"Partially virtual machines/containers have been masked and loaded with restrictions to avoid being used for abuse"}]},"headers":[],"relativePath":"en_US/index.md","filePath":"en_US/index.md","lastUpdated":1691741224000}'),i={name:"en_US/index.md"};function n(s,r,o,l,c,u){return t(),a("div")}const p=e(i,[["render",n]]);export{m as __pageData,p as default}; diff --git a/assets/guide_dashboard.md.b88efe74.js b/assets/guide_dashboard.md.339895c8.js similarity index 96% rename from assets/guide_dashboard.md.b88efe74.js rename to assets/guide_dashboard.md.339895c8.js index 19f68379d8..a44c5ebf9f 100644 --- a/assets/guide_dashboard.md.b88efe74.js +++ b/assets/guide_dashboard.md.339895c8.js @@ -1 +1 @@ -import{_ as t,v as a,b as e,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/dashboard.md","filePath":"guide/dashboard.md","lastUpdated":1691593150000}'),o={name:"guide/dashboard.md"},i=r('

准备工作

需要虚拟化出服务器,你需要:

  1. 一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速

TIP

如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速

  1. 本地可以稳定连接SSH,如果不能稳定连接,请使用screen命令创建窗口后,在窗口内执行命令

TIP

不会用screen命令的,自行查找相关教程学习

  1. 确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明

本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净

WARNING

PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统

项目仓库

欢迎Star和Fork

PVE

可开设KVM虚拟化的虚拟机、LXC虚拟化的容器

https://github.com/spiritLHLS/pve

Hits

LXD

可开设LXC虚拟化的容器

https://github.com/spiritLHLS/lxd

Hits

Docker

可开设Docker虚拟化的容器

https://github.com/spiritLHLS/docker

Hits



',25),s=[i];function p(l,c,h,d,n,m){return a(),e("div",null,s)}const g=t(o,[["render",p]]);export{b as __pageData,g as default}; +import{_ as t,v as a,b as e,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/dashboard.md","filePath":"guide/dashboard.md","lastUpdated":1691741224000}'),o={name:"guide/dashboard.md"},i=r('

准备工作

需要虚拟化出服务器,你需要:

  1. 一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速

TIP

如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速

  1. 本地可以稳定连接SSH,如果不能稳定连接,请使用screen命令创建窗口后,在窗口内执行命令

TIP

不会用screen命令的,自行查找相关教程学习

  1. 确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明

本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净

WARNING

PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统

项目仓库

欢迎Star和Fork

PVE

可开设KVM虚拟化的虚拟机、LXC虚拟化的容器

https://github.com/spiritLHLS/pve

Hits

LXD

可开设LXC虚拟化的容器

https://github.com/spiritLHLS/lxd

Hits

Docker

可开设Docker虚拟化的容器

https://github.com/spiritLHLS/docker

Hits



',25),s=[i];function p(l,c,h,d,n,m){return a(),e("div",null,s)}const g=t(o,[["render",p]]);export{b as __pageData,g as default}; diff --git a/assets/guide_dashboard.md.b88efe74.lean.js b/assets/guide_dashboard.md.339895c8.lean.js similarity index 96% rename from assets/guide_dashboard.md.b88efe74.lean.js rename to assets/guide_dashboard.md.339895c8.lean.js index 19f68379d8..a44c5ebf9f 100644 --- a/assets/guide_dashboard.md.b88efe74.lean.js +++ b/assets/guide_dashboard.md.339895c8.lean.js @@ -1 +1 @@ -import{_ as t,v as a,b as e,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/dashboard.md","filePath":"guide/dashboard.md","lastUpdated":1691593150000}'),o={name:"guide/dashboard.md"},i=r('

准备工作

需要虚拟化出服务器,你需要:

  1. 一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速

TIP

如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速

  1. 本地可以稳定连接SSH,如果不能稳定连接,请使用screen命令创建窗口后,在窗口内执行命令

TIP

不会用screen命令的,自行查找相关教程学习

  1. 确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明

本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净

WARNING

PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统

项目仓库

欢迎Star和Fork

PVE

可开设KVM虚拟化的虚拟机、LXC虚拟化的容器

https://github.com/spiritLHLS/pve

Hits

LXD

可开设LXC虚拟化的容器

https://github.com/spiritLHLS/lxd

Hits

Docker

可开设Docker虚拟化的容器

https://github.com/spiritLHLS/docker

Hits



',25),s=[i];function p(l,c,h,d,n,m){return a(),e("div",null,s)}const g=t(o,[["render",p]]);export{b as __pageData,g as default}; +import{_ as t,v as a,b as e,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/dashboard.md","filePath":"guide/dashboard.md","lastUpdated":1691741224000}'),o={name:"guide/dashboard.md"},i=r('

准备工作

需要虚拟化出服务器,你需要:

  1. 一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速

TIP

如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速

  1. 本地可以稳定连接SSH,如果不能稳定连接,请使用screen命令创建窗口后,在窗口内执行命令

TIP

不会用screen命令的,自行查找相关教程学习

  1. 确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明

本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净

WARNING

PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统

项目仓库

欢迎Star和Fork

PVE

可开设KVM虚拟化的虚拟机、LXC虚拟化的容器

https://github.com/spiritLHLS/pve

Hits

LXD

可开设LXC虚拟化的容器

https://github.com/spiritLHLS/lxd

Hits

Docker

可开设Docker虚拟化的容器

https://github.com/spiritLHLS/docker

Hits



',25),s=[i];function p(l,c,h,d,n,m){return a(),e("div",null,s)}const g=t(o,[["render",p]]);export{b as __pageData,g as default}; diff --git a/assets/guide_dashboardq.md.6314fd1f.js b/assets/guide_dashboardq.md.0ff14252.js similarity index 92% rename from assets/guide_dashboardq.md.6314fd1f.js rename to assets/guide_dashboardq.md.0ff14252.js index 8425165bd6..afce612f7a 100644 --- a/assets/guide_dashboardq.md.6314fd1f.js +++ b/assets/guide_dashboardq.md.0ff14252.js @@ -1 +1 @@ -import{_ as a,v as s,b as e,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboardq.md","filePath":"guide/dashboardq.md","lastUpdated":1691593150000}'),o={name:"guide/dashboardq.md"},r=t('

Give me a cup of coffee.

https://ko-fi.com/spiritlhl

USDT-TRC20

bash
TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd
',4),p=[r];function d(n,i,c,l,h,f){return s(),e("div",null,p)}const u=a(o,[["render",d]]);export{m as __pageData,u as default}; +import{_ as a,v as s,b as e,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboardq.md","filePath":"guide/dashboardq.md","lastUpdated":1691741224000}'),o={name:"guide/dashboardq.md"},r=t('

Give me a cup of coffee.

https://ko-fi.com/spiritlhl

USDT-TRC20

bash
TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd
',4),p=[r];function d(n,i,c,l,h,f){return s(),e("div",null,p)}const u=a(o,[["render",d]]);export{m as __pageData,u as default}; diff --git a/assets/guide_dashboardq.md.6314fd1f.lean.js b/assets/guide_dashboardq.md.0ff14252.lean.js similarity index 92% rename from assets/guide_dashboardq.md.6314fd1f.lean.js rename to assets/guide_dashboardq.md.0ff14252.lean.js index 8425165bd6..afce612f7a 100644 --- a/assets/guide_dashboardq.md.6314fd1f.lean.js +++ b/assets/guide_dashboardq.md.0ff14252.lean.js @@ -1 +1 @@ -import{_ as a,v as s,b as e,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboardq.md","filePath":"guide/dashboardq.md","lastUpdated":1691593150000}'),o={name:"guide/dashboardq.md"},r=t('

Give me a cup of coffee.

https://ko-fi.com/spiritlhl

USDT-TRC20

bash
TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd
',4),p=[r];function d(n,i,c,l,h,f){return s(),e("div",null,p)}const u=a(o,[["render",d]]);export{m as __pageData,u as default}; +import{_ as a,v as s,b as e,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboardq.md","filePath":"guide/dashboardq.md","lastUpdated":1691741224000}'),o={name:"guide/dashboardq.md"},r=t('

Give me a cup of coffee.

https://ko-fi.com/spiritlhl

USDT-TRC20

bash
TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd
',4),p=[r];function d(n,i,c,l,h,f){return s(),e("div",null,p)}const u=a(o,[["render",d]]);export{m as __pageData,u as default}; diff --git a/assets/guide_docker_build.md.e215cf02.js b/assets/guide_docker_build.md.a8e786ab.js similarity index 99% rename from assets/guide_docker_build.md.e215cf02.js rename to assets/guide_docker_build.md.a8e786ab.js index fa1d503d72..ebb70948b3 100644 --- a/assets/guide_docker_build.md.e215cf02.js +++ b/assets/guide_docker_build.md.a8e786ab.js @@ -1,4 +1,4 @@ -import{_ as s,v as a,b as l,R as o}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker_build.md","filePath":"guide/docker_build.md","lastUpdated":1691593150000}'),n={name:"guide/docker_build.md"},p=o(`

前言

两种开设方式

单独开设

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

运行

./onedocker.sh name cpu memory password sshport startport endport system

目前system仅支持选择alpine或debian,默认是debian

示例

  • 以下为开设的示例容器的信息:
    容器名字 - test SSH登录的用户名 - root SSH登录的密码 - 123456 CPU核数 - 1
    内存大小 - 512MB SSH端口 - 25000 内外网映射端口一致的区间 - 34975到35000 系统 - debian
shell
./onedocker.sh test 1 512 123456 25000 34975 35000 debian

删除示例

shell
docker rm -f test
+import{_ as s,v as a,b as l,R as o}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker_build.md","filePath":"guide/docker_build.md","lastUpdated":1691741224000}'),n={name:"guide/docker_build.md"},p=o(`

前言

两种开设方式

单独开设

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

运行

./onedocker.sh name cpu memory password sshport startport endport system

目前system仅支持选择alpine或debian,默认是debian

示例

  • 以下为开设的示例容器的信息:
    容器名字 - test SSH登录的用户名 - root SSH登录的密码 - 123456 CPU核数 - 1
    内存大小 - 512MB SSH端口 - 25000 内外网映射端口一致的区间 - 34975到35000 系统 - debian
shell
./onedocker.sh test 1 512 123456 25000 34975 35000 debian

删除示例

shell
docker rm -f test
 rm -rf test
 ls

进入示例

shell
docker exec -it test /bin/bash

要退出容器就执行exit退出。

查询信息

shell
cat 容器名字

输出格式

容器名字 SSH端口 登陆的root密码 核数 内存 外网端口起 外网端口止

批量开设

  • 批量多次运行继承配置生成
  • 生成多个时为避免SSH连接中断建议在screen中执行

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/dockers.sh -o dockers.sh && chmod +x dockers.sh && bash dockers.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

查询批量开设的信息

shell
cat dclog

输出格式

容器名字 SSH端口 登陆的root密码 核数 内存 外网端口起 外网端口止

一行一个容器对应的信息

卸载所有docker容器和镜像

shell
docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)
 rm -rf dclog
diff --git a/assets/guide_docker_build.md.e215cf02.lean.js b/assets/guide_docker_build.md.a8e786ab.lean.js
similarity index 99%
rename from assets/guide_docker_build.md.e215cf02.lean.js
rename to assets/guide_docker_build.md.a8e786ab.lean.js
index fa1d503d72..ebb70948b3 100644
--- a/assets/guide_docker_build.md.e215cf02.lean.js
+++ b/assets/guide_docker_build.md.a8e786ab.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as o}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker_build.md","filePath":"guide/docker_build.md","lastUpdated":1691593150000}'),n={name:"guide/docker_build.md"},p=o(`

前言

两种开设方式

单独开设

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

运行

./onedocker.sh name cpu memory password sshport startport endport system

目前system仅支持选择alpine或debian,默认是debian

示例

  • 以下为开设的示例容器的信息:
    容器名字 - test SSH登录的用户名 - root SSH登录的密码 - 123456 CPU核数 - 1
    内存大小 - 512MB SSH端口 - 25000 内外网映射端口一致的区间 - 34975到35000 系统 - debian
shell
./onedocker.sh test 1 512 123456 25000 34975 35000 debian

删除示例

shell
docker rm -f test
+import{_ as s,v as a,b as l,R as o}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker_build.md","filePath":"guide/docker_build.md","lastUpdated":1691741224000}'),n={name:"guide/docker_build.md"},p=o(`

前言

两种开设方式

单独开设

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

运行

./onedocker.sh name cpu memory password sshport startport endport system

目前system仅支持选择alpine或debian,默认是debian

示例

  • 以下为开设的示例容器的信息:
    容器名字 - test SSH登录的用户名 - root SSH登录的密码 - 123456 CPU核数 - 1
    内存大小 - 512MB SSH端口 - 25000 内外网映射端口一致的区间 - 34975到35000 系统 - debian
shell
./onedocker.sh test 1 512 123456 25000 34975 35000 debian

删除示例

shell
docker rm -f test
 rm -rf test
 ls

进入示例

shell
docker exec -it test /bin/bash

要退出容器就执行exit退出。

查询信息

shell
cat 容器名字

输出格式

容器名字 SSH端口 登陆的root密码 核数 内存 外网端口起 外网端口止

批量开设

  • 批量多次运行继承配置生成
  • 生成多个时为避免SSH连接中断建议在screen中执行

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/dockers.sh -o dockers.sh && chmod +x dockers.sh && bash dockers.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

查询批量开设的信息

shell
cat dclog

输出格式

容器名字 SSH端口 登陆的root密码 核数 内存 外网端口起 外网端口止

一行一个容器对应的信息

卸载所有docker容器和镜像

shell
docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)
 rm -rf dclog
diff --git a/assets/guide_docker_custom.md.f85667a1.js b/assets/guide_docker_custom.md.f85667a1.js
new file mode 100644
index 0000000000..6bce5aa9ca
--- /dev/null
+++ b/assets/guide_docker_custom.md.f85667a1.js
@@ -0,0 +1 @@
+import{_ as e,v as t,b as s}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_custom.md","filePath":"guide/docker_custom.md","lastUpdated":1691741224000}'),a={name:"guide/docker_custom.md"};function o(r,c,d,_,i,n){return t(),s("div")}const u=e(a,[["render",o]]);export{p as __pageData,u as default};
diff --git a/assets/guide_docker_custom.md.f85667a1.lean.js b/assets/guide_docker_custom.md.f85667a1.lean.js
new file mode 100644
index 0000000000..6bce5aa9ca
--- /dev/null
+++ b/assets/guide_docker_custom.md.f85667a1.lean.js
@@ -0,0 +1 @@
+import{_ as e,v as t,b as s}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_custom.md","filePath":"guide/docker_custom.md","lastUpdated":1691741224000}'),a={name:"guide/docker_custom.md"};function o(r,c,d,_,i,n){return t(),s("div")}const u=e(a,[["render",o]]);export{p as __pageData,u as default};
diff --git a/assets/guide_docker_install.md.df854c6c.js b/assets/guide_docker_install.md.c000ba1b.js
similarity index 97%
rename from assets/guide_docker_install.md.df854c6c.js
rename to assets/guide_docker_install.md.c000ba1b.js
index d545ef48a4..56f20404e5 100644
--- a/assets/guide_docker_install.md.df854c6c.js
+++ b/assets/guide_docker_install.md.c000ba1b.js
@@ -1 +1 @@
-import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const A=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_install.md","filePath":"guide/docker_install.md","lastUpdated":1691593150000}'),o={name:"guide/docker_install.md"},n=p('

环境预设

  • 检测环境
  • 安装docker
  • 下载预制脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
',6),e=[n];function t(r,c,C,i,y,d){return a(),l("div",null,e)}const h=s(o,[["render",t]]);export{A as __pageData,h as default}; +import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const A=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_install.md","filePath":"guide/docker_install.md","lastUpdated":1691741224000}'),o={name:"guide/docker_install.md"},n=p('

环境预设

  • 检测环境
  • 安装docker
  • 下载预制脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
',6),e=[n];function t(r,c,C,i,y,d){return a(),l("div",null,e)}const h=s(o,[["render",t]]);export{A as __pageData,h as default}; diff --git a/assets/guide_docker_install.md.df854c6c.lean.js b/assets/guide_docker_install.md.c000ba1b.lean.js similarity index 97% rename from assets/guide_docker_install.md.df854c6c.lean.js rename to assets/guide_docker_install.md.c000ba1b.lean.js index d545ef48a4..56f20404e5 100644 --- a/assets/guide_docker_install.md.df854c6c.lean.js +++ b/assets/guide_docker_install.md.c000ba1b.lean.js @@ -1 +1 @@ -import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const A=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_install.md","filePath":"guide/docker_install.md","lastUpdated":1691593150000}'),o={name:"guide/docker_install.md"},n=p('

环境预设

  • 检测环境
  • 安装docker
  • 下载预制脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
',6),e=[n];function t(r,c,C,i,y,d){return a(),l("div",null,e)}const h=s(o,[["render",t]]);export{A as __pageData,h as default}; +import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const A=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_install.md","filePath":"guide/docker_install.md","lastUpdated":1691741224000}'),o={name:"guide/docker_install.md"},n=p('

环境预设

  • 检测环境
  • 安装docker
  • 下载预制脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
',6),e=[n];function t(r,c,C,i,y,d){return a(),l("div",null,e)}const h=s(o,[["render",t]]);export{A as __pageData,h as default}; diff --git a/assets/guide_docker_precheck.md.d888df4d.js b/assets/guide_docker_precheck.md.c6be1c9c.js similarity index 97% rename from assets/guide_docker_precheck.md.d888df4d.js rename to assets/guide_docker_precheck.md.c6be1c9c.js index 6519770b61..f9417ee634 100644 --- a/assets/guide_docker_precheck.md.d888df4d.js +++ b/assets/guide_docker_precheck.md.c6be1c9c.js @@ -1 +1 @@ -import{_ as e,v as r,b as a,R as t}from"./chunks/framework.70afa331.js";const k=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker_precheck.md","filePath":"guide/docker_precheck.md","lastUpdated":1691593150000}'),o={name:"guide/docker_precheck.md"},s=t('

前言

项目特点

通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)

默认使用debian系统,每个容器自带1个外网ssh端口,25个内外网一致端口

默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker

由于只是在宿主机进行了CPU和内存的限制未在容器内使用cgroup驱动,所以在容器内使用服务器测试脚本检测容器的可用资源是无效的,显示的会是宿主机的资源

由于大部分云服务器xfs文件系统不启用pquota选项,所以默认共享宿主机硬盘,无法限制每个容器的磁盘大小

配置要求

系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行

推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致母鸡卡死 跳转

PS: 如果硬件资源只是好了一点,需要限制更多东西并需要配置IPV6独立地址和限制硬盘大小,可使用LXD批量开LXC虚拟化的容器 跳转

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

',12),i=[s];function p(d,c,n,h,l,u){return r(),a("div",null,i)}const f=e(o,[["render",p]]);export{k as __pageData,f as default}; +import{_ as e,v as r,b as a,R as t}from"./chunks/framework.70afa331.js";const k=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker_precheck.md","filePath":"guide/docker_precheck.md","lastUpdated":1691741224000}'),o={name:"guide/docker_precheck.md"},s=t('

前言

项目特点

通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)

默认使用debian系统,每个容器自带1个外网ssh端口,25个内外网一致端口

默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker

由于只是在宿主机进行了CPU和内存的限制未在容器内使用cgroup驱动,所以在容器内使用服务器测试脚本检测容器的可用资源是无效的,显示的会是宿主机的资源

由于大部分云服务器xfs文件系统不启用pquota选项,所以默认共享宿主机硬盘,无法限制每个容器的磁盘大小

配置要求

系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行

推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致母鸡卡死 跳转

PS: 如果硬件资源只是好了一点,需要限制更多东西并需要配置IPV6独立地址和限制硬盘大小,可使用LXD批量开LXC虚拟化的容器 跳转

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

',12),i=[s];function p(d,c,n,h,l,u){return r(),a("div",null,i)}const f=e(o,[["render",p]]);export{k as __pageData,f as default}; diff --git a/assets/guide_docker_precheck.md.d888df4d.lean.js b/assets/guide_docker_precheck.md.c6be1c9c.lean.js similarity index 97% rename from assets/guide_docker_precheck.md.d888df4d.lean.js rename to assets/guide_docker_precheck.md.c6be1c9c.lean.js index 6519770b61..f9417ee634 100644 --- a/assets/guide_docker_precheck.md.d888df4d.lean.js +++ b/assets/guide_docker_precheck.md.c6be1c9c.lean.js @@ -1 +1 @@ -import{_ as e,v as r,b as a,R as t}from"./chunks/framework.70afa331.js";const k=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker_precheck.md","filePath":"guide/docker_precheck.md","lastUpdated":1691593150000}'),o={name:"guide/docker_precheck.md"},s=t('

前言

项目特点

通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)

默认使用debian系统,每个容器自带1个外网ssh端口,25个内外网一致端口

默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker

由于只是在宿主机进行了CPU和内存的限制未在容器内使用cgroup驱动,所以在容器内使用服务器测试脚本检测容器的可用资源是无效的,显示的会是宿主机的资源

由于大部分云服务器xfs文件系统不启用pquota选项,所以默认共享宿主机硬盘,无法限制每个容器的磁盘大小

配置要求

系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行

推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致母鸡卡死 跳转

PS: 如果硬件资源只是好了一点,需要限制更多东西并需要配置IPV6独立地址和限制硬盘大小,可使用LXD批量开LXC虚拟化的容器 跳转

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

',12),i=[s];function p(d,c,n,h,l,u){return r(),a("div",null,i)}const f=e(o,[["render",p]]);export{k as __pageData,f as default}; +import{_ as e,v as r,b as a,R as t}from"./chunks/framework.70afa331.js";const k=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker_precheck.md","filePath":"guide/docker_precheck.md","lastUpdated":1691741224000}'),o={name:"guide/docker_precheck.md"},s=t('

前言

项目特点

通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)

默认使用debian系统,每个容器自带1个外网ssh端口,25个内外网一致端口

默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker

由于只是在宿主机进行了CPU和内存的限制未在容器内使用cgroup驱动,所以在容器内使用服务器测试脚本检测容器的可用资源是无效的,显示的会是宿主机的资源

由于大部分云服务器xfs文件系统不启用pquota选项,所以默认共享宿主机硬盘,无法限制每个容器的磁盘大小

配置要求

系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行

推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致母鸡卡死 跳转

PS: 如果硬件资源只是好了一点,需要限制更多东西并需要配置IPV6独立地址和限制硬盘大小,可使用LXD批量开LXC虚拟化的容器 跳转

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

',12),i=[s];function p(d,c,n,h,l,u){return r(),a("div",null,i)}const f=e(o,[["render",p]]);export{k as __pageData,f as default}; diff --git a/assets/guide_docker_qa.md.f7dd9fa6.js b/assets/guide_docker_qa.md.3ec55c6d.js similarity index 83% rename from assets/guide_docker_qa.md.f7dd9fa6.js rename to assets/guide_docker_qa.md.3ec55c6d.js index 017105783e..3326c896bc 100644 --- a/assets/guide_docker_qa.md.f7dd9fa6.js +++ b/assets/guide_docker_qa.md.3ec55c6d.js @@ -1 +1 @@ -import{_ as e,v as a,b as t}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_qa.md","filePath":"guide/docker_qa.md","lastUpdated":1691593150000}'),r={name:"guide/docker_qa.md"};function d(s,o,c,_,i,n){return a(),t("div")}const m=e(r,[["render",d]]);export{f as __pageData,m as default}; +import{_ as e,v as a,b as t}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_qa.md","filePath":"guide/docker_qa.md","lastUpdated":1691741224000}'),r={name:"guide/docker_qa.md"};function d(s,o,c,_,i,n){return a(),t("div")}const m=e(r,[["render",d]]);export{f as __pageData,m as default}; diff --git a/assets/guide_docker_qa.md.f7dd9fa6.lean.js b/assets/guide_docker_qa.md.3ec55c6d.lean.js similarity index 83% rename from assets/guide_docker_qa.md.f7dd9fa6.lean.js rename to assets/guide_docker_qa.md.3ec55c6d.lean.js index 017105783e..3326c896bc 100644 --- a/assets/guide_docker_qa.md.f7dd9fa6.lean.js +++ b/assets/guide_docker_qa.md.3ec55c6d.lean.js @@ -1 +1 @@ -import{_ as e,v as a,b as t}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_qa.md","filePath":"guide/docker_qa.md","lastUpdated":1691593150000}'),r={name:"guide/docker_qa.md"};function d(s,o,c,_,i,n){return a(),t("div")}const m=e(r,[["render",d]]);export{f as __pageData,m as default}; +import{_ as e,v as a,b as t}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_qa.md","filePath":"guide/docker_qa.md","lastUpdated":1691741224000}'),r={name:"guide/docker_qa.md"};function d(s,o,c,_,i,n){return a(),t("div")}const m=e(r,[["render",d]]);export{f as __pageData,m as default}; diff --git a/assets/guide_docker_thanks.md.6a1c0fb4.js b/assets/guide_docker_thanks.md.e2d41697.js similarity index 83% rename from assets/guide_docker_thanks.md.6a1c0fb4.js rename to assets/guide_docker_thanks.md.e2d41697.js index ceaf56efc0..bfb0e2ef3a 100644 --- a/assets/guide_docker_thanks.md.6a1c0fb4.js +++ b/assets/guide_docker_thanks.md.e2d41697.js @@ -1 +1 @@ -import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_thanks.md","filePath":"guide/docker_thanks.md","lastUpdated":1691593150000}'),s={name:"guide/docker_thanks.md"};function r(d,n,o,c,_,i){return t(),a("div")}const h=e(s,[["render",r]]);export{f as __pageData,h as default}; +import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_thanks.md","filePath":"guide/docker_thanks.md","lastUpdated":1691741224000}'),s={name:"guide/docker_thanks.md"};function r(d,n,o,c,_,i){return t(),a("div")}const h=e(s,[["render",r]]);export{f as __pageData,h as default}; diff --git a/assets/guide_docker_thanks.md.6a1c0fb4.lean.js b/assets/guide_docker_thanks.md.e2d41697.lean.js similarity index 83% rename from assets/guide_docker_thanks.md.6a1c0fb4.lean.js rename to assets/guide_docker_thanks.md.e2d41697.lean.js index ceaf56efc0..bfb0e2ef3a 100644 --- a/assets/guide_docker_thanks.md.6a1c0fb4.lean.js +++ b/assets/guide_docker_thanks.md.e2d41697.lean.js @@ -1 +1 @@ -import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_thanks.md","filePath":"guide/docker_thanks.md","lastUpdated":1691593150000}'),s={name:"guide/docker_thanks.md"};function r(d,n,o,c,_,i){return t(),a("div")}const h=e(s,[["render",r]]);export{f as __pageData,h as default}; +import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker_thanks.md","filePath":"guide/docker_thanks.md","lastUpdated":1691741224000}'),s={name:"guide/docker_thanks.md"};function r(d,n,o,c,_,i){return t(),a("div")}const h=e(s,[["render",r]]);export{f as __pageData,h as default}; diff --git a/assets/guide_lxd_custom.md.c4988adb.js b/assets/guide_lxd_custom.md.c4988adb.js new file mode 100644 index 0000000000..a8de337bbb --- /dev/null +++ b/assets/guide_lxd_custom.md.c4988adb.js @@ -0,0 +1 @@ +import{_ as t,v as e,b as s}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd_custom.md","filePath":"guide/lxd_custom.md","lastUpdated":1691741224000}'),a={name:"guide/lxd_custom.md"};function d(o,r,c,_,i,n){return e(),s("div")}const u=t(a,[["render",d]]);export{p as __pageData,u as default}; diff --git a/assets/guide_lxd_custom.md.c4988adb.lean.js b/assets/guide_lxd_custom.md.c4988adb.lean.js new file mode 100644 index 0000000000..a8de337bbb --- /dev/null +++ b/assets/guide_lxd_custom.md.c4988adb.lean.js @@ -0,0 +1 @@ +import{_ as t,v as e,b as s}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd_custom.md","filePath":"guide/lxd_custom.md","lastUpdated":1691741224000}'),a={name:"guide/lxd_custom.md"};function d(o,r,c,_,i,n){return e(),s("div")}const u=t(a,[["render",d]]);export{p as __pageData,u as default}; diff --git a/assets/guide_lxd_extra_config.md.305b2932.js b/assets/guide_lxd_extra_config.md.998c7b4b.js similarity index 99% rename from assets/guide_lxd_extra_config.md.305b2932.js rename to assets/guide_lxd_extra_config.md.998c7b4b.js index 0b3bc4e107..eccfe4a6db 100644 --- a/assets/guide_lxd_extra_config.md.305b2932.js +++ b/assets/guide_lxd_extra_config.md.998c7b4b.js @@ -1,4 +1,4 @@ -import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"其他自定义配置","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_extra_config.md","filePath":"guide/lxd_extra_config.md","lastUpdated":1691593150000}'),p={name:"guide/lxd_extra_config.md"},o=n(`

其他自定义配置

TIP

以下的配置安装会加重母鸡的负担,非必要不要安装

TIP

如果是个人使用,可忽略防滥用部分脚本的安装

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于母鸡有给IPV6子网且是/64的,且母鸡绑定了子网的第一个IP母鸡的IPV6地址或IPV6的gateway
  • 自动为LXD创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

自动为容器配置IPV6映射地址

bash
bash build_ipv6_network.sh 容器名称

映射完毕会打印信息

示例(给test容器自动配置IPV6地址,配置完成会写入一个test_v6的文件信息)

bash
bash build_ipv6_network.sh test

删除所有IPV6已映射的规则

bash
ip6tables -t nat -F PREROUTING
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"其他自定义配置","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_extra_config.md","filePath":"guide/lxd_extra_config.md","lastUpdated":1691741224000}'),p={name:"guide/lxd_extra_config.md"},o=n(`

其他自定义配置

TIP

以下的配置安装会加重母鸡的负担,非必要不要安装

TIP

如果是个人使用,可忽略防滥用部分脚本的安装

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于母鸡有给IPV6子网且是/64的,且母鸡绑定了子网的第一个IP母鸡的IPV6地址或IPV6的gateway
  • 自动为LXD创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

自动为容器配置IPV6映射地址

bash
bash build_ipv6_network.sh 容器名称

映射完毕会打印信息

示例(给test容器自动配置IPV6地址,配置完成会写入一个test_v6的文件信息)

bash
bash build_ipv6_network.sh test

删除所有IPV6已映射的规则

bash
ip6tables -t nat -F PREROUTING
 ip6tables-legacy -t nat -F PREROUTING
 ip6tables-save > /etc/iptables/rules.v6
 netfilter-persistent save
diff --git a/assets/guide_lxd_extra_config.md.305b2932.lean.js b/assets/guide_lxd_extra_config.md.998c7b4b.lean.js
similarity index 99%
rename from assets/guide_lxd_extra_config.md.305b2932.lean.js
rename to assets/guide_lxd_extra_config.md.998c7b4b.lean.js
index 0b3bc4e107..eccfe4a6db 100644
--- a/assets/guide_lxd_extra_config.md.305b2932.lean.js
+++ b/assets/guide_lxd_extra_config.md.998c7b4b.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"其他自定义配置","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_extra_config.md","filePath":"guide/lxd_extra_config.md","lastUpdated":1691593150000}'),p={name:"guide/lxd_extra_config.md"},o=n(`

其他自定义配置

TIP

以下的配置安装会加重母鸡的负担,非必要不要安装

TIP

如果是个人使用,可忽略防滥用部分脚本的安装

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于母鸡有给IPV6子网且是/64的,且母鸡绑定了子网的第一个IP母鸡的IPV6地址或IPV6的gateway
  • 自动为LXD创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

自动为容器配置IPV6映射地址

bash
bash build_ipv6_network.sh 容器名称

映射完毕会打印信息

示例(给test容器自动配置IPV6地址,配置完成会写入一个test_v6的文件信息)

bash
bash build_ipv6_network.sh test

删除所有IPV6已映射的规则

bash
ip6tables -t nat -F PREROUTING
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"其他自定义配置","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_extra_config.md","filePath":"guide/lxd_extra_config.md","lastUpdated":1691741224000}'),p={name:"guide/lxd_extra_config.md"},o=n(`

其他自定义配置

TIP

以下的配置安装会加重母鸡的负担,非必要不要安装

TIP

如果是个人使用,可忽略防滥用部分脚本的安装

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于母鸡有给IPV6子网且是/64的,且母鸡绑定了子网的第一个IP母鸡的IPV6地址或IPV6的gateway
  • 自动为LXD创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

自动为容器配置IPV6映射地址

bash
bash build_ipv6_network.sh 容器名称

映射完毕会打印信息

示例(给test容器自动配置IPV6地址,配置完成会写入一个test_v6的文件信息)

bash
bash build_ipv6_network.sh test

删除所有IPV6已映射的规则

bash
ip6tables -t nat -F PREROUTING
 ip6tables-legacy -t nat -F PREROUTING
 ip6tables-save > /etc/iptables/rules.v6
 netfilter-persistent save
diff --git a/assets/guide_lxd_install.md.cfe5ab60.js b/assets/guide_lxd_install.md.19db30eb.js
similarity index 99%
rename from assets/guide_lxd_install.md.cfe5ab60.js
rename to assets/guide_lxd_install.md.19db30eb.js
index 27770011c3..21b481788d 100644
--- a/assets/guide_lxd_install.md.cfe5ab60.js
+++ b/assets/guide_lxd_install.md.19db30eb.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXD主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_install.md","filePath":"guide/lxd_install.md","lastUpdated":1691593150000}'),n={name:"guide/lxd_install.md"},o=p(`

LXD主体安装

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用后面的一键安装也行

关闭防火墙

bash
apt update
+import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXD主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_install.md","filePath":"guide/lxd_install.md","lastUpdated":1691741224000}'),n={name:"guide/lxd_install.md"},o=p(`

LXD主体安装

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用后面的一键安装也行

关闭防火墙

bash
apt update
 apt install curl wget sudo dos2unix ufw jq -y
 ufw disable

开设虚拟内存SWAP

内存看你开多少小鸡,这里如果要开8个,换算需要2G内存,实际内存如果是512MB内存,还需要开1.5G,保守点开2G虚拟内存即可

执行下面命令,输入1,再输入2048,代表开2G虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

安装LXD

实际swap开的虚拟内存应该是实际内存的2倍,也就是开1G是合理的,上面我描述的情况属于超开了

apt install snapd -y
 snap install lxd
diff --git a/assets/guide_lxd_install.md.cfe5ab60.lean.js b/assets/guide_lxd_install.md.19db30eb.lean.js
similarity index 99%
rename from assets/guide_lxd_install.md.cfe5ab60.lean.js
rename to assets/guide_lxd_install.md.19db30eb.lean.js
index 27770011c3..21b481788d 100644
--- a/assets/guide_lxd_install.md.cfe5ab60.lean.js
+++ b/assets/guide_lxd_install.md.19db30eb.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXD主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_install.md","filePath":"guide/lxd_install.md","lastUpdated":1691593150000}'),n={name:"guide/lxd_install.md"},o=p(`

LXD主体安装

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用后面的一键安装也行

关闭防火墙

bash
apt update
+import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXD主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_install.md","filePath":"guide/lxd_install.md","lastUpdated":1691741224000}'),n={name:"guide/lxd_install.md"},o=p(`

LXD主体安装

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用后面的一键安装也行

关闭防火墙

bash
apt update
 apt install curl wget sudo dos2unix ufw jq -y
 ufw disable

开设虚拟内存SWAP

内存看你开多少小鸡,这里如果要开8个,换算需要2G内存,实际内存如果是512MB内存,还需要开1.5G,保守点开2G虚拟内存即可

执行下面命令,输入1,再输入2048,代表开2G虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

安装LXD

实际swap开的虚拟内存应该是实际内存的2倍,也就是开1G是合理的,上面我描述的情况属于超开了

apt install snapd -y
 snap install lxd
diff --git a/assets/guide_lxd_lxc.md.b704b84b.js b/assets/guide_lxd_lxc.md.c4a66708.js
similarity index 99%
rename from assets/guide_lxd_lxc.md.b704b84b.js
rename to assets/guide_lxd_lxc.md.c4a66708.js
index 397e1e1dbb..682f70fb86 100644
--- a/assets/guide_lxd_lxc.md.b704b84b.js
+++ b/assets/guide_lxd_lxc.md.c4a66708.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_lxc.md","filePath":"guide/lxd_lxc.md","lastUpdated":1691593150000}'),p={name:"guide/lxd_lxc.md"},o=n(`

LXC虚拟化

单独生成一个NAT服务器

  • 只生成一个NAT服务器,可自定义限制所有内容

下载开机脚本是非必须的,如果你使用过一键安装LXD的命令,自动已下载对应的开机脚本,不需要重复下载该脚本

国际

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

国内

shell
curl -L https://ghproxy.com/https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

使用方法

./buildone.sh 小鸡名称 内存大小 硬盘大小 SSH端口 外网起端口 外网止端口 下载速度 上传速度 是否启用IPV6(Y or N) 系统(留空则为debian11)

内存大小以MB计算,硬盘大小以GB计算,下载速度上传速度以Mbit计算,是否启用IPV6不一定要填Y或者N,没有这个参数也行,留空默认不开启IPV6

如果外网起端口外网止端口都设置为0则不做区间外网端口映射了,只映射基础的SSH端口,注意不能为空,不进行映射需要设置为0

支持自定义小鸡的系统,不填写留空时默认使用debian11,注意传入参数为系统名字+版本号,如:

  • debian10,debian11,debian12
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,centos9 (实际开设出来都是Stream版本)
  • alpine3.15,alpine3.16,alpine3.17,alpine3.18
  • 注意都是小写字母+数字的组合,自行尝试,如果搜索无该系统则会自动退出脚本
  • 版本号可以带英文小数点,为了适配alpine的版本号已支持
  • 注意部分系统可能因为未加载cgroup,所以在容器内测试系统资源会显示的宿主机的系统资源,实际是有约束的,类同Docker

TIP

版本号中已结束长期维护的一般不再有官方镜像了,暂时未找到历史镜像的存档地址,如果有找到欢迎留言我会添加支持

示例

./buildone.sh test 256 2 20001 20002 20025 500 500 N
  • 以下为开设的示例小鸡的信息:
\`小鸡名字\` - test
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_lxc.md","filePath":"guide/lxd_lxc.md","lastUpdated":1691741224000}'),p={name:"guide/lxd_lxc.md"},o=n(`

LXC虚拟化

单独生成一个NAT服务器

  • 只生成一个NAT服务器,可自定义限制所有内容

下载开机脚本是非必须的,如果你使用过一键安装LXD的命令,自动已下载对应的开机脚本,不需要重复下载该脚本

国际

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

国内

shell
curl -L https://ghproxy.com/https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

使用方法

./buildone.sh 小鸡名称 内存大小 硬盘大小 SSH端口 外网起端口 外网止端口 下载速度 上传速度 是否启用IPV6(Y or N) 系统(留空则为debian11)

内存大小以MB计算,硬盘大小以GB计算,下载速度上传速度以Mbit计算,是否启用IPV6不一定要填Y或者N,没有这个参数也行,留空默认不开启IPV6

如果外网起端口外网止端口都设置为0则不做区间外网端口映射了,只映射基础的SSH端口,注意不能为空,不进行映射需要设置为0

支持自定义小鸡的系统,不填写留空时默认使用debian11,注意传入参数为系统名字+版本号,如:

  • debian10,debian11,debian12
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,centos9 (实际开设出来都是Stream版本)
  • alpine3.15,alpine3.16,alpine3.17,alpine3.18
  • 注意都是小写字母+数字的组合,自行尝试,如果搜索无该系统则会自动退出脚本
  • 版本号可以带英文小数点,为了适配alpine的版本号已支持
  • 注意部分系统可能因为未加载cgroup,所以在容器内测试系统资源会显示的宿主机的系统资源,实际是有约束的,类同Docker

TIP

版本号中已结束长期维护的一般不再有官方镜像了,暂时未找到历史镜像的存档地址,如果有找到欢迎留言我会添加支持

示例

./buildone.sh test 256 2 20001 20002 20025 500 500 N
  • 以下为开设的示例小鸡的信息:
\`小鸡名字\` - test
 \`SSH登录的用户名\` - root
 \`SSH登录的密码\` - 随机生成
 \`CPU核数\` - 1   
diff --git a/assets/guide_lxd_lxc.md.b704b84b.lean.js b/assets/guide_lxd_lxc.md.c4a66708.lean.js
similarity index 99%
rename from assets/guide_lxd_lxc.md.b704b84b.lean.js
rename to assets/guide_lxd_lxc.md.c4a66708.lean.js
index 397e1e1dbb..682f70fb86 100644
--- a/assets/guide_lxd_lxc.md.b704b84b.lean.js
+++ b/assets/guide_lxd_lxc.md.c4a66708.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_lxc.md","filePath":"guide/lxd_lxc.md","lastUpdated":1691593150000}'),p={name:"guide/lxd_lxc.md"},o=n(`

LXC虚拟化

单独生成一个NAT服务器

  • 只生成一个NAT服务器,可自定义限制所有内容

下载开机脚本是非必须的,如果你使用过一键安装LXD的命令,自动已下载对应的开机脚本,不需要重复下载该脚本

国际

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

国内

shell
curl -L https://ghproxy.com/https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

使用方法

./buildone.sh 小鸡名称 内存大小 硬盘大小 SSH端口 外网起端口 外网止端口 下载速度 上传速度 是否启用IPV6(Y or N) 系统(留空则为debian11)

内存大小以MB计算,硬盘大小以GB计算,下载速度上传速度以Mbit计算,是否启用IPV6不一定要填Y或者N,没有这个参数也行,留空默认不开启IPV6

如果外网起端口外网止端口都设置为0则不做区间外网端口映射了,只映射基础的SSH端口,注意不能为空,不进行映射需要设置为0

支持自定义小鸡的系统,不填写留空时默认使用debian11,注意传入参数为系统名字+版本号,如:

  • debian10,debian11,debian12
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,centos9 (实际开设出来都是Stream版本)
  • alpine3.15,alpine3.16,alpine3.17,alpine3.18
  • 注意都是小写字母+数字的组合,自行尝试,如果搜索无该系统则会自动退出脚本
  • 版本号可以带英文小数点,为了适配alpine的版本号已支持
  • 注意部分系统可能因为未加载cgroup,所以在容器内测试系统资源会显示的宿主机的系统资源,实际是有约束的,类同Docker

TIP

版本号中已结束长期维护的一般不再有官方镜像了,暂时未找到历史镜像的存档地址,如果有找到欢迎留言我会添加支持

示例

./buildone.sh test 256 2 20001 20002 20025 500 500 N
  • 以下为开设的示例小鸡的信息:
\`小鸡名字\` - test
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_lxc.md","filePath":"guide/lxd_lxc.md","lastUpdated":1691741224000}'),p={name:"guide/lxd_lxc.md"},o=n(`

LXC虚拟化

单独生成一个NAT服务器

  • 只生成一个NAT服务器,可自定义限制所有内容

下载开机脚本是非必须的,如果你使用过一键安装LXD的命令,自动已下载对应的开机脚本,不需要重复下载该脚本

国际

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

国内

shell
curl -L https://ghproxy.com/https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

使用方法

./buildone.sh 小鸡名称 内存大小 硬盘大小 SSH端口 外网起端口 外网止端口 下载速度 上传速度 是否启用IPV6(Y or N) 系统(留空则为debian11)

内存大小以MB计算,硬盘大小以GB计算,下载速度上传速度以Mbit计算,是否启用IPV6不一定要填Y或者N,没有这个参数也行,留空默认不开启IPV6

如果外网起端口外网止端口都设置为0则不做区间外网端口映射了,只映射基础的SSH端口,注意不能为空,不进行映射需要设置为0

支持自定义小鸡的系统,不填写留空时默认使用debian11,注意传入参数为系统名字+版本号,如:

  • debian10,debian11,debian12
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,centos9 (实际开设出来都是Stream版本)
  • alpine3.15,alpine3.16,alpine3.17,alpine3.18
  • 注意都是小写字母+数字的组合,自行尝试,如果搜索无该系统则会自动退出脚本
  • 版本号可以带英文小数点,为了适配alpine的版本号已支持
  • 注意部分系统可能因为未加载cgroup,所以在容器内测试系统资源会显示的宿主机的系统资源,实际是有约束的,类同Docker

TIP

版本号中已结束长期维护的一般不再有官方镜像了,暂时未找到历史镜像的存档地址,如果有找到欢迎留言我会添加支持

示例

./buildone.sh test 256 2 20001 20002 20025 500 500 N
  • 以下为开设的示例小鸡的信息:
\`小鸡名字\` - test
 \`SSH登录的用户名\` - root
 \`SSH登录的密码\` - 随机生成
 \`CPU核数\` - 1   
diff --git a/assets/guide_lxd_precheck.md.0223a21d.js b/assets/guide_lxd_precheck.md.26071050.js
similarity index 98%
rename from assets/guide_lxd_precheck.md.0223a21d.js
rename to assets/guide_lxd_precheck.md.26071050.js
index c053592348..fe43de08d6 100644
--- a/assets/guide_lxd_precheck.md.0223a21d.js
+++ b/assets/guide_lxd_precheck.md.26071050.js
@@ -1 +1 @@
-import{_ as e,v as a,b as t,R as i}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"系统与硬件配置要求","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_precheck.md","filePath":"guide/lxd_precheck.md","lastUpdated":1691593150000}'),s={name:"guide/lxd_precheck.md"},l=i('

系统与硬件配置要求

要求

硬件要求:

  • 系统:Debian 8+, Ubuntu 18+(推荐20.04)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,Debian无法使用zfs时自动切换别的存储类型

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测母鸡是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)
',14),r=[l];function p(o,n,c,d,h,u){return a(),t("div",null,r)}const m=e(s,[["render",p]]);export{g as __pageData,m as default}; +import{_ as e,v as a,b as t,R as i}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"系统与硬件配置要求","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_precheck.md","filePath":"guide/lxd_precheck.md","lastUpdated":1691741224000}'),s={name:"guide/lxd_precheck.md"},l=i('

系统与硬件配置要求

要求

硬件要求:

  • 系统:Debian 8+, Ubuntu 18+(推荐20.04)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,Debian无法使用zfs时自动切换别的存储类型

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测母鸡是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)
',14),r=[l];function p(o,n,c,d,h,u){return a(),t("div",null,r)}const m=e(s,[["render",p]]);export{g as __pageData,m as default}; diff --git a/assets/guide_lxd_precheck.md.0223a21d.lean.js b/assets/guide_lxd_precheck.md.26071050.lean.js similarity index 98% rename from assets/guide_lxd_precheck.md.0223a21d.lean.js rename to assets/guide_lxd_precheck.md.26071050.lean.js index c053592348..fe43de08d6 100644 --- a/assets/guide_lxd_precheck.md.0223a21d.lean.js +++ b/assets/guide_lxd_precheck.md.26071050.lean.js @@ -1 +1 @@ -import{_ as e,v as a,b as t,R as i}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"系统与硬件配置要求","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_precheck.md","filePath":"guide/lxd_precheck.md","lastUpdated":1691593150000}'),s={name:"guide/lxd_precheck.md"},l=i('

系统与硬件配置要求

要求

硬件要求:

  • 系统:Debian 8+, Ubuntu 18+(推荐20.04)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,Debian无法使用zfs时自动切换别的存储类型

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测母鸡是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)
',14),r=[l];function p(o,n,c,d,h,u){return a(),t("div",null,r)}const m=e(s,[["render",p]]);export{g as __pageData,m as default}; +import{_ as e,v as a,b as t,R as i}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"系统与硬件配置要求","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_precheck.md","filePath":"guide/lxd_precheck.md","lastUpdated":1691741224000}'),s={name:"guide/lxd_precheck.md"},l=i('

系统与硬件配置要求

要求

硬件要求:

  • 系统:Debian 8+, Ubuntu 18+(推荐20.04)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,Debian无法使用zfs时自动切换别的存储类型

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测母鸡是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)
',14),r=[l];function p(o,n,c,d,h,u){return a(),t("div",null,r)}const m=e(s,[["render",p]]);export{g as __pageData,m as default}; diff --git a/assets/guide_lxd_qa.md.2e838717.js b/assets/guide_lxd_qa.md.698cbf8a.js similarity index 96% rename from assets/guide_lxd_qa.md.2e838717.js rename to assets/guide_lxd_qa.md.698cbf8a.js index b1f92ae95c..535cda2ab4 100644 --- a/assets/guide_lxd_qa.md.2e838717.js +++ b/assets/guide_lxd_qa.md.698cbf8a.js @@ -1,2 +1,2 @@ -import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_qa.md","filePath":"guide/lxd_qa.md","lastUpdated":1691593150000}'),l={name:"guide/lxd_qa.md"},p=t(`

解惑

如果LXD安装后lxc命令显示找不到怎么办

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
+import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_qa.md","filePath":"guide/lxd_qa.md","lastUpdated":1691741224000}'),l={name:"guide/lxd_qa.md"},p=t(`

解惑

如果LXD安装后lxc命令显示找不到怎么办

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
 export PATH=$PATH:/snap/bin

执行这个命令后尝试

lxc -h

看看lxc命令是否已修复

开设centos7发现报错CGroupV1不支持怎么办

启用CGroup V1:要在Ubuntu系统上启用CGroup V1,需要编辑内核启动参数。

请注意,在更改内核启动参数之前,请务必备份重要的数据和设置,以防止意外的问题。

编辑/etc/default/grub文件,将GRUB_CMDLINE_LINUX_DEFAULT中的参数末尾加上cgroup_enable=memory

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash cgroup_enable=memory"

保存文件并运行以下命令更新GRUB引导。

bash
sudo update-grub

重启系统,使更改生效

如果上述更改仍旧不支持开设centos7,那么请使用别的宿主机系统尝试

目前已验证可开带独立IPV6地址容器的VPS商家

kuroit 中的 美国凤凰城 regular

datalix 中的 德国AMD 促销款

luxvps 中的 德国AMD 促销款

`,19),o=[p];function n(r,c,i,d,u,h){return e(),s("div",null,o)}const m=a(l,[["render",n]]);export{b as __pageData,m as default}; diff --git a/assets/guide_lxd_qa.md.2e838717.lean.js b/assets/guide_lxd_qa.md.698cbf8a.lean.js similarity index 96% rename from assets/guide_lxd_qa.md.2e838717.lean.js rename to assets/guide_lxd_qa.md.698cbf8a.lean.js index b1f92ae95c..535cda2ab4 100644 --- a/assets/guide_lxd_qa.md.2e838717.lean.js +++ b/assets/guide_lxd_qa.md.698cbf8a.lean.js @@ -1,2 +1,2 @@ -import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_qa.md","filePath":"guide/lxd_qa.md","lastUpdated":1691593150000}'),l={name:"guide/lxd_qa.md"},p=t(`

解惑

如果LXD安装后lxc命令显示找不到怎么办

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
+import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd_qa.md","filePath":"guide/lxd_qa.md","lastUpdated":1691741224000}'),l={name:"guide/lxd_qa.md"},p=t(`

解惑

如果LXD安装后lxc命令显示找不到怎么办

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
 export PATH=$PATH:/snap/bin

执行这个命令后尝试

lxc -h

看看lxc命令是否已修复

开设centos7发现报错CGroupV1不支持怎么办

启用CGroup V1:要在Ubuntu系统上启用CGroup V1,需要编辑内核启动参数。

请注意,在更改内核启动参数之前,请务必备份重要的数据和设置,以防止意外的问题。

编辑/etc/default/grub文件,将GRUB_CMDLINE_LINUX_DEFAULT中的参数末尾加上cgroup_enable=memory

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash cgroup_enable=memory"

保存文件并运行以下命令更新GRUB引导。

bash
sudo update-grub

重启系统,使更改生效

如果上述更改仍旧不支持开设centos7,那么请使用别的宿主机系统尝试

目前已验证可开带独立IPV6地址容器的VPS商家

kuroit 中的 美国凤凰城 regular

datalix 中的 德国AMD 促销款

luxvps 中的 德国AMD 促销款

`,19),o=[p];function n(r,c,i,d,u,h){return e(),s("div",null,o)}const m=a(l,[["render",n]]);export{b as __pageData,m as default}; diff --git a/assets/guide_lxd_thanks.md.154d4bb6.js b/assets/guide_lxd_thanks.md.e8f31f5f.js similarity index 97% rename from assets/guide_lxd_thanks.md.154d4bb6.js rename to assets/guide_lxd_thanks.md.e8f31f5f.js index 6b8fb7a44a..c372ce6c27 100644 --- a/assets/guide_lxd_thanks.md.154d4bb6.js +++ b/assets/guide_lxd_thanks.md.e8f31f5f.js @@ -1 +1 @@ -import{_ as t,v as r,b as e,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd_thanks.md","filePath":"guide/lxd_thanks.md","lastUpdated":1691593150000}'),s={name:"guide/lxd_thanks.md"},n=a('

致谢

https://github.com/lxc/lxd

https://lxdware.com/

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

感谢 @Ella-Alinda @fscarmen 提供的指导

',10),o=[n];function i(c,l,p,d,h,u){return r(),e("div",null,o)}const x=t(s,[["render",i]]);export{g as __pageData,x as default}; +import{_ as t,v as r,b as e,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd_thanks.md","filePath":"guide/lxd_thanks.md","lastUpdated":1691741224000}'),s={name:"guide/lxd_thanks.md"},n=a('

致谢

https://github.com/lxc/lxd

https://lxdware.com/

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

感谢 @Ella-Alinda @fscarmen 提供的指导

',10),o=[n];function i(c,l,p,d,h,u){return r(),e("div",null,o)}const x=t(s,[["render",i]]);export{g as __pageData,x as default}; diff --git a/assets/guide_lxd_thanks.md.154d4bb6.lean.js b/assets/guide_lxd_thanks.md.e8f31f5f.lean.js similarity index 97% rename from assets/guide_lxd_thanks.md.154d4bb6.lean.js rename to assets/guide_lxd_thanks.md.e8f31f5f.lean.js index 6b8fb7a44a..c372ce6c27 100644 --- a/assets/guide_lxd_thanks.md.154d4bb6.lean.js +++ b/assets/guide_lxd_thanks.md.e8f31f5f.lean.js @@ -1 +1 @@ -import{_ as t,v as r,b as e,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd_thanks.md","filePath":"guide/lxd_thanks.md","lastUpdated":1691593150000}'),s={name:"guide/lxd_thanks.md"},n=a('

致谢

https://github.com/lxc/lxd

https://lxdware.com/

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

感谢 @Ella-Alinda @fscarmen 提供的指导

',10),o=[n];function i(c,l,p,d,h,u){return r(),e("div",null,o)}const x=t(s,[["render",i]]);export{g as __pageData,x as default}; +import{_ as t,v as r,b as e,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd_thanks.md","filePath":"guide/lxd_thanks.md","lastUpdated":1691741224000}'),s={name:"guide/lxd_thanks.md"},n=a('

致谢

https://github.com/lxc/lxd

https://lxdware.com/

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

感谢 @Ella-Alinda @fscarmen 提供的指导

',10),o=[n];function i(c,l,p,d,h,u){return r(),e("div",null,o)}const x=t(s,[["render",i]]);export{g as __pageData,x as default}; diff --git a/assets/guide_pve_custom.md.1c7e67dd.js b/assets/guide_pve_custom.md.1c7e67dd.js new file mode 100644 index 0000000000..218a3a6e34 --- /dev/null +++ b/assets/guide_pve_custom.md.1c7e67dd.js @@ -0,0 +1 @@ +import{_ as e,v as t,b as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve_custom.md","filePath":"guide/pve_custom.md","lastUpdated":1691741224000}'),a={name:"guide/pve_custom.md"};function o(r,c,d,p,_,i){return t(),s("div")}const u=e(a,[["render",o]]);export{m as __pageData,u as default}; diff --git a/assets/guide_pve_custom.md.1c7e67dd.lean.js b/assets/guide_pve_custom.md.1c7e67dd.lean.js new file mode 100644 index 0000000000..218a3a6e34 --- /dev/null +++ b/assets/guide_pve_custom.md.1c7e67dd.lean.js @@ -0,0 +1 @@ +import{_ as e,v as t,b as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve_custom.md","filePath":"guide/pve_custom.md","lastUpdated":1691741224000}'),a={name:"guide/pve_custom.md"};function o(r,c,d,p,_,i){return t(),s("div")}const u=e(a,[["render",o]]);export{m as __pageData,u as default}; diff --git a/assets/guide_pve_install.md.42afb286.js b/assets/guide_pve_install.md.42afb286.js new file mode 100644 index 0000000000..b6a4b222de --- /dev/null +++ b/assets/guide_pve_install.md.42afb286.js @@ -0,0 +1 @@ +import{_ as s,v as a,b as l,R as e}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"PVE主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_install.md","filePath":"guide/pve_install.md","lastUpdated":1691741224000}'),p={name:"guide/pve_install.md"},t=e('

PVE主体安装

安装过程中遇到选项不会选的可无脑按回车,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载

一键安装PVE

TIP

建议debian11而不是debian12,因为后者虽然是stable版本但不知道是否有未发现的BUG,debian11安装的目前稳定点

  • 安装的是当下apt源最新的PVE
  • 比如debian10则是pve6.4,debian11则是pve7.x,debian12则是pve8.x
  • /etc/hosts文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
  • /etc/cloud/cloud.cfg文件修改(避免覆写已修改的hostname等配置)
  • /etc/network/interfaces文件修改(修复auto、dhcp类型为static、增加vmbr0网关)
  • 检测是否为中国IP,如果为中国IP使用清华镜像源,否则使用官方源,同时处理apt的源和对应的nameserver,避免断网
  • 创建vmbr0(独立IP网关),宿主机允许addr和gateway为内网IP或外网IP,已自动识别
  • vmbr0创建支持开设纯IPV4、纯IPV6、双栈虚拟机,自动识别IPV4地址和IPV6地址,自动识别对应的IP区间
  • 安装PVE开虚拟机需要的必备工具包
  • x86_64的替换apt源中的企业订阅为社区源,arm的使用第三方修复的补丁构建的源
  • 打印查询Linux系统内核和PVE内核是否已安装
  • 设置DNS检测8.8.8.8的开机自启添加DNS的systemd服务
  • 新增PVE的APT源链接后,下载PVE并打印输出登陆信息

所有修改过的文件均已设置为只读模式,避免重启后文件被覆写

如需修改请使用chattr -i 文件路径取消只读锁定,修改完毕请执行chattr +i 文件路径进行只读锁定

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

shell
bash install_pve.sh

TIP

安装成功后打开网页可能提示不安全,点击高级或更多选项,坚持访问即可

预配置环境

  • 创建资源池mypool
  • 移除订阅弹窗
  • 尝试开启硬件直通
  • 对AppArmor模块检测和自动安装
  • 重启系统前推荐挂上nezha探针方便在后台不通过SSH使用命令行,避免SSH可能因为商家奇葩的预设可能导致重启后root密码丢失
  • 执行reboot前需要等待后台任务执行完毕,一些宿主机的系统apt命令执行很慢,得等一会才能执行完毕,当然大部分的机器没这么烂

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

自动配置宿主机的网关

WARNING

使用前请保证重启过服务器且此时PVE能正常使用WEB端再执行,重启机器后不要立即执行此命令,待WEB端启动成功后至少等1分钟再执行本命令

TIP

这一步是最容易造成SSH断开的,原因是未等待PVE内核启动就修改网络会造成设置冲突,所以至少等几分钟待内核启动也就是WEB端启动成功后再执行

  • 创建vmbr1(NAT网关),暂不支持开设带独立IPV6地址的NAT的IPV4虚拟机
  • 想查看完整设置可以执行cat /etc/network/interfaces查看,如需修改网关需要修改该文件,web端已经无法修改
  • 加载iptables并设置回源且允许NAT端口转发

简单的说,vmbr0负责v4/v6的独立IP,vmbr1复杂v4/v6的NAT

开独立IPV4的虚拟机时使用的vmbr0,gateway同宿主机,IPV4/CIDR使用同一网段的地址和相同的子网掩码,使用宿主机未绑定的IPV4地址做IPV4/CIDR,当然如果后续使用本套脚本无需关注这点细枝末节的东西

开NAT的IPV4的虚拟机时使用vmbr1,gateway使用172.16.1.1,IPV4/CIDR使用172.16.1.x/24,这里的x不能是1,当然如果后续使用本套脚本无需关注这点细枝末节的东西

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

TIP

这一步是可能需要你执行成功几分钟后重启系统,详见脚本最后执行完毕的提示

',32),o=[t];function n(c,i,r,d,h,C){return a(),l("div",null,o)}const u=s(p,[["render",n]]);export{m as __pageData,u as default}; diff --git a/assets/guide_pve_install.md.42afb286.lean.js b/assets/guide_pve_install.md.42afb286.lean.js new file mode 100644 index 0000000000..b6a4b222de --- /dev/null +++ b/assets/guide_pve_install.md.42afb286.lean.js @@ -0,0 +1 @@ +import{_ as s,v as a,b as l,R as e}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"PVE主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_install.md","filePath":"guide/pve_install.md","lastUpdated":1691741224000}'),p={name:"guide/pve_install.md"},t=e('

PVE主体安装

安装过程中遇到选项不会选的可无脑按回车,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载

一键安装PVE

TIP

建议debian11而不是debian12,因为后者虽然是stable版本但不知道是否有未发现的BUG,debian11安装的目前稳定点

  • 安装的是当下apt源最新的PVE
  • 比如debian10则是pve6.4,debian11则是pve7.x,debian12则是pve8.x
  • /etc/hosts文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
  • /etc/cloud/cloud.cfg文件修改(避免覆写已修改的hostname等配置)
  • /etc/network/interfaces文件修改(修复auto、dhcp类型为static、增加vmbr0网关)
  • 检测是否为中国IP,如果为中国IP使用清华镜像源,否则使用官方源,同时处理apt的源和对应的nameserver,避免断网
  • 创建vmbr0(独立IP网关),宿主机允许addr和gateway为内网IP或外网IP,已自动识别
  • vmbr0创建支持开设纯IPV4、纯IPV6、双栈虚拟机,自动识别IPV4地址和IPV6地址,自动识别对应的IP区间
  • 安装PVE开虚拟机需要的必备工具包
  • x86_64的替换apt源中的企业订阅为社区源,arm的使用第三方修复的补丁构建的源
  • 打印查询Linux系统内核和PVE内核是否已安装
  • 设置DNS检测8.8.8.8的开机自启添加DNS的systemd服务
  • 新增PVE的APT源链接后,下载PVE并打印输出登陆信息

所有修改过的文件均已设置为只读模式,避免重启后文件被覆写

如需修改请使用chattr -i 文件路径取消只读锁定,修改完毕请执行chattr +i 文件路径进行只读锁定

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

shell
bash install_pve.sh

TIP

安装成功后打开网页可能提示不安全,点击高级或更多选项,坚持访问即可

预配置环境

  • 创建资源池mypool
  • 移除订阅弹窗
  • 尝试开启硬件直通
  • 对AppArmor模块检测和自动安装
  • 重启系统前推荐挂上nezha探针方便在后台不通过SSH使用命令行,避免SSH可能因为商家奇葩的预设可能导致重启后root密码丢失
  • 执行reboot前需要等待后台任务执行完毕,一些宿主机的系统apt命令执行很慢,得等一会才能执行完毕,当然大部分的机器没这么烂

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

自动配置宿主机的网关

WARNING

使用前请保证重启过服务器且此时PVE能正常使用WEB端再执行,重启机器后不要立即执行此命令,待WEB端启动成功后至少等1分钟再执行本命令

TIP

这一步是最容易造成SSH断开的,原因是未等待PVE内核启动就修改网络会造成设置冲突,所以至少等几分钟待内核启动也就是WEB端启动成功后再执行

  • 创建vmbr1(NAT网关),暂不支持开设带独立IPV6地址的NAT的IPV4虚拟机
  • 想查看完整设置可以执行cat /etc/network/interfaces查看,如需修改网关需要修改该文件,web端已经无法修改
  • 加载iptables并设置回源且允许NAT端口转发

简单的说,vmbr0负责v4/v6的独立IP,vmbr1复杂v4/v6的NAT

开独立IPV4的虚拟机时使用的vmbr0,gateway同宿主机,IPV4/CIDR使用同一网段的地址和相同的子网掩码,使用宿主机未绑定的IPV4地址做IPV4/CIDR,当然如果后续使用本套脚本无需关注这点细枝末节的东西

开NAT的IPV4的虚拟机时使用vmbr1,gateway使用172.16.1.1,IPV4/CIDR使用172.16.1.x/24,这里的x不能是1,当然如果后续使用本套脚本无需关注这点细枝末节的东西

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

TIP

这一步是可能需要你执行成功几分钟后重启系统,详见脚本最后执行完毕的提示

',32),o=[t];function n(c,i,r,d,h,C){return a(),l("div",null,o)}const u=s(p,[["render",n]]);export{m as __pageData,u as default}; diff --git a/assets/guide_pve_install.md.cd5e333f.js b/assets/guide_pve_install.md.cd5e333f.js deleted file mode 100644 index 93e5667f73..0000000000 --- a/assets/guide_pve_install.md.cd5e333f.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,v as a,b as l,R as e}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"PVE主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_install.md","filePath":"guide/pve_install.md","lastUpdated":1691593150000}'),p={name:"guide/pve_install.md"},t=e('

PVE主体安装

安装过程中遇到选项不会选的可无脑按回车,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载

一键安装PVE

TIP

建议debian11而不是debian12,因为后者虽然是stable版本但不知道是否有未发现的BUG,debian11安装的目前稳定点

  • 安装的是当下apt源最新的PVE
  • 比如debian10则是pve6.4,debian11则是pve7.x,debian12则是pve8.x
  • /etc/hosts文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
  • /etc/cloud/cloud.cfg文件修改(避免覆写已修改的hostname等配置)
  • /etc/network/interfaces文件修改(修复auto、dhcp类型为static、增加vmbr0网关)
  • 检测是否为中国IP,如果为中国IP使用清华镜像源,否则使用官方源,同时处理apt的源和对应的nameserver,避免断网
  • 安装PVE开虚拟机需要的必备工具包
  • x86_64的替换apt源中的企业订阅为社区源,arm的使用第三方修复的补丁构建的源
  • 打印查询Linux系统内核和PVE内核是否已安装
  • 设置DNS检测8.8.8.8的开机自启添加DNS的systemd服务
  • 新增PVE的APT源链接后,下载PVE并打印输出登陆信息

所有修改过的文件均已设置为只读模式,避免重启后文件被覆写

如需修改请使用chattr -i 文件路径取消只读锁定,修改完毕请执行chattr +i 文件路径进行只读锁定

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

shell
bash install_pve.sh

TIP

安装成功后打开网页可能提示不安全,点击高级或更多选项,坚持访问即可

预配置环境

  • 创建资源池mypool
  • 移除订阅弹窗
  • 尝试开启硬件直通
  • 对AppArmor模块检测和自动安装
  • 重启系统前推荐挂上nezha探针方便在后台不通过SSH使用命令行,避免SSH可能因为商家奇葩的预设可能导致重启后root密码丢失
  • 执行reboot前需要等待后台任务执行完毕,一些宿主机的系统apt命令执行很慢,得等一会才能执行完毕,当然大部分的机器没这么烂

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

自动配置宿主机的网关

WARNING

使用前请保证重启过服务器且此时PVE能正常使用WEB端再执行,重启机器后不要立即执行此命令,待WEB端启动成功后至少等5分钟再执行本命令

TIP

这一步是最容易造成SSH断开的,原因是未等待PVE内核启动就修改网络会造成设置冲突,所以至少等几分钟待内核启动也就是WEB端启动成功后再执行

  • 创建vmbr0(独立IP网关),宿主机允许addr和gateway为内网IP或外网IP,已自动识别
  • vmbr0创建支持开设纯IPV4、纯IPV6、双栈虚拟机,自动识别IPV4地址和IPV6地址,自动识别对应的IP区间
  • 创建vmbr1(NAT网关),暂不支持开设带独立IPV6地址的NAT的IPV4虚拟机
  • 想查看完整设置可以执行cat /etc/network/interfaces查看,如需修改网关需要修改该文件,web端已经无法修改
  • 加载iptables并设置回源且允许NAT端口转发

简单的说,vmbr0负责v4/v6的独立IP,vmbr1复杂v4/v6的NAT

开独立IPV4的虚拟机时使用的vmbr0,gateway同宿主机,IPV4/CIDR使用同一网段的地址和相同的子网掩码,使用宿主机未绑定的IPV4地址做IPV4/CIDR,当然如果后续使用本套脚本无需关注这点细枝末节的东西

开NAT的IPV4的虚拟机时使用vmbr1,gateway使用172.16.1.1,IPV4/CIDR使用172.16.1.x/24,这里的x不能是1,当然如果后续使用本套脚本无需关注这点细枝末节的东西

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

TIP

这一步是可能需要你执行成功几分钟后重启系统,详见脚本最后执行完毕的提示

',32),o=[t];function n(c,i,r,d,h,C){return a(),l("div",null,o)}const u=s(p,[["render",n]]);export{m as __pageData,u as default}; diff --git a/assets/guide_pve_install.md.cd5e333f.lean.js b/assets/guide_pve_install.md.cd5e333f.lean.js deleted file mode 100644 index 93e5667f73..0000000000 --- a/assets/guide_pve_install.md.cd5e333f.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,v as a,b as l,R as e}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"PVE主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_install.md","filePath":"guide/pve_install.md","lastUpdated":1691593150000}'),p={name:"guide/pve_install.md"},t=e('

PVE主体安装

安装过程中遇到选项不会选的可无脑按回车,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载

一键安装PVE

TIP

建议debian11而不是debian12,因为后者虽然是stable版本但不知道是否有未发现的BUG,debian11安装的目前稳定点

  • 安装的是当下apt源最新的PVE
  • 比如debian10则是pve6.4,debian11则是pve7.x,debian12则是pve8.x
  • /etc/hosts文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
  • /etc/cloud/cloud.cfg文件修改(避免覆写已修改的hostname等配置)
  • /etc/network/interfaces文件修改(修复auto、dhcp类型为static、增加vmbr0网关)
  • 检测是否为中国IP,如果为中国IP使用清华镜像源,否则使用官方源,同时处理apt的源和对应的nameserver,避免断网
  • 安装PVE开虚拟机需要的必备工具包
  • x86_64的替换apt源中的企业订阅为社区源,arm的使用第三方修复的补丁构建的源
  • 打印查询Linux系统内核和PVE内核是否已安装
  • 设置DNS检测8.8.8.8的开机自启添加DNS的systemd服务
  • 新增PVE的APT源链接后,下载PVE并打印输出登陆信息

所有修改过的文件均已设置为只读模式,避免重启后文件被覆写

如需修改请使用chattr -i 文件路径取消只读锁定,修改完毕请执行chattr +i 文件路径进行只读锁定

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

shell
bash install_pve.sh

TIP

安装成功后打开网页可能提示不安全,点击高级或更多选项,坚持访问即可

预配置环境

  • 创建资源池mypool
  • 移除订阅弹窗
  • 尝试开启硬件直通
  • 对AppArmor模块检测和自动安装
  • 重启系统前推荐挂上nezha探针方便在后台不通过SSH使用命令行,避免SSH可能因为商家奇葩的预设可能导致重启后root密码丢失
  • 执行reboot前需要等待后台任务执行完毕,一些宿主机的系统apt命令执行很慢,得等一会才能执行完毕,当然大部分的机器没这么烂

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

自动配置宿主机的网关

WARNING

使用前请保证重启过服务器且此时PVE能正常使用WEB端再执行,重启机器后不要立即执行此命令,待WEB端启动成功后至少等5分钟再执行本命令

TIP

这一步是最容易造成SSH断开的,原因是未等待PVE内核启动就修改网络会造成设置冲突,所以至少等几分钟待内核启动也就是WEB端启动成功后再执行

  • 创建vmbr0(独立IP网关),宿主机允许addr和gateway为内网IP或外网IP,已自动识别
  • vmbr0创建支持开设纯IPV4、纯IPV6、双栈虚拟机,自动识别IPV4地址和IPV6地址,自动识别对应的IP区间
  • 创建vmbr1(NAT网关),暂不支持开设带独立IPV6地址的NAT的IPV4虚拟机
  • 想查看完整设置可以执行cat /etc/network/interfaces查看,如需修改网关需要修改该文件,web端已经无法修改
  • 加载iptables并设置回源且允许NAT端口转发

简单的说,vmbr0负责v4/v6的独立IP,vmbr1复杂v4/v6的NAT

开独立IPV4的虚拟机时使用的vmbr0,gateway同宿主机,IPV4/CIDR使用同一网段的地址和相同的子网掩码,使用宿主机未绑定的IPV4地址做IPV4/CIDR,当然如果后续使用本套脚本无需关注这点细枝末节的东西

开NAT的IPV4的虚拟机时使用vmbr1,gateway使用172.16.1.1,IPV4/CIDR使用172.16.1.x/24,这里的x不能是1,当然如果后续使用本套脚本无需关注这点细枝末节的东西

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

TIP

这一步是可能需要你执行成功几分钟后重启系统,详见脚本最后执行完毕的提示

',32),o=[t];function n(c,i,r,d,h,C){return a(),l("div",null,o)}const u=s(p,[["render",n]]);export{m as __pageData,u as default}; diff --git a/assets/guide_pve_kvm.md.f3a994c1.js b/assets/guide_pve_kvm.md.cb76d233.js similarity index 99% rename from assets/guide_pve_kvm.md.f3a994c1.js rename to assets/guide_pve_kvm.md.cb76d233.js index a1a96104b7..2fd8d8166e 100644 --- a/assets/guide_pve_kvm.md.f3a994c1.js +++ b/assets/guide_pve_kvm.md.cb76d233.js @@ -1,4 +1,4 @@ -import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"KVM虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_kvm.md","filePath":"guide/pve_kvm.md","lastUpdated":1691593150000}'),o={name:"guide/pve_kvm.md"},p=n(`

KVM虚拟化

SSH登录说明

KVM虚拟化开设出的虚拟机,默认生成的用户名不是root,你需要执行sudo -i切换为root用户

当然部分模板实际支持用户名root登录,默认的root密码是password,你也可以先试试

登录SSH切换为root权限后,一定要修改root密码,可以使用以下命令修改

国际

bash
bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

国内

bash
bash <(curl -sSL https://ghproxy.com/https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

部分注意事项

执行本项目的检测环境的命令,展示如下

图片

查询如上的只需使用下面的一键脚本自动创建虚拟机即可,无需手动再修改WEB端设置

图片

查询如上的在使用后续脚本创建了虚拟机后,可能需要手动修改WEB端设置,需要关闭对应每个虚拟机的硬件嵌套虚拟化,如下图

图片

先停止虚拟机再修改,修改完后再开机才能使用NOVNC,不关闭可能导致这个虚拟机有BUG无法使用

如果强行安装PVE开KVM,启动不了的也可以关闭这个选项试试能不能启动虚拟机

TIP

开设虚拟机前请使用screen挂起执行,避免开设时间过长,SSH不稳定导致中间执行中断

开设KVM虚拟机可使用的镜像

  • 已预安装开启cloudinit
  • 开启SSH登陆
  • 预设置SSH监听V4和V6的22端口
  • 开启允许密码验证登陆
  • 开启允许root登陆
  • 部分预安装Qemu-guest-agent

目前可使用的镜像名字的列表为

https://github.com/oneclickvirt/kvm_images/blob/main/list.text

单独开设NAT的KVM虚拟化的虚拟机

  • 自动开设NAT服务器,默认使用Debian10镜像,因为该镜像占用最小
  • 可在命令中自定义需要使用的镜像,这里有给出配置好的镜像,镜像自带空间设置是2~10G硬盘,日常使用至少10G以上即可,除非某些镜像开不起来再增加硬盘大小
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 自定义内存大小推荐512MB内存
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloud-init配置好网络以及登陆信息,大概需要5分钟
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

使用方法

  • 系统支持:
    • x86_64架构的详见 跳转 中列出的系统,使用时只需写文件名字,不需要.qcow2尾缀
    • arm架构的详见 跳转 中列出的系统,使用时只需要写系统名字+系统版本号,如ubuntu20、ubutnu22这种

TIP

注意这里的用户名不能是纯数字,会造成cloudinit出问题,最好是纯英文或英文开头

shell
./buildvm.sh VMID 用户名 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildvm.sh 102 test1 oneclick123 1 512 10 40001 40002 40003 50000 50025 debian11 local

开设完毕可执行cat vm102查看信息,或到WEB端对应VM的NOTES中查看

  • 以下为开设的示例VM的信息:
\`VMID\` - 102
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"KVM虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_kvm.md","filePath":"guide/pve_kvm.md","lastUpdated":1691741224000}'),o={name:"guide/pve_kvm.md"},p=n(`

KVM虚拟化

SSH登录说明

KVM虚拟化开设出的虚拟机,默认生成的用户名不是root,你需要执行sudo -i切换为root用户

当然部分模板实际支持用户名root登录,默认的root密码是password,你也可以先试试

登录SSH切换为root权限后,一定要修改root密码,可以使用以下命令修改

国际

bash
bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

国内

bash
bash <(curl -sSL https://ghproxy.com/https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

部分注意事项

执行本项目的检测环境的命令,展示如下

图片

查询如上的只需使用下面的一键脚本自动创建虚拟机即可,无需手动再修改WEB端设置

图片

查询如上的在使用后续脚本创建了虚拟机后,可能需要手动修改WEB端设置,需要关闭对应每个虚拟机的硬件嵌套虚拟化,如下图

图片

先停止虚拟机再修改,修改完后再开机才能使用NOVNC,不关闭可能导致这个虚拟机有BUG无法使用

如果强行安装PVE开KVM,启动不了的也可以关闭这个选项试试能不能启动虚拟机

TIP

开设虚拟机前请使用screen挂起执行,避免开设时间过长,SSH不稳定导致中间执行中断

开设KVM虚拟机可使用的镜像

  • 已预安装开启cloudinit
  • 开启SSH登陆
  • 预设置SSH监听V4和V6的22端口
  • 开启允许密码验证登陆
  • 开启允许root登陆
  • 部分预安装Qemu-guest-agent

目前可使用的镜像名字的列表为

https://github.com/oneclickvirt/kvm_images/blob/main/list.text

单独开设NAT的KVM虚拟化的虚拟机

  • 自动开设NAT服务器,默认使用Debian10镜像,因为该镜像占用最小
  • 可在命令中自定义需要使用的镜像,这里有给出配置好的镜像,镜像自带空间设置是2~10G硬盘,日常使用至少10G以上即可,除非某些镜像开不起来再增加硬盘大小
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 自定义内存大小推荐512MB内存
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloud-init配置好网络以及登陆信息,大概需要5分钟
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

使用方法

  • 系统支持:
    • x86_64架构的详见 跳转 中列出的系统,使用时只需写文件名字,不需要.qcow2尾缀
    • arm架构的详见 跳转 中列出的系统,使用时只需要写系统名字+系统版本号,如ubuntu20、ubutnu22这种

TIP

注意这里的用户名不能是纯数字,会造成cloudinit出问题,最好是纯英文或英文开头

shell
./buildvm.sh VMID 用户名 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildvm.sh 102 test1 oneclick123 1 512 10 40001 40002 40003 50000 50025 debian11 local

开设完毕可执行cat vm102查看信息,或到WEB端对应VM的NOTES中查看

  • 以下为开设的示例VM的信息:
\`VMID\` - 102
 \`SSH登录的用户名\` - test1
 \`SSH登录的密码\` - oneclick123
 \`CPU核数\` - 1   
diff --git a/assets/guide_pve_kvm.md.f3a994c1.lean.js b/assets/guide_pve_kvm.md.cb76d233.lean.js
similarity index 99%
rename from assets/guide_pve_kvm.md.f3a994c1.lean.js
rename to assets/guide_pve_kvm.md.cb76d233.lean.js
index a1a96104b7..2fd8d8166e 100644
--- a/assets/guide_pve_kvm.md.f3a994c1.lean.js
+++ b/assets/guide_pve_kvm.md.cb76d233.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"KVM虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_kvm.md","filePath":"guide/pve_kvm.md","lastUpdated":1691593150000}'),o={name:"guide/pve_kvm.md"},p=n(`

KVM虚拟化

SSH登录说明

KVM虚拟化开设出的虚拟机,默认生成的用户名不是root,你需要执行sudo -i切换为root用户

当然部分模板实际支持用户名root登录,默认的root密码是password,你也可以先试试

登录SSH切换为root权限后,一定要修改root密码,可以使用以下命令修改

国际

bash
bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

国内

bash
bash <(curl -sSL https://ghproxy.com/https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

部分注意事项

执行本项目的检测环境的命令,展示如下

图片

查询如上的只需使用下面的一键脚本自动创建虚拟机即可,无需手动再修改WEB端设置

图片

查询如上的在使用后续脚本创建了虚拟机后,可能需要手动修改WEB端设置,需要关闭对应每个虚拟机的硬件嵌套虚拟化,如下图

图片

先停止虚拟机再修改,修改完后再开机才能使用NOVNC,不关闭可能导致这个虚拟机有BUG无法使用

如果强行安装PVE开KVM,启动不了的也可以关闭这个选项试试能不能启动虚拟机

TIP

开设虚拟机前请使用screen挂起执行,避免开设时间过长,SSH不稳定导致中间执行中断

开设KVM虚拟机可使用的镜像

  • 已预安装开启cloudinit
  • 开启SSH登陆
  • 预设置SSH监听V4和V6的22端口
  • 开启允许密码验证登陆
  • 开启允许root登陆
  • 部分预安装Qemu-guest-agent

目前可使用的镜像名字的列表为

https://github.com/oneclickvirt/kvm_images/blob/main/list.text

单独开设NAT的KVM虚拟化的虚拟机

  • 自动开设NAT服务器,默认使用Debian10镜像,因为该镜像占用最小
  • 可在命令中自定义需要使用的镜像,这里有给出配置好的镜像,镜像自带空间设置是2~10G硬盘,日常使用至少10G以上即可,除非某些镜像开不起来再增加硬盘大小
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 自定义内存大小推荐512MB内存
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloud-init配置好网络以及登陆信息,大概需要5分钟
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

使用方法

  • 系统支持:
    • x86_64架构的详见 跳转 中列出的系统,使用时只需写文件名字,不需要.qcow2尾缀
    • arm架构的详见 跳转 中列出的系统,使用时只需要写系统名字+系统版本号,如ubuntu20、ubutnu22这种

TIP

注意这里的用户名不能是纯数字,会造成cloudinit出问题,最好是纯英文或英文开头

shell
./buildvm.sh VMID 用户名 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildvm.sh 102 test1 oneclick123 1 512 10 40001 40002 40003 50000 50025 debian11 local

开设完毕可执行cat vm102查看信息,或到WEB端对应VM的NOTES中查看

  • 以下为开设的示例VM的信息:
\`VMID\` - 102
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"KVM虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_kvm.md","filePath":"guide/pve_kvm.md","lastUpdated":1691741224000}'),o={name:"guide/pve_kvm.md"},p=n(`

KVM虚拟化

SSH登录说明

KVM虚拟化开设出的虚拟机,默认生成的用户名不是root,你需要执行sudo -i切换为root用户

当然部分模板实际支持用户名root登录,默认的root密码是password,你也可以先试试

登录SSH切换为root权限后,一定要修改root密码,可以使用以下命令修改

国际

bash
bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

国内

bash
bash <(curl -sSL https://ghproxy.com/https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

部分注意事项

执行本项目的检测环境的命令,展示如下

图片

查询如上的只需使用下面的一键脚本自动创建虚拟机即可,无需手动再修改WEB端设置

图片

查询如上的在使用后续脚本创建了虚拟机后,可能需要手动修改WEB端设置,需要关闭对应每个虚拟机的硬件嵌套虚拟化,如下图

图片

先停止虚拟机再修改,修改完后再开机才能使用NOVNC,不关闭可能导致这个虚拟机有BUG无法使用

如果强行安装PVE开KVM,启动不了的也可以关闭这个选项试试能不能启动虚拟机

TIP

开设虚拟机前请使用screen挂起执行,避免开设时间过长,SSH不稳定导致中间执行中断

开设KVM虚拟机可使用的镜像

  • 已预安装开启cloudinit
  • 开启SSH登陆
  • 预设置SSH监听V4和V6的22端口
  • 开启允许密码验证登陆
  • 开启允许root登陆
  • 部分预安装Qemu-guest-agent

目前可使用的镜像名字的列表为

https://github.com/oneclickvirt/kvm_images/blob/main/list.text

单独开设NAT的KVM虚拟化的虚拟机

  • 自动开设NAT服务器,默认使用Debian10镜像,因为该镜像占用最小
  • 可在命令中自定义需要使用的镜像,这里有给出配置好的镜像,镜像自带空间设置是2~10G硬盘,日常使用至少10G以上即可,除非某些镜像开不起来再增加硬盘大小
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 自定义内存大小推荐512MB内存
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloud-init配置好网络以及登陆信息,大概需要5分钟
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

使用方法

  • 系统支持:
    • x86_64架构的详见 跳转 中列出的系统,使用时只需写文件名字,不需要.qcow2尾缀
    • arm架构的详见 跳转 中列出的系统,使用时只需要写系统名字+系统版本号,如ubuntu20、ubutnu22这种

TIP

注意这里的用户名不能是纯数字,会造成cloudinit出问题,最好是纯英文或英文开头

shell
./buildvm.sh VMID 用户名 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildvm.sh 102 test1 oneclick123 1 512 10 40001 40002 40003 50000 50025 debian11 local

开设完毕可执行cat vm102查看信息,或到WEB端对应VM的NOTES中查看

  • 以下为开设的示例VM的信息:
\`VMID\` - 102
 \`SSH登录的用户名\` - test1
 \`SSH登录的密码\` - oneclick123
 \`CPU核数\` - 1   
diff --git a/assets/guide_pve_lxc.md.604e5936.js b/assets/guide_pve_lxc.md.c082367c.js
similarity index 99%
rename from assets/guide_pve_lxc.md.604e5936.js
rename to assets/guide_pve_lxc.md.c082367c.js
index 1fbaa4bab9..08ce3c2bc6 100644
--- a/assets/guide_pve_lxc.md.604e5936.js
+++ b/assets/guide_pve_lxc.md.c082367c.js
@@ -1 +1 @@
-import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_lxc.md","filePath":"guide/pve_lxc.md","lastUpdated":1691593150000}'),p={name:"guide/pve_lxc.md"},o=n('

LXC虚拟化

单独开设LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 自动开设NAT服务器,默认使用Debian11镜像,也可自定义系统
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部配置好网络以及登陆信息,大概需要3分钟
  • 默认开设的网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

使用方法

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
  • 系统支持:
  • debian10,debian11
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,almalinux9
  • 其他系统可能支持可能不支持,自行测试

TIP

系统参数一律是小写的系统名字拼接版本号,x86_64的具体可执行pveam available --section system查看可用的系统名字和版本号,arm的可在https://mirror.tuna.tsinghua.edu.cn/lxc-images/images/中查看支持的系统,版本号类同执行pveam available --section system查看到的版本号。 (注意脚本使用的参数只有小写的英文系统名字拼接版本号)

所有系统的CT默认用户名是root

shell
./buildct.sh CTID 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildct.sh 102 oneclick123 1 512 5 20001 20002 20003 30000 30025 debian11 local

开设完毕可执行cat ct102查看信息,或在web端的NOTES查看

  • 以下为开设的示例CT的信息:
`VMID` - 102\n`SSH登录的用户名` - root\n`SSH登录的密码` - oneclick123\n`CPU核数` - 1   \n`内存大小` - 512MB\n`磁盘大小` - 5G   \n`SSH端口` - 20001\n`80端口` - 20002\n`443端口` - 20003\n`内外网映射端口一致的区间` - 30000到30025\n`系统` - debian11\n`宿主机的存储盘` - local

删除示例

  • 停止CT
  • 删除CT
  • 删除端口映射
  • 重启网络
  • 删除log文件
shell
pct stop 102\npct destroy 102\nrm -rf ct102\niptables -t nat -F\niptables -t filter -F\nservice networking restart\nsystemctl restart networking.service

批量开设NAT的LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 可多次运行批量生成CT容器,但需要注意的是母鸡内存记得开点swap免得机器炸了开SWAP点我跳转
  • 每个容器创建之间有间隔等待60秒避免突发性能不足
  • 可自定义批量开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

开设完毕可执行cat ctlog查看信息,或在web端的NOTES查看

删除所有CT

  • 删除所有CT
  • 删除所有nat的端口映射
  • 重启网络
  • 删除log文件
shell
pct list | awk 'NR>1{print $1}' | xargs -I {} sh -c 'pct stop {}; pct destroy {}'\nrm -rf ct*\niptables -t nat -F\niptables -t filter -F\nservice networking restart\nsystemctl restart networking.service

开设纯IPV6地址的虚拟机

前提是宿主机给的是IPV6子网而不是单独一个IPV6地址,且宿主机未开启MAC地址校验

自动选择IPV6地址无需手动指定

  • 自动检测可用的IPV6区间,对应容器编号的V6地址绑定到容器上
  • 系统的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh

创建示例

shell
./buildct_onlyv6.sh CTID 密码 CPU核数 内存大小以MB计算 硬盘大小以GB计算 系统 存储盘
shell
./buildct_onlyv6.sh 152 oneclick123 1 1024 10 debian12 local

上述命令意义为开设一个纯IPV6地址的CT容器,CTID是152,用户名是root,密码是oneclick123,CPU是1核,内存是1024MB,硬盘是10G,系统是debian12,存储盘是local盘也就是系统盘

删除示例

shell
rm -rf ct*\npct stop 152 \npct destroy 152
',50),e=[o];function t(c,r,C,i,y,A){return a(),l("div",null,e)}const h=s(p,[["render",t]]);export{d as __pageData,h as default}; +import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_lxc.md","filePath":"guide/pve_lxc.md","lastUpdated":1691741224000}'),p={name:"guide/pve_lxc.md"},o=n('

LXC虚拟化

单独开设LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 自动开设NAT服务器,默认使用Debian11镜像,也可自定义系统
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部配置好网络以及登陆信息,大概需要3分钟
  • 默认开设的网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

使用方法

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
  • 系统支持:
  • debian10,debian11
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,almalinux9
  • 其他系统可能支持可能不支持,自行测试

TIP

系统参数一律是小写的系统名字拼接版本号,x86_64的具体可执行pveam available --section system查看可用的系统名字和版本号,arm的可在https://mirror.tuna.tsinghua.edu.cn/lxc-images/images/中查看支持的系统,版本号类同执行pveam available --section system查看到的版本号。 (注意脚本使用的参数只有小写的英文系统名字拼接版本号)

所有系统的CT默认用户名是root

shell
./buildct.sh CTID 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildct.sh 102 oneclick123 1 512 5 20001 20002 20003 30000 30025 debian11 local

开设完毕可执行cat ct102查看信息,或在web端的NOTES查看

  • 以下为开设的示例CT的信息:
`VMID` - 102\n`SSH登录的用户名` - root\n`SSH登录的密码` - oneclick123\n`CPU核数` - 1   \n`内存大小` - 512MB\n`磁盘大小` - 5G   \n`SSH端口` - 20001\n`80端口` - 20002\n`443端口` - 20003\n`内外网映射端口一致的区间` - 30000到30025\n`系统` - debian11\n`宿主机的存储盘` - local

删除示例

  • 停止CT
  • 删除CT
  • 删除端口映射
  • 重启网络
  • 删除log文件
shell
pct stop 102\npct destroy 102\nrm -rf ct102\niptables -t nat -F\niptables -t filter -F\nservice networking restart\nsystemctl restart networking.service

批量开设NAT的LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 可多次运行批量生成CT容器,但需要注意的是母鸡内存记得开点swap免得机器炸了开SWAP点我跳转
  • 每个容器创建之间有间隔等待60秒避免突发性能不足
  • 可自定义批量开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

开设完毕可执行cat ctlog查看信息,或在web端的NOTES查看

删除所有CT

  • 删除所有CT
  • 删除所有nat的端口映射
  • 重启网络
  • 删除log文件
shell
pct list | awk 'NR>1{print $1}' | xargs -I {} sh -c 'pct stop {}; pct destroy {}'\nrm -rf ct*\niptables -t nat -F\niptables -t filter -F\nservice networking restart\nsystemctl restart networking.service

开设纯IPV6地址的虚拟机

前提是宿主机给的是IPV6子网而不是单独一个IPV6地址,且宿主机未开启MAC地址校验

自动选择IPV6地址无需手动指定

  • 自动检测可用的IPV6区间,对应容器编号的V6地址绑定到容器上
  • 系统的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh

创建示例

shell
./buildct_onlyv6.sh CTID 密码 CPU核数 内存大小以MB计算 硬盘大小以GB计算 系统 存储盘
shell
./buildct_onlyv6.sh 152 oneclick123 1 1024 10 debian12 local

上述命令意义为开设一个纯IPV6地址的CT容器,CTID是152,用户名是root,密码是oneclick123,CPU是1核,内存是1024MB,硬盘是10G,系统是debian12,存储盘是local盘也就是系统盘

删除示例

shell
rm -rf ct*\npct stop 152 \npct destroy 152
',50),e=[o];function t(c,r,C,i,y,A){return a(),l("div",null,e)}const h=s(p,[["render",t]]);export{d as __pageData,h as default}; diff --git a/assets/guide_pve_lxc.md.604e5936.lean.js b/assets/guide_pve_lxc.md.c082367c.lean.js similarity index 99% rename from assets/guide_pve_lxc.md.604e5936.lean.js rename to assets/guide_pve_lxc.md.c082367c.lean.js index 1fbaa4bab9..08ce3c2bc6 100644 --- a/assets/guide_pve_lxc.md.604e5936.lean.js +++ b/assets/guide_pve_lxc.md.c082367c.lean.js @@ -1 +1 @@ -import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_lxc.md","filePath":"guide/pve_lxc.md","lastUpdated":1691593150000}'),p={name:"guide/pve_lxc.md"},o=n('

LXC虚拟化

单独开设LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 自动开设NAT服务器,默认使用Debian11镜像,也可自定义系统
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部配置好网络以及登陆信息,大概需要3分钟
  • 默认开设的网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

使用方法

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
  • 系统支持:
  • debian10,debian11
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,almalinux9
  • 其他系统可能支持可能不支持,自行测试

TIP

系统参数一律是小写的系统名字拼接版本号,x86_64的具体可执行pveam available --section system查看可用的系统名字和版本号,arm的可在https://mirror.tuna.tsinghua.edu.cn/lxc-images/images/中查看支持的系统,版本号类同执行pveam available --section system查看到的版本号。 (注意脚本使用的参数只有小写的英文系统名字拼接版本号)

所有系统的CT默认用户名是root

shell
./buildct.sh CTID 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildct.sh 102 oneclick123 1 512 5 20001 20002 20003 30000 30025 debian11 local

开设完毕可执行cat ct102查看信息,或在web端的NOTES查看

  • 以下为开设的示例CT的信息:
`VMID` - 102\n`SSH登录的用户名` - root\n`SSH登录的密码` - oneclick123\n`CPU核数` - 1   \n`内存大小` - 512MB\n`磁盘大小` - 5G   \n`SSH端口` - 20001\n`80端口` - 20002\n`443端口` - 20003\n`内外网映射端口一致的区间` - 30000到30025\n`系统` - debian11\n`宿主机的存储盘` - local

删除示例

  • 停止CT
  • 删除CT
  • 删除端口映射
  • 重启网络
  • 删除log文件
shell
pct stop 102\npct destroy 102\nrm -rf ct102\niptables -t nat -F\niptables -t filter -F\nservice networking restart\nsystemctl restart networking.service

批量开设NAT的LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 可多次运行批量生成CT容器,但需要注意的是母鸡内存记得开点swap免得机器炸了开SWAP点我跳转
  • 每个容器创建之间有间隔等待60秒避免突发性能不足
  • 可自定义批量开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

开设完毕可执行cat ctlog查看信息,或在web端的NOTES查看

删除所有CT

  • 删除所有CT
  • 删除所有nat的端口映射
  • 重启网络
  • 删除log文件
shell
pct list | awk 'NR>1{print $1}' | xargs -I {} sh -c 'pct stop {}; pct destroy {}'\nrm -rf ct*\niptables -t nat -F\niptables -t filter -F\nservice networking restart\nsystemctl restart networking.service

开设纯IPV6地址的虚拟机

前提是宿主机给的是IPV6子网而不是单独一个IPV6地址,且宿主机未开启MAC地址校验

自动选择IPV6地址无需手动指定

  • 自动检测可用的IPV6区间,对应容器编号的V6地址绑定到容器上
  • 系统的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh

创建示例

shell
./buildct_onlyv6.sh CTID 密码 CPU核数 内存大小以MB计算 硬盘大小以GB计算 系统 存储盘
shell
./buildct_onlyv6.sh 152 oneclick123 1 1024 10 debian12 local

上述命令意义为开设一个纯IPV6地址的CT容器,CTID是152,用户名是root,密码是oneclick123,CPU是1核,内存是1024MB,硬盘是10G,系统是debian12,存储盘是local盘也就是系统盘

删除示例

shell
rm -rf ct*\npct stop 152 \npct destroy 152
',50),e=[o];function t(c,r,C,i,y,A){return a(),l("div",null,e)}const h=s(p,[["render",t]]);export{d as __pageData,h as default}; +import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_lxc.md","filePath":"guide/pve_lxc.md","lastUpdated":1691741224000}'),p={name:"guide/pve_lxc.md"},o=n('

LXC虚拟化

单独开设LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 自动开设NAT服务器,默认使用Debian11镜像,也可自定义系统
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部配置好网络以及登陆信息,大概需要3分钟
  • 默认开设的网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

使用方法

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
  • 系统支持:
  • debian10,debian11
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,almalinux9
  • 其他系统可能支持可能不支持,自行测试

TIP

系统参数一律是小写的系统名字拼接版本号,x86_64的具体可执行pveam available --section system查看可用的系统名字和版本号,arm的可在https://mirror.tuna.tsinghua.edu.cn/lxc-images/images/中查看支持的系统,版本号类同执行pveam available --section system查看到的版本号。 (注意脚本使用的参数只有小写的英文系统名字拼接版本号)

所有系统的CT默认用户名是root

shell
./buildct.sh CTID 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildct.sh 102 oneclick123 1 512 5 20001 20002 20003 30000 30025 debian11 local

开设完毕可执行cat ct102查看信息,或在web端的NOTES查看

  • 以下为开设的示例CT的信息:
`VMID` - 102\n`SSH登录的用户名` - root\n`SSH登录的密码` - oneclick123\n`CPU核数` - 1   \n`内存大小` - 512MB\n`磁盘大小` - 5G   \n`SSH端口` - 20001\n`80端口` - 20002\n`443端口` - 20003\n`内外网映射端口一致的区间` - 30000到30025\n`系统` - debian11\n`宿主机的存储盘` - local

删除示例

  • 停止CT
  • 删除CT
  • 删除端口映射
  • 重启网络
  • 删除log文件
shell
pct stop 102\npct destroy 102\nrm -rf ct102\niptables -t nat -F\niptables -t filter -F\nservice networking restart\nsystemctl restart networking.service

批量开设NAT的LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 可多次运行批量生成CT容器,但需要注意的是母鸡内存记得开点swap免得机器炸了开SWAP点我跳转
  • 每个容器创建之间有间隔等待60秒避免突发性能不足
  • 可自定义批量开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

开设完毕可执行cat ctlog查看信息,或在web端的NOTES查看

删除所有CT

  • 删除所有CT
  • 删除所有nat的端口映射
  • 重启网络
  • 删除log文件
shell
pct list | awk 'NR>1{print $1}' | xargs -I {} sh -c 'pct stop {}; pct destroy {}'\nrm -rf ct*\niptables -t nat -F\niptables -t filter -F\nservice networking restart\nsystemctl restart networking.service

开设纯IPV6地址的虚拟机

前提是宿主机给的是IPV6子网而不是单独一个IPV6地址,且宿主机未开启MAC地址校验

自动选择IPV6地址无需手动指定

  • 自动检测可用的IPV6区间,对应容器编号的V6地址绑定到容器上
  • 系统的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh

创建示例

shell
./buildct_onlyv6.sh CTID 密码 CPU核数 内存大小以MB计算 硬盘大小以GB计算 系统 存储盘
shell
./buildct_onlyv6.sh 152 oneclick123 1 1024 10 debian12 local

上述命令意义为开设一个纯IPV6地址的CT容器,CTID是152,用户名是root,密码是oneclick123,CPU是1核,内存是1024MB,硬盘是10G,系统是debian12,存储盘是local盘也就是系统盘

删除示例

shell
rm -rf ct*\npct stop 152 \npct destroy 152
',50),e=[o];function t(c,r,C,i,y,A){return a(),l("div",null,e)}const h=s(p,[["render",t]]);export{d as __pageData,h as default}; diff --git a/assets/guide_pve_precheck.md.0ca0ed12.js b/assets/guide_pve_precheck.md.c9d4960e.js similarity index 99% rename from assets/guide_pve_precheck.md.0ca0ed12.js rename to assets/guide_pve_precheck.md.c9d4960e.js index e3a19a0440..8eea896fc4 100644 --- a/assets/guide_pve_precheck.md.0ca0ed12.js +++ b/assets/guide_pve_precheck.md.c9d4960e.js @@ -1 +1 @@ -import{_ as s,v as a,b as p,R as l}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"系统和硬件配置要求","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_precheck.md","filePath":"guide/pve_precheck.md","lastUpdated":1691593150000}'),e={name:"guide/pve_precheck.md"},n=l('

系统和硬件配置要求

如果有未适配的商家或机器欢迎联系@spiritlhl_bot,有空会尝试支持一下

各种要求

建议debian在使用前尽量使用最新的稳定版本的系统

非debian11可使用 debian一键升级 来升级系统

本项目只适配Debian系统(非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装)

  • 系统要求:Debian 8+

TIP

建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版

  • 硬件要求:2核2G内存x86_64arm架构服务器硬盘至少20G
  • 可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)
  • 如果硬件或系统需求不满足,可使用LXD批量开LXC容器跳转

WARNING

内存开点swap免得机器炸了开SWAP点我跳转

开设虚拟内存(SWAP)

单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用

建议只开实际内存大小两倍大小的虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

检测环境

  • 本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本
  • 检测本机IPV6的网络配置情况(有无IPV6都可安装,只是查询一下罢了)
  • 检测硬件配置是否满足最低要求
  • 检测硬件环境是否可嵌套虚拟化KVM类型的服务器
  • 检测系统环境是否可嵌套虚拟化KVM类型的服务器
  • 不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用LXD

国际

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

国内

bash
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

如果你需要更新IPV6信息再查询,那么执行以下命令后再查询

bash
rm -rf /usr/local/bin/pve_ipv6*


',27),o=[n];function t(r,c,i,h,C,d){return a(),p("div",null,o)}const A=s(e,[["render",t]]);export{D as __pageData,A as default}; +import{_ as s,v as a,b as p,R as l}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"系统和硬件配置要求","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_precheck.md","filePath":"guide/pve_precheck.md","lastUpdated":1691741224000}'),e={name:"guide/pve_precheck.md"},n=l('

系统和硬件配置要求

如果有未适配的商家或机器欢迎联系@spiritlhl_bot,有空会尝试支持一下

各种要求

建议debian在使用前尽量使用最新的稳定版本的系统

非debian11可使用 debian一键升级 来升级系统

本项目只适配Debian系统(非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装)

  • 系统要求:Debian 8+

TIP

建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版

  • 硬件要求:2核2G内存x86_64arm架构服务器硬盘至少20G
  • 可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)
  • 如果硬件或系统需求不满足,可使用LXD批量开LXC容器跳转

WARNING

内存开点swap免得机器炸了开SWAP点我跳转

开设虚拟内存(SWAP)

单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用

建议只开实际内存大小两倍大小的虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

检测环境

  • 本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本
  • 检测本机IPV6的网络配置情况(有无IPV6都可安装,只是查询一下罢了)
  • 检测硬件配置是否满足最低要求
  • 检测硬件环境是否可嵌套虚拟化KVM类型的服务器
  • 检测系统环境是否可嵌套虚拟化KVM类型的服务器
  • 不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用LXD

国际

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

国内

bash
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

如果你需要更新IPV6信息再查询,那么执行以下命令后再查询

bash
rm -rf /usr/local/bin/pve_ipv6*


',27),o=[n];function t(r,c,i,h,C,d){return a(),p("div",null,o)}const A=s(e,[["render",t]]);export{D as __pageData,A as default}; diff --git a/assets/guide_pve_precheck.md.0ca0ed12.lean.js b/assets/guide_pve_precheck.md.c9d4960e.lean.js similarity index 99% rename from assets/guide_pve_precheck.md.0ca0ed12.lean.js rename to assets/guide_pve_precheck.md.c9d4960e.lean.js index e3a19a0440..8eea896fc4 100644 --- a/assets/guide_pve_precheck.md.0ca0ed12.lean.js +++ b/assets/guide_pve_precheck.md.c9d4960e.lean.js @@ -1 +1 @@ -import{_ as s,v as a,b as p,R as l}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"系统和硬件配置要求","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_precheck.md","filePath":"guide/pve_precheck.md","lastUpdated":1691593150000}'),e={name:"guide/pve_precheck.md"},n=l('

系统和硬件配置要求

如果有未适配的商家或机器欢迎联系@spiritlhl_bot,有空会尝试支持一下

各种要求

建议debian在使用前尽量使用最新的稳定版本的系统

非debian11可使用 debian一键升级 来升级系统

本项目只适配Debian系统(非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装)

  • 系统要求:Debian 8+

TIP

建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版

  • 硬件要求:2核2G内存x86_64arm架构服务器硬盘至少20G
  • 可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)
  • 如果硬件或系统需求不满足,可使用LXD批量开LXC容器跳转

WARNING

内存开点swap免得机器炸了开SWAP点我跳转

开设虚拟内存(SWAP)

单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用

建议只开实际内存大小两倍大小的虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

检测环境

  • 本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本
  • 检测本机IPV6的网络配置情况(有无IPV6都可安装,只是查询一下罢了)
  • 检测硬件配置是否满足最低要求
  • 检测硬件环境是否可嵌套虚拟化KVM类型的服务器
  • 检测系统环境是否可嵌套虚拟化KVM类型的服务器
  • 不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用LXD

国际

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

国内

bash
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

如果你需要更新IPV6信息再查询,那么执行以下命令后再查询

bash
rm -rf /usr/local/bin/pve_ipv6*


',27),o=[n];function t(r,c,i,h,C,d){return a(),p("div",null,o)}const A=s(e,[["render",t]]);export{D as __pageData,A as default}; +import{_ as s,v as a,b as p,R as l}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"系统和硬件配置要求","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_precheck.md","filePath":"guide/pve_precheck.md","lastUpdated":1691741224000}'),e={name:"guide/pve_precheck.md"},n=l('

系统和硬件配置要求

如果有未适配的商家或机器欢迎联系@spiritlhl_bot,有空会尝试支持一下

各种要求

建议debian在使用前尽量使用最新的稳定版本的系统

非debian11可使用 debian一键升级 来升级系统

本项目只适配Debian系统(非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装)

  • 系统要求:Debian 8+

TIP

建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版

  • 硬件要求:2核2G内存x86_64arm架构服务器硬盘至少20G
  • 可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)
  • 如果硬件或系统需求不满足,可使用LXD批量开LXC容器跳转

WARNING

内存开点swap免得机器炸了开SWAP点我跳转

开设虚拟内存(SWAP)

单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用

建议只开实际内存大小两倍大小的虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

检测环境

  • 本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本
  • 检测本机IPV6的网络配置情况(有无IPV6都可安装,只是查询一下罢了)
  • 检测硬件配置是否满足最低要求
  • 检测硬件环境是否可嵌套虚拟化KVM类型的服务器
  • 检测系统环境是否可嵌套虚拟化KVM类型的服务器
  • 不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用LXD

国际

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

国内

bash
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

如果你需要更新IPV6信息再查询,那么执行以下命令后再查询

bash
rm -rf /usr/local/bin/pve_ipv6*


',27),o=[n];function t(r,c,i,h,C,d){return a(),p("div",null,o)}const A=s(e,[["render",t]]);export{D as __pageData,A as default}; diff --git a/assets/guide_pve_qa.md.bbb24844.js b/assets/guide_pve_qa.md.77a33da0.js similarity index 98% rename from assets/guide_pve_qa.md.bbb24844.js rename to assets/guide_pve_qa.md.77a33da0.js index c119a7da10..4adb6946eb 100644 --- a/assets/guide_pve_qa.md.bbb24844.js +++ b/assets/guide_pve_qa.md.77a33da0.js @@ -1,4 +1,4 @@ -import{_ as a,v as e,b as s,R as r}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_qa.md","filePath":"guide/pve_qa.md","lastUpdated":1691593150000}'),t={name:"guide/pve_qa.md"},n=r(`

解惑

安装PVE成功但重启后失联

如果什么机器安装PVE成功后WEB可用,但重启失联,请安装成功PVE后,重启前执行以下命令再重启

bash
auto_interface=$(grep '^auto ' /etc/network/interfaces | grep -v '^auto lo' | awk '{print $2}' | head -n 1)
+import{_ as a,v as e,b as s,R as r}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_qa.md","filePath":"guide/pve_qa.md","lastUpdated":1691741224000}'),t={name:"guide/pve_qa.md"},n=r(`

解惑

安装PVE成功但重启后失联

如果什么机器安装PVE成功后WEB可用,但重启失联,请安装成功PVE后,重启前执行以下命令再重启

bash
auto_interface=$(grep '^auto ' /etc/network/interfaces | grep -v '^auto lo' | awk '{print $2}' | head -n 1)
 if ! grep -q "^post-up /sbin/ethtool" /etc/network/interfaces; then
     chattr -i /etc/network/interfaces
     echo "post-up /sbin/ethtool -K $auto_interface tx off rx off" >> /etc/network/interfaces
diff --git a/assets/guide_pve_qa.md.bbb24844.lean.js b/assets/guide_pve_qa.md.77a33da0.lean.js
similarity index 98%
rename from assets/guide_pve_qa.md.bbb24844.lean.js
rename to assets/guide_pve_qa.md.77a33da0.lean.js
index c119a7da10..4adb6946eb 100644
--- a/assets/guide_pve_qa.md.bbb24844.lean.js
+++ b/assets/guide_pve_qa.md.77a33da0.lean.js
@@ -1,4 +1,4 @@
-import{_ as a,v as e,b as s,R as r}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_qa.md","filePath":"guide/pve_qa.md","lastUpdated":1691593150000}'),t={name:"guide/pve_qa.md"},n=r(`

解惑

安装PVE成功但重启后失联

如果什么机器安装PVE成功后WEB可用,但重启失联,请安装成功PVE后,重启前执行以下命令再重启

bash
auto_interface=$(grep '^auto ' /etc/network/interfaces | grep -v '^auto lo' | awk '{print $2}' | head -n 1)
+import{_ as a,v as e,b as s,R as r}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve_qa.md","filePath":"guide/pve_qa.md","lastUpdated":1691741224000}'),t={name:"guide/pve_qa.md"},n=r(`

解惑

安装PVE成功但重启后失联

如果什么机器安装PVE成功后WEB可用,但重启失联,请安装成功PVE后,重启前执行以下命令再重启

bash
auto_interface=$(grep '^auto ' /etc/network/interfaces | grep -v '^auto lo' | awk '{print $2}' | head -n 1)
 if ! grep -q "^post-up /sbin/ethtool" /etc/network/interfaces; then
     chattr -i /etc/network/interfaces
     echo "post-up /sbin/ethtool -K $auto_interface tx off rx off" >> /etc/network/interfaces
diff --git a/assets/guide_pve_thanks.md.a10b6431.js b/assets/guide_pve_thanks.md.632f98a3.js
similarity index 96%
rename from assets/guide_pve_thanks.md.a10b6431.js
rename to assets/guide_pve_thanks.md.632f98a3.js
index 5d72cfb86b..2ba6b45276 100644
--- a/assets/guide_pve_thanks.md.a10b6431.js
+++ b/assets/guide_pve_thanks.md.632f98a3.js
@@ -1 +1 @@
-import{_ as r,v as e,b as t,R as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve_thanks.md","filePath":"guide/pve_thanks.md","lastUpdated":1691593150000}'),o={name:"guide/pve_thanks.md"},p=a('

致谢

https://forum.proxmox.com/

https://blog.ilolicon.com/archives/615

https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh

https://pve.proxmox.com/pve-docs/qm.1.html

https://down.idc.wiki/Image/realServer-Template/

https://mirrors.tuna.tsinghua.edu.cn/proxmox/

https://github.com/roacn/pve/blob/main/pve.sh

https://github.com/spiritLHLS/lxc

https://github.com/leitbogioro/Tools

https://github.com/jiangcuo/Proxmox-Arm64

感谢 @Ella-Alinda 提供的PVE指导

',12),s=[p];function n(h,l,i,m,c,b){return e(),t("div",null,s)}const d=r(o,[["render",n]]);export{f as __pageData,d as default}; +import{_ as r,v as e,b as t,R as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve_thanks.md","filePath":"guide/pve_thanks.md","lastUpdated":1691741224000}'),o={name:"guide/pve_thanks.md"},p=a('

致谢

https://forum.proxmox.com/

https://blog.ilolicon.com/archives/615

https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh

https://pve.proxmox.com/pve-docs/qm.1.html

https://down.idc.wiki/Image/realServer-Template/

https://mirrors.tuna.tsinghua.edu.cn/proxmox/

https://github.com/roacn/pve/blob/main/pve.sh

https://github.com/spiritLHLS/lxc

https://github.com/leitbogioro/Tools

https://github.com/jiangcuo/Proxmox-Arm64

感谢 @Ella-Alinda 提供的PVE指导

',12),s=[p];function n(h,l,i,m,c,b){return e(),t("div",null,s)}const d=r(o,[["render",n]]);export{f as __pageData,d as default}; diff --git a/assets/guide_pve_thanks.md.a10b6431.lean.js b/assets/guide_pve_thanks.md.632f98a3.lean.js similarity index 96% rename from assets/guide_pve_thanks.md.a10b6431.lean.js rename to assets/guide_pve_thanks.md.632f98a3.lean.js index 5d72cfb86b..2ba6b45276 100644 --- a/assets/guide_pve_thanks.md.a10b6431.lean.js +++ b/assets/guide_pve_thanks.md.632f98a3.lean.js @@ -1 +1 @@ -import{_ as r,v as e,b as t,R as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve_thanks.md","filePath":"guide/pve_thanks.md","lastUpdated":1691593150000}'),o={name:"guide/pve_thanks.md"},p=a('

致谢

https://forum.proxmox.com/

https://blog.ilolicon.com/archives/615

https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh

https://pve.proxmox.com/pve-docs/qm.1.html

https://down.idc.wiki/Image/realServer-Template/

https://mirrors.tuna.tsinghua.edu.cn/proxmox/

https://github.com/roacn/pve/blob/main/pve.sh

https://github.com/spiritLHLS/lxc

https://github.com/leitbogioro/Tools

https://github.com/jiangcuo/Proxmox-Arm64

感谢 @Ella-Alinda 提供的PVE指导

',12),s=[p];function n(h,l,i,m,c,b){return e(),t("div",null,s)}const d=r(o,[["render",n]]);export{f as __pageData,d as default}; +import{_ as r,v as e,b as t,R as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve_thanks.md","filePath":"guide/pve_thanks.md","lastUpdated":1691741224000}'),o={name:"guide/pve_thanks.md"},p=a('

致谢

https://forum.proxmox.com/

https://blog.ilolicon.com/archives/615

https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh

https://pve.proxmox.com/pve-docs/qm.1.html

https://down.idc.wiki/Image/realServer-Template/

https://mirrors.tuna.tsinghua.edu.cn/proxmox/

https://github.com/roacn/pve/blob/main/pve.sh

https://github.com/spiritLHLS/lxc

https://github.com/leitbogioro/Tools

https://github.com/jiangcuo/Proxmox-Arm64

感谢 @Ella-Alinda 提供的PVE指导

',12),s=[p];function n(h,l,i,m,c,b){return e(),t("div",null,s)}const d=r(o,[["render",n]]);export{f as __pageData,d as default}; diff --git a/assets/index.md.30e2fedd.js b/assets/index.md.1aa4089f.js similarity index 92% rename from assets/index.md.30e2fedd.js rename to assets/index.md.1aa4089f.js index e9ef5b61f1..5c0c628703 100644 --- a/assets/index.md.30e2fedd.js +++ b/assets/index.md.1aa4089f.js @@ -1 +1 @@ -import{_ as t,v as e,b as a}from"./chunks/framework.70afa331.js";const c=JSON.parse('{"title":"一键虚拟化项目","titleTemplate":"开源、易于使用的服务器虚拟化项目","description":"","frontmatter":{"layout":"home","title":"一键虚拟化项目","titleTemplate":"开源、易于使用的服务器虚拟化项目","hero":{"name":"一键虚拟化项目","text":"开源、易于使用的服务器虚拟化项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/guide/dashboard"}]},"features":[{"title":"一键使用","details":"支持一键脚本安装使用,轻松在X86_64和ARM架构的服务器上创建虚拟机/容器"},{"title":"基于主流系统开发","details":"基于 Debian、Ubuntu 的长期维护版本开发,如需使用请尽量保证宿主机系统与开发环境一致"},{"title":"自带内外网端口转发","details":"支持自动的内网端口转发,含TCP、UDP协议,无需人工管理"},{"title":"批量虚拟化","details":"支持使用 KVM、LXC、Docker 虚拟化批量开设容器/虚拟机"},{"title":"多系统支持","details":"开设出的容器/虚拟机已支持多系统,涵盖几乎所有主流系统"},{"title":"自限制滥用","details":"部分虚拟化开设的容器/虚拟机已屏蔽和装载限制,避免被用于滥用"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1691593150000}'),i={name:"index.md"};function s(l,n,d,r,o,p){return e(),a("div")}const _=t(i,[["render",s]]);export{c as __pageData,_ as default}; +import{_ as t,v as e,b as a}from"./chunks/framework.70afa331.js";const c=JSON.parse('{"title":"一键虚拟化项目","titleTemplate":"开源、易于使用的服务器虚拟化项目","description":"","frontmatter":{"layout":"home","title":"一键虚拟化项目","titleTemplate":"开源、易于使用的服务器虚拟化项目","hero":{"name":"一键虚拟化项目","text":"开源、易于使用的服务器虚拟化项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/guide/dashboard"}]},"features":[{"title":"一键使用","details":"支持一键脚本安装使用,轻松在X86_64和ARM架构的服务器上创建虚拟机/容器"},{"title":"基于主流系统开发","details":"基于 Debian、Ubuntu 的长期维护版本开发,如需使用请尽量保证宿主机系统与开发环境一致"},{"title":"自带内外网端口转发","details":"支持自动的内网端口转发,含TCP、UDP协议,无需人工管理"},{"title":"批量虚拟化","details":"支持使用 KVM、LXC、Docker 虚拟化批量开设容器/虚拟机"},{"title":"多系统支持","details":"开设出的容器/虚拟机已支持多系统,涵盖几乎所有主流系统"},{"title":"自限制滥用","details":"部分虚拟化开设的容器/虚拟机已屏蔽和装载限制,避免被用于滥用"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1691741224000}'),i={name:"index.md"};function s(l,n,d,r,o,p){return e(),a("div")}const _=t(i,[["render",s]]);export{c as __pageData,_ as default}; diff --git a/assets/index.md.30e2fedd.lean.js b/assets/index.md.1aa4089f.lean.js similarity index 92% rename from assets/index.md.30e2fedd.lean.js rename to assets/index.md.1aa4089f.lean.js index e9ef5b61f1..5c0c628703 100644 --- a/assets/index.md.30e2fedd.lean.js +++ b/assets/index.md.1aa4089f.lean.js @@ -1 +1 @@ -import{_ as t,v as e,b as a}from"./chunks/framework.70afa331.js";const c=JSON.parse('{"title":"一键虚拟化项目","titleTemplate":"开源、易于使用的服务器虚拟化项目","description":"","frontmatter":{"layout":"home","title":"一键虚拟化项目","titleTemplate":"开源、易于使用的服务器虚拟化项目","hero":{"name":"一键虚拟化项目","text":"开源、易于使用的服务器虚拟化项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/guide/dashboard"}]},"features":[{"title":"一键使用","details":"支持一键脚本安装使用,轻松在X86_64和ARM架构的服务器上创建虚拟机/容器"},{"title":"基于主流系统开发","details":"基于 Debian、Ubuntu 的长期维护版本开发,如需使用请尽量保证宿主机系统与开发环境一致"},{"title":"自带内外网端口转发","details":"支持自动的内网端口转发,含TCP、UDP协议,无需人工管理"},{"title":"批量虚拟化","details":"支持使用 KVM、LXC、Docker 虚拟化批量开设容器/虚拟机"},{"title":"多系统支持","details":"开设出的容器/虚拟机已支持多系统,涵盖几乎所有主流系统"},{"title":"自限制滥用","details":"部分虚拟化开设的容器/虚拟机已屏蔽和装载限制,避免被用于滥用"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1691593150000}'),i={name:"index.md"};function s(l,n,d,r,o,p){return e(),a("div")}const _=t(i,[["render",s]]);export{c as __pageData,_ as default}; +import{_ as t,v as e,b as a}from"./chunks/framework.70afa331.js";const c=JSON.parse('{"title":"一键虚拟化项目","titleTemplate":"开源、易于使用的服务器虚拟化项目","description":"","frontmatter":{"layout":"home","title":"一键虚拟化项目","titleTemplate":"开源、易于使用的服务器虚拟化项目","hero":{"name":"一键虚拟化项目","text":"开源、易于使用的服务器虚拟化项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/guide/dashboard"}]},"features":[{"title":"一键使用","details":"支持一键脚本安装使用,轻松在X86_64和ARM架构的服务器上创建虚拟机/容器"},{"title":"基于主流系统开发","details":"基于 Debian、Ubuntu 的长期维护版本开发,如需使用请尽量保证宿主机系统与开发环境一致"},{"title":"自带内外网端口转发","details":"支持自动的内网端口转发,含TCP、UDP协议,无需人工管理"},{"title":"批量虚拟化","details":"支持使用 KVM、LXC、Docker 虚拟化批量开设容器/虚拟机"},{"title":"多系统支持","details":"开设出的容器/虚拟机已支持多系统,涵盖几乎所有主流系统"},{"title":"自限制滥用","details":"部分虚拟化开设的容器/虚拟机已屏蔽和装载限制,避免被用于滥用"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1691741224000}'),i={name:"index.md"};function s(l,n,d,r,o,p){return e(),a("div")}const _=t(i,[["render",s]]);export{c as __pageData,_ as default}; diff --git a/case/case1.html b/case/case1.html index 8da06e29b3..6eff88821f 100644 --- a/case/case1.html +++ b/case/case1.html @@ -11,11 +11,11 @@ - + -
Skip to content
On this page

仓库

https://github.com/spiritLHLS/one-click-installation-script

Hits

所有脚本如需在国内服务器使用,请在链接前加上https://ghproxy.com/确保命令可以下载本仓库的shell脚本执行

目录

一键修复脚本

运行所有一键修复脚本前注意看说明,以及保证服务器无重要数据,运行后造成的一切后果作者不负任何责任,自行评判风险!

一键尝试修复apt源

  • 支持系统:Ubuntu 12+,Debian 6+
  • 修复apt下载包进程意外退出导致的源锁死
  • 修复apt源broken损坏
  • 修复apt源多进程占用锁死
  • 修复apt源公钥缺失
  • 修复替换系统可用的apt源列表,国内用阿里源,国外用官方源
  • 修复本机的Ubuntu系统是EOL非长期维护的版本(奇数或陈旧的偶数版本),将替换为Ubuntu官方的old-releases仓库以支持apt的使用
  • 修复只保证apt update不会报错,其他命令报错未修复
  • 如若修复后install还有问题,重启服务器解决问题
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/package.sh -o package.sh && chmod +x package.sh && bash package.sh

一键尝试修复系统时间

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 由于系统时间不准确都是未进行时区时间同步造成的,使用chronyd进行时区时间同步后应当解决了问题
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/modify_time.sh -o modify_time.sh && chmod +x modify_time.sh && bash modify_time.sh

一键尝试修复sudo警告

  • 一键尝试修复sudo: unable to resolve host xxx: Name or service not known警告(爆错)

不要在生产环境上使用该脚本,否则容易造成网络hosts配置错误,配置的host名字不在外网IP上反而在内网IP(127.0.0.1)上

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/check_sudo.sh -o check_sudo.sh && chmod +x check_sudo.sh && bash check_sudo.sh

一键修改系统自带的journal日志记录大小释放系统盘空间

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 1.自定义修改大小,单位为MB,一般500或者1000即可,有的系统日志默认给了5000甚至更多,不是做站啥的没必要
    • 请注意,修改journal目录大小会影响系统日志的记录,因此,在修改journal目录大小之前如果需要之前的日志,建议先备份系统日志到本地
  • 2.自定义修改设置系统日志保留日期时长,超过日期时长的日志将被清除
  • 3.默认修改日志只记录warning等级(无法自定义)
  • 4.以后日志的产生将受到日志文件大小,日志保留时间,日志保留等级的限制
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/resize_journal.sh -o resize_journal.sh && chmod +x resize_journal.sh && bash resize_journal.sh

一键尝试修复网络

该脚本轻易勿要使用,请确保运行时服务器无重要文件或程序,出现运行bug后续可能需要重装系统

一定要在screen中执行该脚本,否则可能导致修改过程中ssh断链接而修改失败卡住最终SSH无法连接!不在screen中执行后果自负!

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 尝试修复nameserver为google源或cloudflare源
  • 尝试修复为IP类型对应的网络优先级(默认IPV4类型,纯V6类型再替换为IPV6类型)
bash
curl -L https://cdn.spiritlhl.workers.dev/https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/network.sh -o network.sh && chmod +x network.sh && bash network.sh

如果是纯V6的也可以不使用上面脚本的nat64,使用warp添加V4网络

比如:https://github.com/fscarmen/warp

bash
wget -N https://raw.githubusercontent.com/fscarmen/warp/main/menu.sh && bash menu.sh [option] [lisence]

非纯V6的,带V4切换优先级到IPV4可用以下命令

bash
sudo sed -i 's/.*precedence ::ffff:0:0\/96.*/precedence ::ffff:0:0\/96  100/g' /etc/gai.conf && sudo systemctl restart networking

一键环境安装脚本

只推荐在新服务器上安装,环境不纯净不保证不出bug

运行所有一键环境安装脚本前注意看说明,以及保证服务器无重要数据,运行后造成的一切后果作者不负任何责任,自行评判风险!

一键安装jupyter环境

  • 本脚本尝试使用Miniconda3安装虚拟环境jupyter-env再进行jupyter和jupyterlab的安装,如若安装机器不纯净勿要轻易使用本脚本!
  • 本脚本为实验性脚本可能会有各种bug,勿要轻易尝试!
  • 验证已支持的系统:
    • Ubuntu 18/20/22 - 推荐,脚本自动挂起到后台
    • Debian 9/10/11 - 还行,需要手动挂起到后台,详看脚本运行安装完毕的后续提示
  • 可能支持的系统(未验证):centos 7+,Fedora,Almalinux 8.5+
  • 执行脚本,之前有用本脚本安装过则直接打印设置的登陆信息,没安装过则进行安装再打印信息,如果已安装但未启动则自动启动后再打印信息
  • 如果是初次安装无脑输入y回车即可,按照提示进行操作即可,安装完毕将在后台常驻运行
  • 安装完毕后,如果需要在lab中安装第三方库需要在lab中使用terminal并使用conda进行下载而不是pip3下载,这是需要注意的
  • 安装过程中有判断是否为中国IP,可选择是否使用中国镜像

原始用途是方便快捷的在按小时计费的超大型服务器上部署python环境进行科学计算,充分利用时间别浪费在构建环境上。

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/jupyter.sh -o jupyter.sh && chmod +x jupyter.sh && bash jupyter.sh

一键安装R语言环境

  • 安装前需使用Miniconda3安装虚拟环境jupyter-env,然后进行jupyter和jupyterlab的安装,再然后才能安装本内核
  • 简单的说,需要执行本仓库对应的jupyter安装脚本再运行本脚本安装R语言环境,会自动安装R环境内核和图形设备支持库
  • x11可能需要手动启动一下,执行sudo /usr/bin/Xorg
  • 可能支持的系统(未验证):centos 7+,Fedora,Almalinux 8.5+
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/R.sh -o R.sh && chmod +x R.sh && bash R.sh

一键安装rust环境

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 加载官方脚本安装,前置条件适配系统以及后置条件判断安装的版本
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/rust.sh -o rust.sh && chmod +x rust.sh && bash rust.sh

一键安装C环境

  • 一键安装C++环境
  • 支持系统:使用apt或者yum作为包管理器的系统
  • 如果未安装则安装,如果有安装则提示升级
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/cplusplus.sh -o cplusplus.sh && chmod +x cplusplus.sh && bash cplusplus.sh

一键安装vnstat环境

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 加载官方文件编译安装,前置条件适配系统以及后置条件判断安装的版本
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/vnstat.sh -o vnstat.sh && chmod +x vnstat.sh && bash vnstat.sh

一键升级低版本debian为debian11

  • 支持系统:debian 6+
  • 升级后需要重启系统加载内核,升级过程中需要选择的都无脑按回车即可
  • 升级是一个版本迭代一个版本,所以如果版本低,每执行一次升级一个版本,直至升级到debian11
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/todebian11.sh -o todebian11.sh && chmod +x todebian11.sh && bash todebian11.sh

一键升级低版本ubuntu为ubuntu22

  • 支持系统:Ubuntu 16+
  • 升级后需要重启系统加载内核,升级过程中需要选择的都无脑按回车即可
  • 升级是一个版本迭代一个版本,所以如果版本低,每执行一次升级一个版本,直至升级到ubuntu22
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/toubuntu22.sh -o toubuntu22.sh && chmod +x toubuntu22.sh && bash toubuntu22.sh

一键安装zipline平台

  • 应该支持的系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 暂时只在Ubuntu上验证无问题
  • 如若要设置反向代理绑定域名,安装前请保证原服务器未安装过nginx,如若已安装过nginx,请自行配置反向代理本机的3000端口
  • 默认一路回车是不启用反代不安装nginx的,自行选择,如需通过本脚本配置反代系统一定要未安装过nginx并在填写y或Y开启安装
  • zipline 平台功能: ShareX,自定义短链接,文件上传分享,多用户校验,高亮显示,阅后即焚,设置简单 (含pastebin)
  • 自动安装docker,docker-compose,如若已安装zipline在/root目录下,则自动更新
  • 反向代理如若已设置成功,还需要在面板设置中填写域名,绑定启用
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/zipline.sh -o zipline.sh && chmod +x zipline.sh && bash zipline.sh

如果需要删除0字节文件,打开/root/zipline文件夹,执行

docker-compose exec zipline yarn scripts:clear-zero-byte

按照提示操作

一键安装filebrowser平台

  • 端口设置为3030了,其他登陆信息详见提示
  • filebrowser平台支持下载上传文件到服务器,批量下载多个文件(自定义压缩格式),构建文件分享链接,设置分享时长
  • 如果本地有启用IPV6优先级可能绑定到V6去了,使用lsof -i:3030查看绑定情况,切换优先级后再安装就正常了
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/filebrowser.sh -o filebrowser.sh && chmod +x filebrowser.sh && bash filebrowser.sh

一键删除平台监控

  • 一键移除大多数云服务器监控
  • 涵盖阿里云、腾讯云、华为云、UCLOUD、甲骨文云、京东云
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/dlm.sh -o dlm.sh && chmod +x dlm.shh && bash dlm.sh

部分手动命令

一键开启root登陆并替换密码

bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

一键屏蔽邮件端口避免被恶意程序使用

bash
iptables -A INPUT -p tcp --dport 25 -j DROP
+    
Skip to content
On this page

仓库

https://github.com/spiritLHLS/one-click-installation-script

Hits

所有脚本如需在国内服务器使用,请在链接前加上https://ghproxy.com/确保命令可以下载本仓库的shell脚本执行

目录

一键修复脚本

运行所有一键修复脚本前注意看说明,以及保证服务器无重要数据,运行后造成的一切后果作者不负任何责任,自行评判风险!

一键尝试修复apt源

  • 支持系统:Ubuntu 12+,Debian 6+
  • 修复apt下载包进程意外退出导致的源锁死
  • 修复apt源broken损坏
  • 修复apt源多进程占用锁死
  • 修复apt源公钥缺失
  • 修复替换系统可用的apt源列表,国内用阿里源,国外用官方源
  • 修复本机的Ubuntu系统是EOL非长期维护的版本(奇数或陈旧的偶数版本),将替换为Ubuntu官方的old-releases仓库以支持apt的使用
  • 修复只保证apt update不会报错,其他命令报错未修复
  • 如若修复后install还有问题,重启服务器解决问题
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/package.sh -o package.sh && chmod +x package.sh && bash package.sh

一键尝试修复系统时间

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 由于系统时间不准确都是未进行时区时间同步造成的,使用chronyd进行时区时间同步后应当解决了问题
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/modify_time.sh -o modify_time.sh && chmod +x modify_time.sh && bash modify_time.sh

一键尝试修复sudo警告

  • 一键尝试修复sudo: unable to resolve host xxx: Name or service not known警告(爆错)

不要在生产环境上使用该脚本,否则容易造成网络hosts配置错误,配置的host名字不在外网IP上反而在内网IP(127.0.0.1)上

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/check_sudo.sh -o check_sudo.sh && chmod +x check_sudo.sh && bash check_sudo.sh

一键修改系统自带的journal日志记录大小释放系统盘空间

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 1.自定义修改大小,单位为MB,一般500或者1000即可,有的系统日志默认给了5000甚至更多,不是做站啥的没必要
    • 请注意,修改journal目录大小会影响系统日志的记录,因此,在修改journal目录大小之前如果需要之前的日志,建议先备份系统日志到本地
  • 2.自定义修改设置系统日志保留日期时长,超过日期时长的日志将被清除
  • 3.默认修改日志只记录warning等级(无法自定义)
  • 4.以后日志的产生将受到日志文件大小,日志保留时间,日志保留等级的限制
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/resize_journal.sh -o resize_journal.sh && chmod +x resize_journal.sh && bash resize_journal.sh

一键尝试修复网络

该脚本轻易勿要使用,请确保运行时服务器无重要文件或程序,出现运行bug后续可能需要重装系统

一定要在screen中执行该脚本,否则可能导致修改过程中ssh断链接而修改失败卡住最终SSH无法连接!不在screen中执行后果自负!

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 尝试修复nameserver为google源或cloudflare源
  • 尝试修复为IP类型对应的网络优先级(默认IPV4类型,纯V6类型再替换为IPV6类型)
bash
curl -L https://cdn.spiritlhl.workers.dev/https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/network.sh -o network.sh && chmod +x network.sh && bash network.sh

如果是纯V6的也可以不使用上面脚本的nat64,使用warp添加V4网络

比如:https://github.com/fscarmen/warp

bash
wget -N https://raw.githubusercontent.com/fscarmen/warp/main/menu.sh && bash menu.sh [option] [lisence]

非纯V6的,带V4切换优先级到IPV4可用以下命令

bash
sudo sed -i 's/.*precedence ::ffff:0:0\/96.*/precedence ::ffff:0:0\/96  100/g' /etc/gai.conf && sudo systemctl restart networking

一键环境安装脚本

只推荐在新服务器上安装,环境不纯净不保证不出bug

运行所有一键环境安装脚本前注意看说明,以及保证服务器无重要数据,运行后造成的一切后果作者不负任何责任,自行评判风险!

一键安装jupyter环境

  • 本脚本尝试使用Miniconda3安装虚拟环境jupyter-env再进行jupyter和jupyterlab的安装,如若安装机器不纯净勿要轻易使用本脚本!
  • 本脚本为实验性脚本可能会有各种bug,勿要轻易尝试!
  • 验证已支持的系统:
    • Ubuntu 18/20/22 - 推荐,脚本自动挂起到后台
    • Debian 9/10/11 - 还行,需要手动挂起到后台,详看脚本运行安装完毕的后续提示
  • 可能支持的系统(未验证):centos 7+,Fedora,Almalinux 8.5+
  • 执行脚本,之前有用本脚本安装过则直接打印设置的登陆信息,没安装过则进行安装再打印信息,如果已安装但未启动则自动启动后再打印信息
  • 如果是初次安装无脑输入y回车即可,按照提示进行操作即可,安装完毕将在后台常驻运行
  • 安装完毕后,如果需要在lab中安装第三方库需要在lab中使用terminal并使用conda进行下载而不是pip3下载,这是需要注意的
  • 安装过程中有判断是否为中国IP,可选择是否使用中国镜像

原始用途是方便快捷的在按小时计费的超大型服务器上部署python环境进行科学计算,充分利用时间别浪费在构建环境上。

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/jupyter.sh -o jupyter.sh && chmod +x jupyter.sh && bash jupyter.sh

一键安装R语言环境

  • 安装前需使用Miniconda3安装虚拟环境jupyter-env,然后进行jupyter和jupyterlab的安装,再然后才能安装本内核
  • 简单的说,需要执行本仓库对应的jupyter安装脚本再运行本脚本安装R语言环境,会自动安装R环境内核和图形设备支持库
  • x11可能需要手动启动一下,执行sudo /usr/bin/Xorg
  • 可能支持的系统(未验证):centos 7+,Fedora,Almalinux 8.5+
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/R.sh -o R.sh && chmod +x R.sh && bash R.sh

一键安装rust环境

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 加载官方脚本安装,前置条件适配系统以及后置条件判断安装的版本
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/rust.sh -o rust.sh && chmod +x rust.sh && bash rust.sh

一键安装C环境

  • 一键安装C++环境
  • 支持系统:使用apt或者yum作为包管理器的系统
  • 如果未安装则安装,如果有安装则提示升级
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/cplusplus.sh -o cplusplus.sh && chmod +x cplusplus.sh && bash cplusplus.sh

一键安装vnstat环境

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 加载官方文件编译安装,前置条件适配系统以及后置条件判断安装的版本
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/vnstat.sh -o vnstat.sh && chmod +x vnstat.sh && bash vnstat.sh

一键升级低版本debian为debian11

  • 支持系统:debian 6+
  • 升级后需要重启系统加载内核,升级过程中需要选择的都无脑按回车即可
  • 升级是一个版本迭代一个版本,所以如果版本低,每执行一次升级一个版本,直至升级到debian11
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/todebian11.sh -o todebian11.sh && chmod +x todebian11.sh && bash todebian11.sh

一键升级低版本ubuntu为ubuntu22

  • 支持系统:Ubuntu 16+
  • 升级后需要重启系统加载内核,升级过程中需要选择的都无脑按回车即可
  • 升级是一个版本迭代一个版本,所以如果版本低,每执行一次升级一个版本,直至升级到ubuntu22
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/toubuntu22.sh -o toubuntu22.sh && chmod +x toubuntu22.sh && bash toubuntu22.sh

一键安装zipline平台

  • 应该支持的系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 暂时只在Ubuntu上验证无问题
  • 如若要设置反向代理绑定域名,安装前请保证原服务器未安装过nginx,如若已安装过nginx,请自行配置反向代理本机的3000端口
  • 默认一路回车是不启用反代不安装nginx的,自行选择,如需通过本脚本配置反代系统一定要未安装过nginx并在填写y或Y开启安装
  • zipline 平台功能: ShareX,自定义短链接,文件上传分享,多用户校验,高亮显示,阅后即焚,设置简单 (含pastebin)
  • 自动安装docker,docker-compose,如若已安装zipline在/root目录下,则自动更新
  • 反向代理如若已设置成功,还需要在面板设置中填写域名,绑定启用
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/zipline.sh -o zipline.sh && chmod +x zipline.sh && bash zipline.sh

如果需要删除0字节文件,打开/root/zipline文件夹,执行

docker-compose exec zipline yarn scripts:clear-zero-byte

按照提示操作

一键安装filebrowser平台

  • 端口设置为3030了,其他登陆信息详见提示
  • filebrowser平台支持下载上传文件到服务器,批量下载多个文件(自定义压缩格式),构建文件分享链接,设置分享时长
  • 如果本地有启用IPV6优先级可能绑定到V6去了,使用lsof -i:3030查看绑定情况,切换优先级后再安装就正常了
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/filebrowser.sh -o filebrowser.sh && chmod +x filebrowser.sh && bash filebrowser.sh

一键删除平台监控

  • 一键移除大多数云服务器监控
  • 涵盖阿里云、腾讯云、华为云、UCLOUD、甲骨文云、京东云
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/dlm.sh -o dlm.sh && chmod +x dlm.shh && bash dlm.sh

部分手动命令

一键开启root登陆并替换密码

bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

一键屏蔽邮件端口避免被恶意程序使用

bash
iptables -A INPUT -p tcp --dport 25 -j DROP
 iptables -A OUTPUT -p tcp --dport 25 -j DROP
 /sbin/iptables-save

设置语言包

bash
sudo apt-get update
 sudo apt-get install language-pack-en-base
@@ -43,8 +43,8 @@
 cat .config/code-server/config.yaml

卸载需要

sudo systemctl stop code-server@root
 sudo systemctl disable code-server@root
 rm -rf ~/.cache/coder
-sudo apt remove coder -y
- +sudo apt remove coder -y
+ \ No newline at end of file diff --git a/case/case2.html b/case/case2.html index 16a49994fb..d7d3a983d7 100644 --- a/case/case2.html +++ b/case/case2.html @@ -11,12 +11,12 @@ - + -
Skip to content
On this page

仓库

https://github.com/spiritLHLS/ecs

Hits

融合怪测评脚本

支持系统:

Ubuntu 18+, Debian 8+, Centos 7+, Fedora 33+, Almalinux 8.5+, OracleLinux 8+, RockyLinux 8+, AstraLinux CE, Arch

半支持系统:

FreeBSD(前提已执行pkg install -y curl bash),Armbian

Armbian系统部分检测和测试暂不支持,部分会编码错误

FreeBSD系统的硬盘测试和CPU测试目前是半残的,有些东西显示有问题

FreeBSD系统的分享链接的预处理部分sed命令存在问题未删除部分无效内容

支持架构:

基本都支持,无论是本地服务器还是云端服务器

支持地域:

能连得上网都支持

部分服务器运行测试有各类bug一键修复后再测试

一键修复各种系统原生bug的仓库:

https://github.com/spiritLHLS/one-click-installation-script

如若还有系统bug请到上面仓库的issues反映,脚本原生BUG该仓库issues反映

融合怪命令

交互形式

bash
curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

bash
curl -L https://github.com/spiritLHLS/ecs/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

bash <(wget -qO- bash.spiritlhl.net/ecs)

无交互形式

bash
echo 1 | bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh)

bash
echo 1 | bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecs/raw/main/ecs.sh)

echo 1 | bash <(wget -qO- bash.spiritlhl.net/ecs)

IP质量检测

  • IP质量检测,含多家数据库查询,含黑名单查询
  • IPV4IPV6 检测,含ASN和地址查询
  • 含25端口的邮箱可达性检测,如果某个邮箱可达,则可搭建邮局
bash
bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/za/-/raw/main/qzcheck.sh)

bash
bash <(wget -qO- bash.spiritlhl.net/ecs-ipcheck)

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/ecs/main/qzcheck.sh)

融合怪说明

融合怪脚本最好在 /root 路径下执行,避免各种奇奇怪怪的问题

融合怪的执行结果保存在当前路径下的test_result.txt中,可先退出SSH登录后续再查看文件

融合怪的完整版和精简版运行完毕会自动上传结果到pastebin并回传分享链接,如果测一半想要退出,那么按Ctrl+C同时按下可终止测试,此时会自动退出删除残余文件

有时候想要测一些配置极其拉跨的机器时,推荐使用screen命令挂起执行选项1的融合怪,然后你可以关闭SSH连接,等待一段时间后使用cat test_result.txt查看运行的实时状况,这样可以避免IO或者CPU过于垃圾导致的测试过程中的SSH连接中断,就不会测一半啥都没了,假如screen中显示乱码,也没问题,结果是不带乱码的

最烂机器测试的例子(跑了47分钟一样测完):跳转

使用CDN加速已支持国内国外服务器测试,但国内受CDN连通性或国内机器带宽大小的限制加载可能会慢很多

融合怪测试说明以及部分测试结果的内容解释(初次使用推荐查看):

除了已标注的原创内容,其余所有分区均为借鉴并进行优化修改后的版本,与原始对应的脚本不一样

所有检测都有考虑过使用并行测试,并在部分环节使用了该技术,比正常的顺序执行优化了2~3分钟,属于是独有的,暂无哪家的测试有同类技术

系统基础信息测试融合了多家还有我自己修补的部分检测(systl、NAT类型检测,并发ASN检测等),应该是目前最全面最通用的了

CPU测试使用sysbench测试得分,不是yabs的gb4或gb5,前者只是简单的计算质数测试速度快,后者geekbench是综合测试系统算加权得分,不是同一种东西,别互相比较了,没有可比性

CPU测试单核得分在5000以上的可以算第一梯队,4000到5000分算第二梯队,每1000分算一档,自己看看自己在哪个档位吧

AMD的7950x单核满血性能得分在6500左右,AMD的5950x单核满血性能得分5700左右,Intel普通的CPU(E5之类的)在1000~800左右,低于500的单核CPU可以算是比较烂的了

IO测试收录了两种,来源于lemonbench的dd磁盘测试和yabs的fio磁盘测试,综合来看会比较好,前者可能误差偏大但测试速度快无硬盘大小限制,后者真实一点但测试速度慢有硬盘以及内存大小限制

流媒体测试收录了两种,一个是go编译的二进制文件和一个shell脚本版本,二者各有优劣,互相对比看即可

tiktok测试有superbench和lmc999两种版本,哪个失效了随时可能更新为其中一种版本,以最新的脚本为准

回程路由测试选用的GO编译的二进制版本和朋友PR的版本,本人做了优化适配多个IP列表以及融合部分查询

IP质量检测纯原创,如有bug或者更多数据库来源可在issues中提出,日常看IP2Location数据库的IP类型即可,其中的25端口邮箱可达,则可搭建邮局

融合怪的IP质量检测是简化过的,没有查询Cloudflare的威胁得分,个人原创区的IP质量检测才是完整版(或者仓库说明中列出的那个IP质量检测的命令也是完整版)

三网测速使用自写的测速脚本,尽量使用最新节点最新组件进行测速,且有备用go版本测速,做到自更新测速节点列表,自适应系统环境测速

其他第三方脚本归纳到了第三方脚本区,里面有同类型脚本不同作者的各种竞品脚本,如果融合怪不能使你满意或者有错误,可以看看那部分

原创脚本区是个人原创的部分,有事没事也可以看看,可能会更新某些偏门或者独到的脚本

VPS测试,VPS测速,VPS综合性能测试,VPS回程线路测试,VPS流媒体测试等所有测试融合的脚本,本脚本能融合的都融合了

融合怪功能

  • [x] 自由组合测试方向和单项测试以及合集收录第三方脚本
  • [x] 基础信息查询--感谢bench.shsuperbench.shyabslemonbench开源,本人整理修改优化,同原版均不一致
  • [x] CPU测试--感谢lemonbench开源,本人整理修改优化
  • [x] 内存测试--感谢lemonbench开源,本人整理修改优化
  • [x] 磁盘dd读写测试--感谢lemonbench开源,本人整理修改优化
  • [x] 硬盘fio读写测试--感谢yabs开源,本人整理修改优化
  • [x] 御三家流媒体解锁测试--感谢sjlleo的二进制文件,本人修改整理优化
  • [x] 常用流媒体解锁测试--感谢RegionRestrictionCheck开源,本人整理修改优化
  • [x] Tiktok解锁--感谢TikTokCheck开源,本人整理修改优化
  • [x] 三网回程以及路由延迟--感谢zhanghanyun/backtrace开源,本人整理修改
  • [x] 回程路由以及带宽类型检测(商宽/家宽/数据中心)--由fscarmen的PR以及本人的技术思路提供,本人后续修改优化
  • [x] IP质量与25端口检测(含IPV4和IPV6)--本脚本独创,感谢互联网提供的查询资源
  • [x] speedtest测速--使用自写ecsspeed仓库,自动更新测速服务器ID,一劳永逸解决老是要手动更新测速ID的问题
  • [ ] 端口检测(检测是否被墙)--由fscarmen的PR以及本人的技术思路提供 - 待修复

友链

测评频道

https://t.me/vps_reviews

自动更新测速服务器节点列表的网络基准测试脚本

https://github.com/spiritLHLS/ecsspeed

脚本概况

主界面:

图片

选项1融合怪完全体:

图片图片图片图片图片图片图片

选项6原创区:

图片

- +
Skip to content
On this page

仓库

https://github.com/spiritLHLS/ecs

Hits

融合怪测评脚本

支持系统:

Ubuntu 18+, Debian 8+, Centos 7+, Fedora 33+, Almalinux 8.5+, OracleLinux 8+, RockyLinux 8+, AstraLinux CE, Arch

半支持系统:

FreeBSD(前提已执行pkg install -y curl bash),Armbian

Armbian系统部分检测和测试暂不支持,部分会编码错误

FreeBSD系统的硬盘测试和CPU测试目前是半残的,有些东西显示有问题

FreeBSD系统的分享链接的预处理部分sed命令存在问题未删除部分无效内容

支持架构:

基本都支持,无论是本地服务器还是云端服务器

支持地域:

能连得上网都支持

部分服务器运行测试有各类bug一键修复后再测试

一键修复各种系统原生bug的仓库:

https://github.com/spiritLHLS/one-click-installation-script

如若还有系统bug请到上面仓库的issues反映,脚本原生BUG该仓库issues反映

融合怪命令

交互形式

bash
curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

bash
curl -L https://github.com/spiritLHLS/ecs/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

bash <(wget -qO- bash.spiritlhl.net/ecs)

无交互形式

bash
echo 1 | bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh)

bash
echo 1 | bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecs/raw/main/ecs.sh)

echo 1 | bash <(wget -qO- bash.spiritlhl.net/ecs)

IP质量检测

  • IP质量检测,含多家数据库查询,含黑名单查询
  • IPV4IPV6 检测,含ASN和地址查询
  • 含25端口的邮箱可达性检测,如果某个邮箱可达,则可搭建邮局
bash
bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/za/-/raw/main/qzcheck.sh)

bash
bash <(wget -qO- bash.spiritlhl.net/ecs-ipcheck)

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/ecs/main/qzcheck.sh)

融合怪说明

融合怪脚本最好在 /root 路径下执行,避免各种奇奇怪怪的问题

融合怪的执行结果保存在当前路径下的test_result.txt中,可先退出SSH登录后续再查看文件

融合怪的完整版和精简版运行完毕会自动上传结果到pastebin并回传分享链接,如果测一半想要退出,那么按Ctrl+C同时按下可终止测试,此时会自动退出删除残余文件

有时候想要测一些配置极其拉跨的机器时,推荐使用screen命令挂起执行选项1的融合怪,然后你可以关闭SSH连接,等待一段时间后使用cat test_result.txt查看运行的实时状况,这样可以避免IO或者CPU过于垃圾导致的测试过程中的SSH连接中断,就不会测一半啥都没了,假如screen中显示乱码,也没问题,结果是不带乱码的

最烂机器测试的例子(跑了47分钟一样测完):跳转

使用CDN加速已支持国内国外服务器测试,但国内受CDN连通性或国内机器带宽大小的限制加载可能会慢很多

融合怪测试说明以及部分测试结果的内容解释(初次使用推荐查看):

除了已标注的原创内容,其余所有分区均为借鉴并进行优化修改后的版本,与原始对应的脚本不一样

所有检测都有考虑过使用并行测试,并在部分环节使用了该技术,比正常的顺序执行优化了2~3分钟,属于是独有的,暂无哪家的测试有同类技术

系统基础信息测试融合了多家还有我自己修补的部分检测(systl、NAT类型检测,并发ASN检测等),应该是目前最全面最通用的了

CPU测试使用sysbench测试得分,不是yabs的gb4或gb5,前者只是简单的计算质数测试速度快,后者geekbench是综合测试系统算加权得分,不是同一种东西,别互相比较了,没有可比性

CPU测试单核得分在5000以上的可以算第一梯队,4000到5000分算第二梯队,每1000分算一档,自己看看自己在哪个档位吧

AMD的7950x单核满血性能得分在6500左右,AMD的5950x单核满血性能得分5700左右,Intel普通的CPU(E5之类的)在1000~800左右,低于500的单核CPU可以算是比较烂的了

IO测试收录了两种,来源于lemonbench的dd磁盘测试和yabs的fio磁盘测试,综合来看会比较好,前者可能误差偏大但测试速度快无硬盘大小限制,后者真实一点但测试速度慢有硬盘以及内存大小限制

流媒体测试收录了两种,一个是go编译的二进制文件和一个shell脚本版本,二者各有优劣,互相对比看即可

tiktok测试有superbench和lmc999两种版本,哪个失效了随时可能更新为其中一种版本,以最新的脚本为准

回程路由测试选用的GO编译的二进制版本和朋友PR的版本,本人做了优化适配多个IP列表以及融合部分查询

IP质量检测纯原创,如有bug或者更多数据库来源可在issues中提出,日常看IP2Location数据库的IP类型即可,其中的25端口邮箱可达,则可搭建邮局

融合怪的IP质量检测是简化过的,没有查询Cloudflare的威胁得分,个人原创区的IP质量检测才是完整版(或者仓库说明中列出的那个IP质量检测的命令也是完整版)

三网测速使用自写的测速脚本,尽量使用最新节点最新组件进行测速,且有备用go版本测速,做到自更新测速节点列表,自适应系统环境测速

其他第三方脚本归纳到了第三方脚本区,里面有同类型脚本不同作者的各种竞品脚本,如果融合怪不能使你满意或者有错误,可以看看那部分

原创脚本区是个人原创的部分,有事没事也可以看看,可能会更新某些偏门或者独到的脚本

VPS测试,VPS测速,VPS综合性能测试,VPS回程线路测试,VPS流媒体测试等所有测试融合的脚本,本脚本能融合的都融合了

融合怪功能

  • [x] 自由组合测试方向和单项测试以及合集收录第三方脚本
  • [x] 基础信息查询--感谢bench.shsuperbench.shyabslemonbench开源,本人整理修改优化,同原版均不一致
  • [x] CPU测试--感谢lemonbench开源,本人整理修改优化
  • [x] 内存测试--感谢lemonbench开源,本人整理修改优化
  • [x] 磁盘dd读写测试--感谢lemonbench开源,本人整理修改优化
  • [x] 硬盘fio读写测试--感谢yabs开源,本人整理修改优化
  • [x] 御三家流媒体解锁测试--感谢sjlleo的二进制文件,本人修改整理优化
  • [x] 常用流媒体解锁测试--感谢RegionRestrictionCheck开源,本人整理修改优化
  • [x] Tiktok解锁--感谢TikTokCheck开源,本人整理修改优化
  • [x] 三网回程以及路由延迟--感谢zhanghanyun/backtrace开源,本人整理修改
  • [x] 回程路由以及带宽类型检测(商宽/家宽/数据中心)--由fscarmen的PR以及本人的技术思路提供,本人后续修改优化
  • [x] IP质量与25端口检测(含IPV4和IPV6)--本脚本独创,感谢互联网提供的查询资源
  • [x] speedtest测速--使用自写ecsspeed仓库,自动更新测速服务器ID,一劳永逸解决老是要手动更新测速ID的问题
  • [ ] 端口检测(检测是否被墙)--由fscarmen的PR以及本人的技术思路提供 - 待修复

友链

测评频道

https://t.me/vps_reviews

自动更新测速服务器节点列表的网络基准测试脚本

https://github.com/spiritLHLS/ecsspeed

脚本概况

主界面:

图片

选项1融合怪完全体:

图片图片图片图片图片图片图片

选项6原创区:

图片

+ \ No newline at end of file diff --git a/case/case3.html b/case/case3.html index 7bc3ef191f..a4e1597a3b 100644 --- a/case/case3.html +++ b/case/case3.html @@ -11,12 +11,12 @@ - + -
Skip to content
On this page

仓库

https://github.com/spiritLHLS/ecsspeed

ecsspeed

自动更新测速服务器节点列表的网络基准测试脚本

Network benchmarking script that automatically updates the list of speed measurement server nodes

说明

所有组件以及数据均来源于平台或已有的开源项目,无非开源部分,放心食用

对应 speedtest.net 的自动更新测速服务器ID的测速脚本

日常推荐使用

bash <(wget -qO- bash.spiritlhl.net/ecs-net)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-net.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-net.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表大概每7天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

当官方CLI安装失败(如罕见的架构或者官方网站访问失败时)自动使用 speedtest-go 作为替代品测速

对应 speedtest.cn 的自动更新测速服务器ID的测速脚本

单线程测速

bash <(wget -qO- bash.spiritlhl.net/ecs-cn)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-cn.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-cn.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表每天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

自动更新测试服务器列表的三网延迟测试脚本

平均耗时10~15秒

bash <(wget -qO- bash.spiritlhl.net/ecs-ping)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-ping.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-ping.sh)

效果图

图片

功能

  • [x] 自动抓取 speedtest.cn 节点信息结合已有信息去重并更新列表数据
  • [x] 自动抓取 speedtest.net 节点信息结合已有信息去重并更新列表数据
  • [x] 对应 speedtest.net 的自动更新测速服务器列表的测速脚本
  • [x] 对应 speedtest.cn 的自动更新测速服务器列表的测速脚本
  • [x] 自动更新测试服务器列表的三网Ping值测试脚本

.cn数据

仓库:https://github.com/spiritLHLS/speedtest.cn-CN-ID

.net数据

仓库:https://github.com/spiritLHLS/speedtest.net-CN-ID

- +
Skip to content
On this page

仓库

https://github.com/spiritLHLS/ecsspeed

ecsspeed

自动更新测速服务器节点列表的网络基准测试脚本

Network benchmarking script that automatically updates the list of speed measurement server nodes

说明

所有组件以及数据均来源于平台或已有的开源项目,无非开源部分,放心食用

对应 speedtest.net 的自动更新测速服务器ID的测速脚本

日常推荐使用

bash <(wget -qO- bash.spiritlhl.net/ecs-net)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-net.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-net.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表大概每7天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

当官方CLI安装失败(如罕见的架构或者官方网站访问失败时)自动使用 speedtest-go 作为替代品测速

对应 speedtest.cn 的自动更新测速服务器ID的测速脚本

单线程测速

bash <(wget -qO- bash.spiritlhl.net/ecs-cn)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-cn.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-cn.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表每天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

自动更新测试服务器列表的三网延迟测试脚本

平均耗时10~15秒

bash <(wget -qO- bash.spiritlhl.net/ecs-ping)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-ping.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-ping.sh)

效果图

图片

功能

  • [x] 自动抓取 speedtest.cn 节点信息结合已有信息去重并更新列表数据
  • [x] 自动抓取 speedtest.net 节点信息结合已有信息去重并更新列表数据
  • [x] 对应 speedtest.net 的自动更新测速服务器列表的测速脚本
  • [x] 对应 speedtest.cn 的自动更新测速服务器列表的测速脚本
  • [x] 自动更新测试服务器列表的三网Ping值测试脚本

.cn数据

仓库:https://github.com/spiritLHLS/speedtest.cn-CN-ID

.net数据

仓库:https://github.com/spiritLHLS/speedtest.net-CN-ID

+ \ No newline at end of file diff --git a/case/case4.html b/case/case4.html index 17a053e59e..de3a1d9d3b 100644 --- a/case/case4.html +++ b/case/case4.html @@ -11,12 +11,12 @@ - + -
Skip to content
On this page

仓库

https://github.com/spiritLHLS/Oracle-server-keep-alive-script

Oracle-server-keep-alive-script

实际不止可以在甲骨文服务器上使用,也可以使用在任意ARM或X86_64架构的系统,用作资源占用

甲骨文服务器保活脚本

适配系统:已在Ubuntu 20+,Debian 10+, Centos 7+, Oracle linux 8+,AlmaLinux 8.5+

上述系统验证无问题,别的主流系统应该也没有问题

可选占用:CPU,内存,带宽

安装完毕后如果有问题请卸载脚本反馈问题(重复卸载也没问题)

所有资源(除了CPU)可选默认配置则动态占用,实时调整,避免服务器有别的任何资源已经超过限额了仍然再占用资源

为避免GitHub的CDN抽风加载不了新内容,所有新更新已使用Gitlab仓库

由于speedtest-go的release依赖于GitHub,所以请检查 www.githubstatus.com ,有问题时无法安装带宽占用

基础开发完毕,测试中,有问题请在issues中反馈

选项1安装,选项2卸载,选项3更新安装引导脚本,选项4退出脚本

安装过程中无脑回车则全部可选的占用都占用,不需要什么占用输入n再回车

如果选择带宽占用,会询问使用speedtest-go占用还是使用wget占用,按照提示进行选择即可

有询问是否需要带宽占用的参数自定义,这时候默认选项就是n,回车就使用默认配置,输入y再回车则需要按照提示自定义参数

curl -L https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh -o oalive.sh && chmod +x oalive.sh && bash oalive.sh

bash oalive.sh

bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh)

说明

  • 提供两种CPU占用模式:DD模拟占用和科学计算模式,用户可以自由选择,占用范围设置在15%至25%之间,更推荐DD模拟占用
  • DD模拟占用在守护进程中设置了CPU占用的最高限制
  • 默认情况下,CPU占用设置为25%最高值,计算方法是核数乘以12%,如果计算结果低于25%,则设置为该值;如果计算结果高于25%,则按照计算结果的比例进行设置。
  • 内存占用设置为占用总内存的20%,占用时间为300秒,休息时间为300秒。
  • 每300秒检测一次内存占用情况,并根据需要动态调整占用大小。如果内存占用已经大于20%,则不增加占用。
  • 在占用过程中,使用守护进程和开机自启服务,以确保占用任务持续且有效。
  • 默认选项的带宽占用每45分钟下载一次大小在1G至10G之间的文件,只进行下载而不保存。在下载过程中会占用硬盘空间,但在下载完成后会自动释放。
  • 默认选项的带宽占用动态调整实际下载的带宽/速率,限制每次下载的最长时长为6分钟。在每次下载之前,会测试最大可用带宽,并根据实时结果将下载速率设置为30%的带宽。
  • 带宽占用测试使用了speedtest-cli和speedtest-go两种工具,以防其中之一不可用时使用第二种工具,用户可以自定义设置带宽占用,此时详见设置提示。
  • 提供一键卸载所有占用服务的选项,卸载将删除所有脚本、服务、任务、守护进程和开机自启设置。
  • 提供一键检查更新的功能,更新范围仅限于脚本更新。请在更新后重新设置占用服务
  • 对所有进程执行增加唯一性检测,避免重复运行,使用PID文件进行判断。

如若不希望一键的,希望自定义设置时间的,请查看README_CRON.md自行设置定时任务

- +
Skip to content
On this page

仓库

https://github.com/spiritLHLS/Oracle-server-keep-alive-script

Oracle-server-keep-alive-script

实际不止可以在甲骨文服务器上使用,也可以使用在任意ARM或X86_64架构的系统,用作资源占用

甲骨文服务器保活脚本

适配系统:已在Ubuntu 20+,Debian 10+, Centos 7+, Oracle linux 8+,AlmaLinux 8.5+

上述系统验证无问题,别的主流系统应该也没有问题

可选占用:CPU,内存,带宽

安装完毕后如果有问题请卸载脚本反馈问题(重复卸载也没问题)

所有资源(除了CPU)可选默认配置则动态占用,实时调整,避免服务器有别的任何资源已经超过限额了仍然再占用资源

为避免GitHub的CDN抽风加载不了新内容,所有新更新已使用Gitlab仓库

由于speedtest-go的release依赖于GitHub,所以请检查 www.githubstatus.com ,有问题时无法安装带宽占用

基础开发完毕,测试中,有问题请在issues中反馈

选项1安装,选项2卸载,选项3更新安装引导脚本,选项4退出脚本

安装过程中无脑回车则全部可选的占用都占用,不需要什么占用输入n再回车

如果选择带宽占用,会询问使用speedtest-go占用还是使用wget占用,按照提示进行选择即可

有询问是否需要带宽占用的参数自定义,这时候默认选项就是n,回车就使用默认配置,输入y再回车则需要按照提示自定义参数

curl -L https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh -o oalive.sh && chmod +x oalive.sh && bash oalive.sh

bash oalive.sh

bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh)

说明

  • 提供两种CPU占用模式:DD模拟占用和科学计算模式,用户可以自由选择,占用范围设置在15%至25%之间,更推荐DD模拟占用
  • DD模拟占用在守护进程中设置了CPU占用的最高限制
  • 默认情况下,CPU占用设置为25%最高值,计算方法是核数乘以12%,如果计算结果低于25%,则设置为该值;如果计算结果高于25%,则按照计算结果的比例进行设置。
  • 内存占用设置为占用总内存的20%,占用时间为300秒,休息时间为300秒。
  • 每300秒检测一次内存占用情况,并根据需要动态调整占用大小。如果内存占用已经大于20%,则不增加占用。
  • 在占用过程中,使用守护进程和开机自启服务,以确保占用任务持续且有效。
  • 默认选项的带宽占用每45分钟下载一次大小在1G至10G之间的文件,只进行下载而不保存。在下载过程中会占用硬盘空间,但在下载完成后会自动释放。
  • 默认选项的带宽占用动态调整实际下载的带宽/速率,限制每次下载的最长时长为6分钟。在每次下载之前,会测试最大可用带宽,并根据实时结果将下载速率设置为30%的带宽。
  • 带宽占用测试使用了speedtest-cli和speedtest-go两种工具,以防其中之一不可用时使用第二种工具,用户可以自定义设置带宽占用,此时详见设置提示。
  • 提供一键卸载所有占用服务的选项,卸载将删除所有脚本、服务、任务、守护进程和开机自启设置。
  • 提供一键检查更新的功能,更新范围仅限于脚本更新。请在更新后重新设置占用服务
  • 对所有进程执行增加唯一性检测,避免重复运行,使用PID文件进行判断。

如若不希望一键的,希望自定义设置时间的,请查看README_CRON.md自行设置定时任务

+ \ No newline at end of file diff --git a/case/case5.html b/case/case5.html index 62a703fc9f..c13cbd9e91 100644 --- a/case/case5.html +++ b/case/case5.html @@ -11,12 +11,12 @@ - + -
Skip to content
On this page

仓库

https://github.com/spiritLHLS/convoypanel-scripts

convoypanel-scripts

One-click installation of convoy panel

Prerequisites for installation:

  • PVE is installed
  • System is debian 11
  • CPU at least 2 cores, hard disk at least 20G, memory at least 4G (memory covers swap)

I don't guarantee that this script is error-free, it's just for my own amusement.

curl -L https://github.com/spiritLHLS/convoypanel-scripts/raw/main/installconvoy.sh -o installconvoy.sh && chmod +x installconvoy.sh && bash installconvoy.sh

Thanks

Base on https://github.com/spiritLHLS/pve

Base on https://docs.convoypanel.com/guide/deployment/#installation

Base on https://github.com/ConvoyPanel/panel

- +
Skip to content
On this page

仓库

https://github.com/spiritLHLS/convoypanel-scripts

convoypanel-scripts

One-click installation of convoy panel

Prerequisites for installation:

  • PVE is installed
  • System is debian 11
  • CPU at least 2 cores, hard disk at least 20G, memory at least 4G (memory covers swap)

I don't guarantee that this script is error-free, it's just for my own amusement.

curl -L https://github.com/spiritLHLS/convoypanel-scripts/raw/main/installconvoy.sh -o installconvoy.sh && chmod +x installconvoy.sh && bash installconvoy.sh

Thanks

Base on https://github.com/spiritLHLS/pve

Base on https://docs.convoypanel.com/guide/deployment/#installation

Base on https://github.com/ConvoyPanel/panel

+ \ No newline at end of file diff --git a/case/index.html b/case/index.html index 205d1b5bb1..960481bf8a 100644 --- a/case/index.html +++ b/case/index.html @@ -11,12 +11,12 @@ - + -
Skip to content

Linux相关项目

与Linux相关的一些一键脚本项目

- +
Skip to content

Linux相关项目

与Linux相关的一些一键脚本项目

+ \ No newline at end of file diff --git a/developer/index.html b/developer/index.html index b360d7a4fe..c96101fe87 100644 --- a/developer/index.html +++ b/developer/index.html @@ -11,12 +11,12 @@ - + - - + + \ No newline at end of file diff --git a/developer/l10n.html b/developer/l10n.html index 2cde536ea1..ad038199d4 100644 --- a/developer/l10n.html +++ b/developer/l10n.html @@ -11,12 +11,12 @@ - + -
Skip to content
On this page

你可以在开发新功能时遵循以下步骤来支持本地化

介绍

  1. 你可以直接使用 /resource/l10n/zh-CN.toml 中已有的文本配置来替换新功能中的文本
  2. 如果新功能中有新增文本,请参考 zh-CN.toml 的配置文本,将新文本拉取到 zh-CN.toml 等其他语言的配置文件中,并添加翻译

新本地化文本的添加

  1. /resource/l10n/ 中添加新的语言文本配置
  2. 在新的语言文本配置中拉取其他语言已有的文本配置
  3. 为新的语言文本配置添加翻译
- +
Skip to content
On this page

你可以在开发新功能时遵循以下步骤来支持本地化

介绍

  1. 你可以直接使用 /resource/l10n/zh-CN.toml 中已有的文本配置来替换新功能中的文本
  2. 如果新功能中有新增文本,请参考 zh-CN.toml 的配置文本,将新文本拉取到 zh-CN.toml 等其他语言的配置文件中,并添加翻译

新本地化文本的添加

  1. /resource/l10n/ 中添加新的语言文本配置
  2. 在新的语言文本配置中拉取其他语言已有的文本配置
  3. 为新的语言文本配置添加翻译
+ \ No newline at end of file diff --git a/en_US/developer/index.html b/en_US/developer/index.html index 3eb34bd7e7..e6ca20a6c1 100644 --- a/en_US/developer/index.html +++ b/en_US/developer/index.html @@ -11,12 +11,12 @@ - + - + \ No newline at end of file diff --git a/en_US/developer/l10n.html b/en_US/developer/l10n.html index 91a60c2d1d..6a3230e000 100644 --- a/en_US/developer/l10n.html +++ b/en_US/developer/l10n.html @@ -11,12 +11,12 @@ - + -
Skip to content
On this page

You can follow these steps to support localization when developing new features

Introduction

  1. You can directly use the text configuration already available in /resource/l10n/en-US.toml to replace the text in the new feature.
  2. If there is new text in the new feature, please refer to the configuration text in en-US.toml, pull the new text into the configuration files of other languages such as en-US.toml, and add translations.

Adding a new localized text file

  1. Add a new language text configuration in /resource/l10n/.
  2. Pull existing text configurations from other languages in the new language text configuration.
  3. Add translations for the new language text configuration.
- +
Skip to content
On this page

You can follow these steps to support localization when developing new features

Introduction

  1. You can directly use the text configuration already available in /resource/l10n/en-US.toml to replace the text in the new feature.
  2. If there is new text in the new feature, please refer to the configuration text in en-US.toml, pull the new text into the configuration files of other languages such as en-US.toml, and add translations.

Adding a new localized text file

  1. Add a new language text configuration in /resource/l10n/.
  2. Pull existing text configurations from other languages in the new language text configuration.
  3. Add translations for the new language text configuration.
+ \ No newline at end of file diff --git a/en_US/guide/dashboard.html b/en_US/guide/dashboard.html index 96a203a3e1..ad02211c70 100644 --- a/en_US/guide/dashboard.html +++ b/en_US/guide/dashboard.html @@ -11,12 +11,12 @@ - + -
Skip to content
On this page

准备工作

需要虚拟化出服务器,你需要:

  1. 一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速

TIP

如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速

  1. 本地可以稳定连接SSH,如果不能稳定连接,请使用screen命令创建窗口后,在窗口内执行命令

TIP

不会用screen命令的,自行查找相关教程学习

  1. 确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明

本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净

WARNING

PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统

项目仓库

欢迎Star和Fork

PVE

可开设KVM虚拟化的虚拟机、LXC虚拟化的容器

https://github.com/spiritLHLS/pve

Hits

LXD

可开设LXC虚拟化的容器

https://github.com/spiritLHLS/lxd

Hits

Docker

可开设Docker虚拟化的容器

https://github.com/spiritLHLS/docker

Hits



- +
Skip to content
On this page

准备工作

需要虚拟化出服务器,你需要:

  1. 一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速

TIP

如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速

  1. 本地可以稳定连接SSH,如果不能稳定连接,请使用screen命令创建窗口后,在窗口内执行命令

TIP

不会用screen命令的,自行查找相关教程学习

  1. 确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明

本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净

WARNING

PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统

项目仓库

欢迎Star和Fork

PVE

可开设KVM虚拟化的虚拟机、LXC虚拟化的容器

https://github.com/spiritLHLS/pve

Hits

LXD

可开设LXC虚拟化的容器

https://github.com/spiritLHLS/lxd

Hits

Docker

可开设Docker虚拟化的容器

https://github.com/spiritLHLS/docker

Hits



+ \ No newline at end of file diff --git a/en_US/guide/dashboardq.html b/en_US/guide/dashboardq.html index cdf099c62a..495a1cf955 100644 --- a/en_US/guide/dashboardq.html +++ b/en_US/guide/dashboardq.html @@ -11,12 +11,12 @@ - + - - + + \ No newline at end of file diff --git a/en_US/guide/docker_build.html b/en_US/guide/docker_build.html index 35478658a9..a81dc95ad5 100644 --- a/en_US/guide/docker_build.html +++ b/en_US/guide/docker_build.html @@ -11,16 +11,16 @@ - + -
Skip to content
On this page

前言

两种开设方式

单独开设

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

运行

./onedocker.sh name cpu memory password sshport startport endport system

目前system仅支持选择alpine或debian,默认是debian

示例

  • 以下为开设的示例容器的信息:
    容器名字 - test SSH登录的用户名 - root SSH登录的密码 - 123456 CPU核数 - 1
    内存大小 - 512MB SSH端口 - 25000 内外网映射端口一致的区间 - 34975到35000 系统 - debian
shell
./onedocker.sh test 1 512 123456 25000 34975 35000 debian

删除示例

shell
docker rm -f test
+    
Skip to content
On this page

前言

两种开设方式

单独开设

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

运行

./onedocker.sh name cpu memory password sshport startport endport system

目前system仅支持选择alpine或debian,默认是debian

示例

  • 以下为开设的示例容器的信息:
    容器名字 - test SSH登录的用户名 - root SSH登录的密码 - 123456 CPU核数 - 1
    内存大小 - 512MB SSH端口 - 25000 内外网映射端口一致的区间 - 34975到35000 系统 - debian
shell
./onedocker.sh test 1 512 123456 25000 34975 35000 debian

删除示例

shell
docker rm -f test
 rm -rf test
 ls

进入示例

shell
docker exec -it test /bin/bash

要退出容器就执行exit退出。

查询信息

shell
cat 容器名字

输出格式

容器名字 SSH端口 登陆的root密码 核数 内存 外网端口起 外网端口止

批量开设

  • 批量多次运行继承配置生成
  • 生成多个时为避免SSH连接中断建议在screen中执行

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/dockers.sh -o dockers.sh && chmod +x dockers.sh && bash dockers.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

查询批量开设的信息

shell
cat dclog

输出格式

容器名字 SSH端口 登陆的root密码 核数 内存 外网端口起 外网端口止

一行一个容器对应的信息

卸载所有docker容器和镜像

shell
docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)
 rm -rf dclog
-ls
- +ls
+ \ No newline at end of file diff --git a/en_US/guide/docker_custom.html b/en_US/guide/docker_custom.html new file mode 100644 index 0000000000..df712bc069 --- /dev/null +++ b/en_US/guide/docker_custom.html @@ -0,0 +1,22 @@ + + + + + + One Click Virtualization | One Click Virtualization + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/en_US/guide/docker_install.html b/en_US/guide/docker_install.html index 01ee564f6e..3fe301cdf9 100644 --- a/en_US/guide/docker_install.html +++ b/en_US/guide/docker_install.html @@ -11,12 +11,12 @@ - + -
Skip to content
On this page

环境预设

  • 检测环境
  • 安装docker
  • 下载预制脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
- +
Skip to content
On this page

环境预设

  • 检测环境
  • 安装docker
  • 下载预制脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
+ \ No newline at end of file diff --git a/en_US/guide/docker_precheck.html b/en_US/guide/docker_precheck.html index 85c64919d2..fd5bfcd314 100644 --- a/en_US/guide/docker_precheck.html +++ b/en_US/guide/docker_precheck.html @@ -11,12 +11,12 @@ - + -
Skip to content
On this page

前言

项目特点

通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)

默认使用debian系统,每个容器自带1个外网ssh端口,25个内外网一致端口

默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker

由于只是在宿主机进行了CPU和内存的限制未在容器内使用cgroup驱动,所以在容器内使用服务器测试脚本检测容器的可用资源是无效的,显示的会是宿主机的资源

由于大部分云服务器xfs文件系统不启用pquota选项,所以默认共享宿主机硬盘,无法限制每个容器的磁盘大小

配置要求

系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行

推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致母鸡卡死 跳转

PS: 如果硬件资源只是好了一点,需要限制更多东西并需要配置IPV6独立地址和限制硬盘大小,可使用LXD批量开LXC虚拟化的容器 跳转

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

- +
Skip to content
On this page

前言

项目特点

通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)

默认使用debian系统,每个容器自带1个外网ssh端口,25个内外网一致端口

默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker

由于只是在宿主机进行了CPU和内存的限制未在容器内使用cgroup驱动,所以在容器内使用服务器测试脚本检测容器的可用资源是无效的,显示的会是宿主机的资源

由于大部分云服务器xfs文件系统不启用pquota选项,所以默认共享宿主机硬盘,无法限制每个容器的磁盘大小

配置要求

系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行

推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致母鸡卡死 跳转

PS: 如果硬件资源只是好了一点,需要限制更多东西并需要配置IPV6独立地址和限制硬盘大小,可使用LXD批量开LXC虚拟化的容器 跳转

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

+ \ No newline at end of file diff --git a/en_US/guide/docker_qa.html b/en_US/guide/docker_qa.html index 7692b59798..1bcab67357 100644 --- a/en_US/guide/docker_qa.html +++ b/en_US/guide/docker_qa.html @@ -11,12 +11,12 @@ - + - - + + \ No newline at end of file diff --git a/en_US/guide/docker_thanks.html b/en_US/guide/docker_thanks.html index 93717a9334..674f55bccc 100644 --- a/en_US/guide/docker_thanks.html +++ b/en_US/guide/docker_thanks.html @@ -11,12 +11,12 @@ - + - - + + \ No newline at end of file diff --git a/en_US/guide/lxd_custom.html b/en_US/guide/lxd_custom.html new file mode 100644 index 0000000000..909b9dc5a5 --- /dev/null +++ b/en_US/guide/lxd_custom.html @@ -0,0 +1,22 @@ + + + + + + One Click Virtualization | One Click Virtualization + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/en_US/guide/lxd_extra_config.html b/en_US/guide/lxd_extra_config.html index 1691b06337..2736926439 100644 --- a/en_US/guide/lxd_extra_config.html +++ b/en_US/guide/lxd_extra_config.html @@ -11,11 +11,11 @@ - + -
Skip to content
On this page

其他自定义配置

TIP

以下的配置安装会加重母鸡的负担,非必要不要安装

TIP

如果是个人使用,可忽略防滥用部分脚本的安装

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于母鸡有给IPV6子网且是/64的,且母鸡绑定了子网的第一个IP母鸡的IPV6地址或IPV6的gateway
  • 自动为LXD创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

自动为容器配置IPV6映射地址

bash
bash build_ipv6_network.sh 容器名称

映射完毕会打印信息

示例(给test容器自动配置IPV6地址,配置完成会写入一个test_v6的文件信息)

bash
bash build_ipv6_network.sh test

删除所有IPV6已映射的规则

bash
ip6tables -t nat -F PREROUTING
+    
Skip to content
On this page

其他自定义配置

TIP

以下的配置安装会加重母鸡的负担,非必要不要安装

TIP

如果是个人使用,可忽略防滥用部分脚本的安装

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于母鸡有给IPV6子网且是/64的,且母鸡绑定了子网的第一个IP母鸡的IPV6地址或IPV6的gateway
  • 自动为LXD创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

自动为容器配置IPV6映射地址

bash
bash build_ipv6_network.sh 容器名称

映射完毕会打印信息

示例(给test容器自动配置IPV6地址,配置完成会写入一个test_v6的文件信息)

bash
bash build_ipv6_network.sh test

删除所有IPV6已映射的规则

bash
ip6tables -t nat -F PREROUTING
 ip6tables-legacy -t nat -F PREROUTING
 ip6tables-save > /etc/iptables/rules.v6
 netfilter-persistent save
@@ -26,8 +26,8 @@
 systemctl daemon-reload
 rm /usr/local/bin/add-ipv6.sh

屏蔽容易被滥用的端口的出入流量以屏蔽端口和屏蔽滥用工具包

  • (非必须,该脚本仅仅是为了防止容器滥用方便,不装的也没问题)
  • 事前预防

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/rules.sh -o rules.sh && chmod +x rules.sh && bash rules.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/rules.sh -o rules.sh && chmod +x rules.sh && bash rules.sh

使用screen配置监控屏蔽某些进程的执行遇到某些进程的出现直接关闭容器

  • 如需停止监控可使用screen命令停止lxc_moniter这个名字的窗口并删除
  • (非必须,该脚本仅仅是为了防止容器滥用方便,不装的也没问题)
  • 事后停机

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_monitor.sh -o build_monitor.sh && chmod +x build_monitor.sh && bash build_monitor.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_monitor.sh -o build_monitor.sh && chmod +x build_monitor.sh && bash build_monitor.sh

一键安装开lxd母鸡所需要的带vnstat环境的常用预配置环境

  • (非必须,该脚本仅仅是为了站点对接监控方便,不装的也没问题)

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/backend.sh -o backend.sh && chmod +x backend.sh && bash backend.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/backend.sh -o backend.sh && chmod +x backend.sh && bash backend.sh

一键安装母鸡可视化操作的面板

  • (非必须,该面板只是为了方便可视化操作,没有也没问题)
  • 原作者仓库:跳转
shell
lxc config set core.https_address [::]
 lxc config set core.trust_password some-secret-string
-snap install lxdmosaic

安装完毕后打开母鸡IP地址,按照提示设置admin的密码,其他一路默认就能使用面板了

- +snap install lxdmosaic

安装完毕后打开母鸡IP地址,按照提示设置admin的密码,其他一路默认就能使用面板了

+ \ No newline at end of file diff --git a/en_US/guide/lxd_install.html b/en_US/guide/lxd_install.html index 130a97062f..e527887a59 100644 --- a/en_US/guide/lxd_install.html +++ b/en_US/guide/lxd_install.html @@ -11,17 +11,17 @@ - + -
Skip to content
On this page

LXD主体安装

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用后面的一键安装也行

关闭防火墙

bash
apt update
+    
Skip to content
On this page

LXD主体安装

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用后面的一键安装也行

关闭防火墙

bash
apt update
 apt install curl wget sudo dos2unix ufw jq -y
 ufw disable

开设虚拟内存SWAP

内存看你开多少小鸡,这里如果要开8个,换算需要2G内存,实际内存如果是512MB内存,还需要开1.5G,保守点开2G虚拟内存即可

执行下面命令,输入1,再输入2048,代表开2G虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

安装LXD

实际swap开的虚拟内存应该是实际内存的2倍,也就是开1G是合理的,上面我描述的情况属于超开了

apt install snapd -y
 snap install lxd
 /snap/bin/lxd init

如果上面的命令中出现下面的错误

(snap "lxd" assumes unsupported features: snapd2.39 (try to update snapd and refresh the core snap))

使用命令修补后再进行lxd的安装

snap install core

如果无异常,上面三行命令执行结果如下

图片

一般的选项回车默认即可

选择配置物理盘大小(提示默认最小1GB那个选项),一般我填空闲磁盘大小减去内存大小后乘以0.95并向下取整,这里我填了10GB

提示带auto的更新image的选项记得选no,避免更新占用系统

测试lxc有没有软连接上

lxc -h

如果报错则执行以下命令软连接lxc命令

bash
! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
-export PATH=$PATH:/snap/bin

连接后再测试lxc命令是否有报错找不到

一键安装

WARNING

如果是全新的服务器,务必保证apt update和apt install curl都无问题再执行本脚本

TIP

且自开机起最好等待5分钟后再执行以下命令,避免系统默认设置中就执行了本脚本导致apt源卡死

  • 环境要求:Ubuntu 18+(推荐),Debian 8+(仅限x86_64架构)

如果是Debian系的宿主机,务必在screen中执行本脚本,避免长期运行时SSH中断导致ZFS编译安装失败

这里的虚拟内存是说要开的SWAP大小,存储池则是你所有要开的小鸡占的盘的大小的总和

环境安装过程中可能需要重启服务器以加载含zfs的内核,然后再次执行安装命令,一切以运行后命令行的提示为准

如果第二次执行安装命令仍提示重启系统加载内核,那么意味着内核在上一次加载中失败了,最好重装宿主机系统为ubuntu系解决这个问题

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

例子:

如果系统盘除去已占用空间还有18G硬盘空余,想开2G虚拟内存(2048MB的SWAP),15G的存储池,按照命令行的提示则依次输入204815

- +export PATH=$PATH:/snap/bin

连接后再测试lxc命令是否有报错找不到

一键安装

WARNING

如果是全新的服务器,务必保证apt update和apt install curl都无问题再执行本脚本

TIP

且自开机起最好等待5分钟后再执行以下命令,避免系统默认设置中就执行了本脚本导致apt源卡死

  • 环境要求:Ubuntu 18+(推荐),Debian 8+(仅限x86_64架构)

如果是Debian系的宿主机,务必在screen中执行本脚本,避免长期运行时SSH中断导致ZFS编译安装失败

这里的虚拟内存是说要开的SWAP大小,存储池则是你所有要开的小鸡占的盘的大小的总和

环境安装过程中可能需要重启服务器以加载含zfs的内核,然后再次执行安装命令,一切以运行后命令行的提示为准

如果脚本提示重启系统后需要再次执行脚本,第二次执行安装脚本仍提示重启系统加载内核,那么意味着内核在上一次加载中失败了,最好重装宿主机系统为ubuntu系解决这个问题

每次执行脚本都需要输入一次初始化的配置,所以遇到脚本提示需重启系统再次执行,那么就得再次输入初始化的配置

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

初始化配置的例子:

如果系统盘除去已占用空间还有18G硬盘空余,想开2G虚拟内存(2048MB的SWAP),15G的存储池,按照命令行的提示则依次输入204815

+ \ No newline at end of file diff --git a/en_US/guide/lxd_lxc.html b/en_US/guide/lxd_lxc.html index d8cfdbbd58..c44844f134 100644 --- a/en_US/guide/lxd_lxc.html +++ b/en_US/guide/lxd_lxc.html @@ -11,11 +11,11 @@ - + -
Skip to content
On this page

LXC虚拟化

单独生成一个NAT服务器

  • 只生成一个NAT服务器,可自定义限制所有内容

下载开机脚本是非必须的,如果你使用过一键安装LXD的命令,自动已下载对应的开机脚本,不需要重复下载该脚本

国际

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

国内

shell
curl -L https://ghproxy.com/https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

使用方法

./buildone.sh 小鸡名称 内存大小 硬盘大小 SSH端口 外网起端口 外网止端口 下载速度 上传速度 是否启用IPV6(Y or N) 系统(留空则为debian11)

内存大小以MB计算,硬盘大小以GB计算,下载速度上传速度以Mbit计算,是否启用IPV6不一定要填Y或者N,没有这个参数也行,留空默认不开启IPV6

如果外网起端口外网止端口都设置为0则不做区间外网端口映射了,只映射基础的SSH端口,注意不能为空,不进行映射需要设置为0

支持自定义小鸡的系统,不填写留空时默认使用debian11,注意传入参数为系统名字+版本号,如:

  • debian10,debian11,debian12
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,centos9 (实际开设出来都是Stream版本)
  • alpine3.15,alpine3.16,alpine3.17,alpine3.18
  • 注意都是小写字母+数字的组合,自行尝试,如果搜索无该系统则会自动退出脚本
  • 版本号可以带英文小数点,为了适配alpine的版本号已支持
  • 注意部分系统可能因为未加载cgroup,所以在容器内测试系统资源会显示的宿主机的系统资源,实际是有约束的,类同Docker

TIP

版本号中已结束长期维护的一般不再有官方镜像了,暂时未找到历史镜像的存档地址,如果有找到欢迎留言我会添加支持

示例

./buildone.sh test 256 2 20001 20002 20025 500 500 N
  • 以下为开设的示例小鸡的信息:
`小鸡名字` - test
+    
Skip to content
On this page

LXC虚拟化

单独生成一个NAT服务器

  • 只生成一个NAT服务器,可自定义限制所有内容

下载开机脚本是非必须的,如果你使用过一键安装LXD的命令,自动已下载对应的开机脚本,不需要重复下载该脚本

国际

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

国内

shell
curl -L https://ghproxy.com/https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

使用方法

./buildone.sh 小鸡名称 内存大小 硬盘大小 SSH端口 外网起端口 外网止端口 下载速度 上传速度 是否启用IPV6(Y or N) 系统(留空则为debian11)

内存大小以MB计算,硬盘大小以GB计算,下载速度上传速度以Mbit计算,是否启用IPV6不一定要填Y或者N,没有这个参数也行,留空默认不开启IPV6

如果外网起端口外网止端口都设置为0则不做区间外网端口映射了,只映射基础的SSH端口,注意不能为空,不进行映射需要设置为0

支持自定义小鸡的系统,不填写留空时默认使用debian11,注意传入参数为系统名字+版本号,如:

  • debian10,debian11,debian12
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,centos9 (实际开设出来都是Stream版本)
  • alpine3.15,alpine3.16,alpine3.17,alpine3.18
  • 注意都是小写字母+数字的组合,自行尝试,如果搜索无该系统则会自动退出脚本
  • 版本号可以带英文小数点,为了适配alpine的版本号已支持
  • 注意部分系统可能因为未加载cgroup,所以在容器内测试系统资源会显示的宿主机的系统资源,实际是有约束的,类同Docker

TIP

版本号中已结束长期维护的一般不再有官方镜像了,暂时未找到历史镜像的存档地址,如果有找到欢迎留言我会添加支持

示例

./buildone.sh test 256 2 20001 20002 20025 500 500 N
  • 以下为开设的示例小鸡的信息:
`小鸡名字` - test
 `SSH登录的用户名` - root
 `SSH登录的密码` - 随机生成
 `CPU核数` - 1   
@@ -46,8 +46,8 @@
 rm -rf /root/add_more.sh

下载回新版本的相关配置脚本

bash
wget https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/check-dns.sh -O /usr/local/bin/check-dns.sh && chmod +x /usr/local/bin/check-dns.sh
 wget https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/config.sh -O /usr/local/bin/config.sh && chmod +x /usr/local/bin/config.sh
 wget https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/ssh.sh -O /usr/local/bin/ssh.sh && chmod +x /usr/local/bin/ssh.sh
-wget https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/alpinessh.sh -O /usr/local/bin/alpinessh.sh && chmod +x /usr/local/bin/alpinessh.sh

其他一键脚本自己对应下载回来就行了

- +wget https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/alpinessh.sh -O /usr/local/bin/alpinessh.sh && chmod +x /usr/local/bin/alpinessh.sh

其他一键脚本自己对应下载回来就行了

+ \ No newline at end of file diff --git a/en_US/guide/lxd_precheck.html b/en_US/guide/lxd_precheck.html index 2a98faaec2..f90322d62c 100644 --- a/en_US/guide/lxd_precheck.html +++ b/en_US/guide/lxd_precheck.html @@ -11,12 +11,12 @@ - + -
Skip to content
On this page

系统与硬件配置要求

要求

硬件要求:

  • 系统:Debian 8+, Ubuntu 18+(推荐20.04)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,Debian无法使用zfs时自动切换别的存储类型

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测母鸡是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)
- +
Skip to content
On this page

系统与硬件配置要求

要求

硬件要求:

  • 系统:Debian 8+, Ubuntu 18+(推荐20.04)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,Debian无法使用zfs时自动切换别的存储类型

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测母鸡是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)
+ \ No newline at end of file diff --git a/en_US/guide/lxd_qa.html b/en_US/guide/lxd_qa.html index 5bb4012071..23edf39cca 100644 --- a/en_US/guide/lxd_qa.html +++ b/en_US/guide/lxd_qa.html @@ -11,13 +11,13 @@ - + -
Skip to content
On this page

解惑

如果LXD安装后lxc命令显示找不到怎么办

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
-export PATH=$PATH:/snap/bin

执行这个命令后尝试

lxc -h

看看lxc命令是否已修复

开设centos7发现报错CGroupV1不支持怎么办

启用CGroup V1:要在Ubuntu系统上启用CGroup V1,需要编辑内核启动参数。

请注意,在更改内核启动参数之前,请务必备份重要的数据和设置,以防止意外的问题。

编辑/etc/default/grub文件,将GRUB_CMDLINE_LINUX_DEFAULT中的参数末尾加上cgroup_enable=memory

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash cgroup_enable=memory"

保存文件并运行以下命令更新GRUB引导。

bash
sudo update-grub

重启系统,使更改生效

如果上述更改仍旧不支持开设centos7,那么请使用别的宿主机系统尝试

目前已验证可开带独立IPV6地址容器的VPS商家

kuroit 中的 美国凤凰城 regular

datalix 中的 德国AMD 促销款

luxvps 中的 德国AMD 促销款

- +
Skip to content
On this page

解惑

如果LXD安装后lxc命令显示找不到怎么办

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
+export PATH=$PATH:/snap/bin

执行这个命令后尝试

lxc -h

看看lxc命令是否已修复

开设centos7发现报错CGroupV1不支持怎么办

启用CGroup V1:要在Ubuntu系统上启用CGroup V1,需要编辑内核启动参数。

请注意,在更改内核启动参数之前,请务必备份重要的数据和设置,以防止意外的问题。

编辑/etc/default/grub文件,将GRUB_CMDLINE_LINUX_DEFAULT中的参数末尾加上cgroup_enable=memory

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash cgroup_enable=memory"

保存文件并运行以下命令更新GRUB引导。

bash
sudo update-grub

重启系统,使更改生效

如果上述更改仍旧不支持开设centos7,那么请使用别的宿主机系统尝试

目前已验证可开带独立IPV6地址容器的VPS商家

kuroit 中的 美国凤凰城 regular

datalix 中的 德国AMD 促销款

luxvps 中的 德国AMD 促销款

+ \ No newline at end of file diff --git a/en_US/guide/lxd_thanks.html b/en_US/guide/lxd_thanks.html index a3aa046b60..b91ec59314 100644 --- a/en_US/guide/lxd_thanks.html +++ b/en_US/guide/lxd_thanks.html @@ -11,12 +11,12 @@ - + - - + + \ No newline at end of file diff --git a/en_US/guide/pve_custom.html b/en_US/guide/pve_custom.html new file mode 100644 index 0000000000..c53bfa7f2e --- /dev/null +++ b/en_US/guide/pve_custom.html @@ -0,0 +1,22 @@ + + + + + + One Click Virtualization | One Click Virtualization + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/en_US/guide/pve_install.html b/en_US/guide/pve_install.html index 7d0a8da38b..55d0b74e75 100644 --- a/en_US/guide/pve_install.html +++ b/en_US/guide/pve_install.html @@ -11,12 +11,12 @@ - + -
Skip to content
On this page

PVE主体安装

安装过程中遇到选项不会选的可无脑按回车,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载

一键安装PVE

TIP

建议debian11而不是debian12,因为后者虽然是stable版本但不知道是否有未发现的BUG,debian11安装的目前稳定点

  • 安装的是当下apt源最新的PVE
  • 比如debian10则是pve6.4,debian11则是pve7.x,debian12则是pve8.x
  • /etc/hosts文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
  • /etc/cloud/cloud.cfg文件修改(避免覆写已修改的hostname等配置)
  • /etc/network/interfaces文件修改(修复auto、dhcp类型为static、增加vmbr0网关)
  • 检测是否为中国IP,如果为中国IP使用清华镜像源,否则使用官方源,同时处理apt的源和对应的nameserver,避免断网
  • 安装PVE开虚拟机需要的必备工具包
  • x86_64的替换apt源中的企业订阅为社区源,arm的使用第三方修复的补丁构建的源
  • 打印查询Linux系统内核和PVE内核是否已安装
  • 设置DNS检测8.8.8.8的开机自启添加DNS的systemd服务
  • 新增PVE的APT源链接后,下载PVE并打印输出登陆信息

所有修改过的文件均已设置为只读模式,避免重启后文件被覆写

如需修改请使用chattr -i 文件路径取消只读锁定,修改完毕请执行chattr +i 文件路径进行只读锁定

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

shell
bash install_pve.sh

TIP

安装成功后打开网页可能提示不安全,点击高级或更多选项,坚持访问即可

预配置环境

  • 创建资源池mypool
  • 移除订阅弹窗
  • 尝试开启硬件直通
  • 对AppArmor模块检测和自动安装
  • 重启系统前推荐挂上nezha探针方便在后台不通过SSH使用命令行,避免SSH可能因为商家奇葩的预设可能导致重启后root密码丢失
  • 执行reboot前需要等待后台任务执行完毕,一些宿主机的系统apt命令执行很慢,得等一会才能执行完毕,当然大部分的机器没这么烂

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

自动配置宿主机的网关

WARNING

使用前请保证重启过服务器且此时PVE能正常使用WEB端再执行,重启机器后不要立即执行此命令,待WEB端启动成功后至少等5分钟再执行本命令

TIP

这一步是最容易造成SSH断开的,原因是未等待PVE内核启动就修改网络会造成设置冲突,所以至少等几分钟待内核启动也就是WEB端启动成功后再执行

  • 创建vmbr0(独立IP网关),宿主机允许addr和gateway为内网IP或外网IP,已自动识别
  • vmbr0创建支持开设纯IPV4、纯IPV6、双栈虚拟机,自动识别IPV4地址和IPV6地址,自动识别对应的IP区间
  • 创建vmbr1(NAT网关),暂不支持开设带独立IPV6地址的NAT的IPV4虚拟机
  • 想查看完整设置可以执行cat /etc/network/interfaces查看,如需修改网关需要修改该文件,web端已经无法修改
  • 加载iptables并设置回源且允许NAT端口转发

简单的说,vmbr0负责v4/v6的独立IP,vmbr1复杂v4/v6的NAT

开独立IPV4的虚拟机时使用的vmbr0,gateway同宿主机,IPV4/CIDR使用同一网段的地址和相同的子网掩码,使用宿主机未绑定的IPV4地址做IPV4/CIDR,当然如果后续使用本套脚本无需关注这点细枝末节的东西

开NAT的IPV4的虚拟机时使用vmbr1,gateway使用172.16.1.1,IPV4/CIDR使用172.16.1.x/24,这里的x不能是1,当然如果后续使用本套脚本无需关注这点细枝末节的东西

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

TIP

这一步是可能需要你执行成功几分钟后重启系统,详见脚本最后执行完毕的提示

- +
Skip to content
On this page

PVE主体安装

安装过程中遇到选项不会选的可无脑按回车,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载

一键安装PVE

TIP

建议debian11而不是debian12,因为后者虽然是stable版本但不知道是否有未发现的BUG,debian11安装的目前稳定点

  • 安装的是当下apt源最新的PVE
  • 比如debian10则是pve6.4,debian11则是pve7.x,debian12则是pve8.x
  • /etc/hosts文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
  • /etc/cloud/cloud.cfg文件修改(避免覆写已修改的hostname等配置)
  • /etc/network/interfaces文件修改(修复auto、dhcp类型为static、增加vmbr0网关)
  • 检测是否为中国IP,如果为中国IP使用清华镜像源,否则使用官方源,同时处理apt的源和对应的nameserver,避免断网
  • 创建vmbr0(独立IP网关),宿主机允许addr和gateway为内网IP或外网IP,已自动识别
  • vmbr0创建支持开设纯IPV4、纯IPV6、双栈虚拟机,自动识别IPV4地址和IPV6地址,自动识别对应的IP区间
  • 安装PVE开虚拟机需要的必备工具包
  • x86_64的替换apt源中的企业订阅为社区源,arm的使用第三方修复的补丁构建的源
  • 打印查询Linux系统内核和PVE内核是否已安装
  • 设置DNS检测8.8.8.8的开机自启添加DNS的systemd服务
  • 新增PVE的APT源链接后,下载PVE并打印输出登陆信息

所有修改过的文件均已设置为只读模式,避免重启后文件被覆写

如需修改请使用chattr -i 文件路径取消只读锁定,修改完毕请执行chattr +i 文件路径进行只读锁定

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

shell
bash install_pve.sh

TIP

安装成功后打开网页可能提示不安全,点击高级或更多选项,坚持访问即可

预配置环境

  • 创建资源池mypool
  • 移除订阅弹窗
  • 尝试开启硬件直通
  • 对AppArmor模块检测和自动安装
  • 重启系统前推荐挂上nezha探针方便在后台不通过SSH使用命令行,避免SSH可能因为商家奇葩的预设可能导致重启后root密码丢失
  • 执行reboot前需要等待后台任务执行完毕,一些宿主机的系统apt命令执行很慢,得等一会才能执行完毕,当然大部分的机器没这么烂

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

自动配置宿主机的网关

WARNING

使用前请保证重启过服务器且此时PVE能正常使用WEB端再执行,重启机器后不要立即执行此命令,待WEB端启动成功后至少等1分钟再执行本命令

TIP

这一步是最容易造成SSH断开的,原因是未等待PVE内核启动就修改网络会造成设置冲突,所以至少等几分钟待内核启动也就是WEB端启动成功后再执行

  • 创建vmbr1(NAT网关),暂不支持开设带独立IPV6地址的NAT的IPV4虚拟机
  • 想查看完整设置可以执行cat /etc/network/interfaces查看,如需修改网关需要修改该文件,web端已经无法修改
  • 加载iptables并设置回源且允许NAT端口转发

简单的说,vmbr0负责v4/v6的独立IP,vmbr1复杂v4/v6的NAT

开独立IPV4的虚拟机时使用的vmbr0,gateway同宿主机,IPV4/CIDR使用同一网段的地址和相同的子网掩码,使用宿主机未绑定的IPV4地址做IPV4/CIDR,当然如果后续使用本套脚本无需关注这点细枝末节的东西

开NAT的IPV4的虚拟机时使用vmbr1,gateway使用172.16.1.1,IPV4/CIDR使用172.16.1.x/24,这里的x不能是1,当然如果后续使用本套脚本无需关注这点细枝末节的东西

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

TIP

这一步是可能需要你执行成功几分钟后重启系统,详见脚本最后执行完毕的提示

+ \ No newline at end of file diff --git a/en_US/guide/pve_kvm.html b/en_US/guide/pve_kvm.html index 1def2fe4ab..8b4bc4912f 100644 --- a/en_US/guide/pve_kvm.html +++ b/en_US/guide/pve_kvm.html @@ -11,11 +11,11 @@ - + -
Skip to content
On this page

KVM虚拟化

SSH登录说明

KVM虚拟化开设出的虚拟机,默认生成的用户名不是root,你需要执行sudo -i切换为root用户

当然部分模板实际支持用户名root登录,默认的root密码是password,你也可以先试试

登录SSH切换为root权限后,一定要修改root密码,可以使用以下命令修改

国际

bash
bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

国内

bash
bash <(curl -sSL https://ghproxy.com/https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

部分注意事项

执行本项目的检测环境的命令,展示如下

图片

查询如上的只需使用下面的一键脚本自动创建虚拟机即可,无需手动再修改WEB端设置

图片

查询如上的在使用后续脚本创建了虚拟机后,可能需要手动修改WEB端设置,需要关闭对应每个虚拟机的硬件嵌套虚拟化,如下图

图片

先停止虚拟机再修改,修改完后再开机才能使用NOVNC,不关闭可能导致这个虚拟机有BUG无法使用

如果强行安装PVE开KVM,启动不了的也可以关闭这个选项试试能不能启动虚拟机

TIP

开设虚拟机前请使用screen挂起执行,避免开设时间过长,SSH不稳定导致中间执行中断

开设KVM虚拟机可使用的镜像

  • 已预安装开启cloudinit
  • 开启SSH登陆
  • 预设置SSH监听V4和V6的22端口
  • 开启允许密码验证登陆
  • 开启允许root登陆
  • 部分预安装Qemu-guest-agent

目前可使用的镜像名字的列表为

https://github.com/oneclickvirt/kvm_images/blob/main/list.text

单独开设NAT的KVM虚拟化的虚拟机

  • 自动开设NAT服务器,默认使用Debian10镜像,因为该镜像占用最小
  • 可在命令中自定义需要使用的镜像,这里有给出配置好的镜像,镜像自带空间设置是2~10G硬盘,日常使用至少10G以上即可,除非某些镜像开不起来再增加硬盘大小
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 自定义内存大小推荐512MB内存
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloud-init配置好网络以及登陆信息,大概需要5分钟
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

使用方法

  • 系统支持:
    • x86_64架构的详见 跳转 中列出的系统,使用时只需写文件名字,不需要.qcow2尾缀
    • arm架构的详见 跳转 中列出的系统,使用时只需要写系统名字+系统版本号,如ubuntu20、ubutnu22这种

TIP

注意这里的用户名不能是纯数字,会造成cloudinit出问题,最好是纯英文或英文开头

shell
./buildvm.sh VMID 用户名 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildvm.sh 102 test1 oneclick123 1 512 10 40001 40002 40003 50000 50025 debian11 local

开设完毕可执行cat vm102查看信息,或到WEB端对应VM的NOTES中查看

  • 以下为开设的示例VM的信息:
`VMID` - 102
+    
Skip to content
On this page

KVM虚拟化

SSH登录说明

KVM虚拟化开设出的虚拟机,默认生成的用户名不是root,你需要执行sudo -i切换为root用户

当然部分模板实际支持用户名root登录,默认的root密码是password,你也可以先试试

登录SSH切换为root权限后,一定要修改root密码,可以使用以下命令修改

国际

bash
bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

国内

bash
bash <(curl -sSL https://ghproxy.com/https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

部分注意事项

执行本项目的检测环境的命令,展示如下

图片

查询如上的只需使用下面的一键脚本自动创建虚拟机即可,无需手动再修改WEB端设置

图片

查询如上的在使用后续脚本创建了虚拟机后,可能需要手动修改WEB端设置,需要关闭对应每个虚拟机的硬件嵌套虚拟化,如下图

图片

先停止虚拟机再修改,修改完后再开机才能使用NOVNC,不关闭可能导致这个虚拟机有BUG无法使用

如果强行安装PVE开KVM,启动不了的也可以关闭这个选项试试能不能启动虚拟机

TIP

开设虚拟机前请使用screen挂起执行,避免开设时间过长,SSH不稳定导致中间执行中断

开设KVM虚拟机可使用的镜像

  • 已预安装开启cloudinit
  • 开启SSH登陆
  • 预设置SSH监听V4和V6的22端口
  • 开启允许密码验证登陆
  • 开启允许root登陆
  • 部分预安装Qemu-guest-agent

目前可使用的镜像名字的列表为

https://github.com/oneclickvirt/kvm_images/blob/main/list.text

单独开设NAT的KVM虚拟化的虚拟机

  • 自动开设NAT服务器,默认使用Debian10镜像,因为该镜像占用最小
  • 可在命令中自定义需要使用的镜像,这里有给出配置好的镜像,镜像自带空间设置是2~10G硬盘,日常使用至少10G以上即可,除非某些镜像开不起来再增加硬盘大小
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 自定义内存大小推荐512MB内存
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloud-init配置好网络以及登陆信息,大概需要5分钟
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

使用方法

  • 系统支持:
    • x86_64架构的详见 跳转 中列出的系统,使用时只需写文件名字,不需要.qcow2尾缀
    • arm架构的详见 跳转 中列出的系统,使用时只需要写系统名字+系统版本号,如ubuntu20、ubutnu22这种

TIP

注意这里的用户名不能是纯数字,会造成cloudinit出问题,最好是纯英文或英文开头

shell
./buildvm.sh VMID 用户名 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildvm.sh 102 test1 oneclick123 1 512 10 40001 40002 40003 50000 50025 debian11 local

开设完毕可执行cat vm102查看信息,或到WEB端对应VM的NOTES中查看

  • 以下为开设的示例VM的信息:
`VMID` - 102
 `SSH登录的用户名` - test1
 `SSH登录的密码` - oneclick123
 `CPU核数` - 1   
@@ -40,8 +40,8 @@
 rm -rf vmlog
 rm -rf vm*

TIP

PVE修改VM配置前都得停机先,再修改配置,修改完再启动,免得出现配置重载错误

开设独立IPV4地址的虚拟机

两个版本,各取所需

自动选择IPV4地址无需手动指定的版本

WARNING

使用前需要保证当前宿主机的IP段带了至少2个IP,且有空余的IP未配置,该空余的IP未绑定宿主机

  • 自动检测可用的IP区间,通过ping检测空余可使用的IP,选取其中之一绑定到虚拟机上
  • 如果宿主机自带IPV6子网将可选择是否附加上IPV6地址
  • 系统的相关信息将会存储到对应的虚拟机的NOTE中,可在WEB端查看

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm_extraip.sh -o buildvm_extraip.sh && chmod +x buildvm_extraip.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm_extraip.sh -o buildvm_extraip.sh && chmod +x buildvm_extraip.sh

创建示例

shell
./buildvm_extraip.sh VMID 用户名 密码 CPU核数 内存大小以MB计算 硬盘大小以GB计算 系统 存储盘 是否附加IPV6(默认为N)
shell
./buildvm_extraip.sh 152 test1 oneclick123 1 1024 10 debian12 local N

上述命令意义为开设一个带独立IPV4地址的虚拟机,VMID是152,用户名是test1,密码是oneclick123,CPU是1核,内存是1024MB,硬盘是10G,系统是debian12,存储盘是local盘也就是系统盘,默认不附加IPV6

需要手动指定IPV4地址的版本

  • 需要手动在命令中指定IPV4地址,且带上子网长度
  • 如果宿主机自带IPV6子网将可选择是否附加上IPV6地址
  • 如果商家有给IPV4地址和子网长度,请仔细比对,按照下面示例的命令写参数
  • 系统的相关信息将会存储到对应的虚拟机的NOTE中,可在WEB端查看

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm_manual_ip.sh -o buildvm_manual_ip.sh && chmod +x buildvm_manual_ip.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm_manual_ip.sh -o buildvm_manual_ip.sh && chmod +x buildvm_manual_ip.sh

创建示例

shell
./buildvm_manual_ip.sh VMID 用户名 密码 CPU核数 内存大小以MB计算 硬盘大小以GB计算 系统 存储盘 IPV4地址 是否附加IPV6(默认为N)
shell
./buildvm_manual_ip.sh 152 test1 oneclick123 1 1024 10 debian12 local a.b.c.d/24 N

上述命令意义为开设一个带独立IPV4地址的虚拟机,VMID是152,用户名是test1,密码是oneclick123,CPU是1核,内存是1024MB,硬盘是10G,系统是debian12,存储盘是local盘也就是系统盘,IPV4地址为a.b.c.d,子网为/24子网,默认不附加IPV6

开设纯IPV6地址的虚拟机

前提是宿主机给的是IPV6子网而不是单独一个IPV6地址,且宿主机未开启MAC地址校验

自动选择IPV6地址无需手动指定

  • 自动检测可用的IPV6区间,对应虚拟机编号的V6地址绑定到虚拟机上
  • 系统的相关信息将会存储到对应的虚拟机的NOTE中,可在WEB端查看

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm_onlyv6.sh -o buildvm_onlyv6.sh && chmod +x buildvm_onlyv6.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm_onlyv6.sh -o buildvm_onlyv6.sh && chmod +x buildvm_onlyv6.sh

创建示例

shell
./buildvm_onlyv6.sh VMID 用户名 密码 CPU核数 内存大小以MB计算 硬盘大小以GB计算 系统 存储盘
shell
./buildvm_onlyv6.sh 152 test1 oneclick123 1 1024 10 debian12 local

上述命令意义为开设一个纯IPV6地址的虚拟机,VMID是152,用户名是test1,密码是oneclick123,CPU是1核,内存是1024MB,硬盘是10G,系统是debian12,存储盘是local盘也就是系统盘

删除vm152示例

shell
qm stop 152
 qm destroy 152
-rm -rf vm152
- +rm -rf vm152
+ \ No newline at end of file diff --git a/en_US/guide/pve_lxc.html b/en_US/guide/pve_lxc.html index 3d2699265f..d2302fe77e 100644 --- a/en_US/guide/pve_lxc.html +++ b/en_US/guide/pve_lxc.html @@ -11,11 +11,11 @@ - + -
Skip to content
On this page

LXC虚拟化

单独开设LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 自动开设NAT服务器,默认使用Debian11镜像,也可自定义系统
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部配置好网络以及登陆信息,大概需要3分钟
  • 默认开设的网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

使用方法

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
  • 系统支持:
  • debian10,debian11
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,almalinux9
  • 其他系统可能支持可能不支持,自行测试

TIP

系统参数一律是小写的系统名字拼接版本号,x86_64的具体可执行pveam available --section system查看可用的系统名字和版本号,arm的可在https://mirror.tuna.tsinghua.edu.cn/lxc-images/images/中查看支持的系统,版本号类同执行pveam available --section system查看到的版本号。 (注意脚本使用的参数只有小写的英文系统名字拼接版本号)

所有系统的CT默认用户名是root

shell
./buildct.sh CTID 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildct.sh 102 oneclick123 1 512 5 20001 20002 20003 30000 30025 debian11 local

开设完毕可执行cat ct102查看信息,或在web端的NOTES查看

  • 以下为开设的示例CT的信息:
`VMID` - 102
+    
Skip to content
On this page

LXC虚拟化

单独开设LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 自动开设NAT服务器,默认使用Debian11镜像,也可自定义系统
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部配置好网络以及登陆信息,大概需要3分钟
  • 默认开设的网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

使用方法

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
  • 系统支持:
  • debian10,debian11
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,almalinux9
  • 其他系统可能支持可能不支持,自行测试

TIP

系统参数一律是小写的系统名字拼接版本号,x86_64的具体可执行pveam available --section system查看可用的系统名字和版本号,arm的可在https://mirror.tuna.tsinghua.edu.cn/lxc-images/images/中查看支持的系统,版本号类同执行pveam available --section system查看到的版本号。 (注意脚本使用的参数只有小写的英文系统名字拼接版本号)

所有系统的CT默认用户名是root

shell
./buildct.sh CTID 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildct.sh 102 oneclick123 1 512 5 20001 20002 20003 30000 30025 debian11 local

开设完毕可执行cat ct102查看信息,或在web端的NOTES查看

  • 以下为开设的示例CT的信息:
`VMID` - 102
 `SSH登录的用户名` - root
 `SSH登录的密码` - oneclick123
 `CPU核数` - 1   
@@ -39,8 +39,8 @@
 service networking restart
 systemctl restart networking.service

开设纯IPV6地址的虚拟机

前提是宿主机给的是IPV6子网而不是单独一个IPV6地址,且宿主机未开启MAC地址校验

自动选择IPV6地址无需手动指定

  • 自动检测可用的IPV6区间,对应容器编号的V6地址绑定到容器上
  • 系统的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh

创建示例

shell
./buildct_onlyv6.sh CTID 密码 CPU核数 内存大小以MB计算 硬盘大小以GB计算 系统 存储盘
shell
./buildct_onlyv6.sh 152 oneclick123 1 1024 10 debian12 local

上述命令意义为开设一个纯IPV6地址的CT容器,CTID是152,用户名是root,密码是oneclick123,CPU是1核,内存是1024MB,硬盘是10G,系统是debian12,存储盘是local盘也就是系统盘

删除示例

shell
rm -rf ct*
 pct stop 152 
-pct destroy 152
- +pct destroy 152
+ \ No newline at end of file diff --git a/en_US/guide/pve_precheck.html b/en_US/guide/pve_precheck.html index c62ffa37bf..82fc030eaa 100644 --- a/en_US/guide/pve_precheck.html +++ b/en_US/guide/pve_precheck.html @@ -11,12 +11,12 @@ - + -
Skip to content
On this page

系统和硬件配置要求

如果有未适配的商家或机器欢迎联系@spiritlhl_bot,有空会尝试支持一下

各种要求

建议debian在使用前尽量使用最新的稳定版本的系统

非debian11可使用 debian一键升级 来升级系统

本项目只适配Debian系统(非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装)

  • 系统要求:Debian 8+

TIP

建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版

  • 硬件要求:2核2G内存x86_64arm架构服务器硬盘至少20G
  • 可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)
  • 如果硬件或系统需求不满足,可使用LXD批量开LXC容器跳转

WARNING

内存开点swap免得机器炸了开SWAP点我跳转

开设虚拟内存(SWAP)

单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用

建议只开实际内存大小两倍大小的虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

检测环境

  • 本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本
  • 检测本机IPV6的网络配置情况(有无IPV6都可安装,只是查询一下罢了)
  • 检测硬件配置是否满足最低要求
  • 检测硬件环境是否可嵌套虚拟化KVM类型的服务器
  • 检测系统环境是否可嵌套虚拟化KVM类型的服务器
  • 不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用LXD

国际

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

国内

bash
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

如果你需要更新IPV6信息再查询,那么执行以下命令后再查询

bash
rm -rf /usr/local/bin/pve_ipv6*


- +
Skip to content
On this page

系统和硬件配置要求

如果有未适配的商家或机器欢迎联系@spiritlhl_bot,有空会尝试支持一下

各种要求

建议debian在使用前尽量使用最新的稳定版本的系统

非debian11可使用 debian一键升级 来升级系统

本项目只适配Debian系统(非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装)

  • 系统要求:Debian 8+

TIP

建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版

  • 硬件要求:2核2G内存x86_64arm架构服务器硬盘至少20G
  • 可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)
  • 如果硬件或系统需求不满足,可使用LXD批量开LXC容器跳转

WARNING

内存开点swap免得机器炸了开SWAP点我跳转

开设虚拟内存(SWAP)

单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用

建议只开实际内存大小两倍大小的虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

检测环境

  • 本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本
  • 检测本机IPV6的网络配置情况(有无IPV6都可安装,只是查询一下罢了)
  • 检测硬件配置是否满足最低要求
  • 检测硬件环境是否可嵌套虚拟化KVM类型的服务器
  • 检测系统环境是否可嵌套虚拟化KVM类型的服务器
  • 不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用LXD

国际

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

国内

bash
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

如果你需要更新IPV6信息再查询,那么执行以下命令后再查询

bash
rm -rf /usr/local/bin/pve_ipv6*


+ \ No newline at end of file diff --git a/en_US/guide/pve_qa.html b/en_US/guide/pve_qa.html index 6a90ef636e..fb027e9b6f 100644 --- a/en_US/guide/pve_qa.html +++ b/en_US/guide/pve_qa.html @@ -11,17 +11,17 @@ - + -
Skip to content
On this page

解惑

安装PVE成功但重启后失联

如果什么机器安装PVE成功后WEB可用,但重启失联,请安装成功PVE后,重启前执行以下命令再重启

bash
auto_interface=$(grep '^auto ' /etc/network/interfaces | grep -v '^auto lo' | awk '{print $2}' | head -n 1)
+    
Skip to content
On this page

解惑

安装PVE成功但重启后失联

如果什么机器安装PVE成功后WEB可用,但重启失联,请安装成功PVE后,重启前执行以下命令再重启

bash
auto_interface=$(grep '^auto ' /etc/network/interfaces | grep -v '^auto lo' | awk '{print $2}' | head -n 1)
 if ! grep -q "^post-up /sbin/ethtool" /etc/network/interfaces; then
     chattr -i /etc/network/interfaces
     echo "post-up /sbin/ethtool -K $auto_interface tx off rx off" >> /etc/network/interfaces
     chattr +i /etc/network/interfaces
-fi

然后将重启失联的机器报给 @spiritlhl_bot 待更新脚本自动修复

安装PVE失败

如果有什么机器安装不了,着急的可以尝试使用以下仓库的脚本先重装为debian11先

bash <(curl -sSL https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh) -debian 11 -pwd 'oneclickvirt139'

此时dd后的系统用户名为root,密码为oneclickvirt139

如果有空或者还是不行,请联系 @spiritlhl_bot 尝试

目前已验证的VPS商家

可开设KVM虚拟化的NAT的商家

interserver 中的独立服务器

frantech 中的拉斯维加斯第二档

eugamehost 中的美国凤凰城黑五促销款

amhost 中的测试款

digitalocean 中的 Perminu Intel 和 Regular 4核款

skrime 中的 AMD Ryzen KVM Server 最低配款

webdock 中的 AMD KVM Server

4vps 中的 俄罗斯和希腊 测试款

hostaris 中的 德国款 (商家的系统模板有问题,IPV6已失效和Github的连通稳定性很差)

adtaq 中的最低配存储KVM服务器

nocix 中的独立服务器

只可开设LXC虚拟化的NAT的商家

腾讯云 中的无忧款和特惠款(学生机)

spectraip 中的KVM服务器

Linode 中美国专用CPU的最低配

hosthatch 中的特价高配服务器

hetzner 的cloud服务器

rackdog 的浮动IP的服务器

vultr 的Cloud普通服务器

azure 的普通机器

已知暂时不可用未适配的商家

OVH

- +fi

然后将重启失联的机器报给 @spiritlhl_bot 待更新脚本自动修复

安装PVE失败

如果有什么机器安装不了,着急的可以尝试使用以下仓库的脚本先重装为debian11先

bash <(curl -sSL https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh) -debian 11 -pwd 'oneclickvirt139'

此时dd后的系统用户名为root,密码为oneclickvirt139

如果有空或者还是不行,请联系 @spiritlhl_bot 尝试

目前已验证的VPS商家

可开设KVM虚拟化的NAT的商家

interserver 中的独立服务器

frantech 中的拉斯维加斯第二档

eugamehost 中的美国凤凰城黑五促销款

amhost 中的测试款

digitalocean 中的 Perminu Intel 和 Regular 4核款

skrime 中的 AMD Ryzen KVM Server 最低配款

webdock 中的 AMD KVM Server

4vps 中的 俄罗斯和希腊 测试款

hostaris 中的 德国款 (商家的系统模板有问题,IPV6已失效和Github的连通稳定性很差)

adtaq 中的最低配存储KVM服务器

nocix 中的独立服务器

只可开设LXC虚拟化的NAT的商家

腾讯云 中的无忧款和特惠款(学生机)

spectraip 中的KVM服务器

Linode 中美国专用CPU的最低配

hosthatch 中的特价高配服务器

hetzner 的cloud服务器

rackdog 的浮动IP的服务器

vultr 的Cloud普通服务器

azure 的普通机器

已知暂时不可用未适配的商家

OVH

+ \ No newline at end of file diff --git a/en_US/guide/pve_thanks.html b/en_US/guide/pve_thanks.html index 85d3a07c14..44172e2934 100644 --- a/en_US/guide/pve_thanks.html +++ b/en_US/guide/pve_thanks.html @@ -11,12 +11,12 @@ - + - - + + \ No newline at end of file diff --git a/en_US/index.html b/en_US/index.html index 3871f3530d..2180c86209 100644 --- a/en_US/index.html +++ b/en_US/index.html @@ -11,12 +11,12 @@ - +
Skip to content

One Click Virtualization

Open source, easy to use server virtualization project

Documentation has not been translated yet, waiting for translation.

- + \ No newline at end of file diff --git a/guide/dashboard.html b/guide/dashboard.html index e0fe585af0..a60c4eed8f 100644 --- a/guide/dashboard.html +++ b/guide/dashboard.html @@ -11,12 +11,12 @@ - + -
Skip to content
On this page

准备工作

需要虚拟化出服务器,你需要:

  1. 一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速

TIP

如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速

  1. 本地可以稳定连接SSH,如果不能稳定连接,请使用screen命令创建窗口后,在窗口内执行命令

TIP

不会用screen命令的,自行查找相关教程学习

  1. 确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明

本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净

WARNING

PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统

项目仓库

欢迎Star和Fork

PVE

可开设KVM虚拟化的虚拟机、LXC虚拟化的容器

https://github.com/spiritLHLS/pve

Hits

LXD

可开设LXC虚拟化的容器

https://github.com/spiritLHLS/lxd

Hits

Docker

可开设Docker虚拟化的容器

https://github.com/spiritLHLS/docker

Hits



- +
Skip to content
On this page

准备工作

需要虚拟化出服务器,你需要:

  1. 一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速

TIP

如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速

  1. 本地可以稳定连接SSH,如果不能稳定连接,请使用screen命令创建窗口后,在窗口内执行命令

TIP

不会用screen命令的,自行查找相关教程学习

  1. 确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明

本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净

WARNING

PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统

项目仓库

欢迎Star和Fork

PVE

可开设KVM虚拟化的虚拟机、LXC虚拟化的容器

https://github.com/spiritLHLS/pve

Hits

LXD

可开设LXC虚拟化的容器

https://github.com/spiritLHLS/lxd

Hits

Docker

可开设Docker虚拟化的容器

https://github.com/spiritLHLS/docker

Hits



+ \ No newline at end of file diff --git a/guide/dashboardq.html b/guide/dashboardq.html index f3f18c766f..d37a776b53 100644 --- a/guide/dashboardq.html +++ b/guide/dashboardq.html @@ -11,12 +11,12 @@ - + - - + + \ No newline at end of file diff --git a/guide/docker_build.html b/guide/docker_build.html index 06ae4fb995..03b662724b 100644 --- a/guide/docker_build.html +++ b/guide/docker_build.html @@ -11,16 +11,16 @@ - + -
Skip to content
On this page

前言

两种开设方式

单独开设

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

运行

./onedocker.sh name cpu memory password sshport startport endport system

目前system仅支持选择alpine或debian,默认是debian

示例

  • 以下为开设的示例容器的信息:
    容器名字 - test SSH登录的用户名 - root SSH登录的密码 - 123456 CPU核数 - 1
    内存大小 - 512MB SSH端口 - 25000 内外网映射端口一致的区间 - 34975到35000 系统 - debian
shell
./onedocker.sh test 1 512 123456 25000 34975 35000 debian

删除示例

shell
docker rm -f test
+    
Skip to content
On this page

前言

两种开设方式

单独开设

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

运行

./onedocker.sh name cpu memory password sshport startport endport system

目前system仅支持选择alpine或debian,默认是debian

示例

  • 以下为开设的示例容器的信息:
    容器名字 - test SSH登录的用户名 - root SSH登录的密码 - 123456 CPU核数 - 1
    内存大小 - 512MB SSH端口 - 25000 内外网映射端口一致的区间 - 34975到35000 系统 - debian
shell
./onedocker.sh test 1 512 123456 25000 34975 35000 debian

删除示例

shell
docker rm -f test
 rm -rf test
 ls

进入示例

shell
docker exec -it test /bin/bash

要退出容器就执行exit退出。

查询信息

shell
cat 容器名字

输出格式

容器名字 SSH端口 登陆的root密码 核数 内存 外网端口起 外网端口止

批量开设

  • 批量多次运行继承配置生成
  • 生成多个时为避免SSH连接中断建议在screen中执行

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/dockers.sh -o dockers.sh && chmod +x dockers.sh && bash dockers.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

查询批量开设的信息

shell
cat dclog

输出格式

容器名字 SSH端口 登陆的root密码 核数 内存 外网端口起 外网端口止

一行一个容器对应的信息

卸载所有docker容器和镜像

shell
docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)
 rm -rf dclog
-ls
- +ls
+ \ No newline at end of file diff --git a/guide/docker_custom.html b/guide/docker_custom.html new file mode 100644 index 0000000000..21528e572a --- /dev/null +++ b/guide/docker_custom.html @@ -0,0 +1,22 @@ + + + + + + 一键虚拟化项目 | 一键虚拟化项目 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/guide/docker_install.html b/guide/docker_install.html index 6f7ed5a1bb..24946400fb 100644 --- a/guide/docker_install.html +++ b/guide/docker_install.html @@ -11,12 +11,12 @@ - + -
Skip to content
On this page

环境预设

  • 检测环境
  • 安装docker
  • 下载预制脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
- +
Skip to content
On this page

环境预设

  • 检测环境
  • 安装docker
  • 下载预制脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
+ \ No newline at end of file diff --git a/guide/docker_precheck.html b/guide/docker_precheck.html index bdce57d516..e1b8654cd2 100644 --- a/guide/docker_precheck.html +++ b/guide/docker_precheck.html @@ -11,12 +11,12 @@ - + -
Skip to content
On this page

前言

项目特点

通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)

默认使用debian系统,每个容器自带1个外网ssh端口,25个内外网一致端口

默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker

由于只是在宿主机进行了CPU和内存的限制未在容器内使用cgroup驱动,所以在容器内使用服务器测试脚本检测容器的可用资源是无效的,显示的会是宿主机的资源

由于大部分云服务器xfs文件系统不启用pquota选项,所以默认共享宿主机硬盘,无法限制每个容器的磁盘大小

配置要求

系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行

推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致母鸡卡死 跳转

PS: 如果硬件资源只是好了一点,需要限制更多东西并需要配置IPV6独立地址和限制硬盘大小,可使用LXD批量开LXC虚拟化的容器 跳转

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

- +
Skip to content
On this page

前言

项目特点

通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)

默认使用debian系统,每个容器自带1个外网ssh端口,25个内外网一致端口

默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker

由于只是在宿主机进行了CPU和内存的限制未在容器内使用cgroup驱动,所以在容器内使用服务器测试脚本检测容器的可用资源是无效的,显示的会是宿主机的资源

由于大部分云服务器xfs文件系统不启用pquota选项,所以默认共享宿主机硬盘,无法限制每个容器的磁盘大小

配置要求

系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行

推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致母鸡卡死 跳转

PS: 如果硬件资源只是好了一点,需要限制更多东西并需要配置IPV6独立地址和限制硬盘大小,可使用LXD批量开LXC虚拟化的容器 跳转

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

+ \ No newline at end of file diff --git a/guide/docker_qa.html b/guide/docker_qa.html index c0c806c06e..bcf6bda206 100644 --- a/guide/docker_qa.html +++ b/guide/docker_qa.html @@ -11,12 +11,12 @@ - + - - + + \ No newline at end of file diff --git a/guide/docker_thanks.html b/guide/docker_thanks.html index 9b4d63efb2..70ce24e16a 100644 --- a/guide/docker_thanks.html +++ b/guide/docker_thanks.html @@ -11,12 +11,12 @@ - + - - + + \ No newline at end of file diff --git a/guide/lxd_custom.html b/guide/lxd_custom.html new file mode 100644 index 0000000000..0073b183e6 --- /dev/null +++ b/guide/lxd_custom.html @@ -0,0 +1,22 @@ + + + + + + 一键虚拟化项目 | 一键虚拟化项目 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/guide/lxd_extra_config.html b/guide/lxd_extra_config.html index 0d409c5856..2c30e1ede6 100644 --- a/guide/lxd_extra_config.html +++ b/guide/lxd_extra_config.html @@ -11,11 +11,11 @@ - + -
Skip to content
On this page

其他自定义配置

TIP

以下的配置安装会加重母鸡的负担,非必要不要安装

TIP

如果是个人使用,可忽略防滥用部分脚本的安装

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于母鸡有给IPV6子网且是/64的,且母鸡绑定了子网的第一个IP母鸡的IPV6地址或IPV6的gateway
  • 自动为LXD创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

自动为容器配置IPV6映射地址

bash
bash build_ipv6_network.sh 容器名称

映射完毕会打印信息

示例(给test容器自动配置IPV6地址,配置完成会写入一个test_v6的文件信息)

bash
bash build_ipv6_network.sh test

删除所有IPV6已映射的规则

bash
ip6tables -t nat -F PREROUTING
+    
Skip to content
On this page

其他自定义配置

TIP

以下的配置安装会加重母鸡的负担,非必要不要安装

TIP

如果是个人使用,可忽略防滥用部分脚本的安装

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于母鸡有给IPV6子网且是/64的,且母鸡绑定了子网的第一个IP母鸡的IPV6地址或IPV6的gateway
  • 自动为LXD创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

自动为容器配置IPV6映射地址

bash
bash build_ipv6_network.sh 容器名称

映射完毕会打印信息

示例(给test容器自动配置IPV6地址,配置完成会写入一个test_v6的文件信息)

bash
bash build_ipv6_network.sh test

删除所有IPV6已映射的规则

bash
ip6tables -t nat -F PREROUTING
 ip6tables-legacy -t nat -F PREROUTING
 ip6tables-save > /etc/iptables/rules.v6
 netfilter-persistent save
@@ -26,8 +26,8 @@
 systemctl daemon-reload
 rm /usr/local/bin/add-ipv6.sh

屏蔽容易被滥用的端口的出入流量以屏蔽端口和屏蔽滥用工具包

  • (非必须,该脚本仅仅是为了防止容器滥用方便,不装的也没问题)
  • 事前预防

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/rules.sh -o rules.sh && chmod +x rules.sh && bash rules.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/rules.sh -o rules.sh && chmod +x rules.sh && bash rules.sh

使用screen配置监控屏蔽某些进程的执行遇到某些进程的出现直接关闭容器

  • 如需停止监控可使用screen命令停止lxc_moniter这个名字的窗口并删除
  • (非必须,该脚本仅仅是为了防止容器滥用方便,不装的也没问题)
  • 事后停机

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_monitor.sh -o build_monitor.sh && chmod +x build_monitor.sh && bash build_monitor.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/build_monitor.sh -o build_monitor.sh && chmod +x build_monitor.sh && bash build_monitor.sh

一键安装开lxd母鸡所需要的带vnstat环境的常用预配置环境

  • (非必须,该脚本仅仅是为了站点对接监控方便,不装的也没问题)

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/backend.sh -o backend.sh && chmod +x backend.sh && bash backend.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/backend.sh -o backend.sh && chmod +x backend.sh && bash backend.sh

一键安装母鸡可视化操作的面板

  • (非必须,该面板只是为了方便可视化操作,没有也没问题)
  • 原作者仓库:跳转
shell
lxc config set core.https_address [::]
 lxc config set core.trust_password some-secret-string
-snap install lxdmosaic

安装完毕后打开母鸡IP地址,按照提示设置admin的密码,其他一路默认就能使用面板了

- +snap install lxdmosaic

安装完毕后打开母鸡IP地址,按照提示设置admin的密码,其他一路默认就能使用面板了

+ \ No newline at end of file diff --git a/guide/lxd_install.html b/guide/lxd_install.html index 259b360b51..27866e799f 100644 --- a/guide/lxd_install.html +++ b/guide/lxd_install.html @@ -11,17 +11,17 @@ - + -
Skip to content
On this page

LXD主体安装

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用后面的一键安装也行

关闭防火墙

bash
apt update
+    
Skip to content
On this page

LXD主体安装

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用后面的一键安装也行

关闭防火墙

bash
apt update
 apt install curl wget sudo dos2unix ufw jq -y
 ufw disable

开设虚拟内存SWAP

内存看你开多少小鸡,这里如果要开8个,换算需要2G内存,实际内存如果是512MB内存,还需要开1.5G,保守点开2G虚拟内存即可

执行下面命令,输入1,再输入2048,代表开2G虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

安装LXD

实际swap开的虚拟内存应该是实际内存的2倍,也就是开1G是合理的,上面我描述的情况属于超开了

apt install snapd -y
 snap install lxd
 /snap/bin/lxd init

如果上面的命令中出现下面的错误

(snap "lxd" assumes unsupported features: snapd2.39 (try to update snapd and refresh the core snap))

使用命令修补后再进行lxd的安装

snap install core

如果无异常,上面三行命令执行结果如下

图片

一般的选项回车默认即可

选择配置物理盘大小(提示默认最小1GB那个选项),一般我填空闲磁盘大小减去内存大小后乘以0.95并向下取整,这里我填了10GB

提示带auto的更新image的选项记得选no,避免更新占用系统

测试lxc有没有软连接上

lxc -h

如果报错则执行以下命令软连接lxc命令

bash
! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
-export PATH=$PATH:/snap/bin

连接后再测试lxc命令是否有报错找不到

一键安装

WARNING

如果是全新的服务器,务必保证apt update和apt install curl都无问题再执行本脚本

TIP

且自开机起最好等待5分钟后再执行以下命令,避免系统默认设置中就执行了本脚本导致apt源卡死

  • 环境要求:Ubuntu 18+(推荐),Debian 8+(仅限x86_64架构)

如果是Debian系的宿主机,务必在screen中执行本脚本,避免长期运行时SSH中断导致ZFS编译安装失败

这里的虚拟内存是说要开的SWAP大小,存储池则是你所有要开的小鸡占的盘的大小的总和

环境安装过程中可能需要重启服务器以加载含zfs的内核,然后再次执行安装命令,一切以运行后命令行的提示为准

如果脚本提示重启系统后需要再次执行脚本,第二次执行安装脚本仍提示重启系统加载内核,那么意味着内核在上一次加载中失败了,最好重装宿主机系统为ubuntu系解决这个问题

每次执行脚本都需要输入一次初始化的配置,所以遇到脚本提示需重启系统再次执行,那么就得再次输入初始化的配置

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

初始化配置的例子:

如果系统盘除去已占用空间还有18G硬盘空余,想开2G虚拟内存(2048MB的SWAP),15G的存储池,按照命令行的提示则依次输入204815

- +export PATH=$PATH:/snap/bin

连接后再测试lxc命令是否有报错找不到

一键安装

WARNING

如果是全新的服务器,务必保证apt update和apt install curl都无问题再执行本脚本

TIP

且自开机起最好等待5分钟后再执行以下命令,避免系统默认设置中就执行了本脚本导致apt源卡死

  • 环境要求:Ubuntu 18+(推荐),Debian 8+(仅限x86_64架构)

如果是Debian系的宿主机,务必在screen中执行本脚本,避免长期运行时SSH中断导致ZFS编译安装失败

这里的虚拟内存是说要开的SWAP大小,存储池则是你所有要开的小鸡占的盘的大小的总和

环境安装过程中可能需要重启服务器以加载含zfs的内核,然后再次执行安装命令,一切以运行后命令行的提示为准

如果脚本提示重启系统后需要再次执行脚本,第二次执行安装脚本仍提示重启系统加载内核,那么意味着内核在上一次加载中失败了,最好重装宿主机系统为ubuntu系解决这个问题

每次执行脚本都需要输入一次初始化的配置,所以遇到脚本提示需重启系统再次执行,那么就得再次输入初始化的配置

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

初始化配置的例子:

如果系统盘除去已占用空间还有18G硬盘空余,想开2G虚拟内存(2048MB的SWAP),15G的存储池,按照命令行的提示则依次输入204815

+ \ No newline at end of file diff --git a/guide/lxd_lxc.html b/guide/lxd_lxc.html index b82f332c7f..a22ff797e2 100644 --- a/guide/lxd_lxc.html +++ b/guide/lxd_lxc.html @@ -11,11 +11,11 @@ - + -
Skip to content
On this page

LXC虚拟化

单独生成一个NAT服务器

  • 只生成一个NAT服务器,可自定义限制所有内容

下载开机脚本是非必须的,如果你使用过一键安装LXD的命令,自动已下载对应的开机脚本,不需要重复下载该脚本

国际

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

国内

shell
curl -L https://ghproxy.com/https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

使用方法

./buildone.sh 小鸡名称 内存大小 硬盘大小 SSH端口 外网起端口 外网止端口 下载速度 上传速度 是否启用IPV6(Y or N) 系统(留空则为debian11)

内存大小以MB计算,硬盘大小以GB计算,下载速度上传速度以Mbit计算,是否启用IPV6不一定要填Y或者N,没有这个参数也行,留空默认不开启IPV6

如果外网起端口外网止端口都设置为0则不做区间外网端口映射了,只映射基础的SSH端口,注意不能为空,不进行映射需要设置为0

支持自定义小鸡的系统,不填写留空时默认使用debian11,注意传入参数为系统名字+版本号,如:

  • debian10,debian11,debian12
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,centos9 (实际开设出来都是Stream版本)
  • alpine3.15,alpine3.16,alpine3.17,alpine3.18
  • 注意都是小写字母+数字的组合,自行尝试,如果搜索无该系统则会自动退出脚本
  • 版本号可以带英文小数点,为了适配alpine的版本号已支持
  • 注意部分系统可能因为未加载cgroup,所以在容器内测试系统资源会显示的宿主机的系统资源,实际是有约束的,类同Docker

TIP

版本号中已结束长期维护的一般不再有官方镜像了,暂时未找到历史镜像的存档地址,如果有找到欢迎留言我会添加支持

示例

./buildone.sh test 256 2 20001 20002 20025 500 500 N
  • 以下为开设的示例小鸡的信息:
`小鸡名字` - test
+    
Skip to content
On this page

LXC虚拟化

单独生成一个NAT服务器

  • 只生成一个NAT服务器,可自定义限制所有内容

下载开机脚本是非必须的,如果你使用过一键安装LXD的命令,自动已下载对应的开机脚本,不需要重复下载该脚本

国际

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

国内

shell
curl -L https://ghproxy.com/https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

使用方法

./buildone.sh 小鸡名称 内存大小 硬盘大小 SSH端口 外网起端口 外网止端口 下载速度 上传速度 是否启用IPV6(Y or N) 系统(留空则为debian11)

内存大小以MB计算,硬盘大小以GB计算,下载速度上传速度以Mbit计算,是否启用IPV6不一定要填Y或者N,没有这个参数也行,留空默认不开启IPV6

如果外网起端口外网止端口都设置为0则不做区间外网端口映射了,只映射基础的SSH端口,注意不能为空,不进行映射需要设置为0

支持自定义小鸡的系统,不填写留空时默认使用debian11,注意传入参数为系统名字+版本号,如:

  • debian10,debian11,debian12
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,centos9 (实际开设出来都是Stream版本)
  • alpine3.15,alpine3.16,alpine3.17,alpine3.18
  • 注意都是小写字母+数字的组合,自行尝试,如果搜索无该系统则会自动退出脚本
  • 版本号可以带英文小数点,为了适配alpine的版本号已支持
  • 注意部分系统可能因为未加载cgroup,所以在容器内测试系统资源会显示的宿主机的系统资源,实际是有约束的,类同Docker

TIP

版本号中已结束长期维护的一般不再有官方镜像了,暂时未找到历史镜像的存档地址,如果有找到欢迎留言我会添加支持

示例

./buildone.sh test 256 2 20001 20002 20025 500 500 N
  • 以下为开设的示例小鸡的信息:
`小鸡名字` - test
 `SSH登录的用户名` - root
 `SSH登录的密码` - 随机生成
 `CPU核数` - 1   
@@ -46,8 +46,8 @@
 rm -rf /root/add_more.sh

下载回新版本的相关配置脚本

bash
wget https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/check-dns.sh -O /usr/local/bin/check-dns.sh && chmod +x /usr/local/bin/check-dns.sh
 wget https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/config.sh -O /usr/local/bin/config.sh && chmod +x /usr/local/bin/config.sh
 wget https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/ssh.sh -O /usr/local/bin/ssh.sh && chmod +x /usr/local/bin/ssh.sh
-wget https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/alpinessh.sh -O /usr/local/bin/alpinessh.sh && chmod +x /usr/local/bin/alpinessh.sh

其他一键脚本自己对应下载回来就行了

- +wget https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/alpinessh.sh -O /usr/local/bin/alpinessh.sh && chmod +x /usr/local/bin/alpinessh.sh

其他一键脚本自己对应下载回来就行了

+ \ No newline at end of file diff --git a/guide/lxd_precheck.html b/guide/lxd_precheck.html index bf2abe0cdc..5e0331166c 100644 --- a/guide/lxd_precheck.html +++ b/guide/lxd_precheck.html @@ -11,12 +11,12 @@ - + -
Skip to content
On this page

系统与硬件配置要求

要求

硬件要求:

  • 系统:Debian 8+, Ubuntu 18+(推荐20.04)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,Debian无法使用zfs时自动切换别的存储类型

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测母鸡是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)
- +
Skip to content
On this page

系统与硬件配置要求

要求

硬件要求:

  • 系统:Debian 8+, Ubuntu 18+(推荐20.04)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,Debian无法使用zfs时自动切换别的存储类型

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测母鸡是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxd/main/scripts/pre_check.sh)
+ \ No newline at end of file diff --git a/guide/lxd_qa.html b/guide/lxd_qa.html index c0c98bb255..1b91a16b4b 100644 --- a/guide/lxd_qa.html +++ b/guide/lxd_qa.html @@ -11,13 +11,13 @@ - + -
Skip to content
On this page

解惑

如果LXD安装后lxc命令显示找不到怎么办

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
-export PATH=$PATH:/snap/bin

执行这个命令后尝试

lxc -h

看看lxc命令是否已修复

开设centos7发现报错CGroupV1不支持怎么办

启用CGroup V1:要在Ubuntu系统上启用CGroup V1,需要编辑内核启动参数。

请注意,在更改内核启动参数之前,请务必备份重要的数据和设置,以防止意外的问题。

编辑/etc/default/grub文件,将GRUB_CMDLINE_LINUX_DEFAULT中的参数末尾加上cgroup_enable=memory

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash cgroup_enable=memory"

保存文件并运行以下命令更新GRUB引导。

bash
sudo update-grub

重启系统,使更改生效

如果上述更改仍旧不支持开设centos7,那么请使用别的宿主机系统尝试

目前已验证可开带独立IPV6地址容器的VPS商家

kuroit 中的 美国凤凰城 regular

datalix 中的 德国AMD 促销款

luxvps 中的 德国AMD 促销款

- +
Skip to content
On this page

解惑

如果LXD安装后lxc命令显示找不到怎么办

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
+export PATH=$PATH:/snap/bin

执行这个命令后尝试

lxc -h

看看lxc命令是否已修复

开设centos7发现报错CGroupV1不支持怎么办

启用CGroup V1:要在Ubuntu系统上启用CGroup V1,需要编辑内核启动参数。

请注意,在更改内核启动参数之前,请务必备份重要的数据和设置,以防止意外的问题。

编辑/etc/default/grub文件,将GRUB_CMDLINE_LINUX_DEFAULT中的参数末尾加上cgroup_enable=memory

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash cgroup_enable=memory"

保存文件并运行以下命令更新GRUB引导。

bash
sudo update-grub

重启系统,使更改生效

如果上述更改仍旧不支持开设centos7,那么请使用别的宿主机系统尝试

目前已验证可开带独立IPV6地址容器的VPS商家

kuroit 中的 美国凤凰城 regular

datalix 中的 德国AMD 促销款

luxvps 中的 德国AMD 促销款

+ \ No newline at end of file diff --git a/guide/lxd_thanks.html b/guide/lxd_thanks.html index 47d9f77ac4..95ec2a1678 100644 --- a/guide/lxd_thanks.html +++ b/guide/lxd_thanks.html @@ -11,12 +11,12 @@ - + - - + + \ No newline at end of file diff --git a/guide/pve_custom.html b/guide/pve_custom.html new file mode 100644 index 0000000000..9a824d3233 --- /dev/null +++ b/guide/pve_custom.html @@ -0,0 +1,22 @@ + + + + + + 一键虚拟化项目 | 一键虚拟化项目 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/guide/pve_install.html b/guide/pve_install.html index 52c10255bf..a8abec6353 100644 --- a/guide/pve_install.html +++ b/guide/pve_install.html @@ -11,12 +11,12 @@ - + -
Skip to content
On this page

PVE主体安装

安装过程中遇到选项不会选的可无脑按回车,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载

一键安装PVE

TIP

建议debian11而不是debian12,因为后者虽然是stable版本但不知道是否有未发现的BUG,debian11安装的目前稳定点

  • 安装的是当下apt源最新的PVE
  • 比如debian10则是pve6.4,debian11则是pve7.x,debian12则是pve8.x
  • /etc/hosts文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
  • /etc/cloud/cloud.cfg文件修改(避免覆写已修改的hostname等配置)
  • /etc/network/interfaces文件修改(修复auto、dhcp类型为static、增加vmbr0网关)
  • 检测是否为中国IP,如果为中国IP使用清华镜像源,否则使用官方源,同时处理apt的源和对应的nameserver,避免断网
  • 安装PVE开虚拟机需要的必备工具包
  • x86_64的替换apt源中的企业订阅为社区源,arm的使用第三方修复的补丁构建的源
  • 打印查询Linux系统内核和PVE内核是否已安装
  • 设置DNS检测8.8.8.8的开机自启添加DNS的systemd服务
  • 新增PVE的APT源链接后,下载PVE并打印输出登陆信息

所有修改过的文件均已设置为只读模式,避免重启后文件被覆写

如需修改请使用chattr -i 文件路径取消只读锁定,修改完毕请执行chattr +i 文件路径进行只读锁定

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

shell
bash install_pve.sh

TIP

安装成功后打开网页可能提示不安全,点击高级或更多选项,坚持访问即可

预配置环境

  • 创建资源池mypool
  • 移除订阅弹窗
  • 尝试开启硬件直通
  • 对AppArmor模块检测和自动安装
  • 重启系统前推荐挂上nezha探针方便在后台不通过SSH使用命令行,避免SSH可能因为商家奇葩的预设可能导致重启后root密码丢失
  • 执行reboot前需要等待后台任务执行完毕,一些宿主机的系统apt命令执行很慢,得等一会才能执行完毕,当然大部分的机器没这么烂

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

自动配置宿主机的网关

WARNING

使用前请保证重启过服务器且此时PVE能正常使用WEB端再执行,重启机器后不要立即执行此命令,待WEB端启动成功后至少等5分钟再执行本命令

TIP

这一步是最容易造成SSH断开的,原因是未等待PVE内核启动就修改网络会造成设置冲突,所以至少等几分钟待内核启动也就是WEB端启动成功后再执行

  • 创建vmbr0(独立IP网关),宿主机允许addr和gateway为内网IP或外网IP,已自动识别
  • vmbr0创建支持开设纯IPV4、纯IPV6、双栈虚拟机,自动识别IPV4地址和IPV6地址,自动识别对应的IP区间
  • 创建vmbr1(NAT网关),暂不支持开设带独立IPV6地址的NAT的IPV4虚拟机
  • 想查看完整设置可以执行cat /etc/network/interfaces查看,如需修改网关需要修改该文件,web端已经无法修改
  • 加载iptables并设置回源且允许NAT端口转发

简单的说,vmbr0负责v4/v6的独立IP,vmbr1复杂v4/v6的NAT

开独立IPV4的虚拟机时使用的vmbr0,gateway同宿主机,IPV4/CIDR使用同一网段的地址和相同的子网掩码,使用宿主机未绑定的IPV4地址做IPV4/CIDR,当然如果后续使用本套脚本无需关注这点细枝末节的东西

开NAT的IPV4的虚拟机时使用vmbr1,gateway使用172.16.1.1,IPV4/CIDR使用172.16.1.x/24,这里的x不能是1,当然如果后续使用本套脚本无需关注这点细枝末节的东西

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

TIP

这一步是可能需要你执行成功几分钟后重启系统,详见脚本最后执行完毕的提示

- +
Skip to content
On this page

PVE主体安装

安装过程中遇到选项不会选的可无脑按回车,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载

一键安装PVE

TIP

建议debian11而不是debian12,因为后者虽然是stable版本但不知道是否有未发现的BUG,debian11安装的目前稳定点

  • 安装的是当下apt源最新的PVE
  • 比如debian10则是pve6.4,debian11则是pve7.x,debian12则是pve8.x
  • /etc/hosts文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
  • /etc/cloud/cloud.cfg文件修改(避免覆写已修改的hostname等配置)
  • /etc/network/interfaces文件修改(修复auto、dhcp类型为static、增加vmbr0网关)
  • 检测是否为中国IP,如果为中国IP使用清华镜像源,否则使用官方源,同时处理apt的源和对应的nameserver,避免断网
  • 创建vmbr0(独立IP网关),宿主机允许addr和gateway为内网IP或外网IP,已自动识别
  • vmbr0创建支持开设纯IPV4、纯IPV6、双栈虚拟机,自动识别IPV4地址和IPV6地址,自动识别对应的IP区间
  • 安装PVE开虚拟机需要的必备工具包
  • x86_64的替换apt源中的企业订阅为社区源,arm的使用第三方修复的补丁构建的源
  • 打印查询Linux系统内核和PVE内核是否已安装
  • 设置DNS检测8.8.8.8的开机自启添加DNS的systemd服务
  • 新增PVE的APT源链接后,下载PVE并打印输出登陆信息

所有修改过的文件均已设置为只读模式,避免重启后文件被覆写

如需修改请使用chattr -i 文件路径取消只读锁定,修改完毕请执行chattr +i 文件路径进行只读锁定

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

shell
bash install_pve.sh

TIP

安装成功后打开网页可能提示不安全,点击高级或更多选项,坚持访问即可

预配置环境

  • 创建资源池mypool
  • 移除订阅弹窗
  • 尝试开启硬件直通
  • 对AppArmor模块检测和自动安装
  • 重启系统前推荐挂上nezha探针方便在后台不通过SSH使用命令行,避免SSH可能因为商家奇葩的预设可能导致重启后root密码丢失
  • 执行reboot前需要等待后台任务执行完毕,一些宿主机的系统apt命令执行很慢,得等一会才能执行完毕,当然大部分的机器没这么烂

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)

自动配置宿主机的网关

WARNING

使用前请保证重启过服务器且此时PVE能正常使用WEB端再执行,重启机器后不要立即执行此命令,待WEB端启动成功后至少等1分钟再执行本命令

TIP

这一步是最容易造成SSH断开的,原因是未等待PVE内核启动就修改网络会造成设置冲突,所以至少等几分钟待内核启动也就是WEB端启动成功后再执行

  • 创建vmbr1(NAT网关),暂不支持开设带独立IPV6地址的NAT的IPV4虚拟机
  • 想查看完整设置可以执行cat /etc/network/interfaces查看,如需修改网关需要修改该文件,web端已经无法修改
  • 加载iptables并设置回源且允许NAT端口转发

简单的说,vmbr0负责v4/v6的独立IP,vmbr1复杂v4/v6的NAT

开独立IPV4的虚拟机时使用的vmbr0,gateway同宿主机,IPV4/CIDR使用同一网段的地址和相同的子网掩码,使用宿主机未绑定的IPV4地址做IPV4/CIDR,当然如果后续使用本套脚本无需关注这点细枝末节的东西

开NAT的IPV4的虚拟机时使用vmbr1,gateway使用172.16.1.1,IPV4/CIDR使用172.16.1.x/24,这里的x不能是1,当然如果后续使用本套脚本无需关注这点细枝末节的东西

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)

TIP

这一步是可能需要你执行成功几分钟后重启系统,详见脚本最后执行完毕的提示

+ \ No newline at end of file diff --git a/guide/pve_kvm.html b/guide/pve_kvm.html index aff6de437b..71f016c80f 100644 --- a/guide/pve_kvm.html +++ b/guide/pve_kvm.html @@ -11,11 +11,11 @@ - + -
Skip to content
On this page

KVM虚拟化

SSH登录说明

KVM虚拟化开设出的虚拟机,默认生成的用户名不是root,你需要执行sudo -i切换为root用户

当然部分模板实际支持用户名root登录,默认的root密码是password,你也可以先试试

登录SSH切换为root权限后,一定要修改root密码,可以使用以下命令修改

国际

bash
bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

国内

bash
bash <(curl -sSL https://ghproxy.com/https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

部分注意事项

执行本项目的检测环境的命令,展示如下

图片

查询如上的只需使用下面的一键脚本自动创建虚拟机即可,无需手动再修改WEB端设置

图片

查询如上的在使用后续脚本创建了虚拟机后,可能需要手动修改WEB端设置,需要关闭对应每个虚拟机的硬件嵌套虚拟化,如下图

图片

先停止虚拟机再修改,修改完后再开机才能使用NOVNC,不关闭可能导致这个虚拟机有BUG无法使用

如果强行安装PVE开KVM,启动不了的也可以关闭这个选项试试能不能启动虚拟机

TIP

开设虚拟机前请使用screen挂起执行,避免开设时间过长,SSH不稳定导致中间执行中断

开设KVM虚拟机可使用的镜像

  • 已预安装开启cloudinit
  • 开启SSH登陆
  • 预设置SSH监听V4和V6的22端口
  • 开启允许密码验证登陆
  • 开启允许root登陆
  • 部分预安装Qemu-guest-agent

目前可使用的镜像名字的列表为

https://github.com/oneclickvirt/kvm_images/blob/main/list.text

单独开设NAT的KVM虚拟化的虚拟机

  • 自动开设NAT服务器,默认使用Debian10镜像,因为该镜像占用最小
  • 可在命令中自定义需要使用的镜像,这里有给出配置好的镜像,镜像自带空间设置是2~10G硬盘,日常使用至少10G以上即可,除非某些镜像开不起来再增加硬盘大小
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 自定义内存大小推荐512MB内存
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloud-init配置好网络以及登陆信息,大概需要5分钟
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

使用方法

  • 系统支持:
    • x86_64架构的详见 跳转 中列出的系统,使用时只需写文件名字,不需要.qcow2尾缀
    • arm架构的详见 跳转 中列出的系统,使用时只需要写系统名字+系统版本号,如ubuntu20、ubutnu22这种

TIP

注意这里的用户名不能是纯数字,会造成cloudinit出问题,最好是纯英文或英文开头

shell
./buildvm.sh VMID 用户名 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildvm.sh 102 test1 oneclick123 1 512 10 40001 40002 40003 50000 50025 debian11 local

开设完毕可执行cat vm102查看信息,或到WEB端对应VM的NOTES中查看

  • 以下为开设的示例VM的信息:
`VMID` - 102
+    
Skip to content
On this page

KVM虚拟化

SSH登录说明

KVM虚拟化开设出的虚拟机,默认生成的用户名不是root,你需要执行sudo -i切换为root用户

当然部分模板实际支持用户名root登录,默认的root密码是password,你也可以先试试

登录SSH切换为root权限后,一定要修改root密码,可以使用以下命令修改

国际

bash
bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

国内

bash
bash <(curl -sSL https://ghproxy.com/https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

部分注意事项

执行本项目的检测环境的命令,展示如下

图片

查询如上的只需使用下面的一键脚本自动创建虚拟机即可,无需手动再修改WEB端设置

图片

查询如上的在使用后续脚本创建了虚拟机后,可能需要手动修改WEB端设置,需要关闭对应每个虚拟机的硬件嵌套虚拟化,如下图

图片

先停止虚拟机再修改,修改完后再开机才能使用NOVNC,不关闭可能导致这个虚拟机有BUG无法使用

如果强行安装PVE开KVM,启动不了的也可以关闭这个选项试试能不能启动虚拟机

TIP

开设虚拟机前请使用screen挂起执行,避免开设时间过长,SSH不稳定导致中间执行中断

开设KVM虚拟机可使用的镜像

  • 已预安装开启cloudinit
  • 开启SSH登陆
  • 预设置SSH监听V4和V6的22端口
  • 开启允许密码验证登陆
  • 开启允许root登陆
  • 部分预安装Qemu-guest-agent

目前可使用的镜像名字的列表为

https://github.com/oneclickvirt/kvm_images/blob/main/list.text

单独开设NAT的KVM虚拟化的虚拟机

  • 自动开设NAT服务器,默认使用Debian10镜像,因为该镜像占用最小
  • 可在命令中自定义需要使用的镜像,这里有给出配置好的镜像,镜像自带空间设置是2~10G硬盘,日常使用至少10G以上即可,除非某些镜像开不起来再增加硬盘大小
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 自定义内存大小推荐512MB内存
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloud-init配置好网络以及登陆信息,大概需要5分钟
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

使用方法

  • 系统支持:
    • x86_64架构的详见 跳转 中列出的系统,使用时只需写文件名字,不需要.qcow2尾缀
    • arm架构的详见 跳转 中列出的系统,使用时只需要写系统名字+系统版本号,如ubuntu20、ubutnu22这种

TIP

注意这里的用户名不能是纯数字,会造成cloudinit出问题,最好是纯英文或英文开头

shell
./buildvm.sh VMID 用户名 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildvm.sh 102 test1 oneclick123 1 512 10 40001 40002 40003 50000 50025 debian11 local

开设完毕可执行cat vm102查看信息,或到WEB端对应VM的NOTES中查看

  • 以下为开设的示例VM的信息:
`VMID` - 102
 `SSH登录的用户名` - test1
 `SSH登录的密码` - oneclick123
 `CPU核数` - 1   
@@ -40,8 +40,8 @@
 rm -rf vmlog
 rm -rf vm*

TIP

PVE修改VM配置前都得停机先,再修改配置,修改完再启动,免得出现配置重载错误

开设独立IPV4地址的虚拟机

两个版本,各取所需

自动选择IPV4地址无需手动指定的版本

WARNING

使用前需要保证当前宿主机的IP段带了至少2个IP,且有空余的IP未配置,该空余的IP未绑定宿主机

  • 自动检测可用的IP区间,通过ping检测空余可使用的IP,选取其中之一绑定到虚拟机上
  • 如果宿主机自带IPV6子网将可选择是否附加上IPV6地址
  • 系统的相关信息将会存储到对应的虚拟机的NOTE中,可在WEB端查看

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm_extraip.sh -o buildvm_extraip.sh && chmod +x buildvm_extraip.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm_extraip.sh -o buildvm_extraip.sh && chmod +x buildvm_extraip.sh

创建示例

shell
./buildvm_extraip.sh VMID 用户名 密码 CPU核数 内存大小以MB计算 硬盘大小以GB计算 系统 存储盘 是否附加IPV6(默认为N)
shell
./buildvm_extraip.sh 152 test1 oneclick123 1 1024 10 debian12 local N

上述命令意义为开设一个带独立IPV4地址的虚拟机,VMID是152,用户名是test1,密码是oneclick123,CPU是1核,内存是1024MB,硬盘是10G,系统是debian12,存储盘是local盘也就是系统盘,默认不附加IPV6

需要手动指定IPV4地址的版本

  • 需要手动在命令中指定IPV4地址,且带上子网长度
  • 如果宿主机自带IPV6子网将可选择是否附加上IPV6地址
  • 如果商家有给IPV4地址和子网长度,请仔细比对,按照下面示例的命令写参数
  • 系统的相关信息将会存储到对应的虚拟机的NOTE中,可在WEB端查看

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm_manual_ip.sh -o buildvm_manual_ip.sh && chmod +x buildvm_manual_ip.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm_manual_ip.sh -o buildvm_manual_ip.sh && chmod +x buildvm_manual_ip.sh

创建示例

shell
./buildvm_manual_ip.sh VMID 用户名 密码 CPU核数 内存大小以MB计算 硬盘大小以GB计算 系统 存储盘 IPV4地址 是否附加IPV6(默认为N)
shell
./buildvm_manual_ip.sh 152 test1 oneclick123 1 1024 10 debian12 local a.b.c.d/24 N

上述命令意义为开设一个带独立IPV4地址的虚拟机,VMID是152,用户名是test1,密码是oneclick123,CPU是1核,内存是1024MB,硬盘是10G,系统是debian12,存储盘是local盘也就是系统盘,IPV4地址为a.b.c.d,子网为/24子网,默认不附加IPV6

开设纯IPV6地址的虚拟机

前提是宿主机给的是IPV6子网而不是单独一个IPV6地址,且宿主机未开启MAC地址校验

自动选择IPV6地址无需手动指定

  • 自动检测可用的IPV6区间,对应虚拟机编号的V6地址绑定到虚拟机上
  • 系统的相关信息将会存储到对应的虚拟机的NOTE中,可在WEB端查看

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm_onlyv6.sh -o buildvm_onlyv6.sh && chmod +x buildvm_onlyv6.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm_onlyv6.sh -o buildvm_onlyv6.sh && chmod +x buildvm_onlyv6.sh

创建示例

shell
./buildvm_onlyv6.sh VMID 用户名 密码 CPU核数 内存大小以MB计算 硬盘大小以GB计算 系统 存储盘
shell
./buildvm_onlyv6.sh 152 test1 oneclick123 1 1024 10 debian12 local

上述命令意义为开设一个纯IPV6地址的虚拟机,VMID是152,用户名是test1,密码是oneclick123,CPU是1核,内存是1024MB,硬盘是10G,系统是debian12,存储盘是local盘也就是系统盘

删除vm152示例

shell
qm stop 152
 qm destroy 152
-rm -rf vm152
- +rm -rf vm152
+ \ No newline at end of file diff --git a/guide/pve_lxc.html b/guide/pve_lxc.html index 51a030f290..ed8b902afd 100644 --- a/guide/pve_lxc.html +++ b/guide/pve_lxc.html @@ -11,11 +11,11 @@ - + -
Skip to content
On this page

LXC虚拟化

单独开设LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 自动开设NAT服务器,默认使用Debian11镜像,也可自定义系统
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部配置好网络以及登陆信息,大概需要3分钟
  • 默认开设的网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

使用方法

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
  • 系统支持:
  • debian10,debian11
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,almalinux9
  • 其他系统可能支持可能不支持,自行测试

TIP

系统参数一律是小写的系统名字拼接版本号,x86_64的具体可执行pveam available --section system查看可用的系统名字和版本号,arm的可在https://mirror.tuna.tsinghua.edu.cn/lxc-images/images/中查看支持的系统,版本号类同执行pveam available --section system查看到的版本号。 (注意脚本使用的参数只有小写的英文系统名字拼接版本号)

所有系统的CT默认用户名是root

shell
./buildct.sh CTID 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildct.sh 102 oneclick123 1 512 5 20001 20002 20003 30000 30025 debian11 local

开设完毕可执行cat ct102查看信息,或在web端的NOTES查看

  • 以下为开设的示例CT的信息:
`VMID` - 102
+    
Skip to content
On this page

LXC虚拟化

单独开设LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 自动开设NAT服务器,默认使用Debian11镜像,也可自定义系统
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部配置好网络以及登陆信息,大概需要3分钟
  • 默认开设的网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址

使用方法

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
  • 系统支持:
  • debian10,debian11
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,almalinux9
  • 其他系统可能支持可能不支持,自行测试

TIP

系统参数一律是小写的系统名字拼接版本号,x86_64的具体可执行pveam available --section system查看可用的系统名字和版本号,arm的可在https://mirror.tuna.tsinghua.edu.cn/lxc-images/images/中查看支持的系统,版本号类同执行pveam available --section system查看到的版本号。 (注意脚本使用的参数只有小写的英文系统名字拼接版本号)

所有系统的CT默认用户名是root

shell
./buildct.sh CTID 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘

测试示例

shell
./buildct.sh 102 oneclick123 1 512 5 20001 20002 20003 30000 30025 debian11 local

开设完毕可执行cat ct102查看信息,或在web端的NOTES查看

  • 以下为开设的示例CT的信息:
`VMID` - 102
 `SSH登录的用户名` - root
 `SSH登录的密码` - oneclick123
 `CPU核数` - 1   
@@ -39,8 +39,8 @@
 service networking restart
 systemctl restart networking.service

开设纯IPV6地址的虚拟机

前提是宿主机给的是IPV6子网而不是单独一个IPV6地址,且宿主机未开启MAC地址校验

自动选择IPV6地址无需手动指定

  • 自动检测可用的IPV6区间,对应容器编号的V6地址绑定到容器上
  • 系统的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh

创建示例

shell
./buildct_onlyv6.sh CTID 密码 CPU核数 内存大小以MB计算 硬盘大小以GB计算 系统 存储盘
shell
./buildct_onlyv6.sh 152 oneclick123 1 1024 10 debian12 local

上述命令意义为开设一个纯IPV6地址的CT容器,CTID是152,用户名是root,密码是oneclick123,CPU是1核,内存是1024MB,硬盘是10G,系统是debian12,存储盘是local盘也就是系统盘

删除示例

shell
rm -rf ct*
 pct stop 152 
-pct destroy 152
- +pct destroy 152
+ \ No newline at end of file diff --git a/guide/pve_precheck.html b/guide/pve_precheck.html index 60438af804..d34aae74d6 100644 --- a/guide/pve_precheck.html +++ b/guide/pve_precheck.html @@ -11,12 +11,12 @@ - + -
Skip to content
On this page

系统和硬件配置要求

如果有未适配的商家或机器欢迎联系@spiritlhl_bot,有空会尝试支持一下

各种要求

建议debian在使用前尽量使用最新的稳定版本的系统

非debian11可使用 debian一键升级 来升级系统

本项目只适配Debian系统(非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装)

  • 系统要求:Debian 8+

TIP

建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版

  • 硬件要求:2核2G内存x86_64arm架构服务器硬盘至少20G
  • 可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)
  • 如果硬件或系统需求不满足,可使用LXD批量开LXC容器跳转

WARNING

内存开点swap免得机器炸了开SWAP点我跳转

开设虚拟内存(SWAP)

单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用

建议只开实际内存大小两倍大小的虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

检测环境

  • 本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本
  • 检测本机IPV6的网络配置情况(有无IPV6都可安装,只是查询一下罢了)
  • 检测硬件配置是否满足最低要求
  • 检测硬件环境是否可嵌套虚拟化KVM类型的服务器
  • 检测系统环境是否可嵌套虚拟化KVM类型的服务器
  • 不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用LXD

国际

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

国内

bash
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

如果你需要更新IPV6信息再查询,那么执行以下命令后再查询

bash
rm -rf /usr/local/bin/pve_ipv6*


- +
Skip to content
On this page

系统和硬件配置要求

如果有未适配的商家或机器欢迎联系@spiritlhl_bot,有空会尝试支持一下

各种要求

建议debian在使用前尽量使用最新的稳定版本的系统

非debian11可使用 debian一键升级 来升级系统

本项目只适配Debian系统(非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装)

  • 系统要求:Debian 8+

TIP

建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版

  • 硬件要求:2核2G内存x86_64arm架构服务器硬盘至少20G
  • 可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)
  • 如果硬件或系统需求不满足,可使用LXD批量开LXC容器跳转

WARNING

内存开点swap免得机器炸了开SWAP点我跳转

开设虚拟内存(SWAP)

单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用

建议只开实际内存大小两倍大小的虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

国内

shell
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

检测环境

  • 本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本
  • 检测本机IPV6的网络配置情况(有无IPV6都可安装,只是查询一下罢了)
  • 检测硬件配置是否满足最低要求
  • 检测硬件环境是否可嵌套虚拟化KVM类型的服务器
  • 检测系统环境是否可嵌套虚拟化KVM类型的服务器
  • 不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用LXD

国际

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

国内

bash
bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)

如果你需要更新IPV6信息再查询,那么执行以下命令后再查询

bash
rm -rf /usr/local/bin/pve_ipv6*


+ \ No newline at end of file diff --git a/guide/pve_qa.html b/guide/pve_qa.html index 9223bc5c46..c42c44f74f 100644 --- a/guide/pve_qa.html +++ b/guide/pve_qa.html @@ -11,17 +11,17 @@ - + -
Skip to content
On this page

解惑

安装PVE成功但重启后失联

如果什么机器安装PVE成功后WEB可用,但重启失联,请安装成功PVE后,重启前执行以下命令再重启

bash
auto_interface=$(grep '^auto ' /etc/network/interfaces | grep -v '^auto lo' | awk '{print $2}' | head -n 1)
+    
Skip to content
On this page

解惑

安装PVE成功但重启后失联

如果什么机器安装PVE成功后WEB可用,但重启失联,请安装成功PVE后,重启前执行以下命令再重启

bash
auto_interface=$(grep '^auto ' /etc/network/interfaces | grep -v '^auto lo' | awk '{print $2}' | head -n 1)
 if ! grep -q "^post-up /sbin/ethtool" /etc/network/interfaces; then
     chattr -i /etc/network/interfaces
     echo "post-up /sbin/ethtool -K $auto_interface tx off rx off" >> /etc/network/interfaces
     chattr +i /etc/network/interfaces
-fi

然后将重启失联的机器报给 @spiritlhl_bot 待更新脚本自动修复

安装PVE失败

如果有什么机器安装不了,着急的可以尝试使用以下仓库的脚本先重装为debian11先

bash <(curl -sSL https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh) -debian 11 -pwd 'oneclickvirt139'

此时dd后的系统用户名为root,密码为oneclickvirt139

如果有空或者还是不行,请联系 @spiritlhl_bot 尝试

目前已验证的VPS商家

可开设KVM虚拟化的NAT的商家

interserver 中的独立服务器

frantech 中的拉斯维加斯第二档

eugamehost 中的美国凤凰城黑五促销款

amhost 中的测试款

digitalocean 中的 Perminu Intel 和 Regular 4核款

skrime 中的 AMD Ryzen KVM Server 最低配款

webdock 中的 AMD KVM Server

4vps 中的 俄罗斯和希腊 测试款

hostaris 中的 德国款 (商家的系统模板有问题,IPV6已失效和Github的连通稳定性很差)

adtaq 中的最低配存储KVM服务器

nocix 中的独立服务器

只可开设LXC虚拟化的NAT的商家

腾讯云 中的无忧款和特惠款(学生机)

spectraip 中的KVM服务器

Linode 中美国专用CPU的最低配

hosthatch 中的特价高配服务器

hetzner 的cloud服务器

rackdog 的浮动IP的服务器

vultr 的Cloud普通服务器

azure 的普通机器

已知暂时不可用未适配的商家

OVH

- +fi

然后将重启失联的机器报给 @spiritlhl_bot 待更新脚本自动修复

安装PVE失败

如果有什么机器安装不了,着急的可以尝试使用以下仓库的脚本先重装为debian11先

bash <(curl -sSL https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh) -debian 11 -pwd 'oneclickvirt139'

此时dd后的系统用户名为root,密码为oneclickvirt139

如果有空或者还是不行,请联系 @spiritlhl_bot 尝试

目前已验证的VPS商家

可开设KVM虚拟化的NAT的商家

interserver 中的独立服务器

frantech 中的拉斯维加斯第二档

eugamehost 中的美国凤凰城黑五促销款

amhost 中的测试款

digitalocean 中的 Perminu Intel 和 Regular 4核款

skrime 中的 AMD Ryzen KVM Server 最低配款

webdock 中的 AMD KVM Server

4vps 中的 俄罗斯和希腊 测试款

hostaris 中的 德国款 (商家的系统模板有问题,IPV6已失效和Github的连通稳定性很差)

adtaq 中的最低配存储KVM服务器

nocix 中的独立服务器

只可开设LXC虚拟化的NAT的商家

腾讯云 中的无忧款和特惠款(学生机)

spectraip 中的KVM服务器

Linode 中美国专用CPU的最低配

hosthatch 中的特价高配服务器

hetzner 的cloud服务器

rackdog 的浮动IP的服务器

vultr 的Cloud普通服务器

azure 的普通机器

已知暂时不可用未适配的商家

OVH

+ \ No newline at end of file diff --git a/guide/pve_thanks.html b/guide/pve_thanks.html index 0780b3217a..68668fbe07 100644 --- a/guide/pve_thanks.html +++ b/guide/pve_thanks.html @@ -11,12 +11,12 @@ - + - - + + \ No newline at end of file diff --git a/hashmap.json b/hashmap.json index a8b4e4d4f6..9704ce534e 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"en_us_developer_index.md":"2255610b","en_us_guide_dashboardq.md":"15cf9dc4","en_us_guide_docker_build.md":"c0bfd8d1","en_us_developer_l10n.md":"4036c795","en_us_guide_dashboard.md":"43ac12c3","en_us_guide_docker_precheck.md":"8dd186d4","en_us_guide_docker_install.md":"8c82b475","case_index.md":"0cead287","developer_index.md":"cb26371e","case_case3.md":"35ddbe52","case_case5.md":"5c69ccbb","en_us_guide_docker_qa.md":"9e6be4d4","case_case4.md":"064faf06","en_us_guide_lxd_lxc.md":"128cc437","en_us_guide_lxd_extra_config.md":"ce758aaa","en_us_guide_lxd_install.md":"4fecd7a8","case_case2.md":"48820ddb","en_us_guide_docker_thanks.md":"fe0a5144","case_case1.md":"a9751583","en_us_guide_lxd_qa.md":"61830c4d","developer_l10n.md":"eeeeb5ed","en_us_guide_pve_lxc.md":"a412d748","en_us_guide_pve_precheck.md":"a2047c48","en_us_guide_lxd_thanks.md":"6410f665","en_us_guide_pve_kvm.md":"320475b6","en_us_guide_pve_install.md":"237a1890","index.md":"30e2fedd","guide_docker_qa.md":"f7dd9fa6","guide_docker_thanks.md":"6a1c0fb4","guide_lxd_extra_config.md":"305b2932","guide_lxd_install.md":"cfe5ab60","guide_pve_install.md":"cd5e333f","guide_docker_install.md":"df854c6c","guide_lxd_lxc.md":"b704b84b","en_us_guide_lxd_precheck.md":"87fc8e3c","guide_lxd_thanks.md":"154d4bb6","guide_lxd_qa.md":"2e838717","guide_dashboard.md":"b88efe74","en_us_guide_pve_qa.md":"9516d4d0","guide_pve_lxc.md":"604e5936","guide_pve_precheck.md":"0ca0ed12","guide_pve_qa.md":"bbb24844","guide_pve_kvm.md":"f3a994c1","en_us_index.md":"e24d0466","guide_dashboardq.md":"6314fd1f","guide_lxd_precheck.md":"0223a21d","en_us_guide_pve_thanks.md":"8f5d1ae3","guide_pve_thanks.md":"a10b6431","guide_docker_precheck.md":"d888df4d","guide_docker_build.md":"e215cf02"} +{"en_us_guide_pve_precheck.md":"dd286485","guide_docker_build.md":"a8e786ab","en_us_guide_lxd_lxc.md":"92a86cdd","en_us_guide_pve_lxc.md":"ae424d29","en_us_guide_pve_qa.md":"a4ce5baa","guide_docker_custom.md":"f85667a1","en_us_guide_pve_install.md":"d630b2fd","en_us_guide_pve_kvm.md":"4a11a7e4","developer_l10n.md":"da859088","en_us_guide_dashboardq.md":"29d0f55c","en_us_guide_docker_precheck.md":"0279ebfe","en_us_guide_docker_thanks.md":"4c5159cf","en_us_developer_l10n.md":"2063851e","en_us_guide_lxd_qa.md":"eaeeb5b9","guide_docker_install.md":"c000ba1b","guide_docker_precheck.md":"c6be1c9c","guide_docker_qa.md":"3ec55c6d","guide_docker_thanks.md":"e2d41697","en_us_guide_docker_build.md":"fe82b803","en_us_guide_docker_install.md":"713b5fd3","en_us_guide_dashboard.md":"8bd90168","case_case4.md":"8c31ef7b","en_us_guide_pve_thanks.md":"11a4369a","en_us_guide_lxd_precheck.md":"42edddf0","en_us_guide_lxd_thanks.md":"e617b72f","en_us_guide_pve_custom.md":"66528c36","guide_lxd_custom.md":"c4988adb","guide_lxd_install.md":"19db30eb","en_us_guide_docker_custom.md":"bebb1118","guide_lxd_extra_config.md":"998c7b4b","guide_pve_lxc.md":"c082367c","guide_dashboard.md":"339895c8","guide_dashboardq.md":"0ff14252","en_us_guide_docker_qa.md":"56b5d8e5","en_us_guide_lxd_extra_config.md":"2b4d8ad3","en_us_developer_index.md":"d6c8d7c8","en_us_guide_lxd_custom.md":"c729cc49","developer_index.md":"7893760b","guide_pve_precheck.md":"c9d4960e","guide_lxd_thanks.md":"e8f31f5f","guide_pve_custom.md":"1c7e67dd","guide_pve_install.md":"42afb286","guide_lxd_lxc.md":"c4a66708","case_case2.md":"1b638414","case_case1.md":"8facee8c","en_us_guide_lxd_install.md":"870634e7","guide_pve_kvm.md":"cb76d233","en_us_index.md":"a890aa4e","case_case5.md":"dd547a5f","guide_pve_thanks.md":"632f98a3","case_case3.md":"a369e2f8","guide_lxd_qa.md":"698cbf8a","guide_pve_qa.md":"77a33da0","guide_lxd_precheck.md":"26071050","case_index.md":"d5a08686","index.md":"1aa4089f"} diff --git a/index.html b/index.html index e30b45bd3b..867e071e29 100644 --- a/index.html +++ b/index.html @@ -11,12 +11,12 @@ - + -
Skip to content

一键虚拟化项目

开源、易于使用的服务器虚拟化项目

- +
Skip to content

一键虚拟化项目

开源、易于使用的服务器虚拟化项目

+ \ No newline at end of file