virtualization資源管理
-x個物理資源 --> y個邏輯資源(x<=y)
-實現程度:完全,部分,硬體輔助(cpu)
虛擬化主要廠商及產品:vmware(vmware workstation,vsphere』應用廣泛』)
microsoft(virtualpc,hyper-v)
redhat(kvm』應用廣泛』,rhev)
citrix(xen)
oracle(oracle vm virtualbox)
kvm/qemu/libvirtd
-kvm是linux核心的模組,它需要cpu的支援,採用硬體輔助虛擬化技術intel-vt,amd-v,記憶體的相關利用如intel的ept和amd的rvi技術
-qemu是乙個虛擬化的**工具,通過ioctl與核心kvm互動完成對硬體的虛擬化支援
-libvirt是乙個對虛擬化管理的介面和工具,提供使用者段程式virsh,virt-install,virt-manager,virt-view與使用者互動
必備軟體:
qumu-kvm–>為kvm提供底層**支援
libvirt-daemon–>libvirtd守護程序,管理虛擬機器
libvirt-client–>使用者端軟體,提供客戶斷管理命令
libvirt-daemon-diriver-qemu–>libvirtd鏈結qemu的驅動
可選功能:
–virt-install #系統安裝工具
–virt-manager #圖形管理工具
–virt-v2v #虛擬機器遷移工具
–virt-p2v #物理機遷移工具
虛擬化平台的安裝:yum install -y qemu-kvm libvirt-daemon libvirt-client libvirt-daemon-driver-qemu
systemctl start libvirtd
組成: --核心虛擬化模組(kvm)
–系統裝置**(qemu)
–虛擬機器管理程式(libvirt)
–乙個xml檔案(虛擬機器配置宣告檔案,位置/etc/libvirt/qemu/)
–乙個磁碟映象檔案(虛擬機器的硬碟,位置/var/lib/libvirt/images/)
提供管理各虛擬機器的命令介面
–支援互動模式,檢視/建立/停止/關閉…
–格式:virsh 控制指令 [虛擬機器名稱] [引數]
]#virsh
welcome to virsh,the…
virsh #
virsh 虛擬機器管理
-list [–all] 列出虛擬機器
-start | shutdown | reboot 虛擬機器啟動,停止,重啟
-destroy 強制停止虛擬機器
-define | undefine 根據xml檔案 建立/刪除 虛擬機器
-console 連線虛擬機器的console
-edit 修改虛擬機器的配置
-autostart 設定虛擬機器自啟動
-domiflist 檢視虛擬機器網絡卡資訊
-domblklist 檢視虛擬機器硬碟資訊
-net-list [–all] 列出虛擬網路
-net-start 啟動虛擬交換機
-net-destory 強制停止虛擬交換機
-net-define 根據xml檔案建立虛擬網路
-net-undefine 刪除乙個虛擬網路裝置
-net-edit 修改虛擬交換機的配置
-net-autostart 設定虛擬交換機自啟動
虛擬機器的磁碟映象檔案格式(raw和qcow2"僅i/o效率較高低於raw高,kvm預設,占用空間小,支援壓縮,支援後端盤復用,支援快照,都優於raw")
特點\型別
rawqcow2
kvm預設否是
i/o效率高較高
占用空間大小
壓縮不支援
支援後端盤復用
不支援支援
快照不支援
支援qemu-img命令格式
-qemu-img 命令 引數 快檔名稱 大小
常用的命令:
-create 建立乙個磁碟
-convert 轉換磁碟格式
-info 檢視磁碟資訊
-resize 擴容磁碟空間
建立新的映象盤檔案:qemu-img create -f 格式 磁碟路徑 大小
例:qemu-img create -f qcow2 disk.img 50g
查詢映象盤檔案的資訊:qemu-img info 磁碟路徑
例:qemu-img info disk.img
-b 使用後端模板檔案:qemu-img create -b disk.img -f qcow2 disk1.img
copy on write,寫時複製
-直接對映原始盤的資料內容
-當資料有修改要求時,在修改之前自動將舊資料拷貝存入前端盤後,對前端盤進行修改
-原始盤始終是唯讀的
命令引數:
-建立虛擬機器 cd /var/lib/libvirt/images/
qemu-img create -f qcow2 -b node.qcow2 node1.img 20g
-修改xml檔案 sed 『s,node,node1,』 node.xml > /etc/libvirt/qemu/node1.xml
-定義xml檔案 virsh define /etc/libvirt/qemu/node1.xml
-開啟虛擬機器 virsh start node1
指令碼如下:
#!
/bin/bash
./etc/init.d/functions
conf_dir=
/etc/libvirt/qemu
img_dir=
/var/lib/libvirt/images
function createvm()
/$.img ]
;then
echo_warning
echo "vm $.img is exists"
return
1else
qemu-img create -b $
/.node_base.qcow2 -f qcow2 $
/$.img 30g &
>
/dev/null
sed -e "s,node_base,$," $
/.node_base.xml >$
/$.xml
sudo virsh define $
/$.xml &
>
/dev/null
echo_success
echo "vm $ create"
fi}if
(( $# ==0)
);then
echo "$0 vm1 vm2 vm3 ... ..."
網路配置檔案說明
-/etc/sysconfig/network-scripts/ifcfg-eth0
#generated by dracut initrd 注釋
device=『eth0』 #驅動名稱,與ifconfig看到的名稱一致
onboot=『yes』 #開機啟動
nm_controlled=『no』 #不接受networkmanager控制
type=『ethernet』 #型別
bootproto=『static』 #協議(dhcp|static|none)
ipaddr=『192.168.1.10』 #ip位址
netmask=『255.255.255.0』 #子網掩碼
gateway=『192.168.1.254』 #預設閘道器
virsh 虛擬機器管理
-domblklist 檢視虛擬機器硬碟資訊
-blockresize --path [絕對路徑] --size 50g openstack
擴容思路: 先硬碟,再分割槽,最後檔案系統
#### 根分割槽擴容
-語言必須設定為英文 lang=c
-檢視硬碟裝置是否有多餘空間 lsblk
-擴容第乙個分割槽 /usr/bin/growpart /dev/vda 1
-擴容檔案系統 /usr/sbin/xfs_growfs /
-檢查擴容結果 df -h
oa平台部署與遷移
部署oa 1 在源伺服器10.7 上部署oa 1 修改hosts 檔案 root localhost vim etc hosts 192.168.10.7 oa.oa.cn 2 切換桌面 本專案實驗需要用圖形化桌面瀏覽器,如果原來是純文字介面就切換到圖形化桌面 root localhost syst...
平台雲Deis部署3 deis平台安裝
上傳deis,deis.pub到 home core ssh下 deisctl start platform。這次在裸機上安裝的測試到此為止,下面我將切換到xenserver上安裝coreos繼續下面的研究,當然這次還是失敗的安裝體驗。xenserver cloudstack通用 上部署coreos...
平台雲Deis部署3 deis平台安裝
上傳deis,deis.pub到 home core ssh下 deisctl start platform。這次在裸機上安裝的測試到此為止,下面我將切換到xenserver上安裝coreos繼續下面的研究,當然這次還是失敗的安裝體驗。xenserver cloudstack通用 上部署coreos...