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

在kvm中使用centos cloud image

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

    制作 CentOS 7 的模板镜像

    # 创建 Cloud Init 配置文件
    cat >centos7-init.conf <<EOF
    #cloud-config
    timezone: Asia/Shanghai
    password: centos
    ssh_pwauth: False
    runcmd:
      - [ yum, -y, remove, cloud-init ]
    EOF
    
    # 将 Cloud Init 配置文件做成一个镜像文件以便后续当成光盘传入虚拟机导入指令
    cloud-localds centos7-init.img centos7-init.conf
    
    # 从内网下载基础镜像并解压
    wget http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2.xz
    cp CentOS-7-x86_64-GenericCloud.qcow2 centos7.qcow2
    # 磁盘大小加10G
    qemu-img resize centos7.qcow2 +10G
    
    virt-install --os-variant centos7.0 \
    --name centos7 \
    --memory 4096 \
    --vcpus 2 \
    --network bridge=br0 \
    --disk centos7.qcow2,device=disk,bus=virtio \
    --disk centos7-init.img,device=cdrom \
    --graphics none \
    --import
    
    # 关机
    virsh shutdown centos7
    # 拔出 Cloud Init 光盘镜像
    virsh change-media centos7 sda --eject --config
    
    # 禁止root用户远程使用帐号密码登录
    virt-customize -a centos7.qcow2 --append-line /etc/ssh/sshd_config:"PermitRootLogin no"
    

    使用模板镜像生成虚拟机

    # 使用 clone 的方式从模板镜像直接生成虚拟机
    virt-clone -o centos7 -n centos7-clone -f centos7-clone.qcow2
    # 通过直接修改镜像中的配置文件配置静态ip地址
    virt-customize -a centos7-clone.qcow2 --run-command 'echo -e "DEVICE=eth0\nONBOOT=yes\nTYPE=Ethernet\nBOOTPROTO=static\nIPADDR=192.168.2.2\nNETMASK=255.255.255.0\nGATEWAY=192.168.2.1\nDNS1=192.168.2.250" >/etc/sysconfig/network-scripts/ifcfg-eth0'
    
    # 修改 root 密码
    virt-customize -a centos7-clone.qcow2 --root-password password:root
    
    # 设置 CPU 最多可以加到 8 颗,下次启动生效
    virsh setvcpus centos7-clone --config --maximum 8
    # 设置 CPU 为 2 颗,下次启动生效
    virsh setvcpus centos7-clone 2 --config
    # 设置 CPU 为 2 颗,立即生效(对有些操作系统有用)
    virsh setvcpus centos7-clone 2 --live
    # 设置内存最大可以加到 16G,需停机
    virsh setmaxmem centos7-clone 16G
    # 设置内存为 4G,下次启动生效
    virsh setmem centos7-clone 4G --config
    # 设置内存为 4G,立即生效(对有些操作系统有用)
    virsh setmem centos7-clone 4G
    

    磁盘管理

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

    相关文章

      网友评论

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

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