1、文件管理簡介:vim
經過文件管理能夠直接查看、修改、複製虛擬機的內部文件。centos
例如,當系統由於配置文件無 法啓動時,能夠直接修改虛擬機的文件。安全
虛擬機磁盤文件主要有raw和qcow2格式。raw格式 性能最好,速度最快,它的缺點就是不支持一些新的功能,如支持鏡像,zlib磁盤壓縮,AES 加密等。bash
要使用鏡像功能,磁盤格式必須爲qcow2。dom
raw格式的話,速度稍微快點,在高版本的qemu-kvm中,幾乎不比qcow2的格式快,而 qcow2格式節省空間,可動態增加,在公有云中普遍使用,建議使用qcow2。工具
全部有時候,我 們須要將raw格式的磁盤轉換成qcow2格式(qemu-img convert -f raw -O qcow2 /kvmvm/vmtest01.img /kvm-vm/vmtest01.qcow2)。 性能
2、離線訪問工具應用場景ui
觀看或下載位於虛擬機磁盤中的文件加密
編輯或上傳文件到虛擬機磁盤 spa
讀取或寫入的虛擬機配置
準備新的磁盤映像,其中包含文件、目錄、文件系統、分區、邏輯卷和其餘選項
拯救和修復客戶沒法啓動或須要更改啓動配置的虛擬機
監控虛擬機的磁盤使用狀況
根據組織安全標準審計虛擬機的合規性
經過克隆和修改模板來部署虛擬機
讀取CD和DVD ISO和軟盤映像
3、虛擬磁盤離線訪問工具
主要是安裝libguestfs libguestfs-tools軟件工具,就能夠直接讀取qcow2格式的磁盤文件。
些操做最好要在虛擬機關機狀態下作,不然會出錯。
1.virtinspector 顯示os版本、內核、驅動、掛載點、應用等等,不多使用。
virt-inspector /kvm-vm/testvm01.qcow2
more的方式顯示
virt-inspector --format=qcow2 -a /kvm-vm/testvm01.qcow2 | more
2.virtcat命令相似於cat命令
virt-cat -a /kvm-vm/testvm01.qcow2 /etc/hostname
3.vrit-edit命令用於編輯文件,用法與vim基本一致,例如把主機名改爲 vmtest001.test.com
virt-edit -a /kvm-vm/testvm01.qcow2 /etc/hostname
4.virt-df命令用於查看虛擬機磁盤信息
virt-df -h -a /kvm-vm/testvm01.qcow2
5.virt-copy-out這個命令能夠把虛擬機裏的文件複製出來, 用法以下
virt-copy-out -d testvm01 /etc/hostname ./
6.virt-copy-in是將文件複製到虛擬機裏面,用法和virt-copy-out基本相同
virt-copy-in -d testvm01 hostname /etc/
7.guestfish命令
guestfish [--ro|--rw] -i -a /path/to/disk.img
guestfish [--ro|--rw] -i -d name-of-libvirt-domain
guestfish --ro -i -d testvm01
8.Guestmount:
在一些使用場景中,直接把虛機鏡像文件掛接在本地系統中,也是一個簡便的辦法。
例如。
# guestmount -a vm1.qcow2 -m /dev/vg_centosbase/lv_root --rw /mnt
若是事先不知道虛機內部分區的路徑信息,則可使用參數-i來讓guestmount本身決定使用 哪個掛接點:
# guestmount -a vm1.qcow2 -i --rw /mnt
guestmount -a /kvm-vm/testvm01.qcow2 -i --rw /deis/ #文件夾首先是空不容許有文件,不然報錯
guestunmount /deis/ #卸載系統鏡像掛載位置
4、管理虛擬磁盤
1.虛擬化項目中存儲的注意事項
存儲的性能幾乎老是虛擬化的瓶頸
經過多個磁盤驅動以分佈磁盤I/O來實現存儲解決方案
驅動器的速度越快越好,考慮SSD與機械磁盤的混合使用
考慮部署集中化的SAN/NFS來實現高可用性和實時遷移
2.虛擬磁盤類型
1).固定 Fixed
在配置時,指定磁盤大小
無論在虛擬磁盤上實際存儲多少數據,都將佔用相同大小主機磁盤空間
2.)動態 Dynamic
增加到最大容量,可是隻根據需求使用更多的空間
3.)差別(差分盤) Differencing
由於建立是差別磁盤,因此只保存變動的數據,相似於lvm的快照
例如,將操做系統安裝在父盤,而後建立差別化磁盤來執行進一步配置,桌面虛擬化使用不少。
3.KVM支持的虛擬磁盤類型:
1.)raw
這並不是是一種真正的磁盤格式,而是表明虛擬機所使用的原始鏡像
它並不存儲元數據,所以能夠做爲保證虛擬機兼容性的候選方案。然而,也正由於它不 存儲元數據,所以不能支持某些高級特性,好比快照和壓縮等
格式簡單,容易轉化爲其餘的格式。須要文件系統的支持才能支持sparse file
cow: copy-on-wirte格式,曇花一現
qcow: QEMU早期的copy-on-write格式,過渡性方案
2.)qcow2:
按需進行分配磁盤空間,無論文件系統是否支持
支持快照
支持zlib的磁盤壓縮
支持AES的加密
3.)vmdk(virtual machine disk)
VMware環境當中默認使用的磁盤格式
4.)vhd\vhdx(virtual Hard Disk)
微軟默認採用的文件格式
5.)vdi(virtual Box)
4.能夠經過qemu-img --help | grep Supported命令查看KVM所支持的磁盤格式
qemu-img --help | grep Supported
5.qemu-img是QEMU的磁盤管理工具,在qemu-kvm源碼編譯後就會默認編譯好qemuimg這個二進制文件。
qemu-img也是QEMU/KVM使用過程當中一個比較重要的工具,qemu-img工 具的命令行基本用法以下:
qemu-img command [command options]
qemu-img經常使用功能命令: check 檢查完整性 create 建立鏡像 commit 提交更改 compare 比較 convert 轉換 info 獲取信息 map 映射 snapshot 快照管理 rebase 在已有的鏡像的基礎上建立新的鏡像 resize 調整大小 amend 修訂鏡像格式選項
6.建立虛擬磁盤,默認是建立raw格式的磁盤
qemu-img create t1.img 1g
7.建立qcow2格式磁盤時,能夠指定選項,經過-o參數,經常使用參數主要有:
qemu-img create -f qcow2 test2.qcow2 1g -o preallocation=full
5、後備差別虛擬磁盤(VMware中稱做連接克隆)
存儲與基礎鏡像(父)磁盤的變化
基礎鏡像(父)磁盤不會改變
差別磁盤隔離變化
多個差別磁盤可使用相同的基礎鏡像(父)磁盤
1.優勢:標準化基礎鏡像,節省空間
2.缺點:增長了開銷,較差的性能 (尤爲是vmware虛擬機中的試驗環境,要等待好久才 能啓動)
1.首選,須要擁有一個基礎虛擬磁盤,能夠經過安裝一個全新的虛擬機獲得,而後將各類使 用的基本軟件設置好。
qemu-img create -f qcow2 \ > -o backing_file=/kvm-vm/testvm01.qcow2 \ > oa-disk0.qcow2
2.而後根據差別磁盤建立虛擬機 (強烈建議經過修改配置文件) 若是修改配置文件的話,只須要修改主機名,uuid值,及mac地址便可。
mv /kvm-vm/oa-disk0.qcow2 /kvm-vm/oa-testvm01.qcow2 cd /etc/libvirt/qemu/ cp testvm01.xml oa-testvm01.xml vim oa-testvm01.xml
修改內容:
%s/testvm01/oa-testvm01/g <mac address='52:54:00:f9:e5:48'/> #修改其中任意一個 數字智能在0-9之間 <uuid>14841360-0da0-4b8d-8bad-ddde2ea9d5e9</uuid> #uuid可使用命令uuidgen生成
定義域
virsh define /etc/libvirt/qemu/oa-testvm01.xml
結果:
6、虛擬磁盤格式轉換
7、調整虛擬磁盤大小
8、磁盤快照管理
1. 快照/檢查點 Snapshot/Checkpoint
磁盤快照
對磁盤數據進行快照
主要用於虛擬機備份等場合
內存快照 ü 對虛擬機的內存/設備信息進行保存
該機制同時用於休眠恢復、遷移等場景
主要使用virsh save(qemu migrate to file)實現,只能對運行的虛擬機進行
檢查點快照
同時保存虛擬機的磁盤快照和內存快照
用於將虛擬機恢復到某個時間點
能夠保證數據的一致性
2.磁盤快照分類--不推薦使用
按快照信息保存分爲:
內置快照:
快照數據和base磁盤數據放在一個qcow2文件中
外置快照:
快照數據單獨的qcow2文件存放
按虛擬機狀態能夠分爲:
關機態快照:
數據能夠保證一致性
運行態快照:
數據沒法保證一致性,相似於系統crash後的磁盤數據,使用時可能須要 fsck等操做。
按磁盤數量能夠分爲:
單盤:單盤快照不涉及原子性
多盤:涉及原子性。
主要分爲兩個方面:
一、是全部盤快照點相同
二、全部盤要麼都快照 成功,要麼都快照失敗。
主要依賴於qemu的transaction實現。