一个完整的虚拟机有两个部分:img镜像和xml配置文件

虚拟机底层部分:内核虚拟化模块(KVM),系统设备仿真(QEMU),虚拟机管理程序(Libvirt)

virsh命令工具:

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

查看指定虚拟机的信息        virsh   dominfo    虚拟机名称    

开启|重启|关闭 指定虚拟机      virsh   start|reboot|shutdown    虚拟机名称

强制关闭指定虚拟机                    virsh    destroy    虚拟机名称

将指定的虚拟机设为开机自启         virsh  autostart   虚拟机名称

列出虚拟网络                       virsh    net-list      - - all

qemu-img  是虚拟机的磁盘管理命令

创建 : qemu-img   create  -f    格式       磁盘路径       大小

查询 : qemu-img    info       磁盘路径

-b  使用后端模板文件   :    qemu-img    create   -b   模板镜像   -f     格式   磁盘路径   大小 

cow技术原理:

创建虚拟交换机:

创建配置文件 /etc/libvirt/qemu/networks/vbr.xml
<network>
<name>vbr</name>
<bridge name="vbr"/>
<forward mode="nat"/>
<ip address="192.168.1.254" netmask="255.255.255.0">
<dhcp>
<range start="192.168.1.100" end="192.168.1.200"/>
</dhcp>
</ip>
</network>

virsh   管理虚拟网络
– net-list           查看虚拟网络
– net-define      vbr.xml               创建虚拟网络
– net-undefine    vbr               删除虚拟网络
– net-start vbr                    启 动虚拟网络
– net-destroy    vbr                停止虚拟网络
– net-edit       vbr            修改 vbr 网络的配置
– net-autostart       vbr     设置 vbr 虚拟网络开机自启

要真正删除虚拟网络: 先   virsh   net-destroy   名字   然后  virsh   net-undefine   名字

XML文件管理

xml配置文件
– 定义了一个虚拟机的名称、CPU、内存、虚拟磁盘、网卡等各种参数设置
– 默认位于 /etc/libvirt/qemu/虚拟机名.xml

编辑xml文件,没导入虚拟机前可以用vim 修改,已经导入的虚拟机用:

virsh    edit   虚拟机名

导入虚拟机(根据修改过的独立xml文件定义新虚拟机):

virsh  define    虚拟机名.xml

删除虚拟机   :virsh  undefine   虚拟机名

xml文件模板(仅供参考):    

<domain type='kvm'>
  <name>node</name>
  <memory unit='KB'>2097152</memory>
  <currentMemory unit='KB'>2097152</currentMemory>
  <vcpu placement='static'>2</vcpu>
  <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/node.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>
 

自定义安装虚拟机:

1.自建网络光盘

把iso 文件挂载到 ftp 中

2. 创建一个50G 镜像文件

qemu-img       create       -f        qcow2      haha.qcow2   50G

3.安装虚拟机  virt-manager  图形界面

选择网络安装,    选择自定义存储     ,网络 选择自己   建的 虚拟交换机

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