centos7搭建kvm


以下使用都基於Centos7.2進行的操作

流程:

1、開啟虛擬化技術

2、下載KVM相關組件

3、建立(系統安裝)磁盤

4、安裝系統

5、安裝完畢后,查看配置

6、進入管理台,查看虛擬機狀態及網絡狀態。

7、進入虛機,並查看網絡,及配置網絡

8、復制虛擬機

 

重要提示:

1、Centos7以上環境需要關閉NetworkManager服務,不讓將會出現不明錯誤

#systemctl stop NetworkManager

#systemctl disable NetworkManager

2、啟動起來的虛擬機是否可正常上網需觀察route表。

 

一、宿主機開啟虛擬技術

使用kvm前提:CPU支持虛擬技術,且在BIOS上開啟該項功能。

#grep -E '(vmx|svm)' /proc/cpuinfo

使用以上命令,如果其中輸出有VMX或SVM,既表明支持虛擬化技術。

備注:進入BIOS中選擇Intel VirtualTechnology這一項,默認disabled(關閉),選擇enabled(開啟)就可以了

驗證方法:在完成第2、3的基礎上,第4步安裝系統時不出現異常提示

 

二、下載KVM相關組件

yum安裝KVM及所需組件

#yum -y install libvir kvm virt-manager virt-install bridge-utils libvirt qemu-kvm virt-viewer

#systemctl  start  libvirtd

驗證方式:#virsh   可以進入虛機控制台

 

三、建立(系統安裝)磁盤

#qemu-img create /opt/kvm/centos7.img 50G

#qemu-img create -f qcow2 -o preallocation=metadata /opt/kvm/centos7.qcow2 50G (支持快照)

以上兩條命令都表示在/opt/kvm下創建50G系統盤。

第一是以默認格式img創建一個50G系統盤,測試使用時推薦使用。

第二條以qcow2格式創建一個50G系統盤,推薦在正式環境中使用,支持快照等高級功能,該功能將在拓展篇中記錄。

驗證方法:#ls -lh /opt/kvm/centos7.img 看是否顯示占用空間與輸入的一致

 

四、安裝操作系統

#virt-install -n Centos --ram=1024 --disk centos7.img --location CentOS-6.7-x86_64-bin-DVD1.iso --graphics none --check all=off --network network=default --vcpus=1 --extra-args='console=tty0 console=ttyS0'

注:

以上命令在當前/opt/kvm目錄下操作,所有文件都為使用絕對路徑-n  --指定系統名稱

--ram  --指定內存大小

--disk  --指定系統盤

--location --指定安裝的鏡像盤路徑、名稱

 --network network=default  --指定使用的網卡

--vcpus=1  --指定CPU核實

--check all=off --可刪除

--check path_in_use=off 或 --check all=off 選項覆蓋

--extra-args='console=tty0 console=ttyS0' 這串表示可以通過console的方式連接已經創建的虛擬機。

--graphics none這一串是表示在把圖形化輸出到命令行終端上。

另外一種把圖形化輸出到命令行操作終端的方法是修改系統上的/boot/grub/grub.conf文件,在kernel后面加上console ttyS0,vim /etc/securetty,添加ttyS0,然后重啟系統。

驗證方法:

1)安裝過程無報錯、輸入#virsh list --all可以查看到已安裝的系統信息。

2)virsh start Centos

3)virsh console Centos

4)成功進入虛擬系統

 

五、查看配置

/etc/libvirt/qemu下的Centos.xml為虛機配置。(1個虛機對應1個該配置文件)

主要:第9、10、41、74、75、76行信息

/etc/libvirt/qemu/networks/default.xml為默認網絡配置文件。(1張虛擬網卡對應一個該配置文件)

主要:第9、10、13、14、16行信息

 

六、進入管理台,查看虛擬機狀態及網絡狀態

#virsh 進入KVM虛機管理台 quit/exit則退出

#list --all 查看所有虛擬及狀態

#net-list --all 查看所有虛擬網卡及狀態

#start centos7.0 開啟虛機

#virsh net-start default 啟動默認虛擬網卡

#console centos7.0 進入虛機

 

七、進入虛機,並查看網絡,及配置網絡

詳情請查看網絡章

 

八、復制虛擬機

1、拷貝系統文件(硬盤)並更改名稱,如 #cp  1.img   2.img

2、拷貝系統配合文件並更改名稱,及修改重要變量。

#cp  /etc/libvirt/qemu/holle1.xml  /etc/libvirt/qemu/holle2.xml

