zoukankan      html  css  js  c++  java
  • CentOS 7部署KVM之二安装配置

    ----本文修改整理自网络,非本人原创。

    环境准备

    由于没有物理机可用,在自己的VMware Workation中搭建完成。首先查看VMware Workation是否支持虚拟化,如红框内没打钩,打钩即可。

    操作系统:CentOS 7.1

    IP地址:10.0.0.60 

    软件包:系统自带yum源

    关闭防火墙

    关闭SELinux

    开始安装

    检查CPU是否支持虚拟化

    # grep -E 'svm|vmx' /proc/cpuinfo
    vmx 为Intel的CPU指令集
    svm 为AMD的CPU指令集

    安装软件包

    # yum install -y qemu-kvm libvirt virt-install virt-manager bridge-utils

    在这条命令中我们安装了qemu-kvm,libvirt,virt-install,virt-manager这四个包,下面了解一下这4个包的作用。

    qemu-kvm

    该软件包主要包含KVM内核模块和基于KVM重构后的QEMU模拟器。KVM模块作为整个虚拟化环境的核心工作在系统空间,负责CPU和内存的调度。QEMU作为模拟器工作在用户空间,负责虚拟机I/O模拟。

    依赖包qemu-img

    主要用来QEMU磁盘镜像的管理,如新建一块磁盘镜像给虚拟机。

    libvirt

    提供hypervisor和虚拟机管理的API。

    依赖包libvirt-client

    KVM客户端命令行管理过年根据virsh,负责虚拟机的启动、停止和管理等。

    依赖包libvirt-daemon

    libvirtd守护进程,作为客户端管理工具跟hypervisor和虚拟机之间的桥梁。

    依赖包libvirt-daemon-driver-xxx

    从名字来看属于libvirtd服务的驱动文件,作为libvirtd服务跟Hypervisor不同对象(如qemu模拟器,网络,存储等)间的接口。

    依赖包bridge-utils

    网桥管理工具包,负责桥接网络的创建、配置和管理等工作。

    virt-install

    创建和克隆虚拟机的命令行工具包。

    virt-manager

    图形界面的KVM管理工具。

    基本配置

    激活并启动libvirt服务

    # systemctl enable libvirtd.service
    # systemctl start libvirtd.service

    配置桥接网络

    默认情况下所有虚拟机只能够在host内部互相通信,如果需要通过局域网访问虚拟机,需要创建一个桥接网络。

    1.停止NetworkManager服务

    # systemctl stop NetworkManager

    该服务开启的情况下直接去修改网卡的配置文件会造成信息的不匹配而导致网卡激活不了。

    2.修改以太网卡配置文件

    # cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-br0
    # vim /etc/sysconfig/network-scripts/ifcfg-eth0
      DEVICE=eth0
      BRIDGE=br0
      ONBOOT=yes
      TYPE=Ethernet

    原有的以太网络不需要配置IP地址,指定桥接的网卡设备(如br0)即可。

    3.修改桥接网卡配置文件

    # vim /etc/sysconfig/network-scripts/ifcfg-br0
      TYPE=Bridge
      DEVICE=br0
      ONBOOT=yes
      NM_CONTROLLED=yes
      BOOTPROTO=static
      IPADDR=10.0.0.60
      GATEWAY=10.0.0.2
      NETMASK=255.255.255.0

    桥接网卡的需要配置IP地址,当然也可以用DHCP。需要注意的是桥接网卡br0中DEVICE的名字一定要与以太网卡eth0中BRIDGE对应。

    NM_CONTROLLED参数表示该网卡是否被NetworkManager服务管理,设置为no的话就是不接管,那么之前不用停止NetworkManager服务。

    开启转发功能并修改ulimit参数

    # echo 1 > /proc/sys/net/ipv4/ip_forward
    # /bin/echo "* soft nproc 65500" >>/etc/security/limits.conf
    # /bin/echo "* hard nproc 65500" >>/etc/security/limits.conf
    # /bin/echo "* soft nofile 65500" >>/etc/security/limits.conf
    # /bin/echo "* hard nofile 65500" >>/etc/security/limits.conf

    重启网卡使之生效。

    # systemctl restart network.service

    验证模块

    # lsmod |grep kvm
    #

    说明模块没有加载,需要加载kvm模块。kvm,只是Linux内核的一个模块,不需要安装,只需要加载。加载命令如下

    # modprobe kvm
    # modprobe kvm_intel

    连接hypervisor,可以使用如下命令:

    # virsh -c qemu:///system list       ###此命令需要重启服务器后使用,否则会报错
    error: failed to connect to the hypervisor
    error: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory
    # reboot
    # virsh -c qemu:///system list
    Id    Name                           State
    ----------------------------------------------------   (由于没有创建虚拟机,所以没有条目显示)

    创建虚拟机

    创建ISO镜像:

    # dd if=/dev/cdrom of=/opt/CentOS-7.1.iso

    创建虚拟机硬盘:

    # qemu-img create -f qcow2 /kvmdir/test.img 4G

    创建虚拟机:

    # virt-install --name Centos --virt-type kvm --ram 1024 --cdrom=/opt/CentOS-7.1.iso --disk path=/kvmdir/test.img  --network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

    各参数说明:

    --name Centos                    ###指定虚拟机名字
    --virt-type kvm                  ###指定虚拟机类型
    --ram 1024                       ###指定虚拟机内存大小
    --cdrom=/opt/CentOS-7.1.iso      ###指定虚拟机OS安装介质路径
    --disk path=/kvmdir/test.img     ###虚拟机安装位置
    --network=default                ###指定VM网卡类型
    --graphics vnc,listen=0.0.0.0    ###指定VNC或字符console 
    --vcpus 5 ###指定VM可以使用cpu个数
    --vcpus 5,maxcpus=10 ###可以使用5颗cpu,最大支持10颗cpu

    打开VNC客户端,输入本机ip:5900(第一个默认就是5900,第二个是5901,以此类推),可连接到所通过vmvare创建的kvm虚拟机上,然后就是安装Centos7的过程。  

    到此,kvm虚拟机安装完成。

  • 相关阅读:
    Telnet远程测试
    数据库笔记
    gcc 链接不到 函数实现, undefined reference to xxx
    usb2ttl 引脚定义
    ip v4 地址中 局域网地址范围
    vdi 磁盘文件转换为 vmdk文件的命令
    tftp 命令使用
    无法通过vnc连接到局域网内的树莓派
    镜像服务网站
    C语言 scanf 输入浮点数的用法
  • 原文地址:https://www.cnblogs.com/ebay/p/6542785.html
Copyright © 2011-2022 走看看