• KVM (虚拟机创建及管理,存储管理)


    创建KVM虚拟机

    1.图形化界面创建

    第一步:查看软件包组

    yum grouplist
    

    第二步:下载GUI界面的软件包组

    yum groupinstall "Server with GUI"
    

    第三步:进入图形化界面

    startx  
    

    2.复制镜像文件

    复制镜像文件到 /var/lib/libvirt/images/

    /var/lib/libvirt/images/:
    CentOS-7-x86_64-DVD-1611.iso
    

    3.可以创建虚拟机了

    找到virt-manager工具并安装虚拟机

    命令行下创建 && 管理虚拟机

    Virt-install:  命令行下创建虚拟机的命令,不过在它后面需要跟上很多的参数
        --name: 虚拟机的名字。
        --disk Location: 磁盘映像的位置。
        --graphics : 怎样连接 VM ,通常是 SPICE 。
        --vcpu : 虚拟 CPU 的数量。
        --ram : 以兆字节计算的已分配内存大小。
        --location : 指定安装源路径
        --network : 指定虚拟网络,通常是 virbr0 或者自己设定的 br0
    
    #例如:
    virt-install --name=test --disk path=/export/kvm/test.qcow2 --ram=1024 --vcpus=1 --graphics spice --location=/export/download/software/iso/CentOS-7.3-x86_64-DVD.iso --network bridge=br0
    

    KVM虚拟机主要文件位置

    /etc/libvirt/qemu       #主配置文件目录
    /etc/libvirt/storage       #存储池(Storage Pool)配置文件
    
    
    /var/lib/libvirt/images/:          #默认磁盘存储文件目录  主配置文件中有定义
    CentOS-7-x86_64-DVD-1611.iso     
    test1.qcow2      #磁盘存储文件
    
    

    KVM 通过virsh console连入虚拟机

    第一步:centos7系统,在vm-name虚拟机中运行;

     grubby --update-kernel=ALL --args="console=ttyS0"
    
    reboot  #重启
    

    第二步:宿主机上连接vm-name虚拟机

    virsh console vm-name
    

    第三步:退出

    按 ctrl+] 组合键退出virsh console
    

    远程管理虚拟机

    1.前提

    virt-manager不仅能管理本地主机上的KVM虚拟机,还能管理其它宿主机上的虚拟机

    2.准备

    因为 KVM(准确说是 Libvirt)默认不接受远程管理,需要按下面的内容配置被管理宿主机中的两个文件:

    vim /etc/default/libvirt-bin
    ...
    start_libvirtd="yes"
    libvirtd_opts="-d -l"
    ...
    
    vim /etc/libvirt/libvirtd.conf
    ...
    listen_tls = 0
    listen_tcp = 1
    unix_sock_group = "libvirtd"
    unix_sock_ro_perms = "0777"
    unix_sock_rw_perms = "0770"
    auth_unix_ro = "none"
    auth_unix_rw = "none"
    auth_tcp = "none"
    ...
    

    重启libvirtd服务

    systemctl restart libvirt-bin
    

    3.远程管理虚拟机

    通过virt-manager工具添加连接,远程连接其他宿主机

    virsh命令行下管理虚拟机

    virsh list           #列出当前宿主机上处于运行状态的虚拟机
    virsh list --all     #列出当前宿主机上所有的虚拟机
    virsh start vm1  #(虚拟机name) 开启某一台虚拟机
    virsh shutdown vm1   # (虚拟机name) 正常关闭一台虚拟机
    virsh destroy vm1     # 强制关闭某一台虚拟机
    virsh autostart vm1    #开机自启动虚拟机vm1
    virsh autostart  --disable vm1   #关闭开机自启动
    virsh edit vm1     #编辑某个虚拟机的配置文件
    virsh pool-list     #列出存储池
    
    qemu-img create -f qcow2 -o size=9G /export/kvm/test.qcow2
    创建一个大小为 50G 的,格式为 qcow2 的磁盘镜像
    
    查看磁盘信息:
    qemu-img info /export/kvm/test.qcow2
    
    

    KVM虚拟化存储管理

    KVM 的存储虚拟化是通过存储池(Storage Pool)和卷(Volume)来管理的

    1. Storage Pool 是宿主机上可以看到的一片存储空间,可以是多种型; 每个 Pool在 /etc/libvirt/storage 目录下都有一个 xml 文件。
    2. Volume 是在 Storage Pool 中划分出的一块空间,宿主机将 Volume 分配给虚拟机,Volume 在虚拟机中看到的就是一块硬盘。

    KVM 支持多种 Volume 文件格式:

    1. raw:是默认格式,即原始磁盘镜像格式,移植性好,性能好,但大小固定,不能节省磁盘空间。
    2. qcow2:是推荐使用的格式,cow 表示 copy on write,能够节省磁盘空间,支持 AES 加密,支持 zlib 压缩,支持多快照,功能很多。
    3. vmdk:是 VMWare 的虚拟磁盘格式,也就是说 VMWare 虚机可以直接在 KVM上 运行。

  • 相关阅读:
    PHP基础知识系列:预定义变量
    PHP基础知识系列:拦截器方法
    【PHP设计模式】创建型之单例(Singleton)
    PHP基础知识系列:cookie与session
    select问题
    柳传志给杨元庆的信
    PHP基础知识系列:多态性
    PHP基础知识系列:面向对象基础
    PHP处理字符串翻转问题总结
    PHP基础知识系列:静态
  • 原文地址:https://www.cnblogs.com/du-z/p/11232322.html
Copyright © 2020-2023  润新知