• Proxmox VE 安装配置 创建kvm模板


    #Proxmox VE 安装配置 创建kvm模板

    # Proxmox VE installation configuration, and create KVM template

    #概述 summary

    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


    #1.下载iso镜像,制作USB启动盘. Download ISO image and make USB boot disk

    官网 http://download.proxmox.com/iso/
    国内 http://download.proxmox.wiki/iso/

    #2.安装 install

    • USB启动,选第一项"Install Proxmox VE"
    • Harddisk,Options自定义分区,hdsize 100G
      • 默认使用全部磁盘,并创建LVM
    • 国家和时区,“china””asia/Shanghai”

    #3. ssh登录配置 SSH login configuration

    #backup
    mv /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 restart
    apt update && apt dist-upgrade -y && reboot
    

    #4. 删除LVM-Thin储存(可选). Delete LVM-Thin storage

    • 登录web管理页面https://ip:8006
    • web界面,数据中心,存储,删除LVM-Thin
    #ssh登录
    #查看lvm
    pvs
    vgs
    lvs
    
    #删除data逻辑卷
    lvremove /dev/mapper/pve-data
    
    #调整/分区
    lvextend -L 60G /dev/mapper/pve-root
    resize2fs /dev/mapper/pve-root
    

    #5. 添加目录储存(可选). Add directory storage

    #新增分区,挂载点/data
    
    fdisk /dev/sda
    p  #查看
    n  #新建
    p
    w  #保存
    
    #格式化为ext4
    mkfs -t ext4 /dev/sda4 
    e2label /dev/sda4 /data
    
    #新建挂载目录/data
    mkdir /data  
    mount -t ext4 /dev/sda4 /data
    df -l
    
    #开机挂载磁盘
    echo "/dev/sda4 /data ext4 defaults 0 0" >> /etc/fstab
    
    • web界面, 数据中心,存储,添加,目录
      • ID: data , 目录: /data , 内容,全选择

    #6. 创建kvm模板. Create KVM template

    • 使用公有云镜像创建kvm模板 Creating KVM using public cloud image

    #ubuntu 16 server template 模板

    #ssh登录proxmox
    cd /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 501
    vmid=501
    vname=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驱动附加到vm
    qm set $vmid --scsihw virtio-scsi-pci --scsi0 data:$vmid/vm-$vmid-disk-0.qcow2
    
    #设置磁盘为第一引导
    qm set $vmid --boot c --bootdisk scsi0
    
    #添加并设置显卡设备为serial0
    qm set $vmid --serial0 socket --vga serial0
    
    #添加Cloudinit Drive设备
    qm set $vmid --ide2 data:cloudinit
    
    #设置密码,否则控制台端不能登录
    qm set $vmid -ciuser root -cipassword pve2020
    
    #导入ssh公钥到vm
    qm set $vmid --sshkey ~/.ssh/id_rsa.pub
    
    #启用agent,在web面板查看vm的ip及mac地址
    qm set $vmid --agent enabled=1
    
    ##固定ip
    qm 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 $vmid
    
    timedatectl set-timezone Asia/Shanghai
    
    #use aliyun source
    cp /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 python
    apt install -y python python-apt
    
    #ssh config
    sed -ir '3 iPermitRootLogin yes
    PermitEmptyPasswords no
    GSSAPIAuthentication no
    UseDNS no
    ' /etc/ssh/sshd_config
    systemctl restart sshd
    
    echo '#关闭提示yes/no
    StrictHostKeyChecking no
    '>>/etc/ssh/ssh_config
    
    #clean
    apt clean
    find /var/log/ -type f |xargs rm -f 
    rm -rf /var/cache/apt/* /var/lib/apt/lists/* /tmp/* 
    >~/.bash_history
    history -c
        
    #退出终端
    #press Ctrl+O to exit
    
    #关闭
    qm stop $vmid
    
    #将虚拟机转换成模板
    qm template $vmid
    
    #centos 7 template 模板
    #ssh登录proxmox
    cd /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 502
    vmid=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驱动附加到vm
    qm set $vmid --scsihw virtio-scsi-pci --scsi0 data:$vmid/vm-$vmid-disk-0.qcow2
    
    #设置磁盘为第一引导
    qm set $vmid --boot c --bootdisk scsi0
    
    #添加并设置显卡设备为serial0
    qm set $vmid --serial0 socket --vga serial0
    
    #添加Cloudinit Drive设备
    qm set $vmid --ide2 data:cloudinit
    
    #设置密码,否则控制台端不能登录
    qm set $vmid -ciuser root -cipassword pve2020
    
    #导入ssh公钥到vm
    qm set $vmid --sshkey ~/.ssh/id_rsa.pub
    
    #启用agent,在pve面板查看vm的ip及mac地址
    qm set $vmid --agent enabled=1
    
    ##固定ip
    qm 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 $vmid
    
    timedatectl set-timezone Asia/Shanghai
    
    #use aliyun source
    curl -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 config
    sed -ir '3 iPermitRootLogin yes
    PermitEmptyPasswords no
    GSSAPIAuthentication no
    UseDNS no
    ' /etc/ssh/sshd_config
    systemctl restart sshd
    
    echo '#关闭提示yes/no
    StrictHostKeyChecking no
    '>>/etc/ssh/ssh_config
    
    #禁止自动更新hosts
    #esd -i.bak 's/$ - update_etc_hosts/#&/g' /etc/cloud/cloud.cfg
    
    #cloudinit配置hostname没生效
    #设置开机启动项配置hostname
    echo '#!/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.local
    chmod +x /etc/rc.d/rc.local
    
    #clear
    find /var/log/ -type f |xargs rm -f 
    rm -f /root/*.cfg /tmp/*
    >~/.bash_history
    history -c
    
    #退出终端
    #press Ctrl+O to exit
    
    #关闭
    qm stop $vmid
    
    #将虚拟机转换成系统模板
    qm template $vmid
    

    #7. 命令行使用模板创建VM. The command line uses templates to create VM

    #ssh登录proxmox
    
    #使用模板id为501生成虚拟机
    qm clone 501 102 --name c7 -full
    
    #查看vm列表
    qm list
    
    #设置2核4G
    qm set 102 --memory 4096 --cores 2
    
    #增加磁盘10G
    qm resize 102 scsi0 +10G
    
    #固定ip
    qm 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
    
    #删除VM
    qm destroy 102 -purge
    

    #8. web管理界面使用. Use of web management interface

    #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, 输入名称,密码 , 选择模板 ...
    

    #9. 虚拟机批量管理 Virtual machine batch management

    使用terraform管理Proxmox VE资源. Managing Proxmox VE resources with terraform
    terraform-proxmox https://www.cnblogs.com/elvi/p/13557397.html

    实测, 创建30台不同配置的VM, terraform创建只用3分钟

    #10. Proxmox web界面预览. Web interface

  • 相关阅读:
    flex 圣杯布局
    .net mvc里AutoMapper更为便捷的使用方法
    使用ClaimsIdentity来实现登录授权
    判断js中数据类型 的最短代码
    输入分钟、秒倒计时
    .net 导出Excel插件Npoi的使用
    seajs简单使用
    图片懒加载
    dropload上拉加载更多
    基于移动端的左滑删除
  • 原文地址:https://www.cnblogs.com/elvi/p/13587280.html
Copyright © 2020-2023  润新知