1. 程式人生 > 其它 >redis主從同步原理---原生以及 基於binlog的主從同步不

redis主從同步原理---原生以及 基於binlog的主從同步不

kvm是什麼

Kernel-based Virtual Machine的簡稱,是一個開源的系統虛擬化模組,自Linux 2.6.20之後整合在Linux的各個主要發行版本中。它使用Linux自身的排程器進行管理,所以相對於Xen,其核心原始碼很少。KVM目前已成為學術界的主流VMM之一。


一、虛擬機器管理

啟動虛擬機器

virsh start <虛擬機器名稱>

關閉虛擬機器

virsh shutdown <虛擬機器名稱>

重啟虛擬機器

virsh reboot <虛擬機器名稱>

檢視kvm虛擬機器狀態

virsh list

檢視所有虛擬機器狀態

virsh list --all

強制關閉虛擬機器

virsh destroy <虛擬機器名稱>

掛起虛擬機器

virsh suspend <虛擬機器名稱>

恢復虛擬機器掛起狀態

virsh resume <虛擬機器名稱>

刪除虛擬機器(不刪除檔案)

virsh undefine <虛擬機器名稱>

刪除虛擬機器並刪除磁碟檔案

virsh undefine <虛擬機器名稱> --storage 目標檔案(用逗號分開的目標或者源路徑
列表)(檢視 domblklist)

刪除虛擬機器並刪除所有磁碟檔案

virsh undefine <虛擬機器名稱> --remove-all-storage

二、檢視系統型別

osinfo-query os

三、安裝

1、安裝centos

virt-install --os-variant rhel7
–name rhel7_back
–memory 4096,maxmemory=4096
–vcpus 4,maxvcpus=4
–network bridge=br1,model=virtio
–disk device=disk,path=/data8/zhangdong,format=qcow2,size=20,bus=virtio,cache=writeback,io=threads
–location /opt/CentOS-7-x86_64-Minimal-1804 (1).iso
–graphics vnc,port=-1
–autostart

2、安裝windows

virt-install --virt-type kvm
–os-variant=win2k12r2
–name win2012-test
–memory 8192,maxmemory=8192
–vcpus 4,maxvcpus=4
–cpu core2duo,+require,disable=vmx
–network bridge=br1,model=rtl8139
–disk device=disk,path=/home/lib/libvirt/images/win2012-test.disk01,format=qcow2,size=40,bus=ide,cache=writeback,io=threads
–disk device=disk,path=/mnt/images/win2012-test.disk01,format=qcow2,size=100,bus=ide,cache=writeback,io=threads
–cdrom /data/cn_windows_server_2012_r2_with_update_x64_dvd_6052725.iso
–graphics vnc,port=-1
–autostart

四、kvm 虛擬機器 重新命名

1、強制關閉虛擬機器<原虛擬機器名為back><修改後名稱為rhel6>

virsh destroy back

2、匯出虛擬機器xml配置檔案

cd /etc/libvirt/qemu/
virsh dumpxml back > rhel6.xml
修改rhel6.xml
vim rhel6.xml

3、修改開頭的back
4、刪除虛擬機器,不刪除檔案

virsh undefine back

5、註冊新的虛擬機器

virsh define rhel6.xml

五、kvm虛擬機器隨物理機開機啟動

virsh autostart <虛擬機器名稱>
#禁止開機啟動
virsh autostart <虛擬機器名稱> --disable

六、快照管理

克隆虛擬機器

virt-clone -o <虛擬機器名稱> -n <新虛擬機器名稱> -f /var/lib/libvirt/images/test4.qcow2
#命令幫助資訊
virt-clone --help
#克隆完成後需要修改IP、HOSTNAME、centos6需要刪除/etc/udev/rule.d/70-*-net檔案並重啟
#virt-clone -f指定的檔案不要事先建立,如果有多個磁碟檔案就用多個-f選項 如
virt-clone -o <虛擬機器名稱> -n <新虛擬機器名稱> -f /home/lib/libvirt/images/test4.qcow2 -f /mnt/images/test4-add1.qcow2

建立快照

virsh snapshot-create-as <虛擬機器名稱> --name <快照名稱> --description “this is a test snapshot”
#檢視幫助資訊
virsh snapshot-create-as --help

使用xml生成快照

#建立快照,以隨機數字密碼
virsh snapshot-create test1

檢視快照列表

virsh snapshot-list <虛擬機器名稱>

檢視當前快照的上一級快照

virsh snapshot-parent <虛擬機器名稱> --current

編輯快照

virsh snapshot-edit <虛擬機器名稱> --snapshotname <快照名>

檢視映象檔案資訊

qemu-img info <虛擬機器映象>

恢復快照

virsh snapshot-revert <虛擬機器名稱> --snapshotname <快照名>

刪除快照

virsh snapshot-delete <虛擬機器名稱> --snapshotname <快照名>

七、vcpu管理

建議關機情況下設定(–live設定執行的域)

設定最大vcpu數(只能用–config,下次執行生效)

virsh setvcpus <虛擬機器名稱> 4 --maximum --config

使用vcpu數

virsh setvcpus <虛擬機器名稱> 4 --config

檢視vcpu資訊

virsh vcpuinfo <虛擬機器名稱>

查詢域 vcpu 親和性

virsh vcpupin <虛擬機器名稱>

顯示本機vcpu最大值

virsh maxvcpus

減少vcpu

virsh setvcpus <虛擬機器名稱> 1 --config
virsh setvcpus <虛擬機器名稱> 1 --maximum --config

八、記憶體管理

建議關機情況下設定(–live設定執行的域)

設定最大記憶體限制值

virsh setmaxmem <虛擬機器名稱> [–size] 2G --current

設定記憶體分配

virsh setmem <虛擬機器名稱> [–size] 2G --current

減少記憶體

virsh setmem <虛擬機器名稱> [–size] 512M --current
virsh setmaxmem <虛擬機器名稱> [–size] 512M --current

九、硬碟管理

建立磁碟檔案

#qcow2是檔案型別,test1-add1.qcow2是磁碟檔案,5G是大小
qemu-img create -f qcow2 /var/lib/libvirt/images/test1-add1.qcow2 5G

建立磁碟XML檔案(注意,不要和現有檔案重名)

virsh attach-disk <虛擬機器名稱>
–source /var/lib/libvirt/images/test1-add2.qcow2
–target vdd
–sourcetype file
–type disk
–driver qemu
–subdriver qcow2
–cache none
–targetbus virtio
–print-xml > /etc/libvirt/qemu/test2-add.xml

從XML檔案附加裝置

#–persistent持久生效
virsh attach-device <虛擬機器名稱> /etc/libvirt/qemu/test2-add.xml --persistent

解除安裝磁碟裝置

分離XML配置裝置

virsh detach-device <虛擬機器名稱> /etc/libvirt/qemu/test2-add.xml --persistent

刪除檔案

rm -f /etc/libvirt/qemu/test2-add.xml
rm -f /var/lib/libvirt/images/test1-add1.qcow2