zoukankan      html  css  js  c++  java
  • 【转载】有图 KVM折腾记..

    KVM折腾记...https://lengjibo.github.io/KVM%E6%8A%98%E8%85%BE%E8%AE%B0/

    每个人都会有缺陷,就像被上帝咬过的苹果,有的人缺陷比较大,正是因为上帝特别喜欢他的芬芳。
    ——《战争与和平》


    唉,最近迷上这玩意儿了,可怕,一直瞎折腾…

    多图预警,此文毫无逻辑,纯手打纯瞎写

    测试系统:centos7

    装系统的时候比较迷,连个ifconfig都忘了装…

    就像我们所知道的,“ifconfig”命令用于配置GNU/Linux系统的网络接口。它显示网络接口卡的详细信息,包括IP地址,MAC地址,以及网络接口卡状态之类。但是,该命令已经过时了,而且在最小化版本的RHEL 7以及它的克隆版本CentOS 7,Oracle Linux 7和Scientific Linux 7中也找不到该命令。

    要查看网卡细节,输入以下命令:

    
        ip addr
    

    输出样例:

    
        1: lo: <loopback,up,lower_up> mtu 16436 qdisc noqueue state UNKNOWN 
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
        2: venet0: <broadcast,pointopoint,noarp,up,lower_up> mtu 1500 qdisc noqueue state UNKNOWN 
        link/void 
        inet 127.0.0.1/32 scope host venet0
        inet 192.168.1.101/32 brd 192.168.1.101 scope global venet0:0
    

    在网络畅通的情况下我们可以使用以下命令,安装ifconfig

    
        yum provides ifconfig
    

    输出样例:

    net-tools包提供了ifconfig命令。因此,让我们安装net-tools包来使用ifconfig命令。

    
        yum install net-tools
    

    现在,你就可以像以往一样使用ifconfig命令了。

    
        ifconfig -a
    

    上图

    因为KVM在图形下操作比较方便,我这里又装了一下界面

    首先安装X(X Window System),命令为

    yum groupinstall “X Window System” 回车(注意有引号)

    安装完成会显示completed!

    检查一下我们已经安装的软件以及可以安装的软件,用命令

    yum grouplist 回车

    然后安装我们需要的图形界面软件,GNOME(GNOME Desktop)

    yum groupinstall + “桌面”
    这里需要特别注意!!!!

    一定要注意 名称必须对应 不同版本的centOS的软件名可能不同 其他Linux系统类似

    否则会出现No packages in any requested group available to install or update 的错误。

    安装完成后我们开始搞kvm

    首先查看cpu是否支持虚拟化

    
        grep vmx /proc/cpuinfo
    

    如果有vmx信息输出,就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法使用KVM虚拟机。

    注:若为虚拟机环境,请在cpu哪里勾选虚拟化选项

    然后确保BIOS里开启虚拟化功能,即查看是否加载KVM模块

    如果没有加载,运行以下命令:

    
    [root@kevin ~]# modprobe kvm
    [root@kevin ~]# modprobe kvm-intel
    

    内核模块导出了一个名为/dev/kvm的设备,这个设备将虚拟机的的地址空间独立于内核或者任何应用程序的地址空间。

    安装KVM插件

    
        yum install qemu-kvm libvirt libvirt-python libguestfs-tools virt-install 
    

    其实这些是可以在系统安装的时候选择的,若未选择,可以现在安装

    安装图形化界面:

    
        yum install -y virt-manager
    

    systemctl enable libvirtd && systemctl start libvirtd #设置开机自启并且启动lbvired服务

    禁用防火墙:

    
    [root@localhost ~]#systemctl stop firewalld
    [root@localhost ~]# systemctl disable firewalld
    
    关闭selinux:
    
     [root@localhost ~]# vi /etc/selinux/config 
    
    将selinux设置为diabled,保存退出 挂载一块硬盘并且格式化
    
        mkfs.ext4 /dev/sdb 
    

    添加之后还不能用,需要格式化

    
    [root@localhost ~]# mkfs.ext4 /dev/sdb #使用ext4文件格式进行格式化
    [root@localhost ~]# mkdir /ios #在根目录下创建一个挂载点目录
    [root@localhost ~]# mount /dev/sdb /ios/ #将sdb挂载到该目录下,就可以使用了
    [root@localhost ~]# df -h #查看一下是否挂载成功
    [root@localhost ~]# vi /etc/fstab #开机自动挂载
    

    编辑完如下

    如果没有输出结果,可以使用下面这条命令加载一下kvm模块

    
    [root@localhost ~]# modprobe kvm
    

    到目前为止,kvm平台已经基本安装完成,接下来需要创建桥接网卡
    编辑主机原网卡配置文件vi /etc/sysconfig/network-scripts/ifcfg-ens33,在文件末尾添加一行:BRIDGE=”br0”

    复制ifcfg-ens33配置文件并重命名为ifcfg-br0

    
    [root@localhost network-scripts]# cp -rvf ifcfg-ens33 ifcfg-br0 
    
    修改ifcfg-br0配置文件 ![](https://i.screenshot.net/8oo82in) 重启下网络
    
    [root@localhost ~]# systemctl restart network #重启网络
    

    若出现以下提示的解决方法

    
        Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details.
    

    解决:

    
    [root@mina0 hadoop]# journalctl -xe
    [root@mina0 hadoop]# systemctl stop NetworkManager
    [root@mina0 hadoop]# systemctl disable NetworkManager
    

    然后重启网络

    可以看到ens33已经获取到了IP地址

    然后开始一些基本的操作

    
    [root@localhost ~]# virt-manager #打开虚拟机管理器
    

    双击QEMU/KVM

    创建一个镜像存储池用来存放ISO镜像文件,并命名

    然后设置存储池所在的目录

    创建一个虚拟机

    将iso文件上传到存储池所在的目录,然后单击“浏览”按钮选择镜像文件,再选择操作系统类型及版本

    至此一个虚拟机完成

    虚拟机的部分操作:开始、暂停、重启、关闭等

    Virsh命令
    virsh list –all
    查看在运行的所有的虚拟机
    virsh dumpxml vm-name
    查看kvm虚拟机配置文件
    virsh start vm-name
    启动kvm虚拟机
    virsh shutdown vm-name
    正常关机

    virsh destroy vm-name
    强制关机
    virsh undefine vm-name
    删除vm的配置文件

    virsh define file-name.xml
    根据配置文件定义虚拟机
    virsh suspend vm-name
    挂起虚拟机
    virsh resumed vm-name
    恢复被挂起的虚拟机
    virsh snapshot-create
    创建快照
    virt-df -h vm-name
    查看虚拟机的磁盘信息
    virt-clone -o rhel7.0 -n rhel7.0-01 -f /var/rhel7.0-01.qcow2
    查看快照信息(如果要恢复的话或者删除必须要看名称是什么)
    virsh snapshot-revert rhel7.0 1537275180
    恢复快照
    virsh snapshot-delete rhel7.0 1537275180
    删除快照

  • 相关阅读:
    java核心技术记录之集合
    Set的非重复判断是根据什么判断的
    struts2-2.3.4.1的struts-default.xml源码
    纯代码搭建项目框架
    初始化项目
    项目部署
    使用estimatedRowHeight的优缺点
    懒加载
    闭包
    Swift 类的构造函数
  • 原文地址:https://www.cnblogs.com/xuanbjut/p/10994599.html
Copyright © 2011-2022 走看看