日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

KVM 介绍(7):使用 libvirt 做 QEMU/KVM 快照和 Nova 实例的快照 (Nova Instances Snapshot Libvirt)...

發(fā)布時(shí)間:2025/5/22 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 KVM 介绍(7):使用 libvirt 做 QEMU/KVM 快照和 Nova 实例的快照 (Nova Instances Snapshot Libvirt)... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

學(xué)習(xí) KVM 的系列文章:

    • (1)介紹和安裝
    • (2)CPU 和 內(nèi)存虛擬化
    • (3)I/O QEMU 全虛擬化和準(zhǔn)虛擬化(Para-virtulizaiton)
    • (4)I/O PCI/PCIe設(shè)備直接分配和 SR-IOV
    • (5)libvirt 介紹
    • (6)Nova 通過 libvirt 管理 QEMU/KVM 虛機(jī)
    • (7)快照 (snapshot)
    • (8)遷移 (migration)

本文將梳理 QEMU/KVM 快照相關(guān)的知識(shí),以及在 OpenStack Nova 中使用 libvirt 來(lái)對(duì) QEMU/KVM 虛機(jī)做快照的過程。

1. QEMU/KVM 快照

1.1 概念

QEMU/KVM 快照的定義:快照就是將虛機(jī)在某一個(gè)時(shí)間點(diǎn)上的磁盤、內(nèi)存和設(shè)備狀態(tài)保存一下,以備將來(lái)之用。它包括以下幾類:

  • 磁盤快照:磁盤的內(nèi)容(可能是虛機(jī)的全部磁盤或者部分磁盤)在某個(gè)時(shí)間點(diǎn)上被保存,然后可以被恢復(fù)。
    • 磁盤數(shù)據(jù)的保存狀態(tài):
      • 在一個(gè)運(yùn)行著的系統(tǒng)上,一個(gè)磁盤快照很可能只是崩潰一致的(crash-consistent) 而不是完整一致(clean)的,也是說(shuō)它所保存的磁盤狀態(tài)可能相當(dāng)于機(jī)器突然掉電時(shí)硬盤數(shù)據(jù)的狀態(tài),機(jī)器重啟后需要通過 fsck 或者別的工具來(lái)恢復(fù)到完整一致的狀態(tài)(類似于 Windows 機(jī)器在斷電后會(huì)執(zhí)行文件檢查)。(注:命令 qemu-img check -f qcow2 --output=qcow2 -r all filename-img.qcow2 可以對(duì) qcow2 和 vid 格式的鏡像做一致性檢查。)
      • 對(duì)一個(gè)非運(yùn)行中的虛機(jī)來(lái)說(shuō),如果上次虛機(jī)關(guān)閉的時(shí)候磁盤是完整一致的,那么其被快照的磁盤快照也將是完整一致的。
    • 磁盤快照有兩種:
      • 內(nèi)部快照 - 使用單個(gè)的 qcow2 的文件來(lái)保存快照和快照之后的改動(dòng)。這種快照是 libvirt 的默認(rèn)行為,現(xiàn)在的支持很完善(創(chuàng)建、回滾和刪除),但是只能針對(duì) qcow2 格式的磁盤鏡像文件,而且其過程較慢等。
      • 外部快照 - 快照是一個(gè)只讀文件,快照之后的修改是另一個(gè) qcow2 文件中。外置快照可以針對(duì)各種格式的磁盤鏡像文件。外置快照的結(jié)果是形成一個(gè) qcow2 文件鏈:original <- snap1 <- snap2 <- snap3。這里有文章詳細(xì)討論外置快照。
  • 內(nèi)存狀態(tài)(或者虛機(jī)狀態(tài)):只是保持內(nèi)存和虛機(jī)使用的其它資源的狀態(tài)。如果虛機(jī)狀態(tài)快照在做和恢復(fù)之間磁盤沒有被修改,那么虛機(jī)將保持一個(gè)持續(xù)的狀態(tài);如果被修改了,那么很可能導(dǎo)致數(shù)據(jù)corruption。
  • 系統(tǒng)還原點(diǎn)(system checkpoint):虛機(jī)的所有磁盤的快照和內(nèi)存狀態(tài)快照的集合,可用于恢復(fù)完整的系統(tǒng)狀態(tài)(類似于系統(tǒng)休眠)。

關(guān)于?崩潰一致(crash-consistent)的附加說(shuō)明:

  • 應(yīng)該盡量避免在虛機(jī)I/O繁忙的時(shí)候做快照。這種時(shí)候做快照不是可取的辦法。
  • vmware 的做法是裝一個(gè) tools,它是個(gè) PV driver,可以在做快照的時(shí)候掛起系統(tǒng)
  • 似乎 KVM 也有類似的實(shí)現(xiàn) QEMU Guest Agent,但是還不是很成熟,可參考?http://wiki.libvirt.org/page/Qemu_guest_agent

快照還可以分為 live snapshot(熱快照)和 Clod snapshot:

  • Live snapshot:系統(tǒng)運(yùn)行狀態(tài)下做的快照
  • Cold snapshot:系統(tǒng)停止?fàn)顟B(tài)下的快照

libvit 做 snapshot 的各個(gè) API:

snapshot做快照的 libvirt API從快照恢復(fù)的 libvirt APIvirsh 命令
磁盤快照virDomainSnapshotCreateXML(flags =?VIR_DOMAIN_SNAPSHOT_CREATE_DISK_ONLY?)virDomainRevertToSnapshot?virsh snapshot-create/snapshot-revert
內(nèi)存(狀態(tài))快照

virDomainSave

virDomainSaveFlags

virDomainManagedSave

virDomainRestore

virDomainRestoreFlags

virDomainCreate

virDomainCreateWithFlags

virsh save/restore
系統(tǒng)檢查點(diǎn)virDomainSnapshotCreateXMLvirDomainRevertToSnapshot?virsh snapshot-create/snapshot-revert

分別來(lái)看看這些 API 是如何工作的:

1.?virDomainSnapshotCreateXML (virDomainPtr domain, const char * xmlDesc, unsigned int flags)

作用:根據(jù) xmlDesc 指定的 snapshot xml 和 flags 來(lái)創(chuàng)建虛機(jī)的快照。

flags 包含?虛機(jī)處于運(yùn)行狀態(tài)時(shí)快照的做法虛機(jī)處于關(guān)閉狀態(tài)時(shí)快照的做法
0創(chuàng)建系統(tǒng)檢查點(diǎn),包括磁盤狀態(tài)和內(nèi)存狀態(tài)比如內(nèi)存內(nèi)容保持關(guān)機(jī)時(shí)的磁盤狀態(tài)
VIR_DOMAIN_SNAPSHOT_CREATE_LIVE做快照期間,虛機(jī)將不會(huì)被 paused。這會(huì)增加內(nèi)存 dump file 的大小,但是可以減少系統(tǒng)停機(jī)時(shí)間。部分 Hypervisor 只在做外部的系統(tǒng)檢查點(diǎn)時(shí)才設(shè)置該 flag,這意味著普通快照還是需要暫停虛機(jī)。?
VIR_DOMAIN_SNAPSHOT_CREATE_DISK_ONLY只做指定磁盤的快照。對(duì)應(yīng)運(yùn)行著的虛機(jī),磁盤快照可能是不完整的(類似于突然電源被拔了的情形)。只做指定磁盤的快照。

其內(nèi)部實(shí)現(xiàn)根據(jù)虛機(jī)的運(yùn)行狀態(tài)有兩種情形:

  • 對(duì)運(yùn)行著的虛機(jī),API 使用 QEMU Monitor 去做快照,磁盤鏡像文件必須是 qcow2 格式,虛機(jī)的 CPU 被停止,快照結(jié)束后會(huì)重新啟動(dòng)。
  • 對(duì)停止著的虛機(jī),API 調(diào)用 qemu-img 方法來(lái)操作所有磁盤鏡像文件。

這里有其實(shí)現(xiàn)代碼,可見其基本的實(shí)現(xiàn)步驟:?

