zoukankan      html  css  js  c++  java
  • Centos7 KVM安装部署

    一、基本概念

      虚拟化软件:

        qemu:软件纯模拟全虚拟化软件,特别慢!AIX,兼容性好!

        xen(半):性能特别好,需要使用专门修改之后的内核,兼容性差!

        KVM(Linux):全虚拟机,它有硬件支持CPU,基于内核,而且不需要使用专门的内核

      virt(virt-install virt-clone)作用:虚拟机的安装工具和克隆工具

      qemu-kvm qemu-img 作用:管理虚拟机的虚拟磁盘

      libvirt: 虚拟管理模块

    二、安装

    lsmod |grep -i kvm                             查看是否支持kvm虚拟化
    yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python virt-manager libvirt-client virt-install virt-viewer -y 安装虚拟化的相关软件
    优麒麟:sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager
    systemctl stop firewalld 关闭防火墙
    systemctl start libvirtd 启动libvirt软件
    systemctl enable libvirtd 加入开机自启动项

    三、使用命令行创建虚拟机

      1、参数详解

    命令格式:
    
    virt-install [选项]
    -h                                        查看帮助
    --connect=CONNECT                         连接非默认的hypervisor,默认为qemu:///system
    -n name                                   新的虚拟机主机实例名称
    --virt-type kvm 虚拟化的类型
    --os-type=linux 系统类型
    --os-variant fhel7 系统版本
    -r MEMORT 虚拟机内存设置 --arch=ARCH cpu架构 --machine=MACHINE 虚拟机模拟机类型,Xen或者KVM等。 --vcpus=VCPUS 虚拟主机CPU个数 -c CDROM 设置光盘镜像或光盘设备路径 -l LOCATION 指定安装源路径 --pxe 使用pxe协议启动 --import 导入现有的虚拟机 -x EXTRA 附加的内核参数,如-x "ks=http://server/server.ks" --os-type=Type 操作系统类型,如linux、windwos等 --disk=DISKOPTS 设置虚拟机磁盘,如--disk /dev/storage/path -w NETWORK 设置虚拟机网络,如-w bridge=br0 --noneworks 虚拟机不设置任何网络接口 -m MAC 设置虚拟机MAC地址 --vnc 设置通过vnc查看虚拟机 --hvm 使用全虚拟化技术 --paravirt 使用半虚拟化技术 --soundhw MODEL 设置声卡设备 --autostart 设置虚拟机为开机启动
    --disk /opt/centos2.raw,format=raw,size=10设置硬盘大小,位置
    --cdrom /opt/centos-7-x86_64-DVD.iso 设置镜像

    虚拟机磁盘格式

    基于raw格式创建硬盘:

    [root@CenoOS1 opt]# qemu-img create -f raw CentOS-7.2-x86_64.raw 10G
    Formatting 'CentOS-7.2-x86_64.raw', fmt=raw size=10737418240 
    [root@CenoOS1 opt]# ll -h
    total 16K
    -rw-r--r-- 1 root root 10G May 22 19:23 CentOS-7.2-x86_64.raw

    基于raw创建虚拟机:

    [root@CenoOS1 opt]# virt-install --name CentOS-7-x86_64 --virt-type kvm --ram 1024 --cdrom=/opt/CentOS-7.2.iso 
    --disk path=/opt/CentOS-7.2-x86_64.raw --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

    执行完命令以后立即登陆VNC来安装Linux。VNC访问虚拟机:宿主机IP+端口号(5900)

    基于qcow2格式创建硬盘:

    [root@CenoOS1 opt]#qemu-img create -f qcow2 /opt/centos7.5.qcow2 8G
    Formatting '/opt/c77.qcow2', fmt=qcow2 size=8589934592 encryption=off cluster_size=65536 lazy_refcounts=off
    [root@ c7-41 opt] ll

    基于qcow2格式创建虚拟机:

    virt-install --virt-type=kvm --name=c77 --vcpus=1 -r 1024 --cdrom=/opt/CentOS-7-x86_64-DVD-1908.iso 
    --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel7
    --disk path=/opt/cento7.5.qcow2,size=6,format=qcow2

    执行完命令以后立即登陆VNC来安装Linux。VNC访问虚拟机:宿主机IP+端口号(5900)

    四、kvm虚拟机管理工具的部分常用命令

    virt-install            # 建立kvm虚拟机
    virsh list --all        # 查看正在运行的KVM虚拟机
    virsh list --all        # 查看所有KVM虚拟机
    virsh start name        # 启动KVM虚拟机
    virsh shutdown name     # 正常关闭KVM虚拟机(一般要等几分钟)
    virsh destroy name      # 强制关闭KVM虚拟机(类似于直接断电)
    virsh suspend name      # 挂起KVM虚拟机
    virsh resume name       # 恢复挂起的KVM虚拟机
    virsh dumpxml name      # 查看KVM虚拟机配置文件
    virsh edit name         # 编辑KVM虚拟机的xml配置文件(虚拟机关机后生效)
    virsh undefine name     # 彻底删除KVM虚拟机,建议先用virsh dumpxml name > xxx.xml 保存配置文件)
    virsh define xxx.xml    # 根据xxx.xml文件定义虚拟机
    virsh console name      # 字符界面控制虚拟机
    virsh domiflist name    # 显示虚拟机的网卡信息
    virsh attach-interface name --type bridge --source br0  --medol virtio--config
    # 给虚拟机增加网卡,后面是网卡参数,根据 domiflist 查看情况来确定(虚拟机关机后生效,宿主机重启后失效,需要保存到配置文件中,在重新define)
    virsh detach-interface name  --type bridge --mac  物理地址
    # 删除虚拟机网卡,参数根据 domiflist 查看情况来

     五、图形化创建虚拟机

      1、安装组件

      在centos上图形化安装kvm,实现在kvm上安装centos7
      注意:在redhat7.0上安装kvm,一定要勾选如图选项,必不可少的虚拟化组件

          

    进入系统,选择系统工具-》虚拟系统管理器

     

     选择新建虚拟机

     选择iso镜像

     

     

     选择硬盘容量

     勾上安装前自定义配置

     根据需要进行相关配置,点击开始安装

     

     开始安装系统

  • 相关阅读:
    基于 Docker 的现代软件供应链
    Java 性能调优指南之 Java 集合概览
    Docker 网络基础介绍
    选择 Java 编写 iOS 与 安卓 App的八大理由
    使用Babel和ES7创建JavaScript模块
    Java 8方法引用使用指南
    软件可扩展性:来自星巴克的经验
    Docker 监控之 SaaS 解决方案
    如何高效的阅读uni-app框架?(建议收藏)
    如何高效的阅读uni-app框架?(建议收藏)
  • 原文地址:https://www.cnblogs.com/aqicheng/p/13027408.html
Copyright © 2011-2022 走看看