一、環境介紹:
##vm虛擬機器(BIOS開啟VT功能,vmware station開啟虛擬化選項)
1、檢查是否支援虛擬化。
#cat /proc/cpuinfo | grep vmx
##沒做host解析,啟動的時候,可能會報錯
#vim /etc/hosts
192。168。0。131 linux-n1
#hostname linux-n1
#vi /etc/hostname
二、部署
1、配置網絡卡,開啟網橋
#ifcfg-eth0,本地宿主機網絡卡除了正常配置外,只需要加一個BRIDGE=br0就行。
#vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0BOOTPROTO=noneONBOOT=yesTYPE=EthernetNAME=“eth0”IPADDR=192。168。0。131NETMASK=255。255。255。0GATEWAY=192。168。0。1DNS1=223。5。5。5ONBOOT=yesBRIDGE=br0
2、新建一個ifcfg-br0網絡卡。
#vim /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0BOOTPROTO=staticONBOOT=yesTYPE=BridgeNAME=“br0”IPADDR=192。168。0。131NETMASK=255。255。255。0GATEWAY=192。168。0。1
#systemctl restart network //重啟服務
開啟KVM伺服器的IP轉發功能。
#vi /etc/sysctl。conf //把其中的net。ipv4。ip_forward = 0修為net。ipv4。ip_forward = 1
#sysctl –p ///使其生效
3、安裝kvm
#yum -y install qemu-kvm qemu-kvm-tools qemu-img virt-manager libvirt libvirt-python libvirt-client bridge-utils virt-viewer virt-install openssl
#virsh net-list ——all //檢視
#virsh net-define /etc/libvirt/networks/default。xml //設定網路啟動檔案
# virsh net-autostart default //標記預設網路自動啟動
#virsh net-start default //啟動預設網路:
#systemctl start libvirtd //啟動橋接服務
#systemctl enable libvirtd
#brctl addbr br0 //建立網橋
#brctl addif br0 eth0 //把br0和eth0網絡卡繫結
#brctl stp br0 on //有關stp協議的
#brctl show //檢視網橋
#brctl delif br0 eth0 //解除繫結
#ifconfig br0 down //關閉br0,不關閉刪不掉
#brctl delbr br0 //刪除br0
##新建兩個目錄存放iso檔案和image檔案。
#mkdir -p /data/iso#mkdir -p /data/vm-image
4、開始安裝虛擬機器
1、使用qemu-img命令建立硬碟
#qemu-img create -f raw /data/vm-image/c1。raw 10G //建立一個10G的硬碟,名稱為c1。raw
#cp /dev/cdrom /data/iso/CentOS-7-x86_64。iso
##把光碟複製成ISO檔案方法
##假設光碟裝置檔案是/dev/cdrom,使用如下命令即可
#cp /dev/cdrom filename。iso
上述命令把光碟複製生成一個ISO檔案filename。iso。
##檔案和目錄製作成ISO:
使用 mkisofs 命令
#mkisofs -o filename。iso dir1 dir2 file1 file2
上述命令會把目錄dir1、dir2和檔案file1、file2一起製作成一個ISO檔案filename。iso
2、使用virt-install建立名稱為c1(自定義)的虛擬機器,此前需將centos7的映象放置虛擬機器中。
#systemctl start libvirtd
#systemctl enable libvirtd
#virt-install ——name c1 ——virt-type kvm ——ram 512 ——cdrom=/data/iso/CentOS-7-x86_64。iso ——disk path=/data/vm-image/c1。raw ——network bridge=br0 ——graphics vnc,listen=0。0。0。0
3、kvm虛擬機器的xml檔案配置
#vi /etc/libvirt/qemu/c1。xml
KVM 建立虛擬機器後,會在 /etc/libvirt/qemu/ 路徑下生成該虛擬機器的 xml 配置檔案
<!——WARNING: THIS IS AN AUTO-GENERATED FILE。 CHANGES TO IT ARE LIKELY TO BEOVERWRITTEN AND LOST。 Changes to this xml configuration should be made using: virsh edit node1or other application using the libvirt API。——><!——以下兩項可有可無,所以在此註釋。——><!——
4、關閉防火牆和安全功能,使用TightVNC Viewer工具連線主機192。168。0。131
三、安裝虛擬機器的作業系統
#virsh start c1 //再用TightVNC Viewer進行連線,便可以使用賬號密碼進行登入
1、管理虛擬機器常用命令
# virsh autostart centos7。0 //設定centos7。0開機自啟
檢視所有虛擬機器列表及狀態:
#virsh list ——all
檢視執行虛擬機器列表:
#virsh list
啟動虛擬機器系統:
#virsh start c1
關閉虛擬機器系統:
#virsh shutdown c1
重啟虛擬機器:
#virsh reboot c1
強行關閉某虛擬機器:
#virsh destroy c1
標記虛擬機器為自動開始:
#virsh autostart c1
關閉虛擬機器為自動開始:
#virsh autostart ——disable c1
連線終端虛擬機器:
#virsh console c1
掛起虛擬機器:
#virsh suspend c1
恢復虛擬機器:
#virsh resume c1
編輯虛擬機器配置檔案:
#virsh edit c1
匯出(備份)虛擬機器XML配置檔案:
#virsh dumpxml c1 > /root/c1_dump_xml
2、刪除一個虛擬機器
關閉該虛擬機器:
#virsh shutdown c1
如果虛擬機器關閉失敗,可以強制關機:
#virsh destroy c1
Undefine 虛擬機器配置:
#virsh undefine c1
刪除虛擬機器磁碟檔案:
#rm -rf /vdir/c1。raw
檢視虛擬機器資訊:
#virsh dominfo c1
程式碼查詢具體vnc埠
#virsh vncdisplay c1
五、使用virt-manager管理KVM虛擬主機
1、配置CentOS的sshd
修改sshd配置檔案:
#vim /etc/ssh/sshd_config
找到如下配置資訊並去掉前面註釋:
X11Forwarding yes
2、安裝所需軟體包:
#yum install -y xorg-x11-xauth wqy-zenhei-fonts* ibus-libpinyin* //安裝x11元件包\安裝中文字型檔\安裝中文輸入法
3、安裝配置Xming
下載並安裝Xming,地址:https://xming。en。softonic。com/
然後執行XLaunch。exe,若不知道具體引數保持預設下一步即可。
4、客戶端配置
使用SSH客戶端登陸CentOS,建議使用Xshell或Putty。
然後在SSH-X11轉發中開啟X11轉發,然後在命令列執行帶GUI的應用程式即可。
5、報錯解決
若登陸提示The remote SSH server rejected X11 forwarding request。
那麼執行以下命令:
#yum install -y xorg-x11-xauth xorg-x11-utils xorg-x11-fonts-*
使用 virt-clone 克隆think8848-kvmbase為新的虛擬機器
#virt-clone -o c1 -n c1-kvm01 -f /data/vm-image/c1-kvm01。img
#virsh list ——all //檢視
開啟c1-kvm01,然後修改IP地址、主機名
#virsh start c1-kvm01#virsh console c1-kvm01
等虛擬機器啟動好後,用root登入
#hostname c1-kvm01
編輯/etc/hostname檔案,修改主機名為c1-kvm01
#vi /etc/hostname
#編輯/etc/sysconfig/network-scripts/ifcfg-eth0,修改IPADDR
#reboot //重啟虛擬機器,重啟後剛才修改的內容已經生效了。