Proxmox VE 安装配置 创建kvm模板
发布时间:2022-04-02 人浏览
Proxmox VE虚拟化基于Debian 64位操作系统 ,开源免费
用于管理KVM虚拟机,LXC容器, 可部署虚拟化高可用集群
提供Web管理界面(支持简体中文),命令行工具和完善的api接口
Proxmox6.0中文手册PDF
http://files.elvin.vip/doc/Proxmox6.0-cn.pdf
By Elvin ,2020-8-30, http://blog.elvin.vip
官网 http://download.proxmox.com/iso/
国内 http://download.proxmox.wiki/iso/
#backupmv /etc/apt/sources.list{,.bak}mv /etc/apt/sources.list.d/pve-enterprise.list{,.bak}#配置国内源 Configure aliyun source wget -qO - http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg | apt-key add -echo '#cn deb http://mirrors.aliyun.com/debian/ buster main non-free contrib deb-src http://mirrors.aliyun.com/debian/ buster main non-free contrib deb http://mirrors.aliyun.com/debian-security buster/updates main deb-src http://mirrors.aliyun.com/debian-security buster/updates main deb http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib deb-src http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib deb http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib deb-src http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib #update pve source deb http://download.proxmox.com/debian/pve buster pve-no-subscription '>/etc/apt/sources.list pvesh get /version#关闭订阅提醒 Turn off subscription reminders cp /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js{,.bak} sed -i.bak "s/data.status !== 'Active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js systemctl restart pveproxy.service#关闭cloud-init强制更新 Close cloud-init without forcing updates sed -i 's/package_upgrade.*true/package_upgrade: false/' /usr/share/perl5/PVE/QemuServer/Cloudinit.pm systemctl restart pvedaemon.service#开启硬件直通 Turn on hardware pass through sed -E 's/GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"/' /etc/default/grub -i { echo "vfio" echo "vfio_iommu_type1" echo "vfio_pci" echo "vfio_virqfd"} | tee /etc/modules update-grub#升级重启(可选) Upgrade and restartapt update && apt dist-upgrade -y && reboot
#ssh登录#查看lvmpvs vgs lvs#删除data逻辑卷lvremove /dev/mapper/pve-data#调整/分区lvextend -L 60G /dev/mapper/pve-root resize2fs /dev/mapper/pve-root
#新增分区,挂载点/datafdisk /dev/sda p #查看n #新建p w #保存#格式化为ext4mkfs -t ext4 /dev/sda4 e2label /dev/sda4 /data#新建挂载目录/datamkdir /data mount -t ext4 /dev/sda4 /datadf -l#开机挂载磁盘echo "/dev/sda4 /data ext4 defaults 0 0" >> /etc/fstab
#ssh登录proxmoxcd /var/lib/vz/template/qemu/#ubuntu 16 download url#https://cloud-images.ubuntu.com/xenial/current/wget https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img#新建虚拟机 ubuntu ,vmid 501vmid=501vname=ubuntu qm create $vmid --name $vname --memory 1024 --net0 virtio,bridge=vmbr0 --ostype l26#导入磁盘到data存储qm importdisk $vmid xenial-server-cloudimg-amd64-disk1.img data -format qcow2#磁盘使用scsi驱动附加到vmqm set $vmid --scsihw virtio-scsi-pci --scsi0 data:$vmid/vm-$vmid-disk-0.qcow2#设置磁盘为第一引导qm set $vmid --boot c --bootdisk scsi0#添加并设置显卡设备为serial0qm set $vmid --serial0 socket --vga serial0#添加Cloudinit Drive设备qm set $vmid --ide2 data:cloudinit#设置密码,否则控制台端不能登录qm set $vmid -ciuser root -cipassword pve2020#导入ssh公钥到vmqm set $vmid --sshkey ~/.ssh/id_rsa.pub#启用agent,在web面板查看vm的ip及mac地址qm set $vmid --agent enabled=1##固定ipqm set $vmid --ipconfig0 ip=192.168.21.91/24,gw=192.168.21.1 --nameserver "192.168.15.124 119.29.29.29"#启动qm start $vmid
#终端登录qm terminal $vmidtimedatectl set-timezone Asia/Shanghai#use aliyun sourcecp /etc/apt/sources.list{,.bak} sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/' /etc/apt/sources.list sed -i 's/security.ubuntu.com/mirrors.aliyun.com/' /etc/apt/sources.list apt-get update apt install -y qemu-guest-agent net-tools htop#Ansible depends on pythonapt install -y python python-apt#ssh configsed -ir '3 iPermitRootLogin yes\nPermitEmptyPasswords no\nGSSAPIAuthentication no\nUseDNS no\n' /etc/ssh/sshd_config systemctl restart sshdecho '#关闭提示yes/no StrictHostKeyChecking no '>>/etc/ssh/ssh_config#cleanapt clean find /var/log/ -type f |xargs rm -f rm -rf /var/cache/apt/* /var/lib/apt/lists/* /tmp/* >~/.bash_historyhistory -c #退出终端#press Ctrl+O to exit#关闭qm stop $vmid#将虚拟机转换成模板qm template $vmid
#ssh登录proxmoxcd /var/lib/vz/template/qemu/#centos7 download url#http://cloud.centos.org/centos/7/images/wget http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2.xz xz -d CentOS-7-x86_64-GenericCloud.qcow2.xz#新建虚拟机centos ,vmid 502vmid=502 vname=centos qm create $vmid --name $vname --memory 1024 --net0 virtio,bridge=vmbr0 --ostype l26#导入image磁盘到data存储qm importdisk $vmid CentOS-7-x86_64-GenericCloud.qcow2 data -format qcow2#磁盘使用scsi驱动附加到vmqm set $vmid --scsihw virtio-scsi-pci --scsi0 data:$vmid/vm-$vmid-disk-0.qcow2#设置磁盘为第一引导qm set $vmid --boot c --bootdisk scsi0#添加并设置显卡设备为serial0qm set $vmid --serial0 socket --vga serial0#添加Cloudinit Drive设备qm set $vmid --ide2 data:cloudinit#设置密码,否则控制台端不能登录qm set $vmid -ciuser root -cipassword pve2020#导入ssh公钥到vmqm set $vmid --sshkey ~/.ssh/id_rsa.pub#启用agent,在pve面板查看vm的ip及mac地址qm set $vmid --agent enabled=1##固定ipqm set $vmid --ipconfig0 ip=192.168.21.92/24,gw=192.168.21.1 --nameserver "192.168.15.124 119.29.29.29"#启动qm start $vmid
#终端登录qm terminal $vmidtimedatectl set-timezone Asia/Shanghai#use aliyun sourcecurl -s http://mirrors.aliyun.com/repo/Centos-7.repo >/etc/yum.repos.d/CentOS-Base.repo curl -s http://mirrors.aliyun.com/repo/epel-7.repo >/etc/yum.repos.d/epel.repo sed -i "/aliyuncs.com/d" /etc/yum.repos.d/*.repo systemctl disable --now firewalld setenforce 0 sed -ri '/^[^#]*SELINUX=/s#=.+$#=disabled#' /etc/selinux/config#ssh configsed -ir '3 iPermitRootLogin yes\nPermitEmptyPasswords no\nGSSAPIAuthentication no\nUseDNS no\n' /etc/ssh/sshd_config systemctl restart sshdecho '#关闭提示yes/no StrictHostKeyChecking no '>>/etc/ssh/ssh_config#禁止自动更新hosts#esd -i.bak 's/$ - update_etc_hosts/#&/g' /etc/cloud/cloud.cfg#cloudinit配置hostname没生效#设置开机启动项配置hostnameecho '#!/bin/bash #set hostname mount /dev/sr0 /media &>/dev/null H=$(grep hostname /media/user-data |cut -d" " -f 2) echo $H hostname $H echo $H >/etc/hostname #hostnamectl set-hostname --static $H umount /dev/sr0 touch /var/lock/subsys/local '>/etc/rc.d/rc.localchmod +x /etc/rc.d/rc.local#clearfind /var/log/ -type f |xargs rm -f rm -f /root/*.cfg /tmp/* >~/.bash_historyhistory -c#退出终端#press Ctrl+O to exit#关闭qm stop $vmid#将虚拟机转换成系统模板qm template $vmid
#ssh登录proxmox#使用模板id为501生成虚拟机qm clone 501 102 --name c7 -full#查看vm列表qm list#设置2核4Gqm set 102 --memory 4096 --cores 2#增加磁盘10Gqm resize 102 scsi0 \+10G#固定ipqm set 102 --ipconfig0 ip=192.168.21.102/24,gw=192.168.21.1#启动qm start 102#登录控制台qm terminal 102#press Ctrl+O to exit#关闭qm stop 102#删除VMqm destroy 102 -purge
#1 登录浏览器打开 https://IP地址:8006/ 浏览器忽略安全警告,登录界面选择简体中文 Chinese (Simplified)#2 新建vm选择模板,右键,克隆 填写VM ID(可选),输入名称,克隆模式 选择完整克隆(推荐)#3 更改配置选中VM, 硬件 栏目 --> 更改内存、CPU、增加硬盘容量Cloud-Init 栏目 -->更改ip地址,添加公钥,密码#4 启动配置完成后,选择VM,右键启动(或右上角启动按钮)#5 删除先关闭,选中VM,右上角 更多 -> 删除 -> 输入ID,勾选清除
#使用iso镜像安装虚拟机#local存储,上传,iso镜像#或拷贝到/var/lib/vz/template/iso/ 目录web右上角, 创建虚拟机, 操作系统界面,选择iso镜像 ...
#创建lxc容器#下载容器模板#数据中心,选择节点,选中存储"local",模板,选择下载对应模板如centos、ubuntu#若下载满,可以使用其它工具下载,拷贝到目录 /var/lib/vz/template/cache/#下载地址 http://download.proxmox.com/images/system#右上角,创建CT, 输入名称,密码 , 选择模板 ...
使用terraform管理Proxmox VE资源. Managing Proxmox VE resources with terraform
terraform-proxmox https://www.cnblogs.com/elvi/p/13557397.html
实测, 创建30台不同配置的VM, terraform创建只用3分钟