概述:
proxmox服务器已经搭建完成从Proxmox VE开始:安装与配置指南,下面准备搭建一下自己的实验环境。创建虚拟机是第一步,因此本篇博客将详细介绍如何在 Proxmox 上创建虚拟机,包括通过控制台高效地创建虚拟机和使用模板创建更多虚拟机。
proxmox_3">proxmox创建虚拟机
控制台简单的创建一个虚拟机
下载镜像
登录proxmox浏览器控制台,点击proxmox1主机下:local-iso镜像,可以通过上传or从url下载,将要安装的iso镜像上传或者下载到proxmox存储下:
以ubuntu 22.04 url下载为例(我也是第一次通过url的方式):
输入url:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/22.04/ubuntu-22.04.5-live-server-amd64.iso,点击查询网址-下载:
注意:截图上面开始用的阿里云的mirrors,结果下载的那叫一个慢,更换为清华的镜像地址,下载很快!建议使用清华源地址!
等待镜像下载完成:
创建虚拟机
点击右上角创建虚拟机,输入VM ID(可以默认),输入虚拟机名称:
操作系统选择刚下载的ubuntu22.04版本的iso镜像:
系统部分这里就默认了:
磁盘大小这里我就设置了默认的50g,硬盘存储格式也直接默认了qcow2(当然也可以选择其他硬盘格式,也可以对比一下集中硬盘格式):
cpu 4核(插槽2 核心2):
内存 8192M
网络部分继续默认:
点击完成,创建:
启动并引导创建虚拟机
通过proxmoxweb控制台右击对应VM ID(200)启动对应虚拟机(如果上一步可以勾选创建后启动,可以省略这一步)
双击创建的虚拟机VM ID进入控制台:
- 安装方式,直接默认回车
- 选择安装语言默认English吧 也木有在第一页看到中文:
- installer update available(安装程序更新可用) 的页面
你可以选择更新也可以选择不更新.直接选择: update to the new installer 新的安装
- 选择键盘标准,默认即可。
- 选择安装版本为标准server,键盘方向键控制光标,空格键选中。
- 设置网卡,联网环境下稍稍等待一下,即可自动获取到IP地址网络dhcp获取 默认done。
- 配置代理,没特殊需求不用理,直接下一步,done
- 设置镜像源,后面可以设置。mirror配置 默认,done
- storage 选择装系统的硬盘,存储配置依然默认(多块硬盘时需要进行选择),done:
- 硬盘分区,依然默认即可。
- 设置名字、主机名、用户名,密码。
- 升级Ubuntu pro,不升级,选择跳过。(默认选项即是跳过。Skip)
- 开启ssh服务,空格选中,点击enter健安装ssh服务
- 选中服务快照,这里不做选择,直接进行下一步。
- 系统自动执行安装,等待进度结束,点击重启即可。
登录虚拟机
- proxmox控制台 console进入:
- 使用shell工具连接:
将虚拟机VM转换为模版
在实际的生产环境中,我们需要创建多个同样操作系统的虚拟机,按照上面的步骤一步一步创建虚拟机会耗费很长的时间这个时候就不得不提模版的作用。
- 安装必备的软件完整系统的初始化:
这里我直接偷懒了演示直接用了我喜欢的一个软件oneinstack的初始化脚本:
wget -c http://mirrors.oneinstack.com/oneinstack.tar.gz && tar xzf oneinstack.tar.gz && ./oneinstack/install.sh --reboot
等待初始化完成reboot后,执行下一步操作!
- 创建虚拟机模版
proxmox控制台右击id为200的虚拟机,关机
等待虚拟机关机右击id为200虚拟机,转换为模版:
等待虚拟机成功转换为模版:
使用模版创建更多虚拟机
- 通过虚拟机模版创建更多的虚拟机
proxmox控制台右击id为200的虚拟机模版-克隆
模式我选择了完整克隆,VM ID可以默认,也可以自定义(数字),输入主机名称,点击克隆
等待克隆状态成功:
启动克隆后的虚拟机:
双击201 VM ID的虚拟机进入控制台,输入模版服务器配置的用户名密码进入tty:
执行ip a 发现ip与创建模版虚拟机的ip都是192.168.0.5?
是否需要做额外配置,让ip自动获取呢?尝试一下创建一个新的VM ID 202的ubuntu虚拟机:
双击202 VM ID的虚拟机进入控制台,输入模版服务器配置的用户名密码进入tty:
执行ip a 发现ip192.168.0.10
总结
通过 Proxmox 创建虚拟机非常简单,无论是通过控制台手动创建还是通过模板批量创建,都可以快速搭建实验环境。使用模板可以大大提高效率,特别是在需要创建多个相同配置的虚拟机时。
然后我觉得不足的地方:
- 通过模版创建的新的VM的主机hostname仍然都是创建模版时候的主机名,我希望能自定义,而不是每次通过命令进去更改。
- 我更新通过自动化的脚本或者命令的方式去创建虚拟机,正巧看到了**Cloud-Init 接下来我想通过 Cloud-Init创建虚拟机,嗯还有terraform的方式或者 让gpt or deepseed 创建一下脚本实现一下调用proxmox api**创建?下一章节尝试一下!