創建KVM虛擬機
1.圖形化界面創建
第一步:查看軟件包組
yum grouplist
第二步:下載GUI界面的軟件包組
yum groupinstall "Server with GUI"
第三步:進入圖形化界面
startx
2.復制鏡像文件
復制鏡像文件到 /var/lib/libvirt/images/
/var/lib/libvirt/images/:
CentOS-7-x86_64-DVD-1611.iso
3.可以創建虛擬機了
找到virt-manager工具並安裝虛擬機
命令行下創建 && 管理虛擬機
Virt-install: 命令行下創建虛擬機的命令,不過在它后面需要跟上很多的參數
--name: 虛擬機的名字。
--disk Location: 磁盤映像的位置。
--graphics : 怎樣連接 VM ,通常是 SPICE 。
--vcpu : 虛擬 CPU 的數量。
--ram : 以兆字節計算的已分配內存大小。
--location : 指定安裝源路徑
--network : 指定虛擬網絡,通常是 virbr0 或者自己設定的 br0
#例如:
virt-install --name=test --disk path=/export/kvm/test.qcow2 --ram=1024 --vcpus=1 --graphics spice --location=/export/download/software/iso/CentOS-7.3-x86_64-DVD.iso --network bridge=br0
KVM虛擬機主要文件位置
/etc/libvirt/qemu #主配置文件目錄
/etc/libvirt/storage #存儲池(Storage Pool)配置文件
/var/lib/libvirt/images/: #默認磁盤存儲文件目錄 主配置文件中有定義
CentOS-7-x86_64-DVD-1611.iso
test1.qcow2 #磁盤存儲文件
KVM 通過virsh console連入虛擬機
第一步:centos7系統,在vm-name虛擬機中運行;
grubby --update-kernel=ALL --args="console=ttyS0"
reboot #重啟
第二步:宿主機上連接vm-name虛擬機
virsh console vm-name
第三步:退出
按 ctrl+] 組合鍵退出virsh console
遠程管理虛擬機
1.前提
virt-manager不僅能管理本地主機上的KVM虛擬機,還能管理其它宿主機上的虛擬機
2.准備
因為 KVM(准確說是 Libvirt)默認不接受遠程管理,需要按下面的內容配置被管理宿主機中的兩個文件:
vim /etc/default/libvirt-bin
...
start_libvirtd="yes"
libvirtd_opts="-d -l"
...
vim /etc/libvirt/libvirtd.conf
...
listen_tls = 0
listen_tcp = 1
unix_sock_group = "libvirtd"
unix_sock_ro_perms = "0777"
unix_sock_rw_perms = "0770"
auth_unix_ro = "none"
auth_unix_rw = "none"
auth_tcp = "none"
...
重啟libvirtd服務
systemctl restart libvirt-bin
3.遠程管理虛擬機
通過virt-manager工具添加連接,遠程連接其他宿主機
virsh命令行下管理虛擬機
virsh list #列出當前宿主機上處於運行狀態的虛擬機
virsh list --all #列出當前宿主機上所有的虛擬機
virsh start vm1 #(虛擬機name) 開啟某一台虛擬機
virsh shutdown vm1 # (虛擬機name) 正常關閉一台虛擬機
virsh destroy vm1 # 強制關閉某一台虛擬機
virsh autostart vm1 #開機自啟動虛擬機vm1
virsh autostart --disable vm1 #關閉開機自啟動
virsh edit vm1 #編輯某個虛擬機的配置文件
virsh pool-list #列出存儲池
qemu-img create -f qcow2 -o size=9G /export/kvm/test.qcow2
創建一個大小為 50G 的,格式為 qcow2 的磁盤鏡像
查看磁盤信息:
qemu-img info /export/kvm/test.qcow2
KVM虛擬化存儲管理
KVM 的存儲虛擬化是通過存儲池(Storage Pool)和卷(Volume)來管理的
- Storage Pool 是宿主機上可以看到的一片存儲空間,可以是多種型; 每個 Pool在 /etc/libvirt/storage 目錄下都有一個 xml 文件。
- Volume 是在 Storage Pool 中划分出的一塊空間,宿主機將 Volume 分配給虛擬機,Volume 在虛擬機中看到的就是一塊硬盤。
KVM 支持多種 Volume 文件格式:
- raw:是默認格式,即原始磁盤鏡像格式,移植性好,性能好,但大小固定,不能節省磁盤空間。
- qcow2:是推薦使用的格式,cow 表示 copy on write,能夠節省磁盤空間,支持 AES 加密,支持 zlib 壓縮,支持多快照,功能很多。
- vmdk:是 VMWare 的虛擬磁盤格式,也就是說 VMWare 虛機可以直接在 KVM上 運行。