zoukankan      html  css  js  c++  java
  • KVM 部署 日常操作

    KVM 安装

    条件检测准备;CPU 虚拟化 ,现在物理机都支持。

    开启cpu虚拟化 现在至强一般机器都有
    cat /proc/cpuinfo |grep flags 需要全虚拟化支持为vmx(Inter)或svm(AMD)
    
    检测是否支持虚拟化 egrep
    'vmx|svm' /proc/cpuinfo

    依赖包组:

    virtualization 
      // 提供虚拟机的环境,主要包含qemu-kvm
    virtualization-client 
      // 管理和安装虚拟机实例的客户端,主要有python-virtinst,virt-manager,virt-viewer
    virtualization-platform 
      // 提供访问和控制虚拟客户端的接口,主要有libvirt,libvirt-client
    virtualization-tools 
      // 管理离线虚拟机镜像的工具,主要有libguestfs

    yum 安装 依赖包组;

    # yum groupinstall "Virtualization" "Virtualization Client" "Virtualzation Platform"

    在 kvm 平台安装 vnc-server 和 tigervnc 这个 vncviewer ; 便于客户端操作管理

    # yum install vnc-server tigervnc -y
    安装依赖插件
    # yum -y install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer

      安装检测模块示例:

    root@datanode3: ~# modprobe -ls |grep kvm
    kernel/arch/x86/kvm/kvm.ko
    kernel/arch/x86/kvm/kvm-intel.ko
    kernel/arch/x86/kvm/kvm-amd.ko
    
    检测 KVM 模块:
    lsmod | grep kvm

      启动 libvirt 

    启动 libvirt;
    # /etc/init.d/libvirtd start

    创建虚拟网卡
    Bridge方式即虚拟网桥的网络连接方式,是客户机和子网里面的机器能够互相通信;
    网桥的基本原理就是创建一个桥接接口br0,在物理网卡和虚拟网络接口之间传递数据。


    建桥接设备及关联网卡到桥接设备上:

    # virsh iface-bridge eth0 br0

    桥接网络按照正常网络配置就行

    为提高安全性稳定性可以 使用bond模式 配置网卡
    
    iface-bridge 创建之后 br0 虚拟网卡配置 
    [root@test network-scripts]# cat ifcfg-br0
    
    DEVICE="br0"
    ONBOOT="yes"
    TYPE="Bridge"
    BOOTPROTO="none"
    IPADDR="172.16.2.34"
    NETMASK="255.255.255.0"
    GATEWAY="172.16.2.1"
    STP="on"
    DELAY="0"

      bond 模式网络配置示例:

    原有 bond0 网卡配置 变为:
    [root@test network-scripts]# cat ifcfg-bond0 
    
    DEVICE=bond0 
    ONBOOT=yes 
    BONDING_OPTS=
    BRIDGE="br0"

    查看桥接设备:

    [root@test network-scripts]# brctl show
    
    bridge name    bridge id    STP enabled    interfaces
    br0    8000.080027e59101    yes    eth0
    docker0    8000.56847afe9799    no    
    virbr0    8000.525400bdd5a1    yes    virbr0-nic

    KVM 磁盘格式介绍:

    raw 裸磁盘不支持快照
    qcow2, 不保存原始镜像只会记录操作和原始镜像不同的内容,做快照。写时拷贝的一种技术,这种技术把所做的操作记录在一个文件中,只对这个文件镜像。Openstack使用的方式推荐使用这个
    区别:
    qcow2 数据的基本组成单元是cluster 
    raw 性能比qcow2快
    raw 创建多大磁盘,就占用多大空间直接分配,qcow2动态的用多大占用多大空间

    KVM  创建硬盘方式:

    创建硬盘方式 
    qemu-img create -f raw /opt/CentOS-7-x86_64.raw 10G
    
    查看磁盘镜像的格式 qemu
    -img info /opt/CentOS-7-x86_64.raw

    kvm 默认文件位置:

    默认磁盘存储路径 
    /var/lib/libvirt/images/ 

    【 创建虚拟机 】

    virt-install --name centos6 --ram 512 --vcpus=1 --os-type=linux --disk path=/var/lib/libvirt/images/centos64.img,size=10,format=qcow2 -w bridge=br0 --cdrom=/data/CentOS-6.8-x86_64-minimal.iso --graphics vnc,listen=0.0.0.0 --force --autostart

    virsh 常用命令

    # virsh list --all
    # virt-install #建立kvm虚拟机
    # virsh list #查看正在运行的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虚拟机,不可逆,如果想找回来,需要备  

    测试虚拟机删除和恢复:
    虚拟机是通过xml来管理的,不小心把xml删除掉的话可以通过xml来进行恢复,前提是硬盘还在。

    (0)备份xml文件
    # virsh dumpxml CentOS-7-x86_64 >CentOS-7-x86_64-bakcup.xml 
    (
    1)彻底删除kvm虚拟机做测试 # virsh undefine CentOS-7-x86_64
    (
    2)关闭虚拟机 # virsh shutdown CentOS-7-x86_64
    (
    3)查看虚拟机,刚才创建的一台虚拟机没有了。 # virsh list --all Id Name State ---------------------------------------------------- (4)恢复虚拟机 # virsh define CentOS-7-x86_64-bakcup.xml
    (
    5)启动虚拟机 # virsh start CentOS-7-x86_64

    开机自动启动虚拟机:

    # virsh autostart test
    
    # virsh edit CentOS-7-x86_64.xml 编辑虚拟机的XML文件。

    console 链接;
      centos6

    1、添加 ttyS0
    # vi /etc/securetty
    2、编辑内核
    编辑/etc/grub.conf kernel中加入console=ttyS0
    3、编辑/etc/inittab
    添加启动项;
    最后一行加入内容 S0:12345:respawn:/sbin/agetty ttyS0 115200
    4、重启reboot

      centos 7

    在虚机里运行
    [root@localhost ~]# grubby --update-kernel=ALL --args="console=ttyS0"

    问题?

     kvm 安装 主机头绑定问题

    vncviewer问题;
    
    在使用virt-manager安装kvm虚拟机的时候,启动报错,提示
    Unable to initialize GTK: could not open display
    查看日志显示:
    WARNING! The remote SSH server rejected X11 forwarding request.
    解决办法: 
    yum -y install xorg-x11-xauth 
    退出xshell后从新登录,然后再调用virt-manager即可

      

  • 相关阅读:
    【LibreOJ】#6257. 「CodePlus 2017 12 月赛」可做题2
    【Atcoer】ARC088 E
    【Atcoder】ARC088 D
    【CodeForces】671 D. Roads in Yusland
    【CodeForces】671 B. Robin Hood
    【CodeForces】671 C. Ultimate Weirdness of an Array
    【CodeForces】679 A. Bear and Prime 100
    【CodeForces】679 B. Bear and Tower of Cubes
    【BZOJ】3262: 陌上花开
    【CodeForces】899 F. Letters Removing
  • 原文地址:https://www.cnblogs.com/sharesdk/p/8677675.html
Copyright © 2011-2022 走看看