搭建KVM虚拟化

内存:至少2GB

处理器:数量2、打勾虚拟化 Inte|VT-x/EPT 或 AMD-V/RVI(V)虚拟化 CPU 性能计数器(U)

硬盘:两个、一个20G、一个60G

镜像也可以CentOS-7-x86_64-DVD-1511.iso

IP主机名
192.168.200.10 KVM

 

查看CPU参数

查看内存是否正常

[root@kvm ~]# free
       total      used     free      shared    buff/cache   available
Mem:  1868688  125360  1582372     8752     160956   1584208
Swap:  097148     0     2097148

查看CPU是否支持虚拟化(如果不对的话可以去查看一下处理器哪里是否勾选

[root@kvm ~]# grep -Ei 'vmx|svm' /proc/cpuinfo
//vmx为英特尔的cpu;svm为AMD的cpu。
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch arat tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec xsaves
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch arat tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec xsaves  

 挂载新磁盘

使用lsblk命令,查看虚拟机的磁盘的情况

[root@kvm ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0  500M  0 part /boot
└─sda2            8:2    0 19.5G  0 part 
  ├─centos-root 253:0    0 17.5G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   60G  0 disk 
sr0              11:0    1    4G  0 rom 

格式化sdb磁盘,格式化成ext4格式

[root@kvm ~]# mkfs.ext4 /dev/sdb
.............
#blkid+磁盘:查看磁盘信息
[root@kvm ~]# blkid /dev/sdb
/dev/sdb: UUID="dab6d659-e334-41ed-a15a-96ce05b48c1a" TYPE="ext4"

 格式化完成后,我们挂载磁盘,先创建挂载目录/kvm_data,然后进行挂载

[root@kvm ~]# mkdir /kvm_data
[root@kvm ~]# mount /dev/sdb /kvm_data/

 

这种方式挂载,重启虚拟机后,需要再次重新挂载,我们为了方便开机后可以自动挂载,编写/etc/fstab文件,添加文件最末一行

[root@kvm ~]# vi /etc/fstab
#添加到最后一行
/dev/sdb     /kvm_data           ext4      defaults    0 0

挂载yum源

[root@kvm ~]# rm -rf /etc/yum.repos.d/*
[root@kvm ~]# vi /etc/yum.repos.d/local.repo
    [centos]
    name=centos
    baseurl=file:///opt/centos
    gpgcheck=0
    enabled=1
[root@kvm ~]# mkdir /opt/centos
[root@kvm ~]# mount /dev/sr0 /opt/centos

关闭防火墙和selinux

#关闭防火墙并开启不自启
[root@kvm ~]# systemctl stop firewalld && systemctl disable firewalld
#关闭防火墙基于包过滤的有一些特性
[root@kvm ~] iptables -F
[root@kvm ~] iptables -X
[root@kvm ~] iptables -Z
[root@kvm ~]iptables-save

#关闭se(简单的关闭se,重启后还会自动打开)
[root@kvm ~] setenforce 0
#修改se配置文件(永久性的关闭se)
[root@kvm ~] vim /etc/selinux/config 
#进入文件之后修改
SELINUX=disabled
#查看se状态
[root@localhost ~]# getenforce
Disabled

安装kvm

上述操作完成后,我们使用Yum进行安装KVM

[root@kvm ~]# yum install -y  virt-*  libvirt  bridge-utils qemu-img qemu-kvm
…………
Complete!

启动KVM

配置网卡

增加桥接网卡ifcfg-br0

[root@kvm ~]# cd /etc/sysconfig/network-scripts/
[root@kvm network-scripts]# cp ifcfg-eno16777736 ifcfg-br0
[root@kvm network-scripts]# vi ifcfg-br0 
    TYPE=Bridge
    BOOTPROTO=none
    NAME=br0
    DEVICE=br0
    ONBOOT=yes
    IPADDR=192.168.200.10
    NETMASK=255.255.255.0
    GATEWAY=192.168.200.2
    DNS1=114.114.114.114
    DNS2=8.8.8.8

修改NAT网卡ifcfg-eno16777736

[root@kvm network-scripts]# cat ifcfg-eno16777736 
    TYPE=Ethernet
    BOOTPROTO=none
    NAME=eno16777736
    DEVICE=eno16777736
    ONBOOT=yes
    BRIDGE=br0

修改完成网卡内容后,重新启动网卡服务并查看网卡信息

[root@kvm network-scripts]# service network restart
#查看是否成功(成功后 br0 拥有 IP 而 eno16777736 没有IP了)
[root@kvm network-scripts]# ip add

启动libvirtd服务

首先检查KVM模块是否加载

[root@kvm network-scripts]# lsmod|grep kvm
kvm_intel             162153  0 
kvm                   525259  1 kvm_intel

启动libvirtd并检查是否成功启动

[root@kvm network-scripts]# systemctl start libvirtd
[root@kvm network-scripts]# ps -ef |grep libvirt
root      17270      1  1 04:36 ?        00:00:00 /usr/sbin/libvirtd
nobody    17383      1  0 04:36 ?        00:00:00 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
root      17384  17383  0 04:36 ?        00:00:00 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
root      17416   2264  0 04:36 pts/0    00:00:00 grep --color=auto libvirt

启动成功后,使用brctl命令可以看到两个网卡

[root@kvm ~]# cd
[root@kvm ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
br0            8000.000c298d1f90       no          eno16777736
virbr0          8000.525400c7e229       yes           virbr0-nic

命令行安装CentOS 7

CentOS 7镜像下载地址:

http://mirrors.163.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2003.iso

首先,通过SCRT上传CentOS 7镜像到/tmp目录下,如果没有镜像的可以自行下载。上传后,使用ll命令查看/tmp目录下是否存在CentOS 7镜像文件

[root@kvm ~]# ll /tmp/
total 4228096
-rw-r--r--  1 root root 4329570304 Apr 15  2016 CentOS-7-x86_64-DVD-1511.iso

镜像存在,接下来使用virt-install进行CentOS 7的安装

[root@kvm ~]# virt-install --name=test --memory=512,maxmemory=1024 --vcpus=1,maxvcpus=2 --os-type=linux --os-variant=rhel7 --location=/tmp/CentOS-7-x86_64-DVD-1511.iso --disk path=/kvm_data/test.img,size=10  --bridge=br0 --graphics=none --console=pty,target_type=serial  --extra-args="console=tty0 console=ttyS0"
命令解释:
 --name:指定虚拟机的名称。
 --memory:指定分配给虚拟机的内存资源大小。
 maxmemory:指定可调节的最大内存资源大小,因为KVM支持热调整虚拟机的资源。
 --vcpus:指定分配给虚拟机的CPU核心数量。
 maxvcpus:指定可调节的最大CPU核心数量。
 --os-type:指定虚拟机安装的操作系统类型。
 --os-variant:指定系统的发行版本。
 --location:指定ISO镜像文件所在的路径,支持使用网络资源路径,也就是说可以使用URL。
 --disk path:指定虚拟硬盘所存放的路径及名称,size则是指定该硬盘的可用大小,单位是G。
 --bridge:指定使用哪一个桥接网卡,也就是说使用桥接的网络模式。
 --graphics:指定是否开启图形。
 --console:定义终端的属性,target_type 则是定义终端的类型。
 --extra-args:定义终端额外的参数

打完上面那条命令后,等一会,就可以看见下面这段命令,这是系统基础设置,带[!]基本都是需要配置的,接下来我们开始配置“Timezone settings”,输入“2”,按Enter键

Please make your choice from above ['q' to quit | 'b' to begin installation | 'r' to refresh]: 2

 “Timezone settings”时区设置选择 5) Asia亚洲,再选择城市 62) Shanghai上海

Use numbers or type names directly [b to region list, q to quit]: 5
.......
Use numbers or type names directly [b to region list, q to quit]: 62

输入完毕后,可以发现2的[!]变成了[x],证明配置完毕。

接下来我们配置“Software selection”,选择“4”,在选择“c”,因为默认就是minimalinstall,按Enter键

Please make your choice from above ['q' to quit | 'b' to begin installation |'r' to refresh]: 4
......
Please make your choice from above ['q' to quit | 'c' to continue | 'r' to refresh]: c

 

接下来我们配置“Installation Destination”,选择“5”,其余的依次选择“c”,按Enter键

Please make your choice from above ['q' to quit | 'b' to begin installation | 'r' to refresh]: 5
......
Please make your choice from above ['q' to quit | 'c' to continue | 'r' to refresh]: c
......
Please make your choice from above ['q' to quit | 'c' to continue | 'r' to refresh]: c
......
Please make your choice from above ['q' to quit | 'c' to continue | 'r' to refresh]: c

 

接下来配置“Root password”,选择8,按Enter键

Please make your choice from above ['q' to quit | 'b' to begin installation | 'r' to refresh]: 8

 

依次输入两次密码,密码相同,我设置的为123456

Password: 123456 
//密码为密文,不显示。
Password (confirm): 123456
......
//这句话的意思:你的密码太过简单,是否使用它,输入yes即可。
Please respond 'yes' or 'no': yes

 

配置完成,选择“b”,按Enter键后,开始安装

Please make your choice from above ['q' to quit | 'b' to begin installation | 'r' to refresh]: b
......
Use of this product is subject to the license agreement found at /usr/share/centos-release/EULA

        Installation complete.  Press return to quit
//按回车
CentOS Linux 7 (Core)
Kernel 3.10.0-327.el7.x86_64 on an x86_64
localhost login: root
Password: 123456
[root@localhost ~]# 
//按“Ctrl+]”键,退出终端,回到宿主机。
[root@kvm ~]#

 

CentOS 7安装完成

 

posted @ 2021-12-22 11:32  花花de代码生活  阅读(335)  评论(0编辑  收藏  举报