搭建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安裝完成

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM