Proxmox qm 命令应用实例

pve常用指令随笔

1、物理硬盘增加到VM上

qm set 100 --virtio1 /dev/sdb <-- 表示把/dev/sdb物理硬盘以 Virtio 接口类型增加至 100 的VM上
qm set 100 --sata /dev/sdc <-- 表示把/dev/sdc物理硬盘以 Sata 接口类型增加至 100 的VM上

2、设置网卡0,类型为virtio,桥街道vmbr0。关闭防火墙

qm set 100 --net0 virtio,bridge=vmbr0,firewall=0

部分转载参数

展开内容

参数说明

--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的合集。可以不用上面的两个选项。直接这样设置。

3、使用已经上传到 local storage 的 iso 文件来在 local-lvm storage 上创建一个 4G IDE 的虚拟磁盘。

qm create 300 -ide0 local-lvm:4 -net0 e1000 -cdrom local:iso/proxmox-mailgateway_2.1.iso

4、cloudinit,利用qm set命令指定ip,但是该指令一般用的较少都是Web

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
qm set 100 --nameserver 114.114.114.114
qm set 100 --searchdomain 114.114.114.114

5、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=,network=,meta="

#例如指定了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://cloudinit.readthedocs.io/en/latest/index.html

 

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注