• openstack-KVM管理工具【转载】


    一、 virsh

      通过libvirt API管理Hpervisor、node、domain,实现多数功能调用。

      即统一管理多台计算机上的域。

    1、管理其他服务器(node)

      (1)修改配置文件:vim /etc/libvirt/libvirt.conf

    uri_aliases = [
      "work=qemu+ssh://root@172.16.2.1/system",
    ]

      (2)管理其他服务器上的域:virsh connect work           

      (3)如果不修该配置文件:virsh -c qemu+ssh://root@172.16.2.1/system

    2、virsh可连接的命令

      (1)格式:virsh 参数

    复制代码
    virsh uri                    连接的路径qemu:///system
    virsh list                   显示正在运行的虚拟机
    virsh list --all             显示所有虚拟机
    virsh nodeinfo               显示当前节点信息
    virsh hostname               显示当前节点主机名
    virsh version                显示当前libvirt版本
    virsh iface-list             显示虚拟网络接口信息
    virsh iface-mac br0          显示对应网卡物理地址
    virsh net-info default       显示默认网络信息
    virsh net-uuid default       显示默认网络的UUID
    复制代码

      

      (2)格式:virsh 参数 域名/ID

    复制代码
    virsh domname                   域名
    virsh vcpucount                 域vcpu数量
    virsh vcpuinfo                  域vcpu信息
    virsh dommemstat                域内存状态
    virsh console                   连接到对应的域
    virsh start                     连接到对应的域
    virsh destroy                   关闭对应的域
    virsh reboot                    重启对应的域
    复制代码

      

      (3)存储块的信息Storage Volume(服务器上操作)

    复制代码
    virsh domname                   域名
    virsh vcpucount                 域vcpu数量
    virsh vcpuinfo                  域vcpu信息
    virsh dommemstat                域内存状态
    virsh console                   连接到对应的域
    virsh start                     连接到对应的域
    virsh destroy                   关闭对应的域
    virsh reboot                    重启对应的域
    复制代码

          (4)查看域是否支持KVM

    virsh qemu-monitor-command chen(ID) --hmp "info kvm"
    virsh qemu-monitor-command chen(ID) --hmp info kvm

    3、虚拟机快照

    复制代码
    snapshot (help keyword "snapshot"):virsh help snapshot
    virsh snapshot-create           使用XML生成快照
    virsh snapshot-dumpxml          为域快照转储XML
    virsh snapshot-parent           获取快照的上级快照名称
    virsh snapshot-create-as        使用一组参数生成快照
    virsh snapshot-edit             编辑快照XML
    virsh snapshot-revert           将域转换为快照
    virsh snapshot-current          获取或者设定当前快照
    virsh snapshot-info             快照信息
    virsh snapshot-delete           删除域快照
    virsh snapshot-list             为域列出快照
    
    
    virsh snapshot-create-as chen --name kuaizhoa1 --description 1
    virsh snapshot-list chen
    virsh snapshot-info chen kuaizhao1
    复制代码

    4、添加设备

      (1)添加网卡

    virsh attach-interface 域名 --type bridge --source br0
    virsh attach-interface 域名 --type bridge --source br0 --config

      (2)添加磁盘

    复制代码
    qemu-img create -f qcow2 /var/lib/libvirt/images/haha.qcow2 2G
    virsh attach-disk chen /var/lib/libvirt/images/haha.qcow2 vdb --subdriver qcow2 --cache none --config --live
    
    注:--subdriver:指定磁盘类型为qcow2
      --config:永久添加
      --live:激活
    复制代码

          (3)添加iSCSI磁盘

    复制代码
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source dev='/dev/disk/by-path/ip-9.144.44.160:3260-iscsi-iqn.1986-03.com.ibm:2145.flex-v7000-9.144.44.11.node1-lun-0'/>
      <target dev='vdb' bus='virtio'/>
    </disk>
    
    virsh attach-device $domain scsi1.xml --live --persistent
    复制代码

    5、连接镜像文件

    复制代码
    virsh qemu-monitor-command chen --hmp info block
    virsh qemu-monitor-command chen --hmp change drive-ide0-0-0 /var/lib/libvirt/images/CentOS-7-x86_64-DVD-1804.iso
    virsh qemu-monitor-command chen --hmp eject drive-ide0-0-0
    
    注:change:挂载
       eject:弹出
    复制代码

    6、删除虚拟机

    virsh undefine chen --storge /var/lib/libvirt/images/chen.qcow2

    二、 virt命令管理

    1、虚拟机工具

      安装软件:yum install libguestfs-tools -y

    复制代码
    virt-top
    virt-df /var/lib/libvirt/images/chen.qcow2           域磁盘信息
    virt-ls /var/lib/libvirt/images/chen.qcow2 /         显示域的根分区
    virt-filesystems -d chen                             显示域为chen的文件系统
    
     
    将域中的passwd拷贝到本机/mnt下(-a指定路径,-d指定域)
    virt-copy-out -a /var/lib/libvirt/images/chen.qcow2 /etc/passwd /mnt
    virt-copy-out -d chen /etc/passwd /mnt
    复制代码

    2、清理镜像

    复制代码
    virt-sysprep --list-operations                 显示可以清理的镜像文件
    virt-sysprep -d 域 --operations 镜像            在指定域中清除指定镜像
    
    镜像名有以下:
    pacct-log,pam-data,crash-data,bash-history,ssh-hostkeys,logfiles,udev-persistent-net,tmp-files,dhcp-client-state,puppet-data-log,net-hostname,net-hwaddr 
    复制代码

    3、硬盘启动并安装系统

          创建镜像:qemu-img create -f qcow2 /var/lib/libvirt/images/chen.qcow2 20G

    复制代码
    virt-install 
    --name chen 
    --memory 4096 
    --cpu host-passthrough 
    --vcpus 4,maxvcpus=8,sockets=2,cores=2,threads=2 
    --disk path=/var/lib/libvirt/images/chen.qcow2 
    --location /var/lib/libvirt/images/CentOS-7-x86_64-DVD-1804.iso 
    --os-type linux 
    --os-variant rhel7 
    --network bridge=br0 
    --graphics none 
    --console pty,target_type=serial 
    --extra-args 'console=ttyS0,115200n8 serial'
    复制代码

    4、克隆虚拟机

    复制代码
    virt-clone --connect=qemu:///system -o chen -n ke -f /var/lib/libvirt/images/ke.qcow2
    ls -lh /etc/libvirt/qemu/chen.xml /etc/libvirt/qemu/ke.xml
    grep "mac address" /etc/libvirt/qemu/chen.xml /etc/libvirt/qemu/ke.xml
    grep "source file" /etc/libvirt/qemu/chen.xml /etc/libvirt/qemu/ke.xml
    ls -lh /var/lib/libvirt/images/chen.qcow2 /var/lib/libvirt/images/ke.qcow2
    
    注:-o:指定域
      -n:指定克隆后的域
      -f:指定克隆后域的磁盘镜像
      mac address:MAC地址信息
      source file:域指定的磁盘来源
    复制代码

    三、 qemu-img命令管理

    1、镜像快照

    复制代码
    qemu-img snapshot -l ke.qcow2
    ll /var/lib/libvirt/images/ke.qcow2
    qemu-img snapshot -c kuaizhao /var/lib/libvirt/images/ke.qcow2
    ll /var/lib/libvirt/iamges/ke.qcow2
    
    qemu-img snapshot -a kuaizhao /var/lib/libvirt/images/ke.qcow2
    qemu-img snapshot -d kuaizhao /var/lib/libvirt/images/ke.qcow2
    
    NOTE:snapshot is the name of the snapshot to create,apply or delete
    -a:applies a snapshot (revert disk to saved state)        应用快照
    -c:creates a snapshot                                     创建快照
    -d:deletes a snapshot                                     删除快照
    -l:lists all snapshots in the given image                 显示所有快照
    复制代码

    四、Console connection

    (1)vim /etc/securetty

      文件添加:ttyS0

    (2)vim /etc/grub2.cfg

      在第一个linux16行末尾添加:console=ttyS0

    (3)echo "S0:1234:respawn:/sbin/agetty/ ttyS0 115200" >> /etc/inittab

          此处信息也可不用添加

    (4)宿主机连接虚拟机

      virsh console 域名

  • 相关阅读:
    【NOI1999、LOJ#10019】生日蛋糕(搜索、最优化剪枝、可行性剪枝)
    【NOI2016】区间
    【CodeForces688A】Opponents
    「LOJ10150」括号配对
    HDU6444(子段和、分情况比较)
    牛客练习赛41E(球的体积并)
    Codeforces 1154G(枚举)
    POJ1830(异或高斯消元)
    Codeforces 1114F(欧拉函数、线段树)
    牛客小白月赛13 G(双向搜索)
  • 原文地址:https://www.cnblogs.com/tortoise512/p/11393992.html
Copyright © 2020-2023  润新知