kvm虚拟机使用

1、创建kvm

    1) 收到kvm需求后,根据宿主机使用状况选择合适的机器

         克隆初始化镜像

         virt-clone -o vhost03 -n instance_name -f /u01/kvm/images/instance_name.img

    2) 使用脚本直接进行克隆初始化机器(/root/kvm_initialize/kvm_initialize.sh)

        Usage:  sh kvm_initialize.sh 'instance_name' 'ip'  'memory(KB)' 'cpu'  ip找网络分配即可

    3)虚拟机默认磁盘大小为50G,如果有特殊需求可通过(qemu-img resize /u01/kvm/images/instance_name.img +10G)然后调整guest的lvm

2、启动

    1)虚拟机创建完成后,通过virsh dominfo instance_name 查看guest的配置信息

    3)将guest的UUID录入om虚拟机管理系统

    4)通过virsh start instance_name 启动guest

    5)使用virsh list --all 可查看状态

3)其他

    开机:virsh start vm
    关机:virsh shutdown vm 如果不生效,需要在 vm 中执行:yum install -y acpid
    强关:virsh destroy vm
    删除:virsh undefine vm
    挂起:virsh suspend vm
    恢复:virsh resume vm

    虚拟机列表:virsh list
    包含关机的虚机:virsh list --all
    设置自动启动:virsh autostart vm

    关闭自动启动:virsh autostart --disable vm

kvm_initialize.sh

#!/bin/bash
_instance_name=$1
_ip=$2
_memory=$3
_cpu=$4


Kvm_config(){
    #initialize
    unalias cp  > /dev/null 2>&1
    cat origin/ifcfg-eth0  > ifcfg-eth0
    cat origin/network  >  network
    cat origin/hosts  >  hosts
    _mac=`virsh domiflist  ${_instance_name} | grep br0  | awk '{print $5}'`
    _img_dir=/u01/kvm/images
    _config_dir=/etc/libvirt/qemu
    _config_file=${_instance_name}.xml
    cp ${_config_dir}/${_instance_name}.xml  .


    #kvm config
    sed -i "s/4194304/$_memory/g" ${_config_file}
    sed -i "13s/2/$_cpu/g" ${_config_file}


    #ip and hostname config
    sed -i "s/52:54:00:7b:90:e9/${_mac}/g"  ifcfg-eth0
    sed -i "s/10.10.10.100/${_ip}/g"  ifcfg-eth0
    sed -i "s/10-10-10-27/${_instance_name}/g"  network
    sed -i "s/10-10-10-27/${_instance_name}/g"  hosts




    #main
    virt-copy-in  -a ${_img_dir}/${_instance_name}.img   ifcfg-eth0   /etc/sysconfig/network-scripts/
    virt-copy-in  -a ${_img_dir}/${_instance_name}.img   network   /etc/sysconfig/
    virt-copy-in  -a ${_img_dir}/${_instance_name}.img   hosts   /etc/
    virsh undefine  ${_instance_name}
    cp  ${_config_file}  ${_config_dir}
    virsh define ${_config_dir}/${_instance_name}.xml
}


Show(){
  echo "Usage:  sh kvm_initialize.sh 'instance_name' 'ip'  'memory(KB)' 'cpu' "
}


if [[ -n $1 ]] &&  [[ -n $2 ]] &&  [[ -n $3 ]] && [[ -n $4 ]];then
    Kvm_config
else
    Show
fi





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值