zoukankan      html  css  js  c++  java
  • KVM虚拟机的创建、管理与迁移

    一、安装guest虚拟机
    1、直接通过virt-manager安装、管理虚拟机(略)
    2、通过命令行安装guest虚拟机
    qemu-img create -f qcow2 /images/centos6.3-x86_64.img 10G
    chown qemu:qemu /images/centos6.3-x86_64.img
    virt-install --name centos6.3 --ram=1024 --arch=x86_64 --vcpus=1 --check-cpu --os-type=linux --os-variant='rhel6' -c /tmp/CentOS-6.3-x86_64-minimal.iso --disk path=/images/centos6.3-x86_64.img,device=disk,bus=virtio,size=10,format=qcow2 --bridge=br100 --noautoconsole --vnc --vncport=5902 --vnclisten=0.0.0.0

    二、利用virsh对虚拟机管理
    2、开关机
    virsh start centos6.3 #开机
    virsh create /etc/libvirt/qemu/centos6.3.xml #直接通过主机配置文档启动主机
    virsh shutdown centos6.3 #关机
    virsh destroy centos6.3 #强制关闭电源
    virsh list --all #查看虚拟机状态

    3、添加删除虚拟机
    virsh define /etc/libvirt/qemu/node5.xml #根据主机配置文档添加虚拟机
    virsh list --all #node5已经添加
    virsh undefine node5 #移除虚拟机
    ls /etc/libvirt/qemu
    virsh list --all #node5已经被移除

    4、使用已存在的虚拟机配置文档安裝新的虚拟机
    qemu-img create -f qcow2 /virhost/kvm_node/node6.img 20G#为新建虚拟机生产磁盘镜像文件
    virsh list
    virsh dumpxml node4 >/etc/libvirt/qemu/node6.xml#导出虚拟机node6的硬件配置信息为/etc/libvirt/qemu/node6.xml

    vim /etc/libvirt/qemu/node6.xml
    <domain type='kvm' id='20'> #修改node6的id号
    <name>node6</name> #虚拟机node6的name
    <uuid>4b7e91eb-6521-c2c6-cc64-c1ba72707fc7</uuid> #uuid必须修改,否则会和node4的冲突
    <source file='/virhost/node4.img'/> #指定新虚拟机的硬盘文件

    virsh define /etc/libvirt/qemu/node6.xml #使用虚拟描述文档建立虚拟机,
    可用virsh edit node6修改node6的配置文件
    virsh start node6#启动虚拟机

    5 为虚拟机开启vnc
    virsh edit node4 #编辑node4的配置文件;不建议直接通过vim node4.xml修改。
    <graphics type='vnc' port='-1' listen='127.0.0.1' keymap='en-us'/>
    #port='-1' :port自动分配,监听回环网络(virt-manager管理需要listen='127.0.0.1'),无密码
    改为
    <graphics type='vnc' port='5904' listen='0.0.0.0' keymap='en-us' passwd='xiaobai'/>
    #固定vnc管理端口5904,不自动分配,vnc密码xiaobai,监听所有网络

    远程vnc访问地址:192.168.32.40:5904

    三、存储池和存储卷的管理

    1.创建 KVM主机存储池

    1).创建基于文件夹(目录)的存储池
    virsh pool-define-as vmware_pool --type dir --target /virhost/vmware#定义存储池vmware_pool或
    virsh pool-create-as --name vmware_pool --type dir --target /virhost/vmware
    #创建存储池vmware_pool,类型为文件目录,/virhost/vmware,与pool-define-as结果一样

    2).创建基于文件系统的存储池
    virsh pool-define-as --name vmware_pool --type fs --source-dev /dev/vg_target/LogVol02 --source-format ext4 --target /virhost/vmware

    virsh pool-create-as --name vmware_pool --type fs --source-dev /dev/vg_target/LogVol02 --source-format ext4 --target /virhost/vmware

    3).查看存储池信息
    virsh pool-info vmware_pool #查看存储域(池)

    4).启动存储池
    virsh pool-start vmware_pool #启动存储池
    virsh pool-list

    5)销毁存储域,取消存储池
    virsh pool-destroy vmware_pool #销毁存储池
    virsh pool-list --all
    virsh pool-undefine vmware_pool #取消存储池的定义
    virsh pool-list --all

    2.创建了存储池后,就可以创建一个卷,这个卷是用来做虚拟机的硬盘
    virsh vol-create-as --pool vmware_pool --name node6.img --capacity 10G --allocation 1G --format qcow2#创建卷 node6.img,所在存储池为vmware_pool,容量10G,初始分配1G,文件格式类型qcow2
    virsh vol-info /virhost/vmware/node6.img #查看卷信息名称: node6.img类型: 文件容量: 10.00 GB分配: 136.00 KB

    3.在存储卷上安装虚拟主机
    virt-install --connect qemu:///system -n node7 -r 512 -f /virhost/vmware/node7.img --vnc --os-type=linux --os-variant=rhel6 --vcpus=1 --network bridge=br0 -c /mnt/rhel-server-6.0-x86_64-dvd.iso
     
     
  • 相关阅读:
    JUC 1
    给定一个随机数生成器randm(),获得randn()
    堆与优先队列
    集合与映射
    二分搜索树
    链表
    栈与队列
    PostgreSQL ALTER TABLE 命令
    postgresql修改自增序列
    SQL 删除重复行,只保留一条记录
  • 原文地址:https://www.cnblogs.com/pinganzi/p/5256980.html
Copyright © 2011-2022 走看看