zoukankan      html  css  js  c++  java
  • kvm系列之一:构建kvm虚拟机(centos7)

    概述

    为什么会把题目定位kvm虚拟机简单定制呢?

    我想把自己对kvm虚拟机的认识系统的写下来,但感觉一下子不知道该怎么写。比如说安装就有很多参数:从光盘安启动安装或是从现有磁盘启动、磁盘大小是多少、网络类型是怎样的、cpu规格是怎样的、内存又是多少?另外如何实现网络类型转换、各种分区的扩展,或是当你想添加一块网卡时要如何操作?

    想的太多,水平不够,当然就很难用简短的文字描述,所以干脆从初始构建开始,把这个过程走一遍,尽量包含所有能想到的细节。

    环境

    宿主机cpu和内存

    •  KVM(linux)是券虚拟化技术,需要硬件支持CPU虚拟化,物理机大多是支持的,我这里用的VMware虚拟机作为宿主机,所以需要勾选如下选项

    • 内存尽量大一点,我这里设置了4G

    宿主机配置

    [root@kvm1 ~]# uname -r
    3.10.0-862.el7.x86_64
    [root@kvm1 ~]# cat /etc/redhat-release 
    CentOS Linux release 7.5.1804 (Core) 
    [root@kvm1 ~]# getenforce 
    Disabled
    [root@kvm1 ~]# systemctl is-active firewalld.service 
    unknown
    [root@kvm1 ~]# ip add show eth0|awk 'NR==3{print $2}' 
    10.0.0.101/24
    [root@kvm1 ~]# ip add show eth1|awk 'NR==3{print $2}' 
    172.16.1.101/24
    ##配置repo源,我使用的ali源
    [root@kvm1 yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    [root@kvm1 yum.repos.d]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    View Code

    宿主机安装相关组件

    [root@kvm1 ~]# yum install libvirt* virt-* qemu-kvm* -y
    • libvirt,是虚拟机的管理软件,可以管理kvm、xen、qemu等
    • virt,包含virt-install、virt-clone,作用是虚拟机的安装和克隆
    • qemu-kvm,qemu-imag,作用是复制管理虚拟机的磁盘

    其中libvirtd服务安装后,应该会自动设置启动和开机自启动,如果没有,那就人工开启。另外,如果这时留意,会发现宿主机多了一些网卡信息,如下

    [root@kvm1 opt]# systemctl is-active libvirtd.service 
    active
    [root@kvm1 opt]# systemctl is-enabled libvirtd.service       
    enabled
    
    [root@kvm1 opt]# ip add |grep virbr0
    4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
        inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
    5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000

    默认的kvm虚拟机网络使用nat模式,并且由这个virbr0来分配ip地址,所以构建并安装好kvm虚拟机后会发现它的ip是192.168.122.0/24网段的

    宿主机上传镜像

    上传镜像后,就可以模拟从光盘安装系统的过程了。我这里上传到/opt目录。当然,镜像大的话就别用rz传了,速度慢不快,还有最大容量限制,可以使用sftp传输

    [root@kvm1 ~]# cd /opt
    [root@kvm1 opt]# ll
    total 927744
    -rw-r--r--  1 root root 950009856 Feb  3 09:32 CentOS-7-x86_64-Minimal-1804.iso

    vnc工具

    kvm默认网络模式是nat,宿主机会充当路由器,为内部的kvm虚拟机做端口映射。如果开启了vnc连接功能,kvm会为每个kvm虚拟机开启一个连接端口。可以访问宿主机的设备,就可以使使用vnc工具来连接kvm虚拟机。具体的使用方法会在下文中描述。

    构建kvm虚拟机,并安装系统

    构建虚拟机

    [root@kvm1 opt]# virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name Centos7 --memory 1024 --vcpus 1 --disk /opt/centos2.raw,format=raw,size=10 --cdrom /opt/CentOS-7-x86_64-Minimal-1804.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole   

    参数说明:

    --virt-type kvm 虚拟化的类型
    --os-type=linux 系统类型
    --os-variant rhel7 系统版本
    --name Centos7 虚拟机的名字
    --memory 1024 虚拟机的内存
    --vcpus 1 虚拟机cpu核数
    --disk /opt/centos2.raw,format=raw,size=10 磁盘路径
    --cdrom /opt/CentOS-7-x86_64-DVD-1804.iso 镜像路径
    --network network=default 使用默认的NAT网络
    --graphics vnc,listen=0.0.0.0 开启VNC
    --noautoconsole

    来看看宿主机是否为我们开放了一个vnc端口:

    [root@kvm1 opt]# netstat -lntup|grep qemu-kvm
    tcp        0      0 0.0.0.0:5900            0.0.0.0:*               LISTEN      2279/qemu-kvm    

    接下来,就可以用这个端口连接它了

    为kvm虚拟机安装系统

    我们已经构建好了虚拟机,就好比在VMware中构建了一个空的虚拟机,并且连接了光盘镜像,接下来就是开机安装了。那么如上所说,vnc粉墨登场了,操作图示如下

    上图中的端口是0,这是vnc端口的简明表达,0就代表5900,1代表5901,依次类推。填好ip和端口后,点击“connect”就可以了,那么,下面的界面是不是很熟悉了?

    接下来就是系统安装了,其中有几个地方需要注意,如下图

    除图中标明的点之外,我在磁盘分区中发现,如果使用lvm格式,就必须有一个/boot分区,但如果使用standard格式,就可以只分一个/f分区。另外提前说明一下,如果设置了/boot和/两个分区,那么在后面对根分区扩容时会遇到麻烦。 

    安装完毕后reboot时vnc会断开,系统启动后我们还可以重新连接。但是我们发现vnc窗口里是不能复制粘贴的,并且连来连去也麻烦,别烦,接下来我们会使用console或者ssh来连接。那么在以后的岁月里,vnc就只是备用工具了。

    不过,在下一步实现kvm管理之前,还是来vnc页面来看看我们安装的系统是不是ok吧

     

    好了,系统安装成功了,下一篇,我们来说kvm虚拟机的管理。

  • 相关阅读:
    修改Windows上MySQL的数据文件路径
    【转】Analysis Services 2005中数据完整性处理
    设置Bitvise Ssh Client 为Windows服务
    Finalize/Dispose资源清理模式
    ACM HDU BFS 题目
    BFS专题之hdu1242 rescue
    bfs专题之HUD 1429 胜利大逃亡(续)
    ACM HDU 1010 Tempter of the Bone
    流水线作业调度问题
    系统原型
  • 原文地址:https://www.cnblogs.com/Go-Spurs-Go/p/10349733.html
Copyright © 2011-2022 走看看