--virsh console virt_name

-- virsh nodeinfo                               # 查看kvm节点(服务器)信息

--virsh list [--all]                 # 列出虚拟机

--virsh net-list [--all]                # 查看虚拟网络

--virsh dominfo virt_name             # 查看指定虚拟机信息           

--virsh domiflist virt_name            # 查看虚拟机网卡

--virsh start | reboot | shutdown vitr_name   

--virsh destroy virt_name            # 强制关闭指定的虚拟机

--virsh autostart [--disable] virt_name        # 开机自启

--virsh -c qemu+ssh://user@host_ip:port/syetem      # 远程连接

--qemu-img create -f format file_name size                  #  创建新的镜像盘文件

  qemu-img create -f qcow2 | raw disk.img 50G

--qemu-img info file_name            # 查看磁盘信息

--qemu-img snapshot

--qemu-img create -b temp -f qcow2 file_name  # 使用后端模板创建

cd /var/lib/libvirt/images/

qemu-img create -b node.qcow2 -f qcow2 node1.img 

创建虚拟交换机

创建配置文件    /etc/libvirt/qemu/networks/vbr.xml

创建虚拟网络 virsh net-define /etc/libvirt/qemu/networks/vbr.xml                # net-undefine 删除

启动虚拟网络 virsh net-start vbr                   # net-destroy   停止 net-edit 修改

查看虚拟网络 virsh net-list 

设置开机自启 virsh net-autostart vbr                                                                       

<network>
<name>vbr</name> # virsh net-list --all 可见
<bridge name='vbr' stp='on' delay='0'/> # ifconfig 可见
<domain name='vbr'/>
<forward mode="nat"/> # 启用地址转换
<ip address='192.168.1.254' netmask='255.255.255.0'> # dhcp服务器
<dhcp> # 在指定范围内随机分配ip
<range start="192.168.1.100" end="192.168.1.200"/>
</dhcp>
</ip>
</network>

创建虚拟机

创建配置文件   /etc/libvirt/qemu/node1.xml$

创建虚拟机      virsh define /etc/libvirt/qemu/node1.xml

启动虚拟机      virsh start node1

登陆     virsh console node1

<domain type='kvm'>
<name>node1</name>
<memory unit='KB'>1524000</memory> # 最大可使用内存
<currentMemory unit='KB'>1524000</currentMemory> # 当前最大内存
<vcpu placement='static'>2</vcpu> # 虚拟的cpu个数
<os>
<type arch='x86_64' machine='pc'>hvm</type>
<boot dev='hd'/> # 硬盘启动
<bootmenu enable='yes'/>
<bios useserial='yes'/>
</os>
<features>
<acpi/>
<apic/>
</features>
<cpu mode='host-passthrough'>
</cpu>
<clock offset='localtime'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/node1.img'/>
<target dev='vda' bus='virtio'/>
</disk>
<interface type='bridge'>
<source bridge='vbr'/> # 连接的虚拟交换机
<model type='virtio'/>
</interface>
<channel type='unix'>
<target type='virtio' name='org.qemu.guest_agent.0'/>
</channel>
<serial type='pty'></serial>
<console type='pty'>
<target type='serial'/>
</console>
<memballoon model='virtio'></memballoon>
</devices>
</domain>

脚本创建虚拟机

#!/bin/bash

#read -p '请输入交换机名称:' sw_name
read -p '请输入主机名称:' vm_name
read -p '请分配空间:(?G):' size
read -p '是否自启动?(yes/no):' auto_start size=${size:-"20G"}
auto_start=${auto_start:-"yes"} echo $size
echo $auto_start #sw_path="/etc/libvirt/qemu/networks"
img_path="/var/lib/libvirt/images"
xml_path="/etc/libvirt/qemu" isExist=`find $img_path/ -name $vm_name.img | wc -l`
if [ $isExist -ne ];then
echo '镜像文件已经存在!'
exit
fi qemu-img create -b $img_path/node.qcow2 -f qcow2 $img_path/$vm_name.img $size sed "s/node/$vm_name/;/uuid/d" $xml_path/node.xml > $xml_path/$vm_name.xml
virsh define $xml_path/$vm_name.xml
virsh start $vm_name if [ $auto_start == "yes" ];then
virsh autostart $vm_name
fi

脚本删除虚拟机

#!/bin/bash

read -p '请输入要删除的主机名称:' vm_name

