Debian 11 使用 PVE7部署Linux虚拟机

宿主机支持嵌套虚拟化,又不喜欢lxc ct容器?那就孵Linux虚拟化耍耍吧~

安装PVE

虚拟化支持

首先得确定宿主机支持“嵌套虚拟化”,可以简单使用

apt -y install curl && curl -sL yabs.sh | bash -s -- -fi

输出配置信息后 ctrl+c  来取消性能测试,若是VM-x/AMD-V为 enable 就表示可以。否则,只能开CT容器,就不要再往下操作了,洗洗睡吧。

1.新建网络

自己选择一个方案:

2.创建虚拟机

  • 常规:填写名称,底下勾选高级
  • 操作系统:选择不使用任何介质,其它的看选择来
  • 系统:无特别需要,直接默认
  • 磁盘:磁盘大小填写需要的数值,不能超过宿主机的磁盘大小。如果不需要备份,先别着急取消勾选备份,后面用的到。带宽:看需要来限制,不需要就不用管
  • cpu:看需要填写核心,和类别,其它的选择按需要来
  • 内存:按需要填写数值,其它的默认
  • 网络:这里的会自动选择之前创建好的虚拟网卡,需要注意的是一定要取消勾选防火墙。其它的默认就行
  • 确认:简单看一下最后的配置信息,无误则选择完成。这里就不要勾选创建后启动了,因为接下来我们需要替换想要的镜像进去。
等待创建完成,左侧目录树会出现创建好的虚拟机,记住它的编号

3.替换镜像

登录宿主机, 习惯性的开个screen窗口: screen -S wget ,没有则先安装一下: apt -y install screen

3.1 更换

cd 切换到 /var/lib/vz/images/ 上面创建虚拟机生成的 编号 ,比如100

选择一个镜像,比如debian11 。下拉到底部,选择 bullseye ,选择一个想要的日期版本,越底下版本越新。

选择一个nocloud 版本:因为它不需要密码,比如这里选择的是:/bullseye/20220911-1135/debian-11-nocloud-amd64-20220911-1135.qcow2

在当前目录下,查看生成的qcow2名称,复制一下。使用命令 rm -r 删除它,然后下载替换:

#wget -O 被替换的镜像名称  新镜像的下载链接
wget -O vm-100-disk-0.qcow2 https://cloud.debian.org/images/cloud/bullseye/20220911-1135/debian-11-nocloud-amd64-20220911-1135.qcow2

3.2 调整大小

接下来是增加硬盘大小,因为上面下载好的nocloud 版本镜像默认只有2G磁盘空间,也就是说后续如果要ddlinux,可能都会dd失败。

首先使用 qemu-img -v 命令,如果提示找不到命令,请移步 这篇文章(安装Qemu-img 那部分)

再习惯性的查看下镜像信息

#qemu-img info 镜像名
qemu-img info vm-100-disk-0.qcow2

然后增加大小,比如扩展到20G,那么+18G就行了

#qemu-img resiza 镜像名 +[数值]G
qemu-img resize vm-100-disk-0.qcow2 +18G

4.开机

之后就可以去pve web开机了,选择对应的虚拟机 选择控制台,选择start启动。

进入登录页面后输入用户名:root,不需要密码直接回车即可登录进去。

* 开机等几秒或两三分钟,若是一直卡住就停止虚拟机。然后到宿主机里使用命令 service pvedaemon restart 重启pve,接着刷新网页,重新开机,可以发现不再是卡住的状态了(原因未知,无法复现且仅第一次替换会出现)。

* 如果启动页面提示内核问题,请将“选项”中的“OS类型”设定为“Linux 2.4 Kenmel",并重启虚拟机使其生效,后续可以等dd系统后再选择回“Linux6.x..”或更高版本。

4.1 配置网络

如果不需要第5步里的dd linux,那么这里只需要再次选择一个方案,然后跳到左侧目录4.2中:

否则,接下来就需要简单配置网络,先 ip addr 查看默认的网卡名,一般是 ens18  然后直接 nano /etc/network/interfaces 编辑网卡配置文件。

先使用#注释掉最后一行的内容。
#source-directory /run/network/interfaces.d

接着在其下方添加网卡配置,使用 ctrl+x  输入y  然后 回车 保存。

#192.168.1.100/24:ip地址/掩码位
#192.168.1.1:网关
#下面相关信息替换成自己的 再复制过去
auto ens18
iface ens18 inet static
    address 192.168.1.100/24
    gateway 192.168.1.1

4.2 添加DNS

再然后,还需要添加dns,因为上面选择的Debian11镜像貌似连 resolv.conf 配置文件都没有,也不用管,直接 nano /etc/resolv.conf  编辑它,然后填入合适的dns,比如:

nameserver 8.8.8.8
nameserver 1.1.1.1

具体看机器的网络,自行判断需要使用什么dns。然后同样使用 ctrl+x  输入y  然后 回车 保存。

最后,重启一下网卡 systemctl restart networking

4.3 测试

简单ping 一下ip地址或者域名都可以

#能通就可以了
ping 1.1.1.1
ping baidu.com

5.dd Linux

接下来要做的就是自己dd一遍了,毕竟那边的镜像没用过,虽然,它们也是官方提供的。

5.1 下载脚本

安装一下依赖 :apt-get install -y xz-utils openssl gawk file ,然后下载dd脚本

apy -y update && apt -y install wget && wget --no-check-certificate https://raw.githubusercontent.com/MoeClub/Note/master/InstallNET.sh

5.2 备份

然后?回到宿主机的ssh里,先习惯性的copy一份磁盘,防止dd失败到时候还得重新来过。

cp /var/lib/vz/images/100/vm-100-disk-0.qcow2 /var/lib/vz/images/100/vm-100-disk-0.qcow2.bak

5.3 网络重装

copy完成后,又到了刺激的环节了。直接到pve虚拟机控制台里运行脚本来 dd debian 11

#要特别注意的是,别去多此一举指定ip 网关和掩码,至于为什么,好奇的可以去尝试一下。
#-p后面指定root密码 
bash InstallNet.sh -d 11 -v 64 -p 123456

再然后就没然后了,dd过程一般不会出错,如果有就多回车几次,依旧不行就截图记录一下,自己去找原因。

真不行可以 pve web-ui 那边的对应虚拟机选择停止,然后宿主机登录删除对应的磁盘,再将之前复制的磁盘再复制一份拿来用,然后回到 pve web-ui 开机,重新来过。

5.4 修改ssh端口

这个没啥好说的,总不能和宿主机抢22端口吧……使用 ctrl+x  输入y  然后 回车 保存。

#修改Port 22为想要的端口
nano /etc/ssh/sshd_config

5.5 重新配置网络

再次选择一个方案:

5.6 测试网络

简单ping 一下ip地址或者域名都可以

#能通就可以了
ping 1.1.1.1
ping baidu.com

pve test network linux cimen club

碎碎念

至于开头说的“先别急着取消备份功能”,是为了替换镜像后,使用 qemu-img resiza 命令扩容,但开机后pve-webui那边依然显示一开始创建linux虚拟所填写的磁盘大小,所以强迫症可以通过后续取消勾选“备份”功能,来自动扫描识别修正扩容后的磁盘大小。

阅读剩余
THE END