zoukankan      html  css  js  c++  java
  • kvm2

    kvm虚拟机的桥接网络

    默认的虚拟机网络是NAT模式,网段192.168.122.0/24

    1:创建桥接网卡

    创建桥接网卡命令 virsh iface-bridge eth0 br0 取消桥接网卡命令 virsh
    iface-unbridge br0

    新虚拟机使用桥接模式
    2默认NAT模式

    virt-install --virt-type kvm --os-type=linux --os-
    variant rhel7 --name web04 --memory 1024 --vcpus 1 --
    disk /opt/web04.qcow2 --boot hd --network
    network=default --graphics vnc,listen=0.0.0.0 --
    noautoconsole
    

    桥接模式

    virt-install --virt-type kvm --os-type=linux --os-
    variant rhel7 --name web04 --memory 1024 --vcpus 1 --
    disk /data/web04.qcow2 --boot hd --network bridge=br0 --
    graphics vnc,listen=0.0.0.0 --noautoconsole
    

    如果虚拟机获取不到ip地址

    3 将已有虚拟机网络修改为桥接模式

    a:关机状态下修改虚拟机配置文件:

    例如:virsh edit centos7
    

    b:启动虚拟机,测试虚拟机网络

    如果上层没有开启dhcp,需要手动配置ip地
    址,IPADDR,NATMASK.GATEWAY,DNS1
    
    echo 'TYPE="Ethernet"
    BOOTPROTO="none"
    NAME="eth0"
    DEVICE="eth0"
    ONBOOT="yes"
    IPADDR="10.0.0.102"
    NETMASK="255.255.255.0"
    GATEWAY="10.0.0.254"
    DNS1="223.5.5.5"'  >/etc/sysconfig/network-scripts/ifcfg-eth0
    

    热添加技术

    热添加硬盘、网卡、内存、cpu

    宿主机kvm

    首先添加磁盘

    [root@kvm1 opt]# qemu-img create -f qcow2 /opt/web04_add01.qcow2 10G
    [root@kvm1 opt]# qemu-img info web04_add01.qcow2   #查看
    

    热添加磁盘

    [root@kvm1 opt]# virsh attach-disk web04 /opt/web04_add01.qcow2 vdb --subdriver qcow2    
    

    不加--subdriver参数时, 创建的磁盘没有大小
    临时剥离硬盘(摘取),重新添加

    virsh detach-disk web01 vdb
    

    进入虚拟机进行磁盘的初始化

    [root@kvm1 opt]# virsh console web04
    [root@localhost ~]# hostnamectl set-hostname web04
    [root@localhost ~]# bash
    [root@web04 ~]# fdisk -l
    [root@web04 ~]# mkfs.xfs /dev/vdb    #使用时进行格式化,格式化会分配inode和block大小
    meta-data=/dev/vdb               isize=256    agcount=4, agsize=655360 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=0        finobt=0
    data     =                       bsize=4096   blocks=2621440, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
    log      =internal log           bsize=4096   blocks=2560, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    

    挂载磁盘

    [root@web04 ~]# mount /dev/vdb /mnt
    [root@web04 ~]# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/vda1        10G  1.1G  9.0G  11% /
    devtmpfs        488M     0  488M   0% /dev
    tmpfs           497M     0  497M   0% /dev/shm
    tmpfs           497M  6.6M  490M   2% /run
    tmpfs           497M     0  497M   0% /sys/fs/cgroup
    tmpfs           100M     0  100M   0% /run/user/0
    /dev/vdb         10G   33M   10G   1% /mnt
    

    可以写数据

    [root@web04 ~]# cp /etc/services /mnt/
    [root@web04 ~]# ll /mnt/
    

    扩容

    [root@kvm1 opt]# virsh detach-disk web04 vdb                   #摘取
    [root@kvm1 opt]# qemu-img resize /opt/web04_add01.qcow2 30G    #扩容
    [root@kvm1 opt]# qemu-img info /opt/web04_add01.qcow2          #查看
    [root@kvm1 opt]# virsh attach-disk web04 /opt/web04_add01.qcow2 vdb --subdriver qcow2  #热添加
    

    进入虚拟机

    [root@web04 ~]# umount /mnt/
    
    [root@web04 ~]# mount /dev/vdb /mnt    #直接挂载,不需要在格式化,一格式化,前面的数据会丢失
    [root@web04 ~]# ll /mnt/
    total 656
    -rw-r--r--. 1 root root 670293 Nov 28 13:20 services
    [root@web04 ~]# df -h
    [root@web04 ~]# xfs_growfs /dev/vdb   #一定要更新扩容盘的信息
    

    冷迁移

    需要重新克隆一台kvm2宿主机,和它配置一样的环境
    10.0.0.99  给2G  注意勾选处理器---->虚拟化引擎(虚拟化IntelVT-x)
    [root@kvm2 opt]# cd /etc/yum.repos.d/
    [root@kvm2 opt]# rm -f local.repo 
    [root@kvm2 opt]# echo "192.168.37.200 mirrors.aliyun.com" >>/etc/hosts
    [root@kvm2 opt]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    [root@kvm2 opt]# yum install libvirt virt-install qemu-kvm -y
    [root@kvm2 opt]# systemctl start libvirtd
    [root@kvm2 opt]# systemctl status libvirtd 
    

    基于完整克隆的冷迁移

    [root@kvm1 opt]# virsh dumpxml web03|grep qcow2
    	<driver name='qemu' type='qcow2'/>
        <source file='/opt/web03.qcow2'/>
    
    [root@kvm1 opt]# virsh list --all    #查看是否关机
    [root@kvm1 opt]# scp -rp /opt/web03.qcow2 10.0.0.99:/opt/
    [root@kvm1 opt]# virsh dumpxml web03 >web03.xml
    [root@kvm1 opt]# scp -rp /opt/web03.xml 10.0.0.99:/opt/
    
    [root@kvm2 opt]# virsh define web03.xml 
    [root@kvm2 opt]# virsh start web03
    [root@kvm2 opt]# virsh list
    [root@kvm2 opt]# virsh console web03  
    

    基于链接克隆的冷迁移

    [root@kvm1 opt]# virsh list --all    #查看是否关机
    [root@kvm1 opt]# virsh shutdown web04
    [root@kvm1 opt]# qemu-img info web04.qcow2
    [root@kvm1 opt]# scp -rp web03.qcow2 web04.qcow2 10.0.0.99:/opt/
    [root@kvm1 opt]# virsh dumpxml web04 > web04.xml
    [root@kvm1 opt]# scp -rp web04.xml 10.0.0.99:/opt/
    
    [root@kvm2 opt]# virsh define web04.xml 
    [root@kvm2 opt]# virsh start web04 
    [root@kvm2 opt]# virsh list --alls
    [root@kvm2 opt]# virsh edit web03 
    

    #热迁移

    #热迁移kvm虚拟机:配置文件,nfs共享

    [root@kvm1 ~]# rpm -qa|grep nfs
    nfs-utils-1.3.0-0.65.el7.x86_64
    libnfsidmap-0.25-19.el7.x86_64
    [root@kvm1 ~]# yum history 
    Loaded plugins: fastestmirror
    
    ID     | Login user               | Date and time    | Action(s)      | Altered
    
     5 | root <root>              | 2019-11-27 15:06 | Install        |    1   
     4 | root <root>              | 2019-11-27 11:07 | I, U           |  124   
     3 | root <root>              | 2019-04-19 12:38 | Install        |   12   
     2 | root <root>              | 2019-04-19 12:38 | Install        |    1   
     1 | System <unset>           | 2019-04-19 12:16 | Install        |  473   
    
    history list
    

    #利用nfs实现共享上网,将kvm1和kvm2看作客户端,nfs为服务端

    实现共享存储(nfs)10.0.0.31
    [root@nfs ~]# systemctl restart nfs
    [root@nfs ~]# systemctl status nfs
    [root@nfs ~]# cat /etc/exports
    /vm 10.0.0.0/24(rw,async,no_all_squash,no_root_squash)
    [root@nfs ~]# systemctl restart nfs
    

    #查看

    [root@kvm1 ~]# showmount -e 10.0.0.31
    Export list for 10.0.0.31:
    /vm 10.0.0.0/24
    [root@kvm2 opt]# showmount -e 10.0.0.31
    Export list for 10.0.0.31:
    /vm 10.0.0.0/24
    
    [root@nfs ~]# mkdir /vm
    

    #不能直接将/vm/ 挂载到/opt/ 否则查看/opt/为空,所以需将/opt/下的内容移走,再挂载

    [root@kvm2 opt]# ls /srv/
    [root@kvm2 opt]# ls
    web03.qcow2  web03.xml  web04.qcow2  web04.xml
    [root@kvm2 opt]# mv /opt/* /srv/
    [root@kvm2 opt]# mount -t nfs 10.0.0.31:/vm /opt/
    [root@kvm2 opt]# mv /srv/web03.qcow2 /opt/
    
    
    [root@nfs ~]# ls /vm
    web03.qcow2
    [root@nfs ~]# ll -h /vm/
    total 1.1G
    -rw------- 1 107 107 1.1G Nov 28 19:44 web03.qcow2
    
    [root@kvm2 opt]# id qemu
    uid=107(qemu) gid=107(qemu) groups=107(qemu),36(kvm)
    
    
    
    [root@kvm2 opt]# virsh list
    
     Id    Name                           State
    
     1     web03                          running
     2     web04                          running
    
    [root@kvm2 opt]# ps -ef|grep qemu
    [root@kvm2 opt]# pkill qemu-kvm
    
    [root@kvm1 ~]# virsh list --all
    [root@kvm1 ~]# pkill qemu-kvm
    [root@kvm1 ~]# virsh list --all
    [root@kvm1 ~]# ll /etc/libvirt/qemu/*.xml
    [root@kvm1 ~]# rm -rf、
    [root@kvm1 ~]# virsh list --all
    [root@kvm1 ~]# systemctl restart libvirtd
    [root@kvm1 ~]# virsh list --all
    [root@kvm2 srv]# echo 1024|awk '{print $1*1024}'
    1048576
    [root@kvm2 srv]# mv /opt/web03.qcow2 /opt/web04.qcow2 
    [root@kvm2 srv]# virsh define web04.xml 
    [root@kvm2 srv]# virsh start web04
    [root@kvm2 srv]# brctl show
    
    [root@kvm1 ~]# brctl show
    bridge name	bridge id		STP enabled	interfaces
    br0		8000.000c298e67e3	yes		eth0
    virbr0		8000.525400ee419b	yes		virbr0-nic
    
    [root@kvm1 ~]# cat  /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.37.200 mirrors.aliyun.com
    10.0.0.100 kvm1
    10.0.0.99  kvm2
    [root@kvm1 ~]# scp -rp /etc/hosts 10.0.0.99:/etc/hosts
    
    [root@kvm2 srv]# virsh migrate --live --verbose web04 qemu+ssh://10.0.0.100/system --unsafe --persistent --undefinesource
    [root@kvm2 srv]# virsh migrate --live --verbose web03 qemu+ssh://10.0.0.100/system --unsafe --persistent --undefinesource
    root@10.0.0.100's password: 
    Migration: [100 %]
    [root@kvm2 srv]# virsh list --all
    
     Id    Name                           State
    
    [root@kvm1 ~]# virsh list --all
    
     Id    Name                           State
    
     2     web04                          running
     3     web03                          running
    
    [root@kvm1 ~]# virsh console web04
    [root@localhost ~]# ip add
    [root@localhost ~]# cd /etc/sysconfig/network-scripts/
    [root@localhost network-scripts]# mv ifcfg-eth0 ifcfg-eth1
    [root@localhost network-scripts]# echo 'TYPE="Ethernet"
    
    > BOOTPROTO="none"
    > NAME="eth0"
    > DEVICE="eth0"
    > ONBOOT="yes"
    > IPADDR="10.0.0.102"
    > NETMASK="255.255.255.0"
    > GATEWAY="10.0.0.254"
    > DNS1="223.5.5.5"'  >/etc/sysconfig/network-scripts/ifcfg-eth1
    
    [root@kvm1 opt]# ls
    web04.qcow2
    [root@kvm1 opt]# virsh migrate --live --verbose web04 qemu+ssh://10.0.0.99/system --unsafe --persistent --undefinesource
    root@10.0.0.99's password: 
    Migration: [100 %]
    [root@kvm1 opt]# virsh list --all
    
     Id    Name                           State
    
     3     web03                          running
    
    
    [root@kvm2 opt]# virsh list --all
    
     Id    Name                           State
    
     9     web04                          running
    
    [root@kvm1 opt]# virsh list --all    #查看是否关机
    [root@kvm1 opt]# virsh shutdown web04
    [root@kvm1 opt]# qemu-img info web04.qcow2
    [root@kvm1 opt]# scp -rp web03.qcow2 web04.qcow2 10.0.0.99:/opt/
    [root@kvm1 opt]# virsh dumpxml web04 > web04.xml
    [root@kvm1 opt]# scp -rp web04.xml 10.0.0.99:/opt/
    
    [root@kvm2 opt]# virsh define web04.xml 
    [root@kvm2 opt]# virsh start web04 
    [root@kvm2 opt]# virsh list --alls
    [root@kvm2 opt]# virsh edit web03 
    
    [root@kvm1 opt]# virsh dumpxml web04|grep qcow
          <driver name='qemu' type='qcow2'/>
          <source file='/opt/web04.qcow2'/>
            <source file='/opt/web03.qcow2'/>
          <driver name='qemu' type='qcow2'/>
          <source file='/opt/web04_add01.qcow2'/>
    
  • 相关阅读:
    WPF:DataGrid 自动生成行号
    C#:WinForm之Command
    i.MX RT1010之FlexIO模拟SSI外设
    i.MX RT1010之FlexIO模拟I2S外设
    i.MX RT600之DSP开发环境调试篇
    i.MX RT600之DSP调试环境搭建篇
    i.MX RT600之DMIC外设介绍及应用
    i.MX RT600之I2S外设介绍及应用
    ssm框架思维-登录
    idea里面搭建SSM框架-crud
  • 原文地址:https://www.cnblogs.com/baozexu/p/11966341.html
Copyright © 2011-2022 走看看