img_path="/var/lib/libvirt/images"
xml_path="/etc/libvirt/qemu" virsh destroy $vm_name > /dev/null
virsh shutdown $vm_name > /dev/null
virsh undefine $vm_name > /dev/null
isExist=`find $img_path/ -name $vm_name.img | wc -l`
if [ $isExist -eq ];then
echo '镜像文件不存在!'
exit
fi rm -rf $img_path/$vm_name.img $xml_path/$vm_name.xml $xml_path/*-$vm_name > /dev/null

创建虚拟机(kvm)的更多相关文章

  1. KVM初探之一--存储池与存储卷,使用virt-install创建虚拟机

    在机器上装了一个Centos6.2用来测试KVM,对比Windows下的VMware worstation,KVM功能强大,定制性高,只要入了门,绝对是功能强大.用来作云计算不错.不过就是操作性差了点 ...

  2. KVM创建虚拟机

    一.复制现有img备份 1.ssh登陆宿主机 我的在 192.168.0.302.复制img 我的虚拟机img文件在 /home/images 我的img模板文件在 /home/tools/kvm/i ...

  3. centos7安装kvm环境采用网桥模式并创建虚拟机制作openstack需要的镜像

    初始环境的安装:centos7 mini iso镜像进行安装的系统 采用的环境是vm该软件,联网方式NAT模式下配置的静态ip(如何在NAT模式下配置静态ip参考之前的文章) 1.由于要安装kvm环境 ...

  4. kvm介绍、安装及创建虚拟机

    kvm虚拟化介绍 一.虚拟化分类 1.虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立 ...

  5. KVM :vnc 远程控制kvm创建虚拟机

    一.vnc远程控制服务器 前期准备: 1.编辑/etc/hosts vi /etc/hosts 10.1.16.32 kvm 2.关闭防火墙 service iptables stop 3.关闭sel ...

  6. 搭建KVM环境——06 创建虚拟机

    若转载请于明显处标明出处:https://www.cnblogs.com/kelamoyujuzhen/p/9071181.html 虚拟机磁盘格式 创建一个raw格式的虚拟机磁盘 [root@Cen ...

  7. Linux KVM创建虚拟机

    原博文(https://www.cnblogs.com/supermao12/p/16382767.html) 开启虚拟化 KVM需要64位操作系统 [root@localhost 4.18.0-19 ...

  8. 使用QEMU创建虚拟机

    下载安装: wget http://wiki.qemu-project.org/download/qemu-2.0.0.tar.bz2 tar xjvf qemu- ./configure --ena ...

  9. 在Ceph创建虚拟机的过程改进分析

    作为个人学习笔记分享.有不论什么问题欢迎交流! 近期在Gerrit中看到一个change:https://review.openstack.org/#/c/94295/ , 它主要是对当前在Ceph中 ...

随机推荐

  1. Hadoop环境搭建过程中遇到的问题以及解决方法

    1.启动hadoop之前,ssh免密登录slave主机正常,使用命令start-all.sh启动hadoop时,需要输入slave主机的密码,说明ssh文件权限有问题,需要执行以下操作: 1)进入.s ...

  2. 用python打开文件夹的三种方式

    一.利用explorer.exe import os # 利用explorer.exe执行 start_directory = r'C:\代码\软件包' os.system("explore ...

  3. 第十三章 ZYNQ-MIZ702 PL中断请求

    本篇文章主要介绍外设(PL)产生的中断请求,在PS端进行处理. 在PL端通过按键产生中断,PS接受到之后点亮相应的LED. 本文所使用的开发板是Miz702 PC 开发环境版本:Vivado 2015 ...

  4. command not found 的解决&&解释

    ln -s /opt/platform/calico/calicoctl /usr/local/sbin/calicoctl ln -s /opt/platform/nginx/sbin/nginxl ...

  5. Earth Wind and Fire CodeForces - 1148E (构造)

    大意: $n$个石子, 第$i$个石子初始位置$s_i$, 每次操作选两个石子$i,j$, 要求$s_i<s_j$, 任取$d$, 满足$0\le 2d\le s_j-s_i$, 将$s_i,s ...

  6. shell使用ps -ef|grep xxx时不显示grep xxx进程的方法

    在使用ps -ef|grep xxx时会将grep xxx的进程也带出来, 而在脚本中如果想要截取此命令结果的一部分,则grep xxx的进程会显得多余,如下: [root@localhost ~]# ...

  7. 常用javascript对象——Date对象

    创建 Date 对象的语法: new Date(); 1:Date 对象属性 <!DOCTYPE html> <html> <head> <meta char ...

  8. WebStorm使用码云插件问题

    由于项目需求,需要在WebStorm中使用码云插件,在下载安装的过程中出现一系列的问题,现总结出现的问题和解决方法. 先说一下码云是什么?码云有什么作用? 码云的主要功能: 码云除了提供最基础的 Gi ...

  9. springboot内置tomcat配置虚拟路径

    在Springboot中默认的静态资源路径有:classpath:/METAINF/resources/,classpath:/resources/,classpath:/static/,classp ...

  10. EF的导航属性

    在EF中,外键被称为导航属性. 在EF core中,查询的时候默认是只查自身而不会去查询外键表的.如果想要让查询结果包含外键实体,则需要使用include方法来让查询结果包含外键实体.如 db.Stu ...