• centos的KVM初级安装


    什么是KVM虚拟化技术?
    KVM(Kernel-based Virtual Machine),主流虚拟化技术之一,集成与Linux2.6之后版本中,通过linux内核提供任务调度及管理。
    kvm,在实现虚拟化之前,需要先检查硬件cpu是否支持虚拟化,如果是在wmwave上实现的虚拟化,需要在关机状态下设置cpu支持虚拟化。然后在命令行下检测

    egrep 'vmx|svm' --color=always /proc/cpuinfo
    

    半虚拟化(xen),需要修改虚拟机内核,全虚拟化不需要直接可以进行虚拟化

    使用yum安装相关软件

    yum -y install qemu-kvm qemu-img virt-viewer virt-manager libvirt python-virtinst
    qemu-kvm  #kvm只对cpu、内存虚拟化,qemu-kvm在此基础上模拟I/O设备
    qemu-img  #磁盘镜像管理工具
    virt-manager #图形界面虚拟机管理工具
    virt-viewer #连接虚拟机控制台
    libvirt   #提供一套管理虚拟化工具的接口,支持主流的虚拟化技术,如KVM、XEN、LXC等,用于命令行管理虚拟机
    python-virtinst #python写的脚本,用于virt-install安装虚拟机
    
    lsmod | grep kvm(检查kvm模块是否加载)
    

    如果上步检查没有加载的话,用modprobe kvm进行检查是否加载

    关闭NetworkManager服务,避免虚拟机与主机网络出现问题

    # service NetworkManager stop
    # chkconfig NetworkManager off
    

    桥接网络

    qemu支持的网络模式:
    桥接 #基于网桥的虚拟网卡,与主机同网段IP地址
    NAT #共享主机的IP地址
    主机模式 #主机之间专用网络

    添加桥接,网卡不配置IP信息

    # vi /etc/sysconfig/network-scripts/ifcfg-eth0 
    
    DEVICE=eth0
    HWADDR=54:39:DF:D0:AD:10
    TYPE=Ethernet
    UUID=7fd81a50-9ee4-41f2-aa53-b73acb45a913
    ONBOOT=yes
    NM_CONTROLLED=yes
    BRIDGE=br0 #添加桥接
    

    创建ifcfg-br0,里面配置真实物理IP信息

    # vi /etc/sysconfig/network-scripts/ifcfg-br0
    DEVICE=br0
    TYPE=Bridge
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.3.10
    NETMASK=255.255.255.0
    GATEWAY=192.168.3.1
    DNS1=8.8.8.8
    
    service libvirtd start(启动libvirtd,提供一套管理虚拟化工具的接口)
    chkconfig libvirtd on(设置libvirtd开机自启动)
    

    可以设置vnc登录实际的物理机,需要在服务器上面装vnc,可以直接使用yum安装,也可以用linux系统自带的rpm包进行安装)

    iptables -I INPUT -p tcp -d port 5901 -j ACCEPT
    /etc/rc.d/init.diptables save
    

    然后需要在实际的物理机上面有一块新的磁盘专门用来放镜像,首先这块磁盘需要做lvm,然后在磁盘上创建一个镜像目录,将镜像上传到这个目录下。

    vitmanager是用来在图形操作界面里面进行安装虚拟机的,在安装虚拟机的时候需要选择镜像,这个时候选择刚才上传上来的镜像就好了
    virinstall是用来在命令行创建虚拟机的。

    qemu-img create -f qcow2 vm1-disk1.qcow2 10G
    virt-install --name=vm1 --disk path=/vm/vm1-disk1.qcow2 --vcpus=1 --ram=1024 --cdrom=/iso/Centos-6.4-i386-bin-DVD1.iso --network network=default --graphics vnc,listen=0.0.0.0 --os-type=linux --os-variant=rhel6

     

  • 相关阅读:
    数组添加元素到特定位置
    jquery $().each,$.each的区别
    JSON字符串 与 JSON对象 互转
    js 获取 url 参数
    js 获取随机数 Math.random()
    js中的|| 与 &&
    js立即执行函数
    css 蒙层
    css 多行文本的溢出显示省略号(移动端)
    移动端利用-webkit-box水平垂直居中(旧弹性盒)
  • 原文地址:https://www.cnblogs.com/1111zhiping-tian/p/7577072.html
Copyright © 2020-2023  润新知