All in one(二)安装PVE
本系列分享是构建一个基于PVE系统的All in one方案,这一篇主要介绍的有以下几个部分1.U盘引导工具ventoy;2. PVE的安装;3.PVE的初步设置以及shell的一些基础命令;4.远程文件可视化交互软件winscp;5.远程SSH工具Termius。
一.Ventoy
一般来说以前将镜像写入U盘引导会使用rufus等工具,每次装不同的系统都需要将U盘重新格式化一次写入镜像,比较不方便。而Ventoy工具则实现了省去每个镜像都要写一次盘的步骤。
项目下载地址,请下载对应系统的版本,例如windows.zip
https://www.ventoy.net/cn/download.html
这个地址直接点击会跳转到github的release下载,你也可以选择下面的镜像下载
图片下载后解压到你想要的路径后运行目录内的Ventoy2Disk.exe,选择你要安装Ventoy的U盘,点击安装即可,首次安装会格式化U盘请注意。未来如果有新版本也可以使用同样的方法下载解压运行然后点击升级即可,升级不会影响在Ventoy这个盘里面储存的镜像。
图片1.0.99版本安装完成后就会看到U盘名字变成了Ventoy并且只有一个盘,这个盘用来存镜像或者可以直接当一个普通的U盘。另外还有一个VTOYEFI的隐藏盘以前的版本可以看见,新的版本看不见了,不过也不用去管这个盘。
二.安装PVE
PVE(Proxmox Virtual Environment)是一个基于Debian系统的开源虚拟平台,目前的PVE8.2-1版本是基于Debian12的。镜像官方下载地址
https://www.proxmox.com/en/downloads
图片有直接下载和种子下载两种,如果下不动我们也可以使用清华的镜像源(再次感谢世一大的镜像),反正后面换源也会用到。
https://mirrors.tuna.tsinghua.edu.cn/proxmox/iso/proxmox-ve_8.2-1.iso
下载完成后将iso文件放入我们刚才的U盘的Ventoy这个盘中,来到我们准备安装PVE的主机,将键盘、鼠标、显示器和网线先连接在这台主机上,等会儿要用,pcie网卡和usb网卡可以不插,免得等会儿分不清楚网卡。
先进入bios,确认intel virtualization technology处于开启状态。(AMD也需要相应开启AMD的虚拟化选项,应该是叫SVM Mode)
图片然后插入U盘,F10保存重启,开机按F12(也有可能是其他按键来选择开机启动顺序,如果实在找不到就在bios的设置里面把U盘启动放到第一位,如果你的硬盘里面还是有系统的话,硬盘是空的就什么都不用调整)
引导进入Ventoy后就可以看见启动镜像选择界面了,我们选择PVE8.2(因为我里面放了其他镜像),启动。
图片启动后就可以进入PVE安装界面,我们选择第一个图形安装界面
图片这里我们首先有一个网络问题,如果说你目前没有主路由,后续由PVE内的软路由来当主路由的话,那么你的PVE主机要和你后续用来进webui设置的电脑用网线连起来;如果你跟我一样还是用的别的机器做主路由,那就用网线把PVE主机和主路由连起来,并且记录你的主路由ip地址,等会儿要用,例如主路由ip是192.168.x.1。
跑一段代码后会进入同意协议界面,如果说你的bios中虚拟化没有开启这里也会提示。点击I agree进入下一页,选择你的系统硬盘,如果你已经插了多块硬盘不要选错了,再次建议还是用一块M2接口的SSD来做系统盘,这样后面可以直通sata控制器。选定后点next
图片这一页是选择国家时区和键盘布局,如果你连着网一般来说不用改,或者你想调整按你的想法调整也行,确定后点next.
图片这一页是设置root密码和填邮箱,邮箱可以随意,root密码请记住并有点复杂度,因为后续如果你要用ipv6实现公网访问的话PVE主机是有ipv6地址的。虽然说ipv6被扫到的概率并不大,但是万一呢。
图片下一页是ip地址,具体每行如图
图片管理接口网卡这里选择的是作为pve管理端口对应的网卡。理论上默认选择的网卡是你现在插着网线的网卡。选项里面en开头的是有线网卡,wl开头的是无线网卡。如果说你拿不准那个网卡是哪个口,可以先选一个再说,后面如果有问题可以去pve系统内/etc/network/interfaces里面去修改。
主机域名随意,只要长得是个域名就行了,比如xxx.com
ip地址,输入你的pve的ip地址,如果说你是接在主路由上的,当前的ip就是你目前路由器给PVE分配的ip。如果你要修改,那么假设主路由ip地址是192.168.x.1,你这里就输入192.168.x.y,y的值在2-254范围内选个你喜欢的并且当前路由器下没有被占用的,同时建议打开路由器后台准备绑定这个ip到pve主机这张网卡(设置局域网静态ip各个路由器都不太一样,可以自行搜索)。另外再说一下CIDR这个后面的/24,以后在看见输入CIDR的ip地址的时候都要输入斜杠后面一个数字,表示ip地址前多少位是相同的就在一个子网内,例如ipv4地址是由四个0-255之间的数字构成的,0-255的数字对应二进制的8位,24位就等于ip地址中前三个数字相同就在一个子网内,也就是/24等于子网掩码255.255.255.0。
网关,一般就是主路由的ip。接在主路由上的这里应该默认就行,暂时没有主路由的话,上面PVE的ip是192.168.x.y,这里就填192.168.x.1。或者你后续主路由器的ip不想1结尾你要选个1-254之间你自己喜欢的也行。
DNS服务器,接在主路由上这里也是默认就行,理论上应该和网关地址一致。没接主路由也是自己手动改成跟上面网关一样即可。
再次点击确认就会让你确认安装信息,无误的话点击右下角install进行安装。安装完成后会自动重启,如果说之前调整了启动顺序记得拔掉U盘,或者开机又进ventoy引导了按开关关一次机再拔U盘就行。
再次启动后会显示你的pve管理页面的ip地址,这个时候pve就不需要再接显示器了。
三.初步配置PVE及shell基本命令
如果说你的电脑和PVE主机在上一步的设置中都是连接在主路由上的,那么现在你可直接访问webui的地址进入PVE管理界面
如果没有主路由,就是网线把你的电脑和PVE主机连在一起,那么需要打开你的电脑,任务栏搜索查看网络连接,右键点击以太网,选择属性,双击ipv4,弹出窗口内选择使用下面的ip地址,地址输入192.168.x.z,z跟y不同就行,子网掩码255.255.255.0,网关还是选择192.168.x.1跟你的PVE设置一致。点击确定即可
图片浏览器输入
即可进入PVE管理界面,先切换最后一行的语言为中文,然后用户名root,密码你刚才安装的时候设置的密码。可以选择保存用户名。
图片登录后即进入管理界面,左边是节点和虚拟机的选择界面,中间是各种选项,右上角是创建虚拟机和创建CT容器,下面一行是开关机重启移除之类的。
图片首先介绍一点shell的基础命令
最常用的还是ctrl+shift+C或者V是复制或粘贴,单纯的ctrl+C是取消当前操作。
cd:更改当前工作目录,后面可以接路径,输入当前目录内的目录名字就是进入该目录,cd ..是返回上一级目录,什么都不加是返回用户主目录,例如你现在的用户是root那就是返回/root。cd /是进入根目录。
ls 显示目录内的目录和文件名字,后面接-l 是详细信息,-a显示隐藏文件,可以多个参数一起,没有加目录路径就是当前目录。
cp 复制,修改文档前建议复制一个当前文档作为备份,cp命令的基础使用就是cp 源文件(不在当前目录需要路径) 复制的新文件名(不在当前目录需要路径),例如我们要修改apt源可以先复制一个source.list备份文件,命令如下
cp /etc/apt/sources.list /etc/apt/sources.list.bak
nano 比较适合初学者的shell内文本编辑器,但是请注意shell里面不能鼠标点着拉一大段然后点删除键删除,这一点比较麻烦,但是你用ctrl+K这个剪切功能可以删掉光标所在的一整行。最主要的操作还是修改完后ctrl+X退出,他会询问你是否保存,y是n否,如果选是按回车会确认文件名字,再按回车即可完成修改。如果说文件不存在的话这个命令也会新建。
vi/vim 另外一个文本编辑器,操作不太适合初学者。键盘按i键进入编辑模式,修改完成后按esc退出编辑模式。然后键盘上按:wq!(注意先要按冒号)退出编辑,w的意思是写入,如果你不想写入就不要输w,也就是说只用按:q!就是直接不修改强制退出;q是退出,但它会问你保不保存,!是强制退出不用问保不保存。如果说文件不存在的话这个命令也会新建。
1.换源及更新
所有Linux系统我们使用前还是先更新一下软件包的索引和已经安装的软件包,官方源依然网络不是特别好使,所以我们换一个清华源。
点击右侧PVE节点,点击中间设置栏的shell,进入命令行。PVE的换源包含两个系统,一个是debian12,一个是他自己。
debian12换源教程
https://mirrors.tuna.tsinghua.edu.cn/help/debian/
系统是传统模式,先备份source.list,然后nano修改它,命令如下
cp /etc/apt/sources.list /etc/apt/sources.list.bak
nano /etc/apt/sources.list
把文档里面的东西全删了,然后把网页里面代码框内的都粘进去,要选择启用源码源也行
图片然后是PVE的软件源和CT模板源
https://mirrors.tuna.tsinghua.edu.cn/help/proxmox/
同样软件源我们先备份再修改
cp /etc/apt/sources.list.d/pve-no-subscription.list /etc/apt/sources.list.d/pve-no-subscription.list.baknano /etc/apt/sources.list.d/pve-no-subscription.list
这个简单只有一行,把原来的删了输入下面这一行就行了
deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian/pve bookworm pve-no-subscription
然后是CT模板源,同样先备份,然后这个文件其他东西太长了有个命令直接修改那一行
cp /usr/share/perl5/PVE/APLInfo.pm /usr/share/perl5/PVE/APLInfo.pm_back
sed -i 's|http://download.proxmox.com|https://mirrors.tuna.tsinghua.edu.cn/proxmox|g' /usr/share/perl5/PVE/APLInfo.pm
更换完后我们更新一下软件包索引和已经安装的软件包
apt update
apt upgrade
CT模板源需要重启,因为现在我们用不上CT模板,所以就后面再重启。
2.启动SSH
一般来说PVE默认是安装了ssh的服务,不放心可以运行以下命令。对于debian和Ubantu两个系统而言,如果说你遇到哪个命令运行起来显示command not found可以用AI问一下是不是用apt安装哪个包就可以解决,Centos的话是yum命令。
apt install openssh-server
然后我们修改ssh守护进程配置文件
nano /etc/ssh/sshd_config
只列出来我觉得会用上的的,其实可以复制出来直接问AI,我就用省略号代替了
# This is the sshd server system-wide configuration file. See# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/local/bin:/usr/bin:/bin:/usr/games
# The strategy used for options in the default sshd_config shipped with# OpenSSH is to specify options with their default value where# possible, but leave them commented. Uncommented options override the# default value.
Include /etc/ssh/sshd_config.d/*.conf
#Port 22 此处可以修改ssh端口号,默认是22,修改记得删除注释的井号,下同
#AddressFamily any
#ListenAddress 0.0.0.0 此处可以修改ipv4的监听ip,127.0.0.1就是仅本机,192.168.x.y就是局域网内,默认是所有
#ListenAddress :: 这是ipv6的
……
PermitRootLogin yes # 允许root用户登录,新安装的默认是prohibit-password,也就是禁止密码登录root
……
KbdInteractiveAuthentication no # 禁止键盘交互验证,PVE默认的
……
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the KbdInteractiveAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via KbdInteractiveAuthentication may bypass# the setting of "PermitRootLogin prohibit-password".
# If you just want the PAM account and session checks to run without# PAM authentication, then enable this but set PasswordAuthentication
# and KbdInteractiveAuthentication to 'no'.
UsePAM yes # 启用PAM验证,上面是他的描述,关联着键盘交互验证和密码验证两个的设置
……
X11Forwarding yes # X11转发,默认是开着的……PrintMotd no # 是否显示每日信息……
# Allow client to pass locale environment variables
AcceptEnv LANG LC_* # 设置可以远程接受哪些环境变量
# override default of no subsystems
Subsystem sftp /usr/lib/openssh/sftp-server # sftp服务处理位置
# Example of overriding settings on a per-user basis
#Match User anoncvs# X11Forwarding no
# AllowTcpForwarding no# PermitTTY no
# ForceCommand cvs server
其实我们最需要改的就是最开始端口号和ListenAddress,用来增加安全性,记得修改后把前面注释的#号删除。其他的就是root用户登录方式的地方看你的安全考虑,我为了方便是直接允许。如果说你为了安全可以使用RSA加密把公钥复制到hostkey对应的行的路径目录并且添加到hostkey中。
配置完成后我们启动ssh服务,并且设置为开机自动启动
systemctl enable ssh
systemctl start ssh
systemctl也会是一个比较常用的命令,用来控制和管理服务的。对于服务常用的格式为
systemctl 命令 服务名
命令有以下几个常用
start 启动
stop 停止
restart 重启
reload 重新加载配置
enable 设置开机启动
disable 关闭开机启动
status 查看服务状态
3.开启硬件直通前置工作
以下设置需要CPU支持VT-d,请参照上一篇确认。
如果嫌弃shell里面修改太麻烦了,可以跳到后面winscp部分先把winscp装了再改,图形化界面有的时候还是有其效率性。
如果说你要用到sr-iov(即一个物理设备虚拟直通给多个虚拟机)的话需要更多的设置,如果有兴趣可以自行搜索。
由于我只有intel的cpu,没有办法验证AMD按如下设置后续会不会出现bug。
首先需要去/etc/default/grub里面启动iommu,同样的先备份再修改,后面这个备份修改的步骤的shell命令就省略了,自行替换路径就行。
cp /etc/default/grub /etc/default/grub.baknano /etc/default/grub
找到GRUB_CMDLINE_LINUX_DEFAULT行,将其修改为如下内容
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on vfio_iommu_type1.allow_unsafe_interrupts=1"
quiet代表静默启动只显示错误信息,intel_iommu=on代表启动intel的iommu,如果是amd就把intel换成amd,理论上到这里就OK了。后面的vfio_iommu_type1.allow_unsafe_interrupts=1表示允许vfio不安全的中断,可能可以提升性能,这条可选,也可以不写进去。保存修改后shell输入命令更新grub
update-grub
intel的核显其实不太需要屏蔽掉核显驱动,所以此条可选,amd的好像是必须要,屏蔽是在/etc/modprobe.d/pve-blacklist.conf文件中,同样我们先备份,再修改,amd的修改的内容如下
blacklist amdgpu
blacklist snd_hda_intel
intel如果想要就把amdgpu改成i915,下面那个intel是大家声卡都用这个命令就行。
然后是开启vfio模块,网卡和sata控制器选择直通后会自动有vfio设备,核显我没直通所以没有测试,需要修改的文件是/etc/modules,依然还是先备份再修改,修改内容为在最后增加
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
四行命令的意思是启用vfio模块;vfio-iommu模式为1,可以直接内存访问;vfio可以调用pci(e)设备;允许vfio中断转发。
如果说有多网口网卡需要解绑可以搜索iommu_group解绑,按照步骤一步步来应该没有问题,我这里没有多网口网卡就没有尝试了。
如果说你的核显要开vfio需要去vfio配置文件里面配置options,那么可以搜索核显以及/etc/modprobe.d/vfio.conf查看相关文章。
其实只要像我一样不直通核显给虚拟机就可以省去很多麻烦,需要核显的服务直接在lxc容器里面跑。
接下来我们重启PVE(点击webui界面右上角重启或者shell输入reboot),重启后我们可以检查一下iommu是否已经启动,使用shell命令
dmesg | grep -i iommu
成功应该会有一行DMAR:IOMMU ENABLED
四.Winscp
WinSCP 是一个在 Windows 环境下使用的开源图形化 SFTP、SCP 客户端。
不管是SFTP还是SCP连接都需要先开启SSH服务,所以说至少SSH配置文件需要你在shell中完成并启动SSH服务才能够实现连接使用。
如果上面的那些配置过程通过shell进入目录修改文档是不是有一些不习惯,还是希望有一个图形化的像windows文件资源管理器类似的东西,那么可以尝试使用winscp,下载地址如下, 网站和下载会看见广告。
https://winscp.net/eng/download.php
图片下载后安装,选择为所有用户安装,然后同意协议, 由于软件不大可以直接典型安装
图片界面选项都可以选,commander界面可以显示本地目录,有需要的时候可以直接拖文件实现上传下载。
安装完成后打开,可以看到新建站点。主机名就是你PVE主机的ip,端口号看你刚才ssh配置文件改没,没改就是22,用户名是root,然后点击保存,不建议保存密码,密码每次连接输入就行。
图片进入之后左边是你本地的目录,右边是你连接的主机的目录,例如我们之前的换源,就是进到/etc/apt目录内,双击source.list文件打开
图片把里面的内容全部删了然后把清华镜像源的那一堆地址复制进去,然后点击左上角保存就行。单就复制粘贴而言,效率我认为是超过shell命令的。
图片五.SSH工具
ssh工具哪个最好用大概就和哪种语言最好用没个定论,个人用的是termius,免费版也只是没有联网同步的功能。当然了你用putty或者说用powershell连接ssh也不是不行。putty安装后是可以在上面的winscp直接打开的。
Termius需要注册账号,用邮箱注册就行,选择Sign Up with Email
注册成功后在账号页面可以选择下载windows
图片下载后双击安装,然后会自动完成,没有可以选的东西,完成后打开,一开始应该是有Pro的试用,但是starter已经足够个人使用了,过期了就选择下面的starter就行。
图片然后选择New host,以后也是从这儿新建
图片然后根据你自己的ip和密码填写
图片完成后点下面的connect,然后就可以连接了。进去之后界面和PVE的shell长得差不多,只是说稍微好看一点,然后支持右键直接复制粘贴。手机版有输入提示,电脑端好像没有。
另外termius的SFTP也可以传输文件,但是没有文本编辑器,所以我还是会用winscp.
图片至此,PVE的基础和我们后续要用的一些工具已经安装完成了。下一篇开始我们将开始安装虚拟机和lxc容器来实现All in one的功能了。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
abc2000
校验提示文案
小曹老师
校验提示文案
Mr_SYang
校验提示文案
全都值得buy
校验提示文案
csqmdx
校验提示文案
csqmdx
校验提示文案
全都值得buy
校验提示文案
小曹老师
校验提示文案
Mr_SYang
校验提示文案
abc2000
校验提示文案