static virDomainSnapshotPtr qemuDomainSnapshotCreateXML {
....call qemuDomainSnapshotCreateDiskActive{call qemuProcessStopCPUs # 停止 vCPUs
for each disk call qemuDomainSnapshotCreateSingleDiskActive{call qemuMonitorDiskSnapshot # 調(diào)用 QEMU Monitor 去為每個(gè)磁盤做snapshot}call qemuProcessStartCPUs # 啟動(dòng) vCPUs
}
....
}
?

2.?virDomainSave?相關(guān)的幾個(gè) API

這幾個(gè)API 功能都比較類似:

virDomainSave?該方法會(huì) suspend 一個(gè)運(yùn)行著的虛機(jī),然后保存期內(nèi)存內(nèi)容到一個(gè)文件中。成功調(diào)用以后,domain 將不會(huì)處于 running 狀態(tài)。使用?virDomainRestore 來(lái)恢復(fù)虛機(jī)。
virDomainSaveFlags?類似于?virDomainSave?API,可使用幾個(gè) ?flags。一些 Hypervisor 在調(diào)用該方法前需要調(diào)用??virDomainBlockJobAbort() 方法來(lái)停止 block copy 操作。
virDomainManagedSave?也類似于?virDomainSave?API。主要區(qū)別是 libvirt 將其內(nèi)存保存到一個(gè)受 libvirt 管理的文件中,因此libvirt 可以一直跟蹤 snapshot 的狀態(tài);當(dāng)調(diào)用 virDomainCreate/virDomainCreateWithFlags 方法重啟該?domain的時(shí)候,libvirt 會(huì)使用該受管文件,而不是一個(gè)空白的文件,這樣就可以 restore 該snapshot。

Features/SnapshotsMultipleDevices 這篇文章討論同時(shí)對(duì)多個(gè)磁盤做快照的問題。

1.2 使用 virsh 實(shí)驗(yàn)

1.2.1 virsh save 命令

對(duì)運(yùn)行中的 domain d-2 運(yùn)行 “virsh save” 命令。命令執(zhí)行完成后,d-2 變成 “shut off” 狀態(tài)。

看看 domain 的磁盤鏡像文件和 snapshot 文件:

內(nèi)存數(shù)據(jù)被保存到 raw 格式的文件中。

要恢復(fù)的時(shí)候,可以運(yùn)行 “vish restore d-2.snap1” 命令從保存的文件上恢復(fù)。

1.2.2 virsh snapshot-create/snapshort-create-as

先看看它的用法:

virsh # help snapshot-create-asNAMEsnapshot-create-as - Create a snapshot from a set of argsSYNOPSISsnapshot-create-as <domain> [<name>] [<description>] [--print-xml] [--no-metadata] [--halt] [--disk-only] [--reuse-external] [--quiesce] [--atomic] [--live] [--memspec <string>] [[--diskspec] <string>]...DESCRIPTIONCreate a snapshot (disk and RAM) from argumentsOPTIONS[--domain] <string> domain name, id or uuid[--name] <string> name of snapshot[--description] <string> description of snapshot--print-xml print XML document rather than create--no-metadata take snapshot but create no metadata #創(chuàng)建的快照不帶任何元數(shù)據(jù)--halt halt domain after snapshot is created #快照創(chuàng)建后虛機(jī)會(huì)關(guān)閉--disk-only capture disk state but not vm state #只對(duì)磁盤做快照,忽略其它參數(shù)--reuse-external reuse any existing external files--quiesce quiesce guest's file systems #libvirt 會(huì)通過 QEMU GA 嘗試去freeze和unfreeze客戶機(jī)已經(jīng)mounted的文件系統(tǒng);如果客戶機(jī)沒有安裝QEMU GA,則操作會(huì)失敗。--atomic require atomic operation #快照要么完全成功要么完全失敗,不允許部分成果。不是所有的VMM都支持。--live take a live snapshot #當(dāng)客戶機(jī)處于運(yùn)行狀態(tài)下做快照--memspec <string> memory attributes: [file=]name[,snapshot=type][--diskspec] <string> disk attributes: disk[,snapshot=type][,driver=type][,file=name]

其中一些參數(shù),比如 --atomic,在一些老的 QEMU libary 上不支持,需要更新它到新的版本。根據(jù) 這篇文章,atomic 應(yīng)該是 QEMU 1.0 中加入的。

(1)默認(rèn)的話,該命令創(chuàng)建虛機(jī)的所有磁盤和內(nèi)存做內(nèi)部快照,創(chuàng)建快照時(shí)虛機(jī)處于 paused 狀態(tài),快照完成后變?yōu)?running 狀態(tài)。持續(xù)時(shí)間較長(zhǎng)。

<memory snapshot='internal'/><disks><disk name='vda' snapshot='internal'/><disk name='vdb' snapshot='internal'/><disk name='vdc' snapshot='internal'/></disks>?

每個(gè)磁盤的鏡像文件都包含了 snapshot 的信息:

root@compute1:/var/lib/nova/instances/eddc46a8-e026-4b2c-af51-dfaa436fcc7b# qemu-img info disk image: disk file format: qcow2 virtual size: 1.0G (1073741824 bytes) disk size: 43M cluster_size: 65536 backing file: /var/lib/nova/instances/_base/fbad3d96a1727069346073e51d5bbb1824e76e34 Snapshot list: ID TAG VM SIZE DATE VM CLOCK 1 1433950148 41M 2015-06-10 23:29:08 05:16:55.007 Format specific information:compat: 1.1lazy refcounts: false

你可以運(yùn)行 snapshot-revert 命令回滾到指定的snapshot。

virsh # snapshot-revert instance-0000002e 1433950148

根據(jù)?這篇文章,libvirt 將內(nèi)存狀態(tài)保存到某一個(gè)磁盤鏡像文件內(nèi) (”state is saved inside one of the disks (as in qemu's 'savevm'system checkpoint implementation). If needed in the future,we can also add an attribute pointing out _which_ disk saved the internal state; maybe disk='vda'.)

(2)可以使用 “--memspec” 和 “--diskspec” 參數(shù)來(lái)給內(nèi)存和磁盤外部快照。這時(shí)候,在獲取內(nèi)存狀態(tài)之前需要 Pause 虛機(jī),就會(huì)產(chǎn)生服務(wù)的 downtime。

virsh # snapshot-create-as 0000002e livesnap2 --memspec /home/s1/livesnap2mem,snapshot=external --diskspec vda,snapshot=external Domain snapshot livesnap2 created virsh # snapshot-dumpxml 0000002e livesnap2 <memory snapshot='external' file='/home/s1/livesnap2mem'/><disks><disk name='vda' snapshot='external' type='file'><driver type='qcow2'/><source file='/home/s1/testvm/testvm1.livesnap2'/></disk></disks>

(3)可以使用 “--disk-only” 參數(shù),這時(shí)會(huì)做所有磁盤的外部快照,但是不包含內(nèi)存的快照。不指定快照文件名字的話,會(huì)放在原來(lái)的磁盤文件所在的目錄中。多次快照后,會(huì)形成一個(gè)外部快照鏈,新的快照使用前一個(gè)快照的鏡像文件作為 backing file。

virsh # snapshot-list instance-0000002e --tree 1433950148 #內(nèi)部快照 1433950810 #內(nèi)部快照 1433950946 #內(nèi)部快照 snap1 #第一個(gè)外部快照|+- snap2 #第二個(gè)外部快照|+- 1433954941 #第三個(gè)外部快照|+- 1433954977 #第四個(gè)外部快照

而第一個(gè)外部快照的鏡像文件是以虛機(jī)的原始鏡像文件作為 backing file 的:

root@compute1:/var/lib/nova/instances/eddc46a8-e026-4b2c-af51-dfaa436fcc7b# qemu-img info disk.snap1 image: disk.snap1 file format: qcow2 virtual size: 30M (31457280 bytes) disk size: 196K cluster_size: 65536 backing file: /var/lib/nova/instances/eddc46a8-e026-4b2c-af51-dfaa436fcc7b/disk.swap #虛機(jī)的 swap disk 原始鏡像文件 backing file format: qcow2 Format specific information:compat: 1.1lazy refcounts: false

目前還不支持回滾到某一個(gè)extrenal disk snapshot。這篇文章?談到了一個(gè)workaround。

[root@rh65 osdomains]# virsh snapshot-revert d-2 1434467974
error: unsupported configuration: revert to external disk snapshot not supported yet

(4)還可以使用 “--live” 參數(shù)創(chuàng)建系統(tǒng)還原點(diǎn),包括磁盤、內(nèi)存和設(shè)備狀態(tài)等。使用這個(gè)參數(shù)時(shí),虛機(jī)不會(huì)被 Paused(那怎么實(shí)現(xiàn)的?)。其后果是增加了內(nèi)存 dump 文件的大小,但是減少了系統(tǒng)的 downtime。該參數(shù)只能用于做外部的系統(tǒng)還原點(diǎn)(external checkpoint)。

virsh # snapshot-create-as 0000002e livesnap3 --memspec /home/s1/livesnap3mem,snapshot=external --diskspec vda,snapshot=external --live Domain snapshot livesnap3 created virsh # snapshot-dumpxml 0000002e livesnap3 <memory snapshot='external' file='/home/s1/livesnap3mem'/><disks><disk name='vda' snapshot='external' type='file'><driver type='qcow2'/><source file='/home/s1/testvm/testvm1.livesnap3'/></disk></disks>

注意到加 “--live” 生成的快照和不加這個(gè)參數(shù)生成的快照不會(huì)被鏈在一起:

virsh # snapshot-list 0000002e --tree livesnap1 #沒加 --live|+- livesnap2 #沒加 --livelivesnap3 #加了 --live|+- livesnap4 #加了 --live

不過,奇怪的是,使用 QEMU 2.3 的情況下,即使加了 --live 參數(shù),虛機(jī)還是會(huì)被短暫的 Paused 住:

?

[root@rh65 ~]# virsh snapshot-create-as d-2 --memspec /home/work/d-2/mem3,snapshot=external --diskspec hda,snapshot=external --live Domain snapshot 1434478667 created[root@rh65 ~]# virsh list --allId Name State ----------------------------------------------------40 osvm1 running42 osvm2 running43 d-2 running[root@rh65 ~]# virsh list --allId Name State ----------------------------------------------------40 osvm1 running42 osvm2 running43 d-2 paused # 不是說(shuō)好我用 --live 你就不pause 虛機(jī)的么?這是腫了么。。[root@rh65 ~]# virsh list --allId Name State ----------------------------------------------------40 osvm1 running42 osvm2 running43 d-2 running

?

綜上所述,對(duì)于?snapshot-create-as 命令來(lái)說(shuō),

參數(shù)結(jié)果
<不使用額外的參數(shù)>所有磁盤和內(nèi)存的內(nèi)部的內(nèi)部快照
--memspec snapshot=external --diskspec vda,snapshot=external ?磁盤和內(nèi)存的外部快照,虛機(jī)需要被暫停
--live ?--memspec snapshot=external --diskspec vda,snapshot=external創(chuàng)建系統(tǒng)檢查點(diǎn)(包括磁盤和內(nèi)存的快照),而且虛機(jī)不會(huì)被暫停(?測(cè)試結(jié)果顯示還是會(huì)暫停,只是暫停時(shí)間比不使用 --live 要短一些)
--disk-only創(chuàng)建所有或者部分磁盤的外部快照

?可以使用 sanpshot-revert 命令來(lái)回滾到指定的系統(tǒng)還原點(diǎn),不過得使用 “-force” 參數(shù):

?

[root@rh65 ~]# virsh snapshot-revert d-2 1434478313 error: revert requires force: Target device address type none does not match source pci[root@rh65 ~]# virsh snapshot-revert d-2 1434478313 --force[root@rh65 ~]#

1.3 外部快照的刪除

目前 libvirt 還不支持直接刪除一個(gè)外部快照,可以參考 這篇文章?介紹的 workaround。

2. OpenStack 中的快照

OpenStack Snapshot 可分為下面的幾種情形:

2.1 對(duì) Nova Instance 進(jìn)行快照

(1)對(duì)從鏡像文件啟動(dòng)的虛機(jī)做快照

  • 只將運(yùn)行當(dāng)中的虛機(jī)的 Root disk (第一個(gè)vd 或者 hd disk) 做成 image,然后上傳到 glance 里面
  • Live Snapshot:對(duì)滿足特定條件(QEMU 1.3+ 和 Libvirt 1.0.0+,以及 source_format not in ('lvm', 'rbd') and not CONF.ephemeral_storage_encryption.enabled and not CONF.workarounds.disable_libvirt_livesnapshot,以及能正常調(diào)用 libvirt.blockJobAbort ,其前提條件可參考這文章)的虛機(jī),會(huì)進(jìn)行 Live snapshot。Live Snapshot 允許用戶在虛機(jī)處于運(yùn)行狀態(tài)時(shí)不停機(jī)做快照。
  • Cold Snapshot:對(duì)不能做 live snapshot 的虛機(jī)做 Cold snapshot。這種快照必須首先 Pause 虛機(jī)。

(2)對(duì)從卷啟動(dòng)的虛機(jī)做快照

  • 對(duì)虛機(jī)的每個(gè)掛載的 volume 調(diào)用 cinder API 做 snapshot。
  • Snapshot 出的 metadata 會(huì)保存到 glance 里面,但是不會(huì)有 snapshot 的 image 上傳到 Glance 里面。
  • 這個(gè) snapshot 也會(huì)出現(xiàn)在 cinder 的數(shù)據(jù)庫(kù)里面,對(duì) cinder API 可見。

2.2 對(duì)卷做快照

  • 調(diào)用 cinder driver api,對(duì) backend 中的 volume 進(jìn)行 snapshot。
  • 這個(gè) snapshot 會(huì)出現(xiàn)在 cinder 的數(shù)據(jù)庫(kù)里面,對(duì) cinder API 可見。??

3. 從鏡像文件啟動(dòng)的 Nova 虛機(jī)做快照

? ? 嚴(yán)格地說(shuō),Nova 虛機(jī)的快照,并不是對(duì)虛機(jī)做完整的快照,而是對(duì)虛機(jī)的啟動(dòng)盤(root disk,即 vda 或者 hda)做快照生成 qcow2 格式的文件,并將其傳到 Glance 中,其作用也往往是方便使用快照生成的鏡像來(lái)部署新的虛機(jī)。Nova 快照分為 Live Snapshot (不停機(jī)快照)和 Clold Snapshot (停機(jī)快照)。

3.1 Nova Live Snapshot

滿足 2.1.1 中所述條件時(shí),運(yùn)行命令 ?”nova image-create <instance name or uuid> <name of new image>“ 后,Nova 會(huì)執(zhí)行 Live Snapshot。其過程如下:

  • 找到虛機(jī)的 root disk (vda 或者 hda)。
  • 在?CONF.libvirt.snapshots_directory 指定的文件夾(默認(rèn)為 /var/lib/nova/instances/snapshots)中創(chuàng)建一個(gè)臨時(shí)文件夾,在其中創(chuàng)建一個(gè) qcow2 格式的 delta 文件,其文件名為 uuid 字符串,該文件的 backing file 和 root disk 文件的 backing file 相同 (下面步驟 a)。
  • 調(diào)用 virDomainGetXMLDesc 來(lái)保存 domain 的 xml 配置。
  • 調(diào)用?virDomainBlockJobAbort 來(lái)停止對(duì) root disk 的活動(dòng)塊操作 (Cancel the active block job on the given disk)。
  • 調(diào)用?virDomainUndefine 來(lái)將 domain 變?yōu)?transimit 類型的,這是因?yàn)?BlockRebase API 不能針對(duì) Persistent domain 調(diào)用。
  • 調(diào)用?virDomainBlockRebase 來(lái)將 root disk image 文件中不同的數(shù)據(jù)拷貝到 delta disk file 中。(下面步驟 b)
  • 步驟 6 是一個(gè)持續(xù)的過程,因?yàn)榭赡苡袘?yīng)用正在向該磁盤寫數(shù)據(jù)。Nova?每隔 0.5 秒調(diào)用?virDomainBlockJobInfo API 來(lái)檢查拷貝是否結(jié)束。
  • 拷貝結(jié)束后,調(diào)用 ?virDomainBlockJobAbort 來(lái)終止數(shù)據(jù)拷貝。
  • 調(diào)用?virDomainDefineXML 將domain 由 transimisit 該回到 persistent。
  • 調(diào)用?qemu-img convert 命令將?delta image 文件和 backing file 變?yōu)橐粋€(gè) qcow2 文件 (下面步驟 c)
  • 將 image 的元數(shù)據(jù)和 qcow2 文件傳到 Glance 中。
  • (a)執(zhí)行 qemu-img create -f qcow2 (qemu-img create 創(chuàng)建一個(gè)基于鏡像1的鏡像2,鏡像2的文件將基于鏡像1,鏡像2中的文件將基于鏡像1中的。在鏡像2中所作的任何讀寫操作都不會(huì)影響到鏡像1. 鏡像1可以被其他鏡像當(dāng)做backing file. 但是要確保鏡像1不要被修改)。比如:qemu-img create -f qcow2 -o backing_file=/var/lib/nova/instances/_base/ed39541b2c77cd7b069558570fa1dff4fda4f678,size=21474836480 /var/lib/nova/instances/snapshots/tmpzfjdJS/7f8d11be9ff647f6b7a0a643fad1f030.delta
    (b)相當(dāng)于執(zhí)行 virsh blockjob <domain> <path> [--abort] [--async] [--pivot] [--info] [<bandwidth>] (c)執(zhí)行 'qemu-img convert -f qcow2 -o dest_fmt' 來(lái)將帶 backing file 的 qcow2 image 轉(zhuǎn)化成不帶 backing file 的 flat image。其中 dest_fmt 由 snapshot_image_format 決定,有效值是 raw, qcow2, vmdk, vdi,默認(rèn)值是 source image 的 format。比如: qemu-img convert -f qcow2 -O qcow2 /var/lib/nova/instances/snapshots/tmpzfjdJS/7f8d11be9ff647f6b7a0a643fad1f030.delta /var/lib/nova/instances/snapshots/tmpzfjdJS/7f8d11be9ff647f6b7a0a643fad1f030

    來(lái)看看其中的一個(gè)關(guān)鍵 API?int virDomainBlockRebase (virDomainPtr dom, const char * disk, const char * base, unsigned long bandwidth,unsigned int flags)

    該 API 從 backing 文件中拷貝數(shù)據(jù),或者拷貝整個(gè) backing 文件到 @base 文件。 Nova 中的調(diào)用方式為:domain.blockRebase(disk_path, disk_delta, 0,libvirt.VIR_DOMAIN_BLOCK_REBASE_COPY |libvirt.VIR_DOMAIN_BLOCK_REBASE_REUSE_EXT |libvirt.VIR_DOMAIN_BLOCK_REBASE_SHALLOW) 默認(rèn)的話,該 API 會(huì)拷貝整個(gè)@disk 文件到 @base 文件,但是使用 ?VIR_DOMAIN_BLOCK_REBASE_SHALLOW 的話就只拷貝差異數(shù)據(jù)(top data)因?yàn)?@disk 和 @base 使用相同的 backing 文件。?VIR_DOMAIN_BLOCK_REBASE_REUSE_EXT 表示需要使用已經(jīng)存在的 @base 文件因?yàn)?Nova 會(huì)預(yù)先創(chuàng)建好這個(gè)文件。

    簡(jiǎn)單的示意圖:

    這里 有個(gè)過程的 PoC 代碼描述該過程。

    這里 有該過程的完整 libvirt 日志分析。

    這里 有文章講 Libvirt?Features/SnapshotsMultipleDevices。

    3.2 Nova Cold Snapshot

    當(dāng)虛機(jī)不在運(yùn)行中時(shí)或者不滿足 live snapshot 的條件的情況下,Nova 會(huì)執(zhí)行 Cold snapshot。其主要過程如下:

    (1)當(dāng)虛機(jī)處于 running 或者 paused 狀態(tài)時(shí):

  • detach PCI devices
  • detach SR-IOV devices
  • 調(diào)用?virDomainManagedSave API 來(lái)將虛機(jī) suspend 并且將內(nèi)存狀態(tài)保存到磁盤文件中。
  • (2)調(diào)用?qemu-img convert 命令將 root disk 的鏡像文件轉(zhuǎn)化一個(gè)相同格式的鏡像文件。

    (3)調(diào)用 virDomainCreateWithFlags? API?將虛機(jī)變?yōu)槌跏紶顟B(tài)

    (4)將在步驟1 中卸載的 PCI 和 SR-IOV 設(shè)備重新掛載回來(lái)

    (5)將元數(shù)據(jù)和 qcow2 文件傳到 Glance 中

    4. 從 volume 啟動(dòng)的 Nova 實(shí)例的快照

    (0)從卷啟動(dòng)虛機(jī),并且再掛載一個(gè)卷,然后運(yùn)行 nova image-create 命令。

    | image | Attempt to boot from volume - no image supplied | | key_name | - | | metadata | {} | | name | vm10 | | os-extended-volumes:volumes_attached | [{"id": "26446902-5a56-4c79-b839-a8e13a66dc7a"}, {"id": "de127d46-ed92-471d-b18b-e89953c305fd"}]

    (1)從 DB 獲取該虛機(jī)的塊設(shè)備( Block Devices Mapping)列表。

    (2)對(duì)該列表中的每一個(gè)卷,依次調(diào)用 Cinder API 做快照。對(duì) LVM Driver 的 volume 來(lái)說(shuō),執(zhí)行的命令類似于 " lvcreate --size 100M --snapshot --name snap /dev/vg00/lvol1“。

    s1@controller:~$ cinder snapshot-list +--------------------------------------+--------------------------------------+-----------+------------------------+------+ | ID | Volume ID | Status | Name | Size | +--------------------------------------+--------------------------------------+-----------+------------------------+------+ | a7c591fb-3413-4548-abd8-86753da3158b | de127d46-ed92-471d-b18b-e89953c305fd | available | snapshot for vm10-snap | 1 | | d1277ea9-e972-4dd4-89c0-0b9d74956247 | 26446902-5a56-4c79-b839-a8e13a66dc7a | available | snapshot for vm10-snap | 1 | +--------------------------------------+--------------------------------------+-----------+------------------------+------+

    (3)將快照的 metadata 放到 Glance 中。(注:該 image 只是一些屬性的集合,比如 block device mapping, kernel 和 ramdisk IDs 等,它并沒有 image 數(shù)據(jù), 因此其 size 為 0。)

    s1@controller:~$ glance image-show e86cc562-349c-48cb-a81c-896584accde3 +---------------------------------+----------------------------------------------------------------------------------+ | Property | Value | +---------------------------------+----------------------------------------------------------------------------------+ | Property 'bdm_v2' | True | | Property 'block_device_mapping' | [{"guest_format": null, "boot_index": 0, "no_device": null, "snapshot_id": | | # 分別是該虛機(jī)掛載的兩個(gè)volume 的 | "d1277ea9-e972-4dd4-89c0-0b9d74956247", "delete_on_termination": null, | | snapshot 的信息 | "disk_bus": "virtio", "image_id": null, "source_type": "snapshot", | | | "device_type": "disk", "volume_id": null, "destination_type": "volume", | | | "volume_size": null}, {"guest_format": null, "boot_index": null, "no_device": | | | null, "snapshot_id": "a7c591fb-3413-4548-abd8-86753da3158b", | | | "delete_on_termination": null, "disk_bus": null, "image_id": null, | | | "source_type": "snapshot", "device_type": null, "volume_id": null, | | | "destination_type": "volume", "volume_size": null}] | | Property 'checksum' | 64d7c1cd2b6f60c92c14662941cb7913 | | Property 'container_format' | bare | | Property 'disk_format' | qcow2 | | Property 'image_id' | bb9318db-5554-4857-a309-268c6653b9ff | | Property 'image_name' | image | | Property 'min_disk' | 0 | | Property 'min_ram' | 0 | | Property 'root_device_name' | /dev/vda | | Property 'size' | 13167616 | | created_at | 2015-06-10T05:52:24 | | deleted | False | | id | e86cc562-349c-48cb-a81c-896584accde3 | | is_public | False | | min_disk | 0 | | min_ram | 0 | | name | vm10-snap | | owner | 74c8ada23a3449f888d9e19b76d13aab | | protected | False | | size | 0 # 這里 size 是 0,表明該 image 只是元數(shù)據(jù), | | status | active | | updated_at | 2015-06-10T05:52:24 | +---------------------------------+----------------------------------------------------------------------------------+?

    5. 當(dāng)前 Nova snapshot 的局限

    • Nova snapshot 其實(shí)只是提供一種創(chuàng)造系統(tǒng)盤鏡像的方法。不支持回滾至快照點(diǎn),只能采用該快照鏡像創(chuàng)建一個(gè)新的虛擬機(jī)。
    • 在虛機(jī)是從 image boot 的時(shí)候,只對(duì)系統(tǒng)盤進(jìn)行快照,不支持內(nèi)存快照,不支持系統(tǒng)還原點(diǎn)?(blueprint:https://blueprints.launchpad.net/nova/+spec/live-snapshot-vms)
    • Live Snapshot 需要用戶進(jìn)行一致性操作:http://www.sebastien-han.fr/blog/2012/12/10/openstack-perform-consistent-snapshots/
    • 只支持虛擬機(jī)內(nèi)置(全量)快照,不支持外置(增量)快照。這與當(dāng)前快照的實(shí)現(xiàn)方式有關(guān),因?yàn)槭峭ㄟ^ image 進(jìn)行保存的。
    • 從 image boot 的虛機(jī)的快照以 Image 方式保存到 Glance 中,而非以 Cinder 卷方式保存。
    • 過程較長(zhǎng)(需要先通過存儲(chǔ)快照,然后抽取并上傳至 Glance),網(wǎng)絡(luò)開銷大。

    那為什么 Nova 不實(shí)現(xiàn)虛機(jī)的快照而只是系統(tǒng)盤的快照呢?據(jù)說(shuō),社區(qū)關(guān)于這個(gè)功能有過討論,討論的結(jié)果是不加入這個(gè)功能,原因主要有幾點(diǎn):

    • 這應(yīng)該是一種虛擬化技術(shù)的功能,不是云計(jì)算平臺(tái)的功能。
    • openstack 由于底層要支持多種虛擬化的技術(shù),某些虛擬化技術(shù)實(shí)現(xiàn)這種功能比較困難。
    • 創(chuàng)建的 VM state snapshot 會(huì)面臨 cpu feature 不兼容的問題。
    • 目前 libvirt 對(duì) QEMU/KVM 虛機(jī)的外部快照的支持還不完善,即使更新到最新的 libvirt 版本,造成兼容性比較差。
    這里?也有很多的討論。

    轉(zhuǎn)載于:https://www.cnblogs.com/sammyliu/p/4468757.html

    總結(jié)

    以上是生活随笔為你收集整理的KVM 介绍(7):使用 libvirt 做 QEMU/KVM 快照和 Nova 实例的快照 (Nova Instances Snapshot Libvirt)...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    一区二区精品久久 | 婷婷色在线 | 国产在线2020 | 免费av在线网 | 亚洲美女在线一区 | 免费看亚洲毛片 | 亚洲经典中文字幕 | 天天拍天天爽 | 日韩视频在线观看视频 | 欧美久久久久 | 天堂在线视频中文网 | 免费在线中文字幕 | 97视频在线看 | 日韩免费视频线观看 | 91香蕉嫩草| 999久久国产精品免费观看网站 | 五月天丁香视频 | 亚洲闷骚少妇在线观看网站 | 久草视频资源 | 在线免费观看一区二区三区 | 国产一级免费视频 | 久久综合色综合88 | 日韩久久精品一区二区 | 成人免费在线观看入口 | 亚洲精品在线观看视频 | 日韩视频免费在线观看 | 精品乱码一区二区三四区 | 国产高清久久久久 | 国产精品久久久久999 | 国产一级片免费观看 | 日韩免费中文字幕 | 国产尤物视频在线 | 亚洲伦理中文字幕 | 在线免费av电影 | 色综合天天天天做夜夜夜夜做 | 亚洲精品99久久久久中文字幕 | 爱av在线网 | 亚洲日本在线视频观看 | 毛片无卡免费无播放器 | 五月天久久精品 | 国产成人av一区二区三区在线观看 | 亚洲资源视频 | av免费在线免费观看 | 日韩久久久久久久久 | av激情五月 | 国产999精品久久久久久 | 国产精品系列在线 | 九九九九精品九九九九 | 中午字幕在线观看 | 美女视频黄在线观看 | 在线不卡中文字幕播放 | 久久综合久久综合久久 | 人人涩 | 国产二区免费视频 | 超碰人人射 | 日日夜夜网 | 国产一二区视频 | 久久久久久久久久久网站 | 在线91播放 | 欧美一区二区三区激情视频 | 精品免费视频 | 一区二区欧美日韩 | 天天色天天骑天天射 | 日韩三级久久 | 亚洲美女免费精品视频在线观看 | 深爱激情av | 国产精品va在线观看入 | 天天草天天干天天射 | 蜜桃视频在线视频 | 国产免费午夜 | 日韩有码网站 | 成人久久久久 | www日韩在线观看 | 国产69熟| 久久免费视频在线 | 97超碰影视 | 五月婷婷丁香综合 | 亚洲综合爱 | 中文字幕丝袜美腿 | 91精品国产一区二区在线观看 | 免费三及片 | 黄色视屏在线免费观看 | 久久久精品高清 | 亚洲精品理论 | 国产一级二级av | 久久久久久久久久免费视频 | 国产精品 日韩精品 | 涩涩网站在线看 | 四虎成人精品永久免费av | 久久久国产精品一区二区中文 | 香蕉影视在线观看 | 黄色电影网站在线观看 | 国产色视频一区二区三区qq号 | 国产一区久久 | 国产国语在线 | 日韩欧美大片免费观看 | 久久成人亚洲欧美电影 | 国产日本亚洲高清 | 一区二区三区四区五区在线 | 国产在线高清 | 色天天 | 国产日韩一区在线 | 亚洲一级影院 | 久久久免费看 | 草久在线观看视频 | 日本aaaa级毛片在线看 | 国产精品国产三级国产不产一地 | 玖操 | 久草国产在线 | 午夜精品电影一区二区在线 | 国产在线1区 | 中文字幕在线看片 | 国产中文字幕国产 | 日本黄色黄网站 | 日本黄色大片免费看 | 天天插狠狠插 | 日韩午夜精品 | 国产精品 久久 | 日韩在线高清 | 中文字幕免费高清av | av资源网在线播放 | 在线观看中文字幕一区二区 | 精品麻豆| 亚洲国产成人av网 | 99视频在线 | 免费观看性生活大片3 | 人人讲下载 | 久久久久久国产精品亚洲78 | 91麻豆精品国产自产 | 日日爽天天爽 | 免费看色网站 | 黄色www在线观看 | 久久黄视频| 久久久午夜视频 | 九九免费精品视频 | 国产在线观看国语版免费 | 去看片| 91资源在线| 麻豆精品在线 | 色吧av色av | 国产美女精品在线 | 91最新在线视频 | 在线免费视频 你懂得 | 欧美激情视频一区二区三区免费 | 亚洲精品在线二区 | 欧美色图狠狠干 | 九九在线视频免费观看 | 深夜福利视频一区二区 | 国产一级大片免费看 | 色综合中文字幕 | 最近中文字幕免费av | 日韩欧美在线免费 | 色99中文字幕 | www.夜夜操.com| 97国产精品一区二区 | 日韩影视精品 | 国产成年免费视频 | 成人精品视频久久久久 | 国产一区二区久久久久 | 人人爱人人舔 | 福利视频 | 在线精品一区二区 | av在线免费在线 | 在线视频日韩 | 久久精品视频国产 | 日日干日日 | 国产美女久久久 | 久一网站 | 亚洲1区 在线 | 中文字幕在线乱 | 中文一区二区三区在线观看 | 亚洲一区二区观看 | 在线观看精品一区 | 三级免费黄 | 亚洲精品视频在线播放 | 91视频 - 88av | 天天射天天添 | 欧美一区二区视频97 | 毛片视频电影 | 制服丝袜天堂 | 国产精品理论在线观看 | 日韩色高清| 免费在线播放黄色 | 99视频精品免费观看, | 97视频久久久 | 欧美综合在线视频 | 一区二区中文字幕在线播放 | 日韩理论视频 | 国产精品毛片久久久久久久 | 99热国产在线观看 | 91精品国产综合久久婷婷香蕉 | 麻豆视传媒官网免费观看 | 免费av免费观看 | 欧美大片第1页 | 久久国产精品免费一区 | 国产1区2 | 亚洲视频综合在线 | 中文字幕av最新 | 亚洲精品一区二区三区新线路 | 天天摸天天弄 | 天天综合久久综合 | 国产亚洲日 | 欧美国产在线看 | av免费在线网 | 中文字幕在线观看三区 | 人人草人 | 欧美日韩午夜在线 | 久草精品视频在线播放 | 一区二区三区免费网站 | 久久精品视频3 | 91在线看黄| 久久99日韩 | 久久免费黄色 | 正在播放国产一区二区 | 日本一区二区三区视频在线播放 | 日本最新一区二区三区 | 日本久久影视 | 91av网站在线观看 | 中文字幕在线视频国产 | 六月丁香色婷婷 | 国产亚洲婷婷免费 | 欧美日一级片 | 在线观看一级视频 | 最近中文字幕在线中文高清版 | 国产视频18 | 免费看黄视频 | 在线视频日韩欧美 | 麻豆首页| 欧美性视频网站 | 天天夜夜亚洲 | 亚洲人毛片 | av官网 | 少妇bbbb搡bbbb桶 | 久久精品视频播放 | 亚洲美女免费精品视频在线观看 | av高清一区| 成人av在线直播 | 国产精品美女www爽爽爽视频 | av电影免费观看 | 国产成人综合图片 | 亚洲国产中文字幕在线观看 | 欧美日韩精品影院 | 国产高清免费在线观看 | 婷婷综合av | 中文字幕一区二区三区在线视频 | 国产视频中文字幕在线观看 | 一区二区毛片 | 国产黄色精品网站 | 日韩高清片 | 91在线视频观看免费 | 国产精品美女网站 | 973理论片235影院9 | 久久理论电影网 | 91香蕉视频污在线 | 四虎影视成人永久免费观看亚洲欧美 | 中文字幕 国产 一区 | 手机在线观看国产精品 | 狠狠狠色丁香综合久久天下网 | 国产视频日本 | 国产特级毛片 | 三级av小说| 98精品国产自产在线观看 | 美女视频永久黄网站免费观看国产 | 国产精品av在线免费观看 | 国产美腿白丝袜足在线av | 偷拍精品一区二区三区 | www.伊人网 | 国产亚洲日 | 久久国产露脸精品国产 | 波多野结衣在线视频一区 | 国产人成一区二区三区影院 | 国产精品久久久久久久免费 | 午夜久久福利视频 | 91精品国自产在线观看 | 国产成人久久 | 日日日视频 | 国产精品一区二区在线 | 天天操天天舔天天爽 | 日韩欧美一区二区三区免费观看 | 国产精品国产三级国产不产一地 | 91在线观看视频网站 | 99热只有精品在线观看 | 最新av免费在线观看 | 欧美aa在线| 国产最新91 | 婷婷爱五月天 | 日韩手机在线观看 | 国产成人精品一区二区三区福利 | 亚洲日韩欧美一区二区在线 | 少妇做爰k8经典 | 成人免费在线电影 | 亚洲japanese制服美女 | 日韩高清一二区 | 免费av片在线 | 国产日韩精品在线 | 永久av免费在线观看 | av片在线观看 | 欧美激情精品久久久久久免费 | av成年人电影 | 成人毛片一区 | 最近中文国产在线视频 | 日本黄色免费看 | 中文字幕免费高清 | 99色视频在线 | 精品国产伦一区二区三区观看体验 | 三上悠亚在线免费 | 国产精品自产拍在线观看桃花 | 懂色av一区二区在线播放 | 99r在线播放 | 国产精品青青 | 婷婷综合av | 福利视频第一页 | 五月婷在线播放 | 久久午夜国产 | 国产一区免费在线观看 | 国产精品美女网站 | 久艹在线免费观看 | 国产色女 | 久久午夜精品视频 | 日本69hd| 99精品视频免费观看 | 欧美日韩在线精品一区二区 | 999久久国精品免费观看网站 | 在线观看日本韩国电影 | 国产精品久久久网站 | 国产亚洲亚洲 | 亚洲国产中文字幕在线观看 | 亚洲日韩欧美一区二区在线 | 亚洲午夜精品在线观看 | 国产午夜精品一区二区三区嫩草 | 在线黄色av电影 | 午夜视频在线观看一区二区三区 | av在线网站免费观看 | 日本大尺码专区mv | 日日干天夜夜 | 五月天天天操 | 国产69精品久久久久99 | 久久看片网 | 最新色站| 91色视频 | 午夜视频一区二区 | 亚洲国产精选 | 中文字幕av免费在线观看 | 久久亚洲私人国产精品va | 91精品久久久久久久久久入口 | 亚洲a网 | 亚洲精品福利视频 | 久久夜色精品国产欧美一区麻豆 | 国产a级免费 | av888av.com| 国产精品嫩草在线 | 免费观看黄色12片一级视频 | 高潮久久久久久 | 在线直播av | 91理论片午午伦夜理片久久 | 91av电影在线观看 | 香蕉成人在线视频 | 91在线网址 | 手机看片国产 | 国产黄a三级三级 | 久久99国产精品 | 亚洲欧美经典 | 美女国产在线 | 亚洲精品tv | 日本中文乱码卡一卡二新区 | 日韩网站一区二区 | 四虎永久精品在线 | 欧美在线视频一区二区三区 | 狠狠色噜噜狠狠狠狠2022 | 蜜臀一区二区三区精品免费视频 | 久久久国产99久久国产一 | 麻豆视频观看 | 亚洲一区日韩精品 | 国产高清av在线播放 | 五月天婷婷在线播放 | 免费视频网 | 国产字幕av| 国产视频精品网 | 亚洲高清久久久 | 特级毛片aaa | 国产在线最新 | 国产亚洲高清视频 | 欧美精品一区二区在线播放 | 亚一亚二国产专区 | 日韩欧美精品免费 | 亚洲精品午夜久久久久久久久久久 | 超碰在线观看99 | 2019av在线视频 | 中文字幕高清免费日韩视频在线 | 91香蕉视频黄 | 亚欧洲精品视频在线观看 | 91精品爽啪蜜夜国产在线播放 | 在线色资源| 色欧美视频| 992tv人人网tv亚洲精品 | av一级片 | 国产五月婷 | 黄色大全在线观看 | 五月开心激情 | 久久免费福利视频 | 欧美日韩国产欧美 | 亚洲人视频在线 | 亚洲在线精品视频 | 成年人黄色大全 | 99热精品免费观看 | 激情文学丁香 | 日日干天天操 | 精品国产欧美一区二区三区不卡 | www免费在线观看 | 日本一区二区三区视频在线播放 | 国产精品v a免费视频 | 国产日产精品一区二区三区四区的观看方式 | 亚洲综合小说电影qvod | 麻豆免费精品视频 | 免费激情在线电影 | 狠狠的日日 | 超碰在线人 | 久久人人射| 国产一区在线免费观看视频 | 亚洲精品97 | 国产成人久久精品77777 | 国产精品门事件 | 亚洲精品免费在线播放 | 日韩视频在线不卡 | 国产精品高清免费在线观看 | 亚洲精品视频免费观看 | 色视频在线观看免费 | 国产精品男女视频 | 丁香六月五月婷婷 | 91自拍91 | 国产精品久久久久久一区二区 | 久久久久久中文字幕 | 久久国产精品第一页 | 视频直播国产精品 | 婷婷5月色 | 美女久久久久久久久久久 | 国产精品视频最多的网站 | 久久亚洲私人国产精品va | 91精品国产99久久久久久久 | 亚洲精品午夜一区人人爽 | 91网在线| 欧美大荫蒂xxx | 久久久国产99久久国产一 | 精品视频在线播放 | 黄色视屏在线免费观看 | 日韩色视频在线观看 | 久久久久免费网站 | 91九色蝌蚪国产 | 亚洲欧美va | 久久精品视频国产 | 免费看片网址 | 在线看黄色的网站 | 超级碰碰碰碰 | 中文字幕欧美激情 | 人人天天夜夜 | 99国内精品 | 国产精品美女久久久免费 | 免费一区在线 | a电影免费看 | 国产经典av | 在线观看亚洲 | 国产原创av片 | 麻豆手机在线 | 日本爽妇网 | 欧美激情在线看 | 伊人射 | 国产99在线| 久久精品8| 久久精品日产第一区二区三区乱码 | 一区二区三区在线免费播放 | 中文字幕在线观看一区 | 天天操天天添天天吹 | 91av播放| 美腿丝袜av | 日本韩国精品一区二区在线观看 | 日韩精品一区二区三区在线播放 | 成人av午夜 | 日日综合 | 成人中文字幕在线观看 | 色99视频 | 国产精品福利在线播放 | 一区二区三区国 | 五月激情丁香图片 | 午夜a区| 国产在线91在线电影 | 亚州精品天堂中文字幕 | 成人黄色短片 | 久久久久久久国产精品影院 | 亚洲高清视频在线 | 国产精品一区二区av麻豆 | 精品一二三四五区 | 日韩系列在线 | 全黄色一级片 | 911国产在线观看 | 麻豆精品传媒视频 | 欧美精品免费视频 | 中文字幕在线播放一区 | 国产成人精品一二三区 | 九九久久影院 | 伊人影院得得 | 13日本xxxxxⅹxxx20 | 成人国产精品入口 | 国产日韩欧美在线观看 | 久久婷婷色 | 国产精品网站一区二区三区 | www.色五月.com | 久久福利剧场 | 天天操天天干天天爽 | 免费看成年人 | 国产资源在线播放 | 在线观看亚洲精品 | 午夜18视频在线观看 | 天天干,夜夜操 | 国产黄a三级三级三级三级三级 | 国产 欧美 日产久久 | 欧美日韩国产成人 | 亚洲日本在线一区 | ww亚洲ww亚在线观看 | 免费看的国产视频网站 | 在线观看一区 | 四虎影院在线观看av | 六月婷婷久香在线视频 | 国产热re99久久6国产精品 | 日韩系列在线 | 成人9ⅰ免费影视网站 | 久久成人综合视频 | 久久精品2 | 免费观看成年人视频 | 日韩精品一区二区在线观看视频 | 天天色天天操综合 | 国产精品观看视频 | 国产玖玖在线 | 日韩美在线观看 | 91专区在线观看 | 69中文字幕| 日韩激情久久 | 91视频三区 | 77国产精品 | 久久综合影音 | 成人中文字幕在线观看 | 久久99国产精品二区护士 | 特级免费毛片 | 91精品区| 亚洲一级电影 | 狠狠的干 | 免费毛片一区二区三区久久久 | www.伊人网.com| 91成人蝌蚪 | 国产又粗又猛又色 | 91福利视频久久久久 | 日韩剧 | 成人91免费视频 | 少妇高潮流白浆在线观看 | 蜜臀一区二区三区精品免费视频 | 91福利视频久久久久 | 91日韩在线 | 成人av直播 | 91视频 - 114av| 在线成人一区二区 | 久久精品一二区 | 99久久99视频只有精品 | av国产网站 | 成人黄在线 | 天天舔天天射天天操 | 亚洲激情婷婷 | 在线视频婷婷 | 日韩视频免费在线观看 | 91视频链接 | 亚洲天堂精品视频 | 色之综合网 | 在线观看亚洲国产 | 高清av免费看 | 亚洲综合国产精品 | 久久久久国产成人精品亚洲午夜 | 特级免费毛片 | 亚洲最大av网站 | 国产精品av在线免费观看 | 国产亚洲激情视频在线 | 亚洲综合在线一区二区三区 | 久久综合久久综合九色 | 亚洲天堂网站 | 一区二区三区在线视频111 | 热热热热热色 | 亚洲第一伊人 | 国产网红在线观看 | 人人艹视频 | 精品久久久久久久久久国产 | 国产三级国产精品国产专区50 | 国产一区在线不卡 | 成人97人人超碰人人99 | 最新免费av在线 | 成 人 黄 色 视频 免费观看 | 欧美精品在线观看免费 | 久久不卡日韩美女 | 免费观看视频的网站 | 在线亚洲高清视频 | 激情中文在线 | av大全在线播放 | 黄色字幕网 | av资源免费在线观看 | 高清精品久久 | 黄色特级毛片 | 久久亚洲综合国产精品99麻豆的功能介绍 | 在线99热 | 欧美精品久久久久久久久久 | 在线亚洲欧美日韩 | 日韩v在线91成人自拍 | 精品中文字幕在线观看 | 精品在线视频观看 | 精品一区在线看 | 亚洲h色精品 | 中文字幕av在线免费 | 日韩一级片观看 | 91亚洲国产成人 | 中文字幕在线观看完整版电影 | 日韩欧美国产免费播放 | 尤物一区二区三区 | 国产黄影院色大全免费 | 天天拍夜夜拍 | 日韩精品在线免费播放 | 人人爽人人香蕉 | 中文字幕网站视频在线 | 国产美女黄网站免费 | 玖玖爱国产在线 | 亚洲毛片一区二区三区 | 久久综合婷婷国产二区高清 | 亚洲精品国产拍在线 | 天天操天天摸天天射 | 久久久久久久久久久久亚洲 | 天天操天天干天天摸 | 国产一级免费观看 | 波多在线视频 | 天天操天天干天天玩 | 玖玖玖影院 | 色网站在线免费观看 | 欧美日韩国产在线精品 | 国产精品久久久久aaaa九色 | 国产亚洲精品久久久久久大师 | 天堂激情网 | 国产韩国精品一区二区三区 | 在线看片一区 | 看毛片网站 | 亚洲视频1区2区 | 日韩精品一区二区三区外面 | 天天操网站 | 欧美日韩国产mv | 97在线观看免费高清完整版在线观看 | 99国产精品视频免费观看一公开 | 在线a人片免费观看视频 | 国产美女免费观看 | 97在线观视频免费观看 | 香蕉网站在线观看 | 久久一区二区三区超碰国产精品 | 久久久亚洲电影 | 黄色国产高清 | 亚洲精品午夜国产va久久成人 | 黄色小网站免费看 | a精品视频| 一区二区三区电影 | 免费看一及片 | 欧美黑人巨大xxxxx | 亚洲精品久久久蜜桃直播 | 天天草天天色 | 中文字幕精品三级久久久 | 亚洲精品日韩一区二区电影 | 欧美伊人网 | 色综合天天综合网国产成人网 | 亚洲污视频| 久久都是精品 | 爱爱av网| 在线免费观看黄色 | 九九有精品 | 亚洲黄色在线观看 | 欧美一级片 | 99在线高清视频在线播放 | 成人在线观看免费 | 亚洲欧洲一级 | 色国产精品 | 欧美日韩一级视频 | 中文av日韩 | 亚洲欧美日韩精品久久久 | wwwwww国产 | 国产白浆视频 | 日本成址在线观看 | 最近中文字幕大全中文字幕免费 | 欧洲一区二区三区精品 | 天天操天天摸天天射 | 国产精品视频免费观看 | 亚洲欧洲久久久 | www.久热| 天天操天天干天天干 | 午夜视频在线观看一区二区三区 | 色婷婷国产精品一区在线观看 | 久草在线免费电影 | 成人毛片在线观看视频 | 国色天香av | 国产婷婷在线观看 | 日韩欧美在线综合网 | av高清在线观看 | 91豆花在线观看 | 久久久久久久影院 | 黄色亚洲精品 | 亚洲视频1 | 国产高清在线视频 | 国产原创在线观看 | 日本黄色黄网站 | 97精品在线视频 | 国产午夜精品久久 | 日韩精品一区二区三区中文字幕 | 国产不卡精品视频 | 久久的色 | 色噜噜狠狠狠狠色综合久不 | 最近字幕在线观看第一季 | 五月婷婷激情五月 | 最近免费观看的电影完整版 | 中文字幕欲求不满 | 成人国产精品久久久春色 | 国产91精品久久久久 | 免费av片在线 | 狠狠gao| 日本性xxx| 精品国产一区二区三区久久久蜜臀 | 在线国产一区 | 一区二区三区久久精品 | 久久久精品午夜 | 久久精品播放 | 奇米影音四色 | av高清一区二区三区 | 激情av网址 | 亚洲精品国产精品国自产 | 91av蜜桃 | 天天婷婷 | 日本福利视频在线 | 99精品偷拍视频一区二区三区 | 中文字幕超清在线免费 | 天堂av色婷婷一区二区三区 | 超碰大片 | 在线亚洲欧美日韩 | av成人免费网站 | 日韩免费一区二区在线观看 | 人人射网站| 黄色在线观看免费网站 | 日韩视频中文字幕在线观看 | 黄色福利网 | 国产在线观看av | 久久精品一二三区白丝高潮 | 天天操天天操一操 | 国产99中文字幕 | 人人爽人人爽人人 | www.777奇米 | 免费进去里的视频 | 在线黄色免费 | 99超碰在线播放 | 精品福利av| 香蕉视频在线视频 | 国产精品va在线 | 2023国产精品自产拍在线观看 | 91精品国自产在线观看欧美 | 麻豆国产精品一区二区三区 | 欧美一级免费黄色片 | 欧美国产精品久久久久久免费 | 人人超碰免费 | 成人性生活大片 | 成人黄色毛片视频 | a极黄色片 | 五月激情丁香 | 97超碰人人模人人人爽人人爱 | 婷婷激情在线 | 国产第一页在线观看 | 粉嫩一区二区三区粉嫩91 | 日韩在线看片 | 成人精品一区二区三区电影免费 | 91免费视频黄 | 五月婷婷综合激情 | 国产精品mv在线观看 | 欧美久久久一区二区三区 | 国产色婷婷在线 | 国产视频综合在线 | 麻豆视频免费版 | 99精品国产高清在线观看 | 天天草夜夜 | 亚洲v精品 | 国产91小视频 | 国产黄色片免费看 | 精品国产精品国产偷麻豆 | 91精品伦理 | 国产精品青草综合久久久久99 | 亚洲免费国产视频 | 国产一区成人在线 | 少妇性色午夜淫片aaaze | 日韩av不卡在线观看 | 久久久精品在线观看 | 久久久黄视频 | 国产精品18久久久久久久久 | 国产玖玖视频 | 探花视频在线观看免费 | 国产伦精品一区二区三区无广告 | 久久久国产影视 | 欧美91av | 国产理伦在线 | 最近的中文字幕大全免费版 | 99精品国产免费久久久久久下载 | 国产一级a毛片视频爆浆 | 国产精品美女久久久久久免费 | 在线国产精品视频 | 国产视频黄 | 国产精品久久久久久久电影 | 黄色毛片在线观看 | www.五月天婷婷 | 精品国产伦一区二区三区观看方式 | 国产日韩亚洲 | 亚洲一级特黄 | 高清av免费看 | 九九精品视频在线看 | 欧美精品在线观看免费 | 国内精品在线观看视频 | 天天干天天天天 | 久久久成人精品 | 国产精品电影在线 | 国产一级二级三级在线观看 | 婷婷在线免费视频 | 日韩成人中文字幕 | 91丝袜美腿 | 欧美精品一区二区性色 | 五月天丁香亚洲 | 亚洲精品乱码久久久久久蜜桃不爽 | 成人一级免费电影 | 人人爽人人香蕉 | 青青河边草免费直播 | 美女福利视频一区二区 | 日韩免费播放 | 色狠狠狠 | 免费成人av在线看 | 97免费视频在线播放 | 五月婷香蕉久色在线看 | 91在线中字 | 91视频网址入口 | 国产又粗又猛又爽又黄的视频先 | 91探花国产综合在线精品 | 欧美激情视频在线免费观看 | av国产在线观看 | www一起操 | 91网站观看 | 天天激情在线 | 中文视频在线播放 | 性色大片在线观看 | 女人魂免费观看 | 中文字幕丝袜 | 国产v在线播放 | 国产成人一区二区三区影院在线 | 久久艹久久 | 天天操人 | 国产亚洲精品美女 | 色无五月 | 国产精品久久久亚洲 | 玖玖爱在线观看 | 中文字幕在线播放视频 | 九九九九色 | 国产精品1000| www黄色大片 | 精品国产色 | 亚洲精品久久久蜜臀下载官网 | 玖玖在线观看视频 | 麻豆国产精品一区二区三区 | 免费成视频 | 久久在线视频在线 | 国产中文在线字幕 | 日韩区欠美精品av视频 | 狠狠操在线 | 欧美成人久久 | 久久久久久久亚洲精品 | 黄色影院在线观看 | 色婷婷欧美 | 在线观看免费中文字幕 | 在线观av | 久久国产精品99久久人人澡 | 高清av免费一区中文字幕 | 色在线最新 | 色狠狠综合天天综合综合 | 国产精品久久久亚洲 | 五月婷婷综合激情网 | 天天操天天摸天天干 | 国产中文字幕在线视频 | 日韩中文字幕免费在线播放 | 91av电影| 一区二区高清在线 | 久草剧场| 99热只有精品在线观看 | 中文字幕在线播放av | 99在线视频精品 | 国产一级a毛片视频爆浆 | 成人欧美一区二区三区在线观看 | 亚洲精品国产精品久久99 | 在线免费看黄网站 | 伊人天天色 | 国产视频中文字幕 | 欧美激情精品久久久 | 日韩欧美国产精品 | 成人午夜片av在线看 | 国产一区在线免费观看视频 | 亚洲乱码中文字幕综合 | 日韩免费视频一区二区 | 国产一级片在线播放 | 日日干天天爽 | 日韩高清一区 | 免费高清在线观看电视网站 | 免费色视频在线 | 四虎在线免费观看 | 久久三级毛片 | 免费视频一级片 | 日韩啪视频 | 99re8这里有精品热视频免费 | 日p视频在线观看 | 在线观看香蕉视频 | 精品国产一区二区三区久久久蜜臀 | 久久久久女教师免费一区 | 天天天色 | 免费成人在线网站 | 国产系列 在线观看 | 亚洲精品免费看 | 欧美视频一区二 | 精品国模一区二区三区 | 人人爱人人爽 | 午夜精品久久久久久久久久久久久久 | 中文字幕在线观看第二页 | 麻豆视频在线免费观看 | 亚洲国产视频网站 | 国产91九色蝌蚪 | 天天干天天操天天射 | 国产精久久久久久妇女av | 在线看av的网址 | 日本中文字幕在线免费观看 | 国产婷婷在线观看 | 国产欧美综合在线观看 | 蜜桃视频成人在线观看 | 精品福利在线视频 | 日韩精品一区二区三区免费视频观看 | 成人不用播放器 | 中文字幕在线看人 | 五月天.com | 国产生活一级片 | 亚洲精品在线资源 | 久久99精品一区二区三区三区 | 精品主播网红福利资源观看 | 欧美综合色在线图区 | 久久久亚洲精品 | 国产精品久久电影网 | 欧美日韩中文字幕综合视频 | 久久精品国产亚洲精品2020 | 91精品视频在线观看免费 | 97成人精品视频在线观看 | 国产色视频一区二区三区qq号 | 91精品国产欧美一区二区成人 | 亚洲精品乱码久久久久久高潮 | 亚洲精品视频在线免费播放 | 成人永久在线 | 日日爽| 97人人视频 | 亚洲精品久久在线 | 一区二区三区四区五区在线 | 亚洲精品国产高清 | 在线日韩亚洲 | 日韩精品久久久免费观看夜色 | 久久久噜噜噜久久久 | 国产精品久久久久久电影 | 婷婷色在线播放 | 激情久久五月 | 99精品久久久久久久久久综合 | 久久超碰99| av在线a| 免费视频国产 | 中文av在线天堂 | 91香蕉视频在线 | 亚洲精品国产综合99久久夜夜嗨 | 久久夜靖品 | 五月天激情视频 | 91pony九色丨交换 | 成人久久精品视频 | 国产精品午夜久久久久久99热 | 欧美色精品天天在线观看视频 | 日韩一区二区三区免费视频 | 日韩最新在线视频 | 日本久久久精品视频 | 日韩色在线观看 | 欧美日韩1区 | 一区二区激情视频 | 夜色资源站国产www在线视频 | 99久久精品国产亚洲 | 欧美国产三区 | 国产传媒一区在线 | 国产精品第72页 | 欧美午夜理伦三级在线观看 | 在线不卡中文字幕播放 | 2019中文字幕第一页 | 少妇搡bbbb搡bbb搡69 | 国偷自产中文字幕亚洲手机在线 | 亚洲婷婷免费 | 69av视频在线|