kvm實現方式:php
qemu工具: qemu-kvm qemu-img qemu: 處理器模擬器 仿真各類IO設備 將仿真設備鏈接至主機的物理設備 提供用戶接口 基本格式: qemu-kvm [選項] 磁盤鏡像文件 標準選項: -machine [type=]name:用於指定模擬的主機類型 -cpu:用於指定模擬的cpu型號 -smp [n]:指定虛擬機上vcpu的數量及拓撲 -boot order:各設備的引導次序,c表示第一塊硬盤 d表示第一個光驅設備 -boot order=dc,once=d -m megs:虛擬機內存大小[單位是兆] -name name:當前虛擬機的名稱,要惟一 塊設備相關選項: -hda/-hdb file:指明IDE總線類型的磁盤映射文件路徑,第0和第一個 -hdc/-hdd file:第2和第3個 -cdrom file:指定要使用光盤映像文件 -drive:file=映像文件路徑 if=type塊設備總線類型{ide|scsi|sd|virtio} media=type :介質類型 index=i:設定同一類型設備多個設備的編號 cache={writethrough|writeback|none|directsync|unsafe} 換內存方式 1 writethrough:通寫 數據寫在內存的時候馬上同步到磁盤 2 writeback:回寫 數據到內存中,什麼時間同步到磁盤中由磁盤緩存機制管理 3 none:不起用 4 directsync:直接同步 直接存到緩存而後馬上存磁盤 5 unsafe:非安全方式 儘量存入內存!數據可靠性不高 format=f:磁盤映像文件格式 顯示選項: -display type:顯示類型 sdl curses none和vnc -nographic:不使用圖形接口 -vga [std|cirrus|vmware|qxl|xenfb|none]:模擬出顯卡的型號 -vnc display :啓動一個vnc server來顯示虛擬機接口 讓qemu進程監聽一個vnc接口 display: HOST:N 在HOST主機的第N個桌面號輸出vnc unix:文件路徑 none option: password:鏈接詞服務所須要的密碼 -monitor stdio:在標準輸出上顯示monitior界面 ctrl-a, c:在console和monitor之間切換 ctrl-a,h 網絡選項: -net nic[vlan=n] [macaddr=mac] [model=type] [name=dir] [add=str] [vectors=v] 爲虛擬機建立一個網絡接口,並將其添加至指定的vlan model=type:知名模擬出的網卡型號 ne2k_pci i82551 i82557b rtl8559er e1000 pcnet virtio macaddr=mac 指明mac地址 -net tap: 經過物理的tap網絡接口鏈接至vlan script=file:啓用虛擬機時要執行的腳本 默認爲/etc/qemu-ifup downscript=dfile:關閉虛擬機時要執行的腳本 默認爲/etc/qemu-ifdown ifname=name:自定義接口名稱 腳本示例: #!/bin/bash # bridge=br0 if [ -n "$1" ]; then ip link set $1 up sleep 1 brctl addif $bridge $1 [ $? -eq 0 ] && exit 0 || exit 1 else echo :Error: no interface specified." exit 2 fi 其它選項: -daemonize:以守護進程運行 方便使用--建立軟鏈接: ln -sv /usr/libexec/qemu-kvm /usr/bin 建立虛擬機: 1 利用鏡像啓動虛擬機 qemu-kvm -name kvm2 -cpu host -smp 4,socket=2,cores=2,threads=1 -m 128 -drive file=./centos-text.img,format=qcow2,media=disk,if=virtio,cache=writeback -net nic,macaddr=52:54:00:00:00:01,model=virtio -net tap,ifname=vnet0,script=/etc/qemu-ifup -vnc :0 -name kvm2 --虛擬機名稱 -cpu host:型號和宿主機同樣 -smp 2:給幾顆cpu核心 socket=2 --幾顆cpu cores=2 --每一個cpu幾個核心 threads=1 --線程數 smp=socket*cores*threads -m 128 ---模擬內存大小 -drive file=./centos-text.img,format=qcow2,media=disk,if=virtio file=./centos-text.img --鏡像文件路徑 format=qcow2 --磁盤格式 media=disk --類型 if=virtio --半驅動 cache=writeback --磁盤緩存類型 網絡相關: -net nic,macaddr=52:54:00:00:00:01 --指定mac地址 model=virtio --指定網卡類型 -net tap,ifname=vnet0,script=/etc/qemu-ifup -vnc :0 指定名稱和腳本 安裝vnc: yum install -y tigervnc 實際應用: [root@www21:02:44kvm2]#qemu-kvm -name kvm2 -cpu host -smp 4,sockets=2,cores=2,threads=1 -m 128 -drive file=./centos-text.img,format=qcow2,media=disk,if=virtio,cache=writeback -net nic,macaddr=52:54:00:00:00:01,model=virtio -net tap,ifname=anet0,script=/etc/qemu-ifup -vnc :2 -daemonize 使用vnc鏈接: vncviewer 輸入虛擬機物理主機IP:2 關閉虛擬機: kill [pid]
設置虛擬機開機自啓動: virsh info [虛擬機名稱] --能夠查看虛擬機信息 virsh autostart [虛擬機名稱] --開機自啓動 virsh domiflist php --查看虛擬機的網絡接口 ................................................ virt-sysprep命令:製做磁盤鏡像模板 -d:指定虛擬機名 --operations:指定移除項 firewall-rules--防火牆規則 yum install -y libguestfs yum install -y libguestfs-tools 列出支持的全部操做: virt-sysgrep --list-operations 如何使用: virt-sysprep -d [虛擬機名稱] 具體使用: virt-sysprep -d centos7.0 虛擬機必須關閉!
kimchi工具: kimchi軟件 https://github.com/kimchi-project kimchi-2.5.0-0.el7.centos.noarch.rpm wok-2.5.0-0.el7.centos.noarch.rpm 啓動服務: systemctl start wokd.service 默認監聽在8001端口上! 訪問方式: https://xxxx 用戶密碼就是操做系統上的用戶密碼 提供物理橋相關的網絡: [root@www02:11:11~]#virsh net-dumpxml default <network> <name>test0</name> <forward mode='bridge'/> <bridge name='test0'/> </network> vim /etc/libvirt/qemu/networks/test0.xml virsh net-create /etc/libvirt/qemu/networks/test0.xml