pve中qm create/set命令介绍
这是创建和设置pve虚拟机配置的命令
因为参数差不多,所以就一起列出来。
首先看一个创建虚拟机的例子。
qm create 114 \
--agent 1 \
--machine q35 \
--ostype l26 \
--scsihw virtio-scsi-pci \
--serial0 socket \
--cores 2 --sockets 1 --cpu host \
--bios seabios --boot cdn \
--net0 virtio,bridge=vmbr0
可以看到qm create命令格式是这样的
qm create <vmid> --<option> <value>
qm set <vmid> --<option> <value>
如果一个<option>有多个<value>,需要使用英文逗号“,”隔开。
例
qm set 100 --net0 virtio,bridge=vmbr0,firewall=0
本篇文章也就是列出来 这个<option>内容
1、网络部分
qm set/create 100 --net[n] [model] [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]
举例
qm set 100 --net0 virtio,bridge=vmbr0,firewall=0
意思是设置网卡0,类型为virtio,桥街道vmbr0。关闭防火墙。
参数说明
--net[N]
这是一个option。N是整数,一般用序列。代表网卡序列
model
网卡类型。e1000 | e1000-82540em | e1000-82544gc | e1000-82545em | i82551 | i82557b | i82559er | ne2k_isa | ne2k_pci | pcnet | rtl8139 | virtio | vmxnet3
bridge=<bridge>
bridge=vmbr[N].N代表桥接网卡的序号。
firewall=<1|0>
防火墙是否开启。值为1则开启,0为关闭
link_down=<1|0>
是否连接网卡,1为连接,0为端口。默认值为连接,所以一般不指定此项。
macaddr=<XX:XX:XX:XX:XX:XX>
指定网卡的MAC地址
rate=<number>
限速。单位mbps。一般不指定这项
tag=<integer>]
VLAN 标签
trunks=<vlanid[;vlanid...]>
trunk选项
<model>=<macaddr>
此项是model和mac的合集。可以不用上面的两个选项。直接这样设置。
在添加cloudinit之后,可以利用qm set命令指定ip
qm set 100 --ipconfig0 ip=10.0.10.123/24,gw=10.0.10.1,ip6=dhcp
或者
qm set 100 --ipconfig0 ip=dhcp,ip6=dhcp
其中 ipconig<N>。N为网卡编号
设置dns
qm set 100 --nameserver 114.114.114.114
qm set 100 --searchdomain 114.114.114.114
2、基本硬件环境
2.1 主板类型
简化
--machine q35|i440fx
完整
--machine (pc|pc(-i440fx)?-\d+(\.\d+)+(\+pve\d+)?(\.pxe)?|q35|pc-q35-\d+(\.\d+)+(\+pve\d+)?(\.pxe)?|virt(?:-\d+(\.\d+)+)?(\+pve\d+)?)
2.2 CPU
--sockets <N> //几个物理插槽
--vcpus <N> //几个核心
--cpu <string> //CPU类型 host | kvm64 | qemu64 等等
--cpulimit <0-128> //CPU限制
--cpuunits <2-262144> //CPU权重
2.3 其他信息
--bios seabios|ovmf //选择是哪种bios类型
--boot cdn //启动顺序。cdrom disk network
--ostype //l24 | l26 | other | solaris | w2k | w2k3 | w2k8 | win10 | win7 | win8 | wvista | wxp
(注意前两个 一个是linux 2.4内核 一个是linux2.6内核以上,所以是字母小写L,不是1)
--agent 1 //开启qemu-guest-agent
--name vmname //虚拟机名称
--scsihw virtio-scsi-pci | virtio-scsi-single | megasas | pvscsi | lsi53c810 |lsi //磁盘控制器类型
--serial<N> (/dev/.+|socket) //增加串口,N=0-3。一般指定串口0,类型为socket。此项对于需要串口情况非常有用,例如cloudinit。
3、硬盘参数
--scsi<N> [pool]:[size] //其中N为scsi序号,从0开始。pool为储存池名称,例如local-lvm,[size]是硬盘大小,不需要指定磁盘名,系统创建。
例: qm create 100 --scsi0 local-lvm:40
创建虚拟机100,并且在local-lvm上创建一个40G的scsi磁盘。
--ide<N> [pool]:[size] //ide磁盘
--sata<N> [pool]:[size] //sata磁盘
4、cloud-init
cloudinit常用于公有云中。
需要虚拟机有cloud drive
#创建cloud drive
qm set 100 --ide2 local-lvm:cloudinit //注意,cloudinit的ide必须大于2。应该是bug吧。
设置cloudinit基本属性
qm set 100 --sshkey ~/.ssh/id_rsa.pub //设置ssh
qm set 100 --ipconfig0 ip=10.0.10.123/24,gw=10.0.10.1 //设置ip
qm set 100 --cipassword:foxi123456 --ciuser:root //设置用户和密码。注意密码在设置之后,会自动隐藏。
当然既然是cloudinit,就和openstak接轨。
同样支持自定义cloudinit参数。
引号里的,可以单独指定一项。指定了哪个部分就会覆盖上面的基本属性。
qm set 9000 --cicustom "user=<volume>,network=<volume>,meta=<volume>"
例如指定了user环节的参数,那么上面的user属性就失效,根据自定义参数来。
qm set 9000 --cicustom "user=local:snippets/userconfig.yaml"
这里官方是建议用户把yaml文件放在snippets文件夹下。
yaml必须符合cloudinit规范和语法规范
官方提供的cloud-init,user模块只有用户账密模块。可以自己修改脚本文件,添加新的选项,例如package-Update-Upgrade-Install模块。让cloudinit开机自动安装升级程序。
z修改脚本文件
cp /usr/share/perl5/PVE/QemuServer/Cloudinit.pm /usr/share/perl5/PVE/QemuServer/Cloudinit.pm_backup
nano /usr/share/perl5/PVE/QemuServer/Cloudinit.pm
在cloudinit_userdata部分,return $content;之前
添加内容
$content .= "packages: \n";
$content .= " - qemu-guest-agent\n";
return $content;
}
修改之后,重启服务器。即可生效
暂时就这些内容。建议参照vm的配置文件自己研究下。
下面贴出一个样式,。
qm create 110 \
--agent 1 \
--machine q35 \
--ostype l26 \
--scsihw virtio-scsi-pci \
--serial0 socket \
--cores 2 --sockets 1 --cpu host \
--bios seabios --boot cdn \
--net0 virtio,bridge=vmbr0 \
--ide2 nvme1:cloudinit \
--name qmcreate \
--cipassword foxi123456 --ciuser root
在官方wiki。可以查看更多的详细内容。
https://pve.proxmox.com/pve-docs/qm.1.html
关于cloudinit模块,可以参考。注意切换版本号。
版权声明:
作者:佛西
链接:https://foxi.buduanwang.vip/virtualization/pve/577.html/
文章版权归作者所有,未经允许请勿转载
如需获得支持,请点击网页右上角
作者:佛西
链接:https://foxi.buduanwang.vip/virtualization/pve/577.html/
文章版权归作者所有,未经允许请勿转载
如需获得支持,请点击网页右上角
THE END
0
二维码
海报
pve中qm create/set命令介绍
简单的叙述下,pve的qm set和config命令。例如qm 设置硬盘,qm set --scsi0 local-lvm:10。又如设置cloudinit组件,qm set --ide2 local-lvm:cloudinit
共有 0 条评论