美文网首页
在kvm中使用ubuntu cloud image

在kvm中使用ubuntu cloud image

作者: helphi | 来源:发表于2017-08-17 15:18 被阅读0次

    制作 Ubuntu 20.04 Server 的模板镜像

    # 创建 Cloud Init 配置文件
    cat >ubuntu2004-init.conf <<EOF
    #cloud-config
    apt:
      primary:
        - arches: [default]
          uri: http://apt.x/ubuntu/
    timezone: Asia/Shanghai
    password: ubuntu
    ssh_pwauth: False
    runcmd:
      - [ apt, -y, remove, cloud-init ]
    EOF
    
    # 将 Cloud Init 配置文件做成一个镜像文件以便后续当成光盘传入虚拟机导入指令
    cloud-localds ubuntu2004-init.img ubuntu2004-init.conf
    
    # 从内网下载原始基础镜像
    wget https://cloud-images.ubuntu.com/releases/focal/release/ubuntu-20.04-server-cloudimg-amd64.img
    cp ubuntu-20.04-server-cloudimg-amd64.img ubuntu2004.img
    # 磁盘大小加10G
    qemu-img resize ubuntu2004.img +10G
    
    # 导入基础镜像,制作出模板镜像
    virt-install --os-variant ubuntu20.04 \
    --name ubuntu2004 \
    --memory 4096 \
    --vcpus 2 \
    --network bridge=br0 \
    --disk ubuntu2004.img,device=disk,bus=virtio \
    --disk ubuntu2004-init.img,device=cdrom \
    --graphics none \
    --import
    
    # 关机
    virsh shutdown ubuntu2004
    # 拔出 Cloud Init 光盘镜像
    virsh change-media ubuntu2004 sda --eject --config
    
    # 禁止root用户远程使用帐号密码登录
    virt-customize -a ubuntu2004.img  --append-line /etc/ssh/sshd_config:"PermitRootLogin no"
    

    使用模板镜像生成虚拟机

    # 使用 clone 的方式从模板镜像直接生成虚拟机
    virt-clone -o ubuntu2004 -n ubuntu2004-clone -f ubuntu2004-clone.img
    # 通过直接修改镜像中的配置文件配置静态ip地址
    virt-customize -a ubuntu2004-clone.img --run-command 'echo "network:\n  version: 2\n  ethernets:\n    enp1s0:\n      dhcp4: false\n      addresses: [192.168.2.2/24]\n      gateway4: 192.168.2.1\n      nameservers:\n        addresses: [192.168.2.250]" >/etc/netplan/50-cloud-init.yaml'
    
    # 修改密码
    virt-customize -a ubuntu2004-clone.img --password ubuntu:password:ubuntu
    # 修改 root 密码
    virt-customize -a ubuntu2004-clone.img --root-password password:root
    
    # 设置 CPU 最多可以加到 8 颗,下次启动生效
    virsh setvcpus ubuntu2004-clone --config --maximum 8
    # 设置 CPU 为 2 颗,下次启动生效
    virsh setvcpus ubuntu2004-clone 2 --config
    # 设置 CPU 为 2 颗,立即生效(对有些操作系统有用)
    virsh setvcpus ubuntu2004-clone 2 --live
    # 设置内存最大可以加到 16G,需停机
    virsh setmaxmem ubuntu2004-clone 16G
    # 设置内存为 4G,下次启动生效
    virsh setmem ubuntu2004-clone 4G --config
    # 设置内存为 4G,立即生效(对有些操作系统有用)
    virsh setmem ubuntu2004-clone 4G
    

    磁盘管理

    # 创建一块 5G 的磁盘
    qemu-img create -f qcow2 ubuntu2004-clone-2.img 5G
    # 插入磁盘到 /dev/vdb
    virsh attach-disk ubuntu $PWD/ubuntu2004-clone-2.img vdb --subdriver=qcow2 --persistent
    # 拔出磁盘
    virsh detach-disk ubuntu $PWD/ubuntu2004-clone-2.img --persistent
    # 扩展磁盘大小
    qemu-img resize $PWD/ubuntu2004-clone-2.img +5G
    

    相关文章

      网友评论

          本文标题:在kvm中使用ubuntu cloud image

          本文链接:https://www.haomeiwen.com/subject/hrxnrxtx.html