搭建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 |
[root@kvm ~]# free
total used free shared buff/cache available
Mem: 1868688 125360 1582372 8752 160956 1584208
Swap: 097148 0 2097148
[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
[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
#关闭防火墙并开启不自启
[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!
配置网卡
增加桥接网卡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
首先检查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],证明配置完毕。
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安装完成