部署kvm虛擬化平臺及功能管理
阿新 • • 發佈:2018-01-21
filesyste hostname rm -rf 格式 undefined ext4 ror 允許 情況 公司部分Linux服務器利用率不高,為充分利用這些Linux服務器,可以部署KVM,在物理機上運行多個業務系統
主機要求
-
在運行Nginx的服務器上部署KVM,然後在虛擬機上運行Tomcat
KVM虛擬化架構
KVM模塊直接整合在Linux內核中
主機要求
采用CentOS 6.5 x86_64
開啟CPU虛擬化支持
安裝方式
全新安裝,選擇虛擬化選項
設置KVM網絡
采用橋接模式
KVM圖形化管理
創建存儲池
創建存儲卷
創建虛擬機
安裝虛擬機操作系統
-
在安裝操作系統的時候,選擇桌面安裝,並選擇“現在自定義”,下一步之後選擇“虛擬化”,並勾選右側的所有功能。但是如果安裝系統的時候沒有選擇也沒關系,可以使用yum安裝
[root@centos1 /]# rm -rf /etc/yum.repos.d/* [root@centos1 /]# vim /etc/yum.repos.d/index.repo [root@centos1 /]# yum -y install qemu-kvm.x86_64 [root@centos1 /]# vim /etc/yum.repos.d/index.repo [root@centos1 /]# mount /dev/cdrom /media/ [root@centos1 /]# yum -y install qemu-kvm.x86_64 [root@centos1 /]# yum -y install qemu-kvm-tools.x86_64 [root@centos1 /]# yum -y install python-virtinst.noarch [root@centos1 /]# yum -y install qemu-img.x86_64 [root@centos1 /]# yum -y install bridge-utils.x86_64 [root@centos1 /]# yum -y install libvirt [root@centos1 /]# yum -y install virt-manager
驗證cpu是否支持虛擬化,如果有輸出代表沒問題.
[root@centos1 /]# cat /proc/cpuinfo | grep vmx
然後檢查kvm模塊是否安裝好
[root@centos1 /]# lsmod | grep kvm
-
設置kvm網絡
在libvirt中運行kvm網絡有兩種方法:nat和bridge,默認是nat(用戶模式),用戶模式可以訪問外網,但是無法從外部訪問虛擬機網絡,所以用的不是很多,一般做的服務器都需要外網的訪問,所有多數情況采用橋接模式(bridge),這種模式允許虛擬機像一臺獨立的主機一樣擁有網絡,外部的機器可以直接訪問到虛擬機,下面以橋接模式為例:
修改網卡配置文件
[root@centos1 /]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
BRIDGE="br0"
[root@centos1 /]# vim /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
ONBOOT=yes
BOOTPROTO=static
NM_CONTROLLED=no
TYPE=Bridge
IPADDR=192.168.1.1
NETMASK=255.255.255.0
[root@centos1 /]# rm -rf /etc/udev/rules.d/70-persistent-net.rules
[root@centos1 /]# reboot
如果重啟服務不生效那麽重啟電腦
因為新增加了一塊硬盤所以去添加分區,分區具體流程不演示
[root@centos1 /]# fdisk /dev/sdb
格式化分區
[root@centos1 /]# mkfs -t ext4 /dev/sdb1
查看
[root@centos1 /]# fdisk -l
同於存儲之後創建的虛擬機。
[root@centos1 /]# mkdir -p /data_kvm/store
將磁盤掛載到store
[root@centos1 /]# mount /dev/sdb1 /data_kvm/
[root@centos1 /]# cd /data_kvm/
[root@centos1 /data_kvm/]# mkdir store
在創建一個用於存放鏡像的
[root@centos1 /data_kvm/]# mkdir iso
打開圖形化管理虛擬裏的軟件進行管理
[root@centos1 /]# virt-manager
-
kvm功能管理
查看命令幫助
[root@centos1 data_kvm] virsh -h
-
查看KVM配置文件存放目錄
[root@centos1 data_kvm]#ls /etc/libcirt/qwmu
-
autostart networks centos6.xml
-
查看虛擬機狀態
[root@centos1 data_kvm]# virsh list --all
-
Id Name State
-
2 centos6 running
-
首先要開啟acpid服務安裝並運行在執行開機關機
[root@centos1 data_kvm]# virsh shutdown centos6
Domain centos6 is being shutdown
[root@centos1 data_kvm]# virsh start centos6
error: Domain is already active
-
強制系統關閉電源
[root@centos1 data_kvm]# virsh destroy centos6
Domain centos6 destroyed
-
通過配置文件啟動虛擬機
[root@centos1 data_kvm]# virsh create /etc/libvirt/qemu/centos6.xml
Domain centos6 created from /etc/libvirt/qemu/centos6.xml
查看
[root@centos1 data_kvm]# virsh list --all
Id Name State
-
3 centos6 running
-
掛起虛擬機
[root@centos1 data_kvm]# virsh suspend centos6
Domain centos6 suspended
[root@centos1 data_kvm]# virsh list --all
Id Name State
-
3 centos6 paused
-
恢復虛擬機
[root@centos1 data_kvm]# virsh resume centos6
Domain centos6 resumed
[root@centos1 data_kvm]# virsh list --all
Id Name State
-
3 centos6 running
-
配置虛擬機實例伴隨宿主機自動啟動
[root@centos1 data_kvm]# virsh autostart centos6
Domain centos6 marked as autostarted
-
備份
[root@centos1 123]# virsh dumpxml centos6 > /etc/libvirt/qemu/centos6-1.xml
-
刪除虛擬機線關機
[root@centos1 123]# virsh shutdown centos6
Domain centos6 is being shutdown
-
強制切斷電源
[root@centos1 123]# virsh destroy centos6
Domain centos6 destroyed
-
刪除
[root@centos1 123]# virsh undefine centos6
Domain centos6 has been undefined
-
查看刪除結果
[root@centos1 123]# ls /etc/libvirt/qemu
autostart centos6-1.xml networks
[root@centos1 123]# virsh list --all
Id Name State
-
通過配置文件重新定義虛擬機
[root@centos1 123]# cd /etc/libvirt/qemu
[root@centos1 qemu]# mv centos6-1.xml centos6.xml
-
重新定義虛擬機
[root@centos1 qemu]# virsh define centos6.xml
Domain centos6 defined from centos6.xml
-
查看虛擬機信息
[root@centos1 qemu]# virsh list --all
Id Name State
-
- centos6 shut off
-
修改虛擬機配置信息
[root@centos1 qemu]# vim /etc/libvirt/qemu/centos6.xml
通過命令修改配置信息
[root@centos1 qemu]# virsh edit centos6
-
-
kvm文件管理
轉換raw格式從磁盤至qcow2格式
[root@centos1 qemu]# qemu-img info /data_kvm/store/google_kvm.img
image: /data_kvm/store/google_kvm.img
file format: raw
virtual size: 9.8G (10485760000 bytes)
disk size: 9.8G
-
關閉虛擬機
[root@centos1 qemu]# virsh shutdown centos6
-
轉換磁盤文件格式
[root@centos1 qemu]# qemu-img convert -f raw -O qcow2
/data_kvm/store/google_kvm.img /data_kvm/store/centos6-2.qcow2
-
註;下面兩個qcow2 是修改後的
修改xml配置文件
[root@centos1 qemu]# virsh edit centos6
<disk type=‘file‘ device=‘disk‘>
<driver name=‘qemu‘ type=‘qcow2‘ cache=‘none‘/>
<source file=‘/data_kvm/store/google_kvm.qcow2‘/>
<target dev=‘vda‘ bus=‘virtio‘/>
-
想使用virt-cat更多命令先安裝libguestfs-tools
[root@centos1 qemu]# yum -y install libguestfs-tools
-
類似於cat命令
[root@centos1 media]# virt-cat -a /data_kvm/store/centos6-2.qcow2
/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain
-
用於編輯文件用法與vim基本一致
[root@centos1 media]# virt-edit -a /data_kvm/store/centos6-2.qcow2
/etc/resolv.conf
-
-
虛擬機克隆
查看虛擬機狀態
[root@centos1 /]# virt-df -h centos6
Filesystem Size Used Available Use%
centos6:/dev/sda1 484M 33M 427M 7%
centos6:/dev/VolGroup/lv_root 8.2G 735M 7.0G 9%
-
從centos6克隆到centos7
[root@centos1 /]# virt-clone -o centos6 -n centos7 - f /data_vkm/store/centos7.qcow2
-
查看抓狀態
[root@centos1 /]#virsh list --all
Id Name State
-
- centos6 shut off
- centos7 shut off
-
啟動虛擬機
[root@centos1 /]virsh start centos7
-
-
虛擬機快照
對contos6創建快照
[root@centos1 /] virsh snapshot-create centos6
Domain snapshot 1382572463 created
-
查看快照版本信息
[root@centos1 /] cirsh snapshot-current centos6
<domainsnapshot>
<name>1382572463</name>
<state>running</state>
-
查看快照信息
[root@centos1 /] virsh snapshot-list centos6
-
恢復快照
[root@centos1 /] virsh snapshot-servert centos6 1382571463
-
查看快照版本信息
[root@centos1 /] virsh snapshot-current centos6
-
刪除快照
[root@centos1 /] virsh snapshot-delete centos6 1381571463
部署kvm虛擬化平臺及功能管理