#vi   /etc/libvirt/qemu/holle2.xml

刪除第10、71行。 修改9、41行對應信息。

備注:重點為更改名稱、刪除UUID這一類唯一標識信息。UUID刪除后將自動生產一個新的,也可以使用腳本生產並替換。

3、進入virsh

#define  /etc/libvirt/qemu/holle2.xml #添加虛擬機

#list --all                                                      #查看是否添加成功

#start holle2                                                #啟動虛擬機

#console holle2                                           #進入虛擬機

4、修改網絡

ifconfig -a 看獲取到的網卡名

#cd /etc/sysconfig/network-scripts/

#mv ifcfg-eth2 ifcfg-eth3 #網卡名更改為對應名稱

#vi ifcfg-eth3 #修改對應名稱,清楚UUID等唯一標識

#ifup ifcfg-eth3 #重啟單個網卡

 

 

常用命令:

vm表示虛擬機名,進入虛擬控制台可以使用Tab補全命令,在bash中不支持。

查看所有已定義虛機:list  --all

查看所有已定義網卡:net-list --all

進入已開啟的虛機:console vm

開機:virsh start vm

關機:virsh shutdown vm 如果不生效,需要在 vm 中執行:yum install -y acpid

強關:virsh destroy vm

刪除:virsh undefine vm

定義:virsh define vm

掛起:virsh suspend vm

恢復:virsh resume vm

 

參考資料:

1、kvm使用入門詳解

http://www.cnblogs.com/liwei0526vip/archive/2016/12/20/6201582.html

2、使用KVM虛擬win系統

http://www.cnblogs.com/nulige/articles/6602963.html

3、Linux中使用KVM

http://lvmy.iteye.com/blog/1297409

4、KVM虛擬機網絡配置

http://blog.csdn.net/hzhsan/article/details/44098537/



ubuntu裝kvm

1.安裝ubuntu16.04.4,正常安裝,安裝時,加裝勾選虛擬化軟件
2.更新源:
apt-get update && apt-get upgrade -y
3.安裝軟件:
sudo apt-get install qemu-kvm qemu virt-manager virt-viewer libvirt-bin bridge-utils virtinst acpi lsb lrzsz unzip
4.修改網橋配置:
auto 網卡名字
iface 網卡名字inet manual
 
auto br0
iface br0 inet static
bridge_ports 網卡名字
bridge_stp off
bridge_fd 0
bridge_maxwait 0
address 10.255.1.2
netmask 255.0.0.0
gateway 10.255.0.1
dns-nameservers 114.114.114.114
 
5.創建存儲池:
>1.新建文件夾:
mkdir /volume && mkdir /volume/vps_pool && mkdir /volume/iso
 
>2.創建存儲池
virsh pool-define-as vps_pool --type dir --target /volume/vps_pool
virsh pool-build vps_pool
virsh pool-autostart vps_pool
virsh pool-start vps_pool
virsh pool-list
 
virsh pool-define-as iso --type dir --target /volume/iso
virsh pool-build iso
virsh pool-autostart iso
virsh pool-start iso
virsh pool-list
 
6.修改TCP監聽端口
vim /etc/libvirt/libvirtd.conf
listen_tls = 0          #禁用tls登錄
listen_tcp = 1          #啟用tcp方式登錄
tcp_port = "16509"       #tcp端口16509
listen_addr = "0.0.0.0"
unix_sock_group = "libvirtd"
unix_sock_rw_perms = "0770"
auth_unix_ro = "none"
auth_unix_rw = "none"
auth_tcp = "none"       #TCP不使用認證
max_clients = 1024       #最大總的連接客戶數1024
min_workers = 50       #libvirtd啟動時,初始的工作線程數目
max_workers = 200       #同上,最大數目
max_requests = 1000      #最大同時支持的RPC調用,必須大於等於max_workers
max_client_requests = 200   #每個客戶端支持的最大連接數
 
同時修改libvirt-bin的配置文件:
vim /etc/default/libvirt-bin:
# Start libvirtd to handle qemu/kvm:
start_libvirtd="yes"
# options passed to libvirtd, add "-l" to listen on tcp
libvirtd_opts="-d -l --config /etc/libvirt/libvirtd.conf"
以上修改后,執行
service libvirt-bin restart && netstat -anpt | grep 16509
就能看到libvirtd監聽在TCP 16509端口。
當然,你也可以直接替換文件:
/etc/default/libvirt-bin


免責聲明!

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



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