zoukankan      html  css  js  c++  java
  • 创建KVM虚拟机

    #此操作是在VMware workstations上面做的,要在开机前 编辑虚拟机设置——》处理器---》虚拟化Intel/VT-x/ept 选项勾选上,如果是在服务器上请在bios界面设置

    #查看信息
    [root@linux-node1 ~]# grep -E '(vmx|svm)' /proc/cpuinfo

    ifconfig ---> inet 192.168.1.65

    [root@linux-node1 ~]# yum install -y qemu-kvm libvirt
    [root@linux-node1 ~]# yum install -y virt-install

    [root@linux-node1 ~]# systemctl enable libvirtd
    [root@linux-node1 ~]# systemctl start libvirtd


    #将libvirtd服务停掉虚拟机还是正常运行,只是管理虚拟机的命令不可用而已(libvitd只是管理虚拟机的而已)


    1.qemu-img create -f raw /opt/CentOS-7-x86_64.raw 10G

    2.virt-install --virt-type kvm --name CentOS-7-x86_64 --ram 1024
    --cdrom=/tmp/CentOS-7.2-x86_64-DVD-1511.iso --disk path=/opt/CentOS-7-x86_64.raw
    --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

    #注意要将镜像文件放在/tmp/目录下,否则会提示权限不够的错误
    virt-install --virt-type kvm --name CentOS-7-x86_64 --ram 1024
    --cdrom=/tmp/CentOS-7-x86_64-DVD-1804.iso --disk path=/opt/CentOS-7-x86_64.raw
    --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

    #注意连接之前一定要将防火墙关闭————这是坑
    3.TightVNC 连接到192.168.56.11:5900(TightVNC viewer可以自己上网下载)
    #链接上去后像安装虚拟机一样的操作即可

    #想要虚拟机上网可以将其网卡onboot设置为yes,然后重启网卡
    [root@node1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
    ONBOOT = yes
    [root@node1 ~]# systemctl restart network
    [root@node1 ~]# ping www.baidu.com

    virsh命令是安装libvirtd的时候安装上去的,用来管理虚拟机的一套工具

    [root@node1 ~]# virsh stop CentOS-7-x86_64
    [root@node1 ~]# virsh shutdown CentOS-7-x86_64

    #看到qemu用户的进程,虚拟机相关的运行参数
    [root@node1 ~]# ps -aux | grep kvm

    [root@node1 ~]# virsh list --all


    如果多次执行安装:

    1.删除 rm -f /opt/CentOS-7-x86_64.raw
    2.name需要修改 virt-install --virt-type kvm --name CentOS-dxxxxx7-x86_64 --ram 1024
    --cdrom=/tmp/CentOS-7.2-x86_64-DVD-1511.iso --disk path=/opt/CentOS-7-x86_64.raw
    --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

    3.No support HVM

    CPU热添加
    [root@node1 ~]# vim /etc/libvirt/qemu/entOS-7-x86_64.xml

    <vcpu placement='static'>1</vcpu>
    改成:
    <vcpu placement='auto' current="1">4</vcpu>(改成自动,当前CPU数量是1,最大支持4个CPU)
    #修改之后重启虚拟机
    [root@node1 ~]# virsh stop CentOS-7-x86_64
    [root@node1 ~]# virsh shutdown CentOS-7-x86_64

    #前提是VMware workstations的虚拟机(宿主机)CPU数量大于等于2
    [root@node1 ~]# virsh setvcpus CentOS-7-x86_64 2 --live (将其改成2个CPU)
    在创建的虚拟机上查看cat /proc/cpuinfo processor:1(即cpu数量等于2)

    配置文件CentOS-7-x86_64.xml
    <memory unit='KiB'>1048576</memory>(最大内存大小)
    <currentMemory unit='KiB'>1048576</currentMemory>(当前内存大小)
    修改内存的操作要重启虚拟机

    内存热添加
    #查看内存大小
    [root@linux-node1 ~]# virsh qemu-monitor-command CentOS-7-x86_64 --hmp --cmd info balloon
    #修改内存大小(不能超过最大内存大小)
    [root@linux-node1 ~]# virsh qemu-monitor-command CentOS-7-x86_64 --hmp --cmd balloon 512

    #查看信息
    [root@node1 qemu]# brctl show


    1.创建桥接网卡
    #!/bin/bash
    brctl addbr br0 #创建桥接网卡 br0
    brctl addif br0 eth0 #br0桥接到eth0(最好用脚本执行,否则此步骤会导致断网用脚本执行,否则此步骤会导致断网)
    ip addr del dev eth0 192.168.56.11/24 #删除eth0的ip地址
    [root@node1 qemu]# ip addr del dev ens33 192.168.1.65/24 #配置br0的IP地址
    #此步骤后ping百度网络还是不通,因为没有网关

    #在宿主机上查看网关
    [root@node2 ~]# ip route
    default via 192.168.56.2 dev ens33 proto static metric 100

    route -n #查看电脑默认网关

    route add default gw 192.168.56.1 #添加默认网关

    #修改xml配置文件(用以虚拟机使用这个网卡)
    2.virsh edit CentOS-7-x86_64

    <interface type='bridge'> #network----》bridge
    <source bridge='br0'/> #default----》br0

    3. virsh shutdown CentOS-7-x86_64
    virsh start CentOS-7-x86_64

    4. 修改虚拟机网卡配置(修改ip地址,如果是DHCP自动获取地址则不用修改)

  • 相关阅读:
    一文搞懂 ThreadLocal 原理
    听说用 Lombok 可以早点下班?
    原来 CPU 为程序性能优化做了这么多
    如何优雅地中止线程?
    线程数,射多少更舒适?
    Elasticsearch 之聚合分析入门
    Go语言之旅:基本类型
    Go语言之旅:包
    网络七层协议之数据链路层
    网络七层协议之物理层
  • 原文地址:https://www.cnblogs.com/xpptt/p/11639823.html
Copyright © 2011-2022 走看看