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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

虚拟化相关

發(fā)布時間:2023/12/20 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 虚拟化相关 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
虛擬化相關

?

操作系統(tǒng)與虛擬化

操作系統(tǒng)與虛擬化計算機的發(fā)展計算機基礎CPUCPU總線類型I/OOS系統(tǒng)調優(yōu)概述調優(yōu)工具CPU優(yōu)化CPU親和型調度策略中斷請求內存調優(yōu)虛擬內存管理文件系統(tǒng)相關調優(yōu)網(wǎng)絡相關調優(yōu)IO磁盤調度器工具查看虛擬化技術CPU虛擬化:硬件虛擬化CPU半虛擬化 (para-virtulization)Memory虛擬化I/O虛擬化兩種實現(xiàn)方式虛擬化網(wǎng)絡:XenXen的工作模式Xen的使用方式:Xen Grub配置xen虛擬狀態(tài):xm常用命令創(chuàng)建xen pv模式虛擬機xm的配置文件關聯(lián)loop設備文件移動安裝虛擬機Xen快速安裝Xen 總結:磁盤映像管理工具qemu-img鏡像格式libvirt磁盤和網(wǎng)絡熱插拔Xen實時遷移KVMqemu-kvm其他常用選項KVM虛擬網(wǎng)絡模型qemu-imgCirrOS虛擬機遷移virtioLibvirtvirshvirt-installRHEL 虛擬化包組ESXI補充:

12:26:50 13:10:30

http://www.cnblogs.com/xkfz007/archive/2012/10/08/2715163.html

計算機的發(fā)展

電子電路, 邏輯電路,數(shù)字電路柔和起來的芯片. 讓硬件工作起來是極其困難的. 軟件. 于是有了操作系統(tǒng), 可以提供通用接口跟硬件打交道.

公共功能被抽取出來叫做庫, 這些向上的接口, application program interface. 只要是被開發(fā)為應用程序, 不是在內核空間所運行的程序稱為, 用戶態(tài). 比如計算1+1=2的運算, 無需經(jīng)過內核處理, 可以直接在CPU上面執(zhí)行.

用戶態(tài); 內核態(tài)

我們需要一個用戶態(tài)的接口可以通知并且與內核交互. 于是我們有shell.

第一代:真空管,I/O穿孔卡片, 穿孔紙帶(耗電量驚人) 1945-1955

第二代:晶體管,批處理系統(tǒng), 在磁帶機上工作, 串行執(zhí)行$$job1$$job2$$job. 1955-1965

? Mainframe大型計算機

? Fortran:古老的編程語言(高級語言)

第三代:集成電路芯片多道程序設計, 引入的監(jiān)控程序, 在硬件上同時執(zhí)行多個程序, 多個程序彼此之間互相隔離, 有個進程級的概念。(65年~80年)

? 進程是程序的副本, 從程序入口開始, 到程序運行結束, 期間調度都是通過監(jiān)控程序來實現(xiàn).

? 引入了監(jiān)控程序,time-sharing, 分時設計系統(tǒng)。將CPU的運算分成了時間片

第四代:PC機。

? LSI:大規(guī)模集成電路。在每平方厘米的芯片上可以繼承數(shù)千個晶體管. 目前,22nm技術。

? CP/M: 微機上出現(xiàn)的第一個操作系統(tǒng). 微型計算機的控制程序,control program for micro-computer (1974)

? 77年: digital research(數(shù)據(jù)研究所), 重寫的CP/M使得CP/M可以運行在早期intel的8080芯片上.

? IBM和比爾蓋茨的故事.

計算機基礎

計算機五大部件

馮諾依曼

  • 存儲器
  • 控制器
  • 運算器
  • Input
  • Output

HD controller: 硬盤控制器. 并不是直接連接到主機上. 一般通過控制機或者適配器連接到主機上.

I/O設備之間為了彼此通信, 要通過總線的方式連接在一起.

如果使用星型模型, 設備之間的連接將會變得非常麻煩. CPU要給每設備提供一根線, 拓撲十分復雜.

總線的工作頻率通常比較高, 數(shù)據(jù)交換能力比較強. 早期的計算機架構中, 總線并不是CPU使用的瓶頸.

CPU

至今國人無法生產(chǎn)CPU, 指令集丑陋不堪

MMU: X86架構下內存管理單元,Memory Management Unit。主要作用是實現(xiàn)內存分頁

CPU執(zhí)行的過程:取指,解碼,確定其類型和操作樹并執(zhí)行 (每個時鐘周期). 必要時會取數(shù)據(jù).

  • 取指單元:負責從內存中獲取指令
  • 解碼單元:負責將指令解碼
  • 執(zhí)行單元:將指令執(zhí)行

如此一來, 任何一個指令的執(zhí)行都需要三個時鐘周期.

? 第一個時鐘周期取來數(shù)據(jù), 從內存單元獲取數(shù)據(jù)的時候可能還比較慢. (理想狀態(tài)) .

? 為了保證其流暢性, 使用多級流水線的方式來工作. 取指單元取完第一個指令之后, 就去取第二個指令.

取指單元-->解碼單元-->執(zhí)行單元

? 取指單元-->

CPU訪問內存的時候會先發(fā)送請求指令給內存控制器, 發(fā)送請求地址進行定址. 內存控制器在內部, 通過虛擬電路, 使CPU和訪問內存地址建立起關聯(lián)關系.

FSB: 前段總線的速度稱為CPU和內存之間的瓶頸. (10GB/s)

AMD研發(fā)的HT技術和Intel研發(fā)的QPI技術, 將CPU和內存直接相連. 速率提升在一倍以上

CPU總線類型

  • 地址總線
  • 控制總線
  • 數(shù)據(jù)總線

CPU內部都有一些保存臨時關鍵變量和臨時數(shù)據(jù)的存儲器, 這些存儲器叫做CPU的寄存器.

CPU的寄存器:程序計數(shù)器和堆棧指針,程序狀態(tài)字。

? 程序計數(shù)器記錄程序的指令, 并通過堆棧指針指向下一條指令

? 寄存器保持跟CPU時鐘同步的存儲單元, 在CPU內部總線上完成通信.

上下文切換時,CPU要將寄存器中的內容保存至內存中, 保存現(xiàn)場. 現(xiàn)場保存到內存中.即寄存器會被清空.

task struct: 一種內核使用的數(shù)據(jù)結構, 記錄了當前進程的各種狀態(tài)信息,其中就包括上下文現(xiàn)場的信息

多核心,超線程都可以提高運算能力。

進程的CPU親原型, CPU affinity.

摩爾定律: CPU中晶體管的數(shù)量每二十四個月翻一番

? 超線程可以使CPU在兩個線程之間進行切換,在cpu中引入一個獨特的類似于寄存器之類的設備來實現(xiàn)的.

任務管理器中看到的核心數(shù)是邏輯核心數(shù).

3Ghz=3 * 1024^3

不論有多少顆核心, 一個進程在運行時只能使用一顆核心. 核心越多, 可以分配給更多的進程使用. 為了利用多核系統(tǒng), 并行編程變得非常重要. 理想狀態(tài), 比如將400條指令分配給4個核心, 每個核心執(zhí)行100條指令. 但是很容易出現(xiàn)的情況就是一個執(zhí)行流結束后要等待其他執(zhí)行流的執(zhí)行結果. 如果一個線程正在打開一個文件, 并且另一個線程也要打開此文件, 那么另一個線程只能處于等待狀態(tài). 由于線程之間是共享進程的文件描述符, 防止資源征用, 一般都要施加以鎖機制.

? 資源證用的地方稱之為臨界區(qū)

? 對于linux而言,內核調用線程的時候將其看作進程

一個CPU管理兩個隊列, 運行隊列沒有完成的操作會放到過期隊列中.

  • 運行隊列
  • 過期隊列

二者可以互置,減少了復制的操作.

內核rebalance 來重新優(yōu)化Core的work load (每一秒鐘). rebalance可能導致緩存無法命中.

將一個進程綁定在一個CPU核心上是為了提高其緩存命中率的

SMP:對稱多處理器, 多CPU.(在多核心無法滿足橫向擴展的前提)

CPU Socket: CPU插槽

CPU通過總線與內存相連,用于存儲.

1600MHZ是目前內存主流頻率, 1866MHZ.

I/O橋. 南橋慢(ISA橋), 打印機鍵盤鼠標,北橋快(PCI橋)

一些高端的CPU已經(jīng)直接使用專門的內存總線讓CPU和內存連接通信.

程序局部性原理

? 空間局部性:程序是由指令+數(shù)據(jù)組成, 一個數(shù)據(jù)被訪問到, 離這個數(shù)據(jù)很近的數(shù)據(jù)也可能被訪問到.

? 時間局部性:一個指令執(zhí)行完成之后, 很快還會再次被訪問到.

由于局部性原理的存在, 不論是空間還是時間上, 我們都要對其做緩存.

引入內存, 是一種拿時間換空間的方式.

加上緩存, 是一種用空間換時間的方式.

而對于CPU自身而言, 他所能操作的存儲器只有寄存器. 本地存儲單元.

磁帶-->機械式硬盤-->固態(tài)硬盤-->內存-->三級緩存-->二級緩存-->一級緩存-->寄存器

緩存的n-way associate n路關聯(lián)

1ns-->2ns-->4ns-->8ns-->10ns-->1ms--->10ms

二八法則,百分之二十的緩存存放于上級存儲設備中

緩存的造價非常高,主頻,一二級緩存大小

? 一級二級緩存是各物理核心專用的, 三級緩存是各物理核心共享的.

多核心共享使用CPU和三級緩存會產(chǎn)生資源爭用的問題. 需要內存訪問仲裁控制器

NUMA: null uniformed memory access. 非一致性內存訪問。每顆CPU(Socket)都有獨立的外部內存空間

? 這樣一來不當緊, 如果程序從core1 復用到core3, 就會產(chǎn)生core3所對應的內存低智商上并沒有該程序的數(shù)據(jù). 于是需要將數(shù)據(jù)從core1的內存空間復制一份到core3上.

? 這種機制對CPU綁定進程的方式更加迫切

緩存中的寫機制

? write through: 通寫,從一級緩存到寫入內存,才釋放CPU資源

? write back: 回寫,寫到一級緩存就通知CPU,寫完成

硬盤的緩存機制同理.

I/O

每個IO設備通常有兩部分組成:

  • 設備控制器(Controller):集成在主板上的一塊芯片或一組芯片。負責從操作系統(tǒng)獲得命令并執(zhí)行

    • IDE:Integrated Drive Electronics, 集成驅動器電子設備
    • SATA
  • 設備本身

控制器是置于I/O設備本身的或者系統(tǒng)的主印制電路板(通常成為主板)上的芯片組,而適配器則是一塊插在主板插槽上的卡。無論如何,它們的功能都是在I/O總線和I/O設備之間傳遞信息

對于操作系統(tǒng)而言, 在驅動程序之上, 所有的硬件操作都被抽象成文件的操作. 驅動程序控制控制器轉換命令操作.

真正的硬件操作是由驅動程序來完成的,而并不是內核. 將操作系統(tǒng)的請求轉換成電氣信號.

驅動程序:通常應由設備生產(chǎn)商;位于內核中

每個控制器都有少量的用于實現(xiàn)通信的寄存器。直接集成在控制器內部

比如一個磁盤的控制器, 可能會有指定磁盤地址, 內存地址, 扇區(qū)計數(shù), 方向(數(shù)據(jù)存儲方向)等相關的寄存器. 操作系統(tǒng)發(fā)起的請求通過驅動轉換成相應指令并放置于控制器的寄存器中, 才能完成操作.

I/O端口空間: 每個寄存器表現(xiàn)為一個I/O端口(由成百上千個控制器的寄存器組成)

? 所有的寄存器組合成設備的I/O地址空間

? I/O端口空間,16bit, 65535. 或32bit

? 在開機時,向主機注冊申請,根據(jù)申請順序,依次給與IO端口

I/O請求需要CPU將數(shù)據(jù)放置到內存中給某程序處理, 進程未必處于運行狀態(tài).

實現(xiàn)輸入輸出:

  • 輪詢:忙等待. 用戶程序發(fā)起一個系統(tǒng)調用, 內核將其翻譯成一個對應設備驅動的過程調用, 設備驅動程序啟動I/O, 并在一個連續(xù)不斷的循環(huán)中檢查該設備, 并查看該設備是否完成了操作.
  • 中斷:中斷CPU正在執(zhí)行的操作。可編程中斷控制器,中斷向量是開機時獲得,通過中斷向量(中斷號)使CPU通知內核,再由內核來處理.
  • 中斷控制器一般與CPU通過某個引腳直連, 在中斷到來時通知CPU. 獲得通知后的CPU可以直接根據(jù)IO端口, 并激活內核并做進程切換, 這種切換稱為中斷切換(不同于進程切換). 內核將正在運行的進程切換出去, 并將kernel本身運行在CPU上, kernel指揮著到響應的I/O設備上獲取其中斷請求, 并判定是否能完成其請求.

    中斷處理通常分為兩部分:

    • 中斷上半部:把數(shù)據(jù)從網(wǎng)卡的接受緩沖放到內存中. (此時可能需要把原先的中斷前的進程執(zhí)行完畢)
    • 中斷下半部:處理請求

    理論上每個網(wǎng)卡報文到達網(wǎng)卡都會引起CPU中斷.

    ? 3 . DMA設備,Direct Memory Access.直接內存訪問。硬盤網(wǎng)卡都具有DMA設備。是I/O設備上自帶的一個具有智能型的控制芯片. CPU通知DMA設備, 可以獲得總線的使用權限. (此權限同一時間只能由一個設備具有), 并通知DMA設備可以使用的內存地址空間(起始地址和結束地址), 負責將設備緩沖區(qū)的內容讀到內核緩沖區(qū)(完成中斷的上半部). 提供出一大段連續(xù)的內存空間用于存儲緩沖數(shù)據(jù). DMA設備具有控制總線的權限, 通過CPU來協(xié)調使用. 當數(shù)據(jù)復制完成, DMA通知CPU中斷上半部完成.

    網(wǎng)卡設備都有其緩沖區(qū), 發(fā)送緩沖, 和接受緩沖. 網(wǎng)卡發(fā)起中斷, 通知CPU, CPU根據(jù)IO端口, 激活內核做中斷切換, 內核將數(shù)據(jù)從網(wǎng)卡緩沖區(qū)復制到內核緩沖區(qū)(內存中的讀緩沖區(qū)), 如果目標IP是自己則拆報文封裝. 并根據(jù)服務端口發(fā)送給用戶程序.

    OS

    進程是資源分配的最小單元

    CPU: 時間片,time slice. 不考慮優(yōu)先級的情況下, 每個進程在分配時間片的時候是等長的.

    Memory:

    內存是編指的. 變量是命名的內存空間.

    CPU有尋址/編指單元, CPU字長 32位/64位, 實際上是地址總線的編指.

    通常硬件(X86、ARM這類架構的機器)中斷向量是放在高地址空間的,所以內核也就放在高地址空間。另外,通常情況下,低地址空間0~64MB的范圍是不用的,為了捕獲null異常。

    OS在RAM中,處于高地址空間.

    OS在ROM中,處于高地址空間. 比如Andord操作系統(tǒng). 其中ROM的地址空間也會被編指

    OS在RAM中,ROM存放驅動.

    虛擬地址空間出現(xiàn)的原因, 如果CPU有4G的編指能力, 但是實際的物理內存只有2G怎么辦. 如果有多個進程同時運行, 也會產(chǎn)生內存地址的征用.

    虛擬地址空間:實現(xiàn)內存地址的使用

    I/O: 抽象成文件

    進程:資源集合

    • CPU時間
    • Memory,抽象虛擬地址空間(32bits:4G) 固定是上層3G內存,內核固定使用低端1G內存.根據(jù)程序的局部性原理, 內存地址的分配也是局部的, 只分配當前使用的一部分地址就可以.
    • I/O, 打開的多個文件,fd(文件描述符 file descriptor) 輸入:0 標準輸出:1 錯誤輸出:2
    • 正常文件
    • 設備文件: 塊設備, 字符設備
    • 管道文件:一個進程的輸出作為另一個進程的輸入所產(chǎn)生的文件, 由內核創(chuàng)建出一個虛擬文件
    • 套接字文件:
    • Task Struct:作業(yè)地址結構,內核在內核的地址空間內為每一個進程所維護的數(shù)據(jù)結構。通過鏈表的形式保存各種資源占用信息。維護進程的資源集.

    Page Frame:頁框,通常每4k為一個單位。內存使用頁框作為存儲單元.

    地址空間: 低 ---> 高

    代碼段-->數(shù)據(jù)段(靜態(tài)變量)-->堆(數(shù)據(jù)流 由malloc創(chuàng)建) -->映射的共享庫-->棧(變量)

    通常CPU上有一個特殊的稱之為堆指針的寄存器 (stack pointer) 。在程序初始化時,該指針指向棧頂,棧頂?shù)牡刂纷畲蟆PU有特殊的指令可以將值Push到線程堆上,以及將值Pop出堆棧

    Stack最經(jīng)典的使用方式就是算數(shù)運算.

    在現(xiàn)實生活中Queue的應用也很廣泛,最廣泛的就是排隊了,”先來后到” First come first service ,以及Queue這個單詞就有排隊的意思。還有,比如我們的播放器上的播放列表,我們的數(shù)據(jù)流對象,異步的數(shù)據(jù)傳輸結構(文件IO,管道通訊,套接字等)

    進程通知CPU線性地址,CPU要查詢內核中的task struck的內存映射(Page Table)并找到物理地址。

    Page Table: 頁表。多級映射(一級目錄,二級目錄,三級目錄,類似ext3),映射連續(xù)地址空間與物理地址空間. 使用目錄項來做映射. 每一個對應關系稱為一個頁表項, page table entry.

    CPU中的MMU組件就是用來完成頁表映射的。上下文切換的時候MMU中的內容也要進行切換.

    TLB: CPU與MMU之間存在緩存,CPU先查緩存,沒有結果再去查找MMU-

    ? Translate Lookback Buffer,轉換后援緩存器,用于緩存頁表的查詢結果

    64位地址的MMU轉換方式是相反的, 物理地址轉換成虛擬地址.

    為了實現(xiàn)虛擬化, 早先的地址映射都是由CPU映射到HOST的地址, 然后才能映射到真是的物理地址. 經(jīng)過兩次映射. 現(xiàn)在的CPU都有兩個MMU, shadow page table, 影子頁表.

    系統(tǒng)調優(yōu)

    概述

    isolcpus=0,1隔離CPU

    如果進行swap的時候, maps映射表將會發(fā)生變化. CPU會發(fā)生缺頁異常. swap回內存時, 會使用新的內存區(qū)域.

    Major Exception: 大異常, 當內存數(shù)據(jù)找不到時, 需要從交換空間換回時, 我們就稱之為大異常.

    Minor Exception: 小異常, 當發(fā)生缺頁異常的時候, 無需從硬盤上從新查找, 只需要在內存上重定向就可以找到的場景. 比如共享庫.

    內存常駐內存集: RSS, 只能在內存中存儲, 指令, 靜態(tài)變量. 數(shù)據(jù),比如打開的文件可以交換出內存.

    干凈頁面: 在內存中沒有被修改過的頁面. 修改過的頁面, 都會被同步到磁盤中, 叫做臟頁同步.

    7200轉的硬盤, 每秒鐘一百次隨機I/O就已經(jīng)非常不錯了, 固態(tài)硬盤是寫,300-400, 讀 500-600

    由于機械臂只有一個, 所以磁盤I/O必然是串行的. I/O數(shù)量過多, 會產(chǎn)生阻塞, 導致CPU產(chǎn)生等待.

    PCI-E的特定設計過的固態(tài)硬盤, 每秒鐘可以達到數(shù)十萬個.

    cache: 讀取, 命中或者未命中

    buffer: 寫, 現(xiàn)在內存中寫, 再寫入磁盤中

    內核守護線程: ps指令加中括號的指令. 其優(yōu)先級較高.

    進程優(yōu)先級: 1-99 數(shù)字越大優(yōu)先級越高, 100-139. 一共一百四十個. 0-139.

    實時進程: 內核中執(zhí)行某些后臺的關鍵性的守護線程, 其優(yōu)先級較高. 一般進程分到的時間片是5ms, 不論進程是否執(zhí)行完成, 都要切到其他進程中.然而, 實時進程不是這么調度的. 實時進程在執(zhí)行時, 只要其未執(zhí)行完畢, 則不會進行進程切換, 除非有優(yōu)先級更高的進程要執(zhí)行.

    普通進程都是按照時間片進行分配的.

    內核進行動態(tài)優(yōu)先級決策.

    CPU的調度隊列: 每個優(yōu)先級都有一個隊列. 共有140個隊列. CPU時間片分配大致是這樣的, 按照隊列的優(yōu)先級從高低依次掃描, 找到待執(zhí)行進程并取出執(zhí)行.

    進程調度策略:

    ? CFS: completely fair schedular 完全公平調度器,

    調度實時進程和調度用戶進程的調度方法是不一樣的, 實時進程是按照先進先出, 或者是輪流的方法(RR)

    用戶進程使用的調度算法一般是CFS, 會對占用CPU時長過多的進程進行懲罰.

    網(wǎng)絡I/O. 使用特殊內存數(shù)據(jù)結構來維持每一個連接.

    后援隊列: 當進程注冊的內存的緩沖區(qū)滿了, 內核會在其內存空間將新的請求接進來, 等之后再決定如何處理.

    tcp連接重用機制

    調優(yōu)工具

    sar, 淘寶tsar. htop, dstat, glances, vmstat, netperf, iftop

    重量級: systemtap, oprofile, perf, valgrind(內存級別的性能分析公爵)(開發(fā)級別的工具)

    systemtap: 是一個跟蹤和探測工具, 可以讓用戶監(jiān)控并分析操作系統(tǒng)活動(特別是內核活動)的細節(jié), 它提供類似netstat, top, ps 和iostat等工具的輸出結果, 但包含為所收集信息的額外過濾和分析選項.

    CPU優(yōu)化

    CPU親和型

    CPU掩碼, 最高位對應最后一個邏輯CPU. 0x00000001代表處理器0, 0x00000003代表處理器0和1.

    taskset -p mask pid taskset -c 0,5,7 -- program taskset -pc 2 2480 taskset -c 1,2 nginx

    taskset可以控制CPU的親原型, 但是在numa架構下, 也很難保證, CPU所訪問的數(shù)據(jù)是在其對應的內存空間的.

    /sys/devices/system/cpu目錄中包含有關系統(tǒng)CPU是如何連接的信息.

    /sys 目錄下一般保存跟硬件驅動相關的信息

    /proc 內核運行屬性相關

    numactl --show--hardware--membind 只從指定節(jié)點分配內存.

    兩三萬的服務器都不支持numa體系結構, 多個物理CPU, 并有多個內存控制器

    調度策略

    實時策略

    SCHED_FIFO: 靜態(tài)優(yōu)先級調度, 根據(jù)程序優(yōu)先權順序掃描SCHED_FIFO線程列表. 這個線程會運行到它阻斷,推出或者被更高的線程槍戰(zhàn)準備運行的時候. 其優(yōu)先級高于非實時線程

    SCHED_RR:論調的調度. 有相同優(yōu)先級的線程使用特定仲裁或者時間片以輪詢的方式進行調度.

    chrt 修改實時優(yōu)先級屬性, 默認是用RR

    chrt [options] <policy> <priority> {<pid> | <command> [<arg> ...]} chrt -f 3 service nginx start

    一般調度策略

    SCHED_OTHER: 默認調度策略, 該策略使用完全公平調度程序(CFS). CFS建立了動態(tài)優(yōu)先權列表, 部分是根據(jù)每個進程線程的niceness值.

    SCHED_IDLE: 首先用于低優(yōu)先權任務, 優(yōu)先級非常低的任務.

    SCHED_BATCH: 也是用于低優(yōu)先權任務.

    中斷請求

    /proc/interrupts

    IRQ是用于服務的請求, 在硬件層發(fā)出, 可使用專用硬件線路或跨硬件總線的信息數(shù)據(jù)包(消息信號中斷, MSI)發(fā)出中斷.

    啟用中斷后, 接受IRQ后會提示切換到中斷上下文. 內核中斷調度代碼會搜索IRQ號碼及其關聯(lián)的注冊中斷服務路由(ISR)列表, 并按順序調用ISR.

    man 5 proc

    中斷親原性

    grep eth0 /proc/interrupts cat /proc/irq/19/smp_affinity 00000000,00000000,00000000,00000008

    內存調優(yōu)

    TLB: 轉義后援緩沖器, CPU緩存級別. 條目非常的少

    MMU是分級的, 類似于目錄結構, 便于遍歷.

    對于吃內存的進程, 通常使用大內存頁的方式. 超大頁面必須在引導時分配, 并且他們很難手動管理.

    THP: 透明大頁面, 自動創(chuàng)建, 管理和使用超大頁面.

    Varnish跟THP不兼容.

    容量調節(jié)

    位于/proc/sys/vm/

    overcommit_memory: 規(guī)定決定是否接受超大內存的請求, 是否可以超出物理內存的大小. OOM kill: Out Of Memory. 壞蛋評分, 內核決定. 優(yōu)先kill壞蛋評分高的.

    ? 0 . 默認設置, 內核執(zhí)行啟發(fā)式內存過量使用處理. 計算方式一般是, 物理內存加交換內存.

    ? 1 . 無內存過量使用處理. 使用這個設置會增大內存超載的可能性

    ? 2 . 內存拒絕等于或者大于總可用swap大小及overcommit_ratio指定的物理RAM比例的內存請求.

    ? eg. 4G物理內存+4G交換內存. swap + memory* overcommit_ratio, 此處最多可以使用6G內存

    ? 比較理想, 但是如果有4G物理內存, 8G交換內存. 則, 此處可以使用8G內存, 顯然并不是合理.

    max_map_count: 規(guī)定某個進程可能使用的最大內存映射區(qū)域. 默認為65530, 映射文件數(shù). Mmap, 將磁盤的文件直接映射到內存地址空間, 像使用內存一樣使用磁盤上的數(shù)據(jù).減少I/O, 從磁盤copy文件到內存的時間.

    nr_hugepages: 規(guī)定在內核中配置的超大頁數(shù). 默認為0. 只有當系統(tǒng)中有足夠的連續(xù)可用頁時, 方可分配超大頁.

    sysctl -w vm.nr_hugepages=20

    MySQL的配置變量中可以設置允許使用大內存頁.

    清楚緩存和緩沖

    清buffer sync 清cache echo 1 >/proc/sys/vm/drop_caches

    容量相關可調參數(shù), 位于/proc/sys/kernel/目錄中

    msgmax: 以字節(jié)為單位規(guī)定信息隊列中任意信息的最大允許大小. 這個值一定不能超過該隊列的大小(msgmnb), 默認為65536

    msgnmb: 信息隊列的最大值. 默認是65535

    msgmni: 規(guī)定信息隊列識別符的最大數(shù)量. 64位 為1985, 32位為1736

    shmall: 以字節(jié)為單位規(guī)定一次在系統(tǒng)中可以使用的共享內存總量. 64位 4294967296; 32位 268435456

    shmmax: 以字節(jié)為單位規(guī)定內核可允許的最大共享內存片段. 64位68719476736, 32位4294967295

    shmmi: 規(guī)定系統(tǒng)范圍內最大共享內存片段. 默認為4096

    threads-max: 規(guī)定內核使用的最大線程. max_threads = mempages/(8*Thread_size/Page_Size)

    文件系統(tǒng)相關參數(shù), 位于/proc/sys/fs/目錄

    aio-max-nr: 規(guī)定在所有活動異步I/O上下文中可允許的最多事件數(shù).

    file-max: 列出內核分配的文件句柄最大值. (mempages*(Page_size/1024))/10或者NR_FILE

    Out-of-Memory Kill 可調參數(shù):

    如果將/proc/sys/vm/panic_on_oom參數(shù)設定為0, 會讓內核在出現(xiàn)OOM時調用oom_killer功能.

    oom_adj: 定義-16到15之間的一個數(shù)值以便幫助決定某個進程的oom_score. oom_score值越高, 被oom_killer殺死的進程數(shù)就會越多.

    虛擬內存管理

    位于/proc/sys/vm/下

    zoned buddy allocator: 防止內存外碎片, 將大量的離散內存合并成連續(xù)的內存.

    ? /proc/buddyinfo

    slab allocator: 小內存空間的分配. 有固定個數(shù). 防止內存內碎片

    ? /proc/slabinfo

    16M DMA使用 --> 896M 內核使用 --> 預留區(qū)域

    zoneDMA zoneNormal 大于1G的地址空間, 通過映射的方式訪問(zone high memory)

    PAE: 物理地址擴展(Physical Address Extension) 多了四根線, 可尋址范圍為64G

    64位系統(tǒng): DMA可以尋址1G的空間, 剩余空間為normal段

    swappiness: 控制系統(tǒng)swap的程序. 高數(shù)值可優(yōu)先系統(tǒng)性能, 在進程不活躍時,主動將其轉出物理內存. 低數(shù)值可優(yōu)先互動性盡量避免將進程轉換出物理內存. 代表一種傾向性, 默認值為60

    dirty_ratio: 規(guī)定百分比值, 當臟數(shù)據(jù)組成達到系統(tǒng)內存總數(shù)的百分比值后開始寫臟數(shù)據(jù)(pdflush), 默認為20(單個進程)

    dirty_backgroud_ratio: 當臟數(shù)據(jù)組成達到系統(tǒng)內存總數(shù)的百分比后,開始在后端寫下臟數(shù)據(jù)(pdflush), 默認為百分之10. (系統(tǒng)級別)

    vm.dirty_expire_centisescs: pdflush守護進程被喚醒刷寫數(shù)據(jù)的時間

    vm.dirty_writeback_centisecs: 一個數(shù)據(jù)成為臟數(shù)據(jù)多久以后被刷寫到磁盤.

    刷寫臟頁的方法

    1 . sync

    2 . fsync system call

    3 . echo s > /proc/sysrq-trigger

    drop_caches: 讓內存放棄各種緩存頁和slab緩存的各種組合

    1 . 系統(tǒng)釋放所有頁緩沖內存. 可以理解為free指令中顯示的cache

    2 . 系統(tǒng)所有未使用的slab緩沖內存. 可以理解為free指令中顯示的buffer

    3 . 系統(tǒng)釋放所有也緩存和slab緩沖內存.

    文件系統(tǒng)相關調優(yōu)

    Barriers: 寫入barrier是保證在永久存儲中正確寫入并排列文件系統(tǒng)元數(shù)據(jù)的內核機制. 即使在存儲設備會經(jīng)常斷電的情況下也不例外. 只對非回寫的機制有意義.

    掛載文件系統(tǒng)時, 可提升文件系統(tǒng)性能:

    ? nobarrier: barrier通常只對write back機制有意義

    ? noatime: noatime包含nodiratime

    ? nodiratime:

    EXT4: 支持到最大文件系統(tǒng)為16TB, 單一最大文件為16TB

    XFS: 另一種可伸縮性文件系統(tǒng), 沒有文件大小的限制. 性能本身也非常不錯

    網(wǎng)絡相關調優(yōu)

    Socket buffer: 1. tcp_rmem 2. tcp wmem

    網(wǎng)絡接收器路徑圖表

    NIC hardware buffer --> hard IRQ --> soft IRQ --> app socket queue <--- application

    網(wǎng)絡優(yōu)化參數(shù):

    net.ipv4.tcp_max_tw_buckets: timewait的數(shù)量, 默認為8192

    net.ip4.ip_local_port_range = 1024 65000: 允許系統(tǒng)打開的端口玩味, 前者為下面, 后面的數(shù)字為上限: 默認為32768 61000; 此范圍決定了最后timewait狀態(tài)的連接的數(shù)量, 下面的兩項可有效降低tw狀態(tài)連接的數(shù)量. (前端代理服務器一般應該修改)

    net.ipv4.tcp_tw_recycle = {0|1}: 是否啟用timewait快速回收, 注意, 開啟此功能在NAT環(huán)境下可能會出現(xiàn)嚴重的問題, 因為TCP有一種行為, 它可以緩存每個連接最新的時間戳, 后續(xù)請求中如果時間戳小于緩存中的時間戳, 即被視為無效并丟棄響應的請求報文.

    net.ipv4.tcp_tw_reuse = {0|1}: 是否啟用tw重用, 即是否允許將TIME-WAIT sockets用戶新的TCP連接

    net.ipv4.tcp_syncookies = {0|1}: 是否開啟SYN Cookies, 即當SYN等待隊列溢出時, 是否啟用cookies功能.

    net.ipv4.tcp_timestamps = 0 tcp報文時間戳, 關閉時可以避免序列號的卷繞. 原因是當tcp_tw_recycle/tcp_timestamps都開啟的條件下, 60s(timewait)時間內, 同一源ip的主機socket connect請求中的timestamp必須是遞減的.

    net.ipv4.tcp_max_syn_backlog = 262144: 保存的那些尚未收到客戶端確認信息的連接請求的最大值: 默認為128, 可以增大此值.

    net.ipv4.tcp_synack_retries = #: 為了打開對端的連接, 內核需要發(fā)送一個SYN并附帶一個回應前面一個SYN的ACK, 這也即所謂三次握手中的第二次; 這個設置決定了內核放棄連接之前SYN+ACK的數(shù)量, 繁忙的服務器上建議設置為0或者1;

    net.ipv4.tcp_syn_retries = #: 在內核放棄建立連接之前發(fā)送SYN包的數(shù)量, 繁忙的服務器應該設置為0或1.

    net.ipv4.tcp_max_orphans = 262144: 系統(tǒng)中最多有多少個TCP套接字不被關聯(lián)到任何一個用戶文件句柄上, 如果超過這個數(shù)字, 孤兒連接將即刻被復位并打印出警告信息, 這個限制僅僅是為了防止簡單的Dos攻擊, 不能過分依靠它或者認為的減少這個值, 如果需要修改, 在確保有足弓內存可用的前提下, 應該增大此值.

    net.ipv4.tcp_fin_timeout = 5: 如果套接字由本段要求關閉, 這個參數(shù)決定了它保持在FIN-WAIT-2狀態(tài)的時間, 缺省值為60秒. 然而, 對端可能會出錯或者意外宕機并永遠不關閉連接. 即使你的機器是一個輕載的WEB服務器, 也有因為大量的死套接字而內存溢出的風險, FIN-WAIT-2的危險性比FIN-WAI-1要小, 因為每個連接最多只能消耗1.5k內存, 但是他們的生存期長些.

    tcp.ipv4.tcp_keepalive_time = 30:當keepalive啟用的時候, TCP發(fā)送keepalive消息的額度, 默認為2小時(7200).

    net.core.rmem_max=8388608: 定義內核用于所有類型的連接的最大接受緩沖大小.

    net.core.rmem_default=65536: 定義內核用于所有類型的連接的默認接收緩沖大小.

    net.core.wmem_max=8388608: 定義內核用于所有類型的連接的最大發(fā)送緩沖大小

    net.core.wmem_default=65536: 定義內核用于所有類型的連接的默認發(fā)送緩存大小

    net.ipv4.tcp_mem='8388608 8388608 8388608' 定義TCP協(xié)議棧使用的內存空間, 分別為最小值, 默認值和最大值

    net.ipv4.tcp_rmem='4096 87380 8388608': 定義TCP協(xié)議棧用于接收換種的內存空間: 第一個值為最小值, 即便當前主機內存空間吃緊, 也得保證TCP協(xié)議棧至少有此大小的空間可用, 第二個值為默認值, 他會覆蓋net.core.rmem_default中為所有協(xié)議定義的接收緩沖的大小, 第三值為最大值, 即能用于TCP接收緩沖的最大內存空間.

    net.ipv4.tcp_wmem='4096 65536 8388608'

    IO磁盤調度器

    CFQ嘗試根據(jù)啟動I/O的進程決定公平的I/O調度. 可提供三個不同的調度等級: 實時(RT), 最佳效果(BE)和閑置. 可以使用ionice命令手動分配調度等級.

    在最新的內核版本和發(fā)行版中,都選擇CFQ做為默認的I/O調度器,對于通用的服務器也是最好的選擇.

    CFQ賦予I/O請求一個優(yōu)先級,而I/O優(yōu)先級請求獨立于進程優(yōu)先級,高優(yōu)先級進程的讀寫不能自動地繼承高的I/O優(yōu)先級.

    CFQ為每個進程/線程單獨創(chuàng)建一個隊列來管理該進程所產(chǎn)生的請求,也就是說每個進程一個隊列,各隊列之間的調度使用時間片來調度,以此來保證每個進程都能被很好的分配到I/O帶寬.I/O調度器每次執(zhí)行一個進程的4次請求.

    只有CFQ調度算法可以使用ionice更改類型和優(yōu)先級

    有八個調度等級, 0代表最高優(yōu)先級, 7代表最低優(yōu)先級. 默認等級為4.

    eg. 采用cfg的實時調度, 優(yōu)先級為7

    ionice -c1 -n7 -ptime dd if=/dev/sda1 f=/tmp/test bs=2M count=300&

    采用缺省的磁盤I/O調度, 優(yōu)先級為3

    ionice -c2 -n3 -ptime dd if=/dev/sda1 f=/tmp/test bs=2M count=300&

    采用空閑的磁盤調度, 優(yōu)先級為0

    ionice -c3 -n0 -ptime dd if=/dev/sda1 f=/tmp/test bs=2M count=300&

    ionice的三種調度方法,實時調度最高,其次是缺省的I/O調度,最后是空閑的磁盤調度.

    /sys/block/sda/queue/scheduler 調度器

    noop: 電梯調度算法. NOOP實現(xiàn)了一個FIFO隊列,它像電梯的工作主法一樣對I/O請求進行組織,當有一個新的請求到來時,它將請求合并到最近的請求之后,以此來保證請求同一介質. NOOP傾向餓死讀而利于寫. 內核2.4之前的唯一算法

    電梯算法餓死讀請求的解釋:因為寫請求比讀請求更容易.

    寫請求通過文件系統(tǒng)cache,不需要等一次寫完成,就可以開始下一次寫操作,寫請求通過合并,堆積到I/O隊列中.

    讀請求需要等到它前面所有的讀操作完成,才能進行下一次讀操作.在讀操作之間有幾毫秒時間,而寫請求在這之間就到來,餓死了后面的讀請求.

    deadline: 會優(yōu)先響應到期的I/O請求, 讀的響應時間通常較短.

    通過時間以及硬盤區(qū)域進行分類,這個分類和合并要求類似于noop的調度程序.

    Deadline確保了在一個截止時間內服務請求,這個截止時間是可調整的,而默認讀期限短于寫期限.這樣就防止了寫操作因為不能被讀取而餓死的現(xiàn)象.

    Deadline對數(shù)據(jù)庫環(huán)境(ORACLE RAC,MYSQL等)是最好的選擇.

    RAID芯片也可能有自己的調度算法

    永久修改I/O調度

    修改內核引導參數(shù),加入elevator=調度程序名

    kernel /boot/vmlinuz-2.6.18-8.el5 ro root=LABEL=/ elevator=deadline rhgb quiet

    工具查看

    查看統(tǒng)計數(shù)據(jù)

    ethtool -S ethx

    dstat

    iostat

    sar

    tsar也可以監(jiān)測流量

    iostat

    iftop監(jiān)測流量

    lsof

    glances 可以工作在C/S模式下

    server端

    glances -s -B 192.168.48.130

    client端

    glances -c 192.168.48.130

    如果安裝了 python-jinja2

    可以glances -o HTML -f /var/www/html

    可以使用瀏覽器訪問: http://ip/glances.html

    虛擬化技術

    起始于上個世紀70年代的IBM公司.

    PC機的出現(xiàn), 使虛擬化技術變得不那么重要.

    CPU本身就是被抽象成時間片了, 這就是CPU虛擬化的基礎.

    Host: 宿主機

    Guest: 虛擬機

    模擬實現(xiàn)

    虛擬機CPU是軟件模擬,純軟件實現(xiàn),特權指令是向host請求。

    BT技術:Binary Translation 二進制翻譯技術。運行時翻譯,大大的提高了性能 (vmware)

    BT技術的前提就是虛擬架構與底層物理架構相同. 使用這種方式的轉換時, 虛擬機的用戶空間運行在Ring3, 虛擬機的內核空間運行在Ring1, 宿主機的內核空間運行在Ring0

    CPU虛擬化:

    模擬:emulation,軟件模擬。模擬ring 0~3

    虛擬:virtulization 架構要相同,僅僅需要模擬ring0

    ? 完全虛擬化,宿主機完全虛擬出來一個虛擬平臺,guest本身并不清楚自己是虛擬化出來的。

    • BT: 二進制翻譯(軟件級別)
    • HVM: 硬件輔助的虛擬化(硬件)

    硬件虛擬化

    HVM: Hardware assistant Virtualization Machine

    讓CPU具有了五個環(huán),多了一個-1環(huán)。虛擬機運行在環(huán)-1,環(huán)-1是虛擬機的根環(huán)

    ring -1是特權指令環(huán)。

    Host運行在ring -1上,虛擬機的內核運行在ring 0上

    ring -1 可以捕獲ring 0上的指令。

    這種虛擬化技術可以達到硬件性能的百分之八十五以上

    CPU半虛擬化 (para-virtulization)

    各guest的內核明確知道自己運行在虛擬化環(huán)境中, 他會向宿主機內核發(fā)起調用.

    vm monitor = hypervisor 虛擬機監(jiān)視器

    hypervisor直接管理硬件(CPU和內存,一般不包括I/O),相當于內核

    hyper call: 直接調用而非翻譯

    虛擬機的內核要被修改,讓其內核知道此種調用機制。

    這種虛擬化可以達到硬件性能的百分之九十以上

    Memory虛擬化

    兩次地址空間轉換, 第一次轉換成內核的虛擬拿到的連續(xù)的地址空間, 第二次從內核的虛擬空間轉換至實際的物理地址空間(第二次轉換是軟件模擬)

    進程:線性地址空間

    內核:物理地址空間

    Hypervisor: 虛擬連續(xù)地址空間轉換成物理地址空間。Shadow page table, 影子列表的方式(一種模擬方式)。TLB難以命中,物理地址不重疊,為防止混淆,每次guest切換時,將會清空TLB緩存。

    于是乎:

    虛擬MMU

    Intel:EPT, extend page table 擴展的頁表技術

    AMD: NTP, Nested Page Table 嵌套的頁表技術

    GVA: 虛擬機的虛擬地址

    GPA: 虛擬機的物理地址

    HPA: 宿主機的物理地址

    GVA通過MMU虛擬化直接向Hypervisor轉換成HPA, 需要硬件支持.

    TLB 虛擬化

    tagged TLB技術

    打標簽GVA到HPA的標記內容

    I/O虛擬化

    外存:硬盤,光盤,軟盤,u盤

    網(wǎng)絡設備:網(wǎng)卡

    顯示設備:VGA frame buffer機制

    鍵盤鼠標:ps/2, usb

    I/O虛擬化的方式:

    • 模擬: 完全使用軟件來模擬真實硬件
    • 半虛擬化: I/O frontend --> I/O backend (僅適用于硬盤和網(wǎng)卡). 虛擬機內核明確知道自己運行在虛擬化環(huán)境中, 在本地并不使用本地驅動進行, 對設備的調用直接轉換到后端.
    • IO-through:I/O透傳, 直接分配物理資源給虛擬機. 仍然需要hypervisor進行協(xié)調.

    IO Stack: 多個虛擬機將I/O排隊

    鍵盤和鼠標都是使用焦點捕獲的方式, 將模擬設備和物理設備關聯(lián)的方式

    IOMMU, IO內存管理單元. 硬件要支持IO透傳技術例如intel的VT-d

    Intel: VT-d 基于北橋芯片的硬件輔助虛擬化技術,提高I/O可靠性,靈活性以及性能的。

    DMA對傳統(tǒng)的x86架構而言是集中式的, 讓多個虛擬機直接使用某塊網(wǎng)卡時, 會產(chǎn)生混淆.

    IO中斷: 可編程控制器, DMA.

    DMA本身直接訪問虛擬機的連續(xù)內存空間(GPA), 中間也要經(jīng)過多次轉換. 并且要考慮緩沖的問題. 實現(xiàn)機制非常復雜

    兩種實現(xiàn)方式

    Type-II型:操作系統(tǒng)基礎上安裝虛擬化軟件再創(chuàng)建各種主機

    Type-I型:基于Hypervisor

    Xen,vmware ESX/ESXI 屬于Type-I型

    VMware workstation/virtualbox/KVM 屬于Type-II型

    Intel硬件輔助虛擬化

  • CPU角度: VT-x. EPT, tagged-TLB
  • IO/CPU: VT-d, IOV, VMDq
  • 第一類:跟處理器相關:vt-x

    第二類:跟芯片相關:vt-d

    第三類:跟I/O相關,VMDq和SR-IOV

    模擬器PearPC, Bochs, QEMU

    完全虛擬化:VMware Worksation, VMware Server, Parallels Desktop, KVM, Xen(HVM環(huán)境中)

    半虛擬化:Hyper call ABI. 虛擬機的內核經(jīng)過修改。xen, uml (user-mode linux)

    OS級別的虛擬化:OpenVZ, lxc. Solaris Containers. FreeBSD jails

    庫虛擬化:wine,

    應用程序虛擬化:jvm

    虛擬化網(wǎng)絡:

    SDN:software defined network

    Bridge方式:原物理網(wǎng)卡被做成交換機,然后模擬一個bridge設備出來。相當于兩臺交換機,一臺虛擬出來的. 網(wǎng)卡工作在混雜模式, 不論是否是本機的IP都進行轉發(fā).

    host-only: 僅主機模式,需要使用路由

    NAT mode: 隱藏虛擬機.

    TUN與TAP

    在計算機網(wǎng)絡中, TUN與TAP是操作系統(tǒng)內核中的虛擬網(wǎng)絡設備, 不同于普通硬件網(wǎng)絡板卡實現(xiàn)的設備, 這些虛擬的網(wǎng)絡設備全部用軟件實現(xiàn), 并向運行于操作系統(tǒng)的軟件提供與硬件的網(wǎng)絡設備完全相同的功能.

    TAP等同于一個以太網(wǎng)設備, 它操作第二層數(shù)據(jù)包如以太網(wǎng)數(shù)據(jù)幀. TUN模擬了網(wǎng)絡設備, 操作第三層數(shù)據(jù)包比如IP數(shù)據(jù)封包.

    操作系統(tǒng)通過TUN/TAP設備向綁定改設備的用戶空間的程序發(fā)送數(shù)據(jù), 反之, 用戶空間的程序也可以像操作硬件網(wǎng)絡設備那樣, 通過TUN/TAP設備發(fā)送數(shù)據(jù). 在后者情況下, TUN/TAP設備向操作系統(tǒng)的網(wǎng)絡棧投遞數(shù)據(jù)包, 從而模擬從外部接受數(shù)據(jù)的過程.

    一般虛擬機不提供橋接模式,需要自己配置

    為了做橋接模式的配置,應當關閉NetworkManager(network manager 不支持)

    真正的橋功能是通過內核的TAP/TUN實現(xiàn)的. bridge-utils只是修改工具

    yum install bridge-utils Device=br0 TYPE=Bridge NM_CONTROLLED=no

    修改原eth0網(wǎng)卡

    BRIDGE=br0

    查看網(wǎng)橋狀態(tài)

    brctl show

    使用brctl的配置過程:

    brctl addbr br0 brctl stp br0 on ifconfig eth0 0 up brctl addif br0 eth0 ifconfig br0 IP/NETMASK up route add default gw GW

    Xen

    Ian Pratt, Keir Fraser. 兩人研發(fā).

    Xen直接跑在硬件上. 需要預裝Xen Hypervisor

    核心問題是如何驅動各種I/O設備

    Xen Hypervisor 本身只能虛擬化CPU,MMU進行管理

    Domain是Xen虛擬機單元, domain是從0開始編號.

    Dom0是第一臺虛擬機,又稱特權域. 可以直接使用硬件的驅動.

    Dom0提供Xen console, 并且給DomU提供I/O各種驅動

    DomU對于I/O設備的使用,僅僅是前端。

    Dom0的內核必須做修改,可以直接調用Hyper Call. DomU也需要直接調用Hyper Call. 進程管理和內存使用, 以及中斷部分都需要修改內核.

    2.6.37之后的kernel代碼已經(jīng)直接整合所有Dom0所需要的功能

    2.6.24+: DomU的內核部分已經(jīng)被直接整合進內核中

    Linux 3.0+ 之后對Xen做了專門的優(yōu)化

    CPU/Memory/中斷通過Hypervisor, 但是對I/O的調用需要通過Dom0

    Xen的工作模式

  • 半虛擬化:對CPU,I/O設備都完全執(zhí)行半虛擬化, PV: para-virtualization. Xen研發(fā)的硬件, 都是基于Xen的驅動程序.
  • 全完虛擬化:依賴于CPU的HVM. 依賴QEMU.
  • PV on HVM: CPU完全虛擬化,I/O設備使用半虛擬化
  • 4.2 之后版本使用XL

    4.1 之前的版本使用XM,啟用xm工具必須啟動xend進程

    目前Xen已經(jīng)到4.4版本了

    半虛擬化: grep -E ‘pae’ /proc/cpuinfo?

    全虛擬化: grep -E ‘svm|vmx’ /proc/cpuinfo?

    Xen的使用方式:

    • xen hypervisor

      • 硬件--->正常安裝linux發(fā)行版-->編譯安裝xen-->修改grub配置其內核為xen,而不再使用linux內核(Linux的內核和initramfs文件當做xen的模塊)-->重新編譯Linux內核,使其能夠運行于Dom0 -->重啟系統(tǒng)
      • DomU: 在Dom0使用工具創(chuàng)建虛擬機-->啟動虛擬機-->安裝操作系統(tǒng)
    • Xenserver:

    • citrix收購

    • 使用XE/XAPI管理組件

    • XCP: Xen Cloud Platform

    工具棧:xm/xend, xl, xapi/xe

    通用工具棧:libvirt vrish/libvirtd, virtmanager(紅帽開發(fā))

    wiki.xenproject.org

    GlusterFS

    centos在xen4.2開始支持使用xen.

    紅帽早在RHEL5就提供的xen的重新編譯的內核, 2008年紅帽收購了KVM. RHEL5.6 嘗試引入KVM, 5.8 的時候開始取代Xen. 從RHEL6開始, 不再支持Xen. 此時的Redhat可以運行在domU上.

    安裝鏡像http://vault.centos.org/6.7/xen4/x86_64/

    http://mirrors.163.com/centos/6.8/virt/x86_64/xen-44/

    Xen Grub配置

    #boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title Red Hat Enterprise Linux Server (3.7.4-1.el6xen.x86_64)root (hd0,0)kernel /xen.gz dom0_mem=1024M cpufreq=xen dom0_max_vcpus=2 dom0_vcpus_pinmodule /vmlinuz-3.7.4-1.el6xen.x86_64 ro root=/dev/mapper/vg0-root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg0/swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_DM KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=vg0/root rhgb quietmodule /initramfs-3.7.4-1.el6xen.x86_64.img title Red Hat Enterprise Linux (2.6.32-279.el6.x86_64)root (hd0,0)kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=/dev/mapper/vg0-root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg0/swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_DM KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=vg0/root rhgb quietinitrd /initramfs-2.6.32-279.el6.x86_64.img

    Avaya的dom0使用Xen 4.1

    如果要使用xm,要確保xend服務啟動

    xm info xl info

    Dom0的ID永遠為0

    xen虛擬狀態(tài):

    r: 運行狀態(tài)

    b: I/O阻塞狀態(tài)

    p: 暫停(暫停在內存中,資源不釋放)

    s: 停止

    c: 崩潰. crashed

    d: dying,當前域開始關機

    Time(s):占據(jù)CPU并使用于運行時間的時長

    Destory: 關閉電源

    Delete:刪除虛擬機

    xm常用命令

    create: 創(chuàng)建虛擬機 -c 表示打開控制臺

    destory: 關閉虛擬機電源

    new: 添加到xend domain

    delete: 刪除

    start: 開機一個域

    shutdown: shutdown -h now

    vcpu-list: 各虛擬機虛擬CPU狀態(tài)

    創(chuàng)建xen pv模式虛擬機

    前提

  • Kernel在半虛擬化模式
  • initrd或initramfs用于裝載真正的根文件系統(tǒng)
  • DomU內核模塊
  • 根文件系統(tǒng)
  • swap設備(optional)
  • DomU的配置文件
  • DOMU內核借用DOM0內核

    磁盤創(chuàng)建

    創(chuàng)建稀疏格式的磁盤

    dd if=/dev/zero of=centos6.img bs=1M oflag=direct seek=1023 count=1 dd if=/dev/zero of=/xen/vm/test.img oflag=direct count=120000 bs=1M count=1 seek=119999

    1023直接被跳過

    mount -o loop centos6.img /mnt cd /mnt;mkdir -pv etc/{init,rc.d} bin sbin lib64 dev proc sys tmp var home root

    xm的配置文件

    Kernel:內核

    ramdisk: initramfs或initrd文件

    name: 域名稱

    memory:內存大小

    disk: 磁盤設備文件列表,格式disk = ["disk1","disk2",]。

    ? 每個disk都由三個參數(shù)來定義

    • “Backend-dev": 有兩種類型,物理設備,虛擬磁盤映像文件,格式分別為:

      • phy: device路徑
      • file: /path/to/image_file
    • Frontend-dev: 定義其在DomU中的設備類型;虛擬磁盤映像文件對應的設備文件名通常為xvd[a-z],tr通常只能模擬IDE插槽,并不能模擬scssi設備

    • mode: 訪問權限模型:r,w

    vcpus: 虛擬CPU的個數(shù),默認為1

    root: 根文件系統(tǒng)路徑, 指所在的設備

    extra: 傳遞給內核的額外參數(shù), selinux=0

    on_reboot: 執(zhí)行xm reboot命令時的操作,有destory和restart

    on_crash: 有destory, restart,preserve(保存系統(tǒng)崩潰時的映像信息)

    on_shutdown:

    vif = ['ip=172.16.100.11',bridge=br0']

    • type: 設備類型,默認為netfront
    • mac: 指定網(wǎng)卡mac地址
    • bridge: 指定橋接到的物理設備
    • ip: 指定IP地址
    • script: 配置此接口的腳本文件
    • vifname : 后端設備名稱

    bootloader: 引導器文件的路徑,一般指PyGrub的路徑:

    cpu: 指定在某顆物理CPU上啟動

    cpus: 指定當前域的VCPU可以在那些物理CPU上運行

    research一下為何無法啟動此操作系統(tǒng)

    kernel = "/tmp/vmlinuz" ramdisk = "/tmp/initramfs" memory = 512 name = "centos6_vm" vcpus = 2 disk = [ 'file:/xen/vm1/test.img,xvda,w' ] root = "/dev/xvda2 ro" extra = "3 selinux=0"

    關聯(lián)loop設備文件

    查找最小的未被使用的loop設備

    losetup -f

    使用鏡像文件跟loop設備做關聯(lián)

    losetup /dev/loop0 /xen/vm1/test.img

    然后就可以對loop0進行分區(qū)

    fdisk /dev/loop0 kpartx -av /xen/vm1/test.img

    隨后磁盤映射文件會在/dev/mapper中顯示

    移動安裝虛擬機

    光盤安裝使用的是isolinux下引導

    將isolinux下的vmlinuz以及initrd.img文件cp出來

    然后在虛擬機配置中設定kernel以及initrd

    在安裝完成之后,將kernel以及initrd內容取消,然后添加bootloader = /usr/bin/pygrub

    #ramdisk="/boot/initramfs-2.6.32-358.el6.x86_64.img" #kernel="/boot/vmlinuz-2.6.32-358.el6.x86_64" name="linux" vcpus=1 memory=128 disk=['file:/xen/vm2/dom2.img,xvda,w',] bootloader="/usr/bin/pygrub" #root="/dev/xvda2 ro" #extra="selinux=0 init=/sbin/init" vif=[ 'bridge=br0' ] on_crash="destroy" on_reboot="restart"

    安裝時要添加kernel 和 initrd

    reset 重置窗口大小

    Xen快速安裝

    yum install centos-release-xen -y yum install xen -y yum update -y

    Xen 總結:

  • type-I: Xen hypervisor
  • Dom0: 特權域,管理IO
  • 管理控制臺:Dom0; xm/xend, xl
  • pv:

    ? 啟動一個虛擬機實例,內核和initramfs文件可以放置在Dom0,也可由自己的文件系統(tǒng)提供

    ? 第一種:配置文件,由xm/xl等管理工具來提供的引導過程

    kernel = ramdisk = root = extra =

    ? 第二種:需要一個bootloader,pygrub

    bootloader =

    xm基于某過程引導安裝過程:

    ? isolinux:

    ? vmlinuz

    ? initrd.img

    note:一般在半虛擬化的環(huán)境中,一般使用url方式來安裝

    在PV模式中運行guest系統(tǒng),需要滿足幾個基本前提。

    ◇ 能運行于Xen DomU的(Xen-enabled)內核:Liunx 2.6.24及以后的內核已經(jīng)添加了對Xen DomU的支持,因此,只要在內核編譯時啟用了相應的功能就能滿足此要求,目前多數(shù)Linux發(fā)行版的內核都已經(jīng)支持此特性;而此前的版本需要內核在編譯前手動打補丁方可;

    ◇ 根文件系統(tǒng)(Root Filesystem):包含了應用程序、系統(tǒng)組件及配置文件等運行DomU的各種所需要文件的文件系統(tǒng),其不用非得包含內核及對應的ramdisk,后面的這些組件放在Dom0中即可;事實上,用于DomU的內核文件必須要能夠允許Dom0訪問到,因為其運行時需要與Xen Hypervisor通信,因此,這些內核組件可以位于Dom0能夠訪問到的任何文件系統(tǒng)上;然而,目前基于pygrub(可用于Dom0跟非特權域磁盤映像中的內核通信),此內核文件也可以直接放置于非特權域的磁盤映像中;

    ◇ DomU內核所需要的內核模塊:內核模塊是內核的重要組成部分,它們一般存儲于根文件系統(tǒng);

    ◇ ramdisk或者ramfs:這個根據(jù)實際需要是個可選組件,如果在內核初始化過程中不需要依賴于此來裝載額外的驅動程序以訪問根文件系統(tǒng)則也可以不用提供;

    ◇ swap設備:交換分區(qū)能夠讓Linux運行比僅有物理內存時更多的進程,因此,提供此組件是常見的做法;當然,它是可選的;

    ◇ DomU配置文件:集中在一起指定前述各組件的配置信息,以及定義其它有關PV DomU的基本屬性的文件;其通常包含所有用于當前DomU屬性配置參數(shù),包括為其指定磁盤映像和內核文件的位置(或pygrub的位置)等,以及其它許多屬性如當前DomU可以訪問的設備等,這些設備包括網(wǎng)絡設備、硬盤、顯卡及其它PCI設備;同時,配置文件中也可以指定新創(chuàng)建的非特權域可以使用的物理內存大小及虛擬CPU個數(shù)等等;

    這里需要提醒的是,如果計劃為PV DomU編譯內核,需要以與傳統(tǒng)方式不同的方式放置內核及其模塊。前面也已經(jīng)提到,內核一般會放在Dom0的某路徑下,而內核模塊則需要放在DomU的根文件系統(tǒng)上。

    PV DomU的根文件系統(tǒng)可以以多種不同的方式進行安置,比如:

    ◇ 虛擬磁盤映像文件

    ◇ Dom0沒有使用的額外物理磁盤分區(qū)

    ◇ Dom0沒有使用的邏輯卷

    ◇ 塊級別網(wǎng)絡文件系統(tǒng),如iSCSI設備

    ◇ 網(wǎng)絡文件系統(tǒng),如NFS

    vfb:vnc或sd1,是一種c/s架構

    安裝vnc server

    yum install tigervnc-server

    啟動vnc server

    vncserver :1

    VNC協(xié)議是明文的, 并不安全

    vfb=[ 'vnc=1,vnclisten=0.0.0.0' ] 直接使用當前窗口打開另一個窗口 vfb=[ 'vnc1,sdl=1']

    幀緩沖:提供圖形化界面

    磁盤映像管理工具qemu-img

    查看某種format的格式選項

    qemu-img create -f qcow2 -o ? /xen/vm/test.img qemu-img create -f qcow2 -o size=120G,preallocation=metadata /xen/vm/centos.qcow2

    鏡像格式

    raw: the raw format is a plain binary image of the disc image, and is very portable.

    追加磁盤大小

    dd if=/dev/zero of=zeros.raw bs=1024k count=4096 cat foresight.img zeros.raw > new-foresight.img

    cow: copy on write

    qcow: 同cow都是歷史的棄嬰

    qcow2: QEMU copy-on-write format with a range of special features, including the ability to take multiple snapshots.

    性能接近raw, 支持快照, 支持AES加密, 支持zlib磁盤壓縮等

    vmdk: vmware支持的虛擬化鏡像格式. OVF的同一封包. 性能和功能上來說vmdk都是目前比較出色的.

    libvirt

    virsh

    virt-viewer: python開發(fā), 顯示工具

    virt-manager: python開發(fā), 圖形化配置文件

    virt-install: 自動創(chuàng)建映像文件, 命令行工具

    Redhat在RHEL6中有意的將libvirt對xen的支持的部分沒有編譯

    service libvirt strat之后, 會自動創(chuàng)建一個virbr0的虛擬網(wǎng)橋

    virt-install -n "centos6.7" -r 512 --vcpus=2 =l http://192.168.48.130/cobbler/ks_mirror/centos-6.7-x86_64 -disk path=/xem/vm/test.img --network bridge=br0 --force

    磁盤和網(wǎng)絡熱插拔

    xm block-attach centos6 file:/xen/vm1/test.qcow2 xvdb w

    掛起虛擬機

    xm save centos /tmp/centos.save

    恢復虛擬機

    xm restore /tmp/centos.save

    暫停在內存中

    xm pause/unpause

    如果虛擬機被xend完全管理, 則可以使用suspend/resume

    Xen實時遷移

    grep xend-relocation /etc/xen/xend-config.sxp |grep -v '#'

    (xend-relocation-server yes)

    (xend-relocation-port 8002)

    (xend-relocation-address '')

    (xend-relocation-hosts-allow '')

    xm migrate [domu]

    KVM

    KVM: Kernel-based Virutal Machine

    Popek, Globerg.提出了經(jīng)典虛擬化的三個條件

    1 . 等價執(zhí)行

    2 . 性能良好

    3 . 安全隔離

    以色列Qumranet公司 2008年以后被Redhat收購

    KVM僅僅是kernel上的一個模塊

    類似寄存的方式, 將內核變成hypervisor.

    I/O 通過qemu來模擬實現(xiàn)

    note: KVM要求硬件必須支持HVM

    加載KVM模塊

    modprobe kvm modprobe kvm-intel

    qemu-kvm 專用于結合kvm使用的管理工具

    模式: 內核模式, 用戶模式, 來賓模式

    來賓模式: guest mode, 虛擬機上的用戶空間.

    vCPU是通過線程來模擬實現(xiàn)CPU

    KVM組件:

    核心組件: /dev/kvm. 管理虛擬機的設備節(jié)點. 用戶控件的程序可通過isctl()系統(tǒng)調用來對虛擬機的創(chuàng)建啟動等管理工作. 1. 為虛擬機分配內存; 2 . 讀, 寫VCPU的寄存器. 3 .向vCPU注入中斷; 4 . 運行vCPU;

    qemu組件: qemu進程, 工作于用戶空間的組件, 用于仿真PC機的I/O類硬件設備.

    KVM必須使用HVM

    egrep -i "vmx|svm" /proc/cpuinfo

    qemu-kvm

    qemu-kvm的標準選項涉及指定主機類型, CPU模式, NUMA, 軟驅設備, 光驅設備以及硬件設備

    ◇ -name name:設定虛擬機名稱; ◇ -M machine:指定要模擬的主機類型,如Standard PC、ISA-only PC或Intel-Mac等,可以使用“qemu-kvm -M ?”獲取所支持的所有類型; ◇ -m megs:設定虛擬機的RAM大小; ◇ -cpu model:設定CPU模型,如coreduo、qemu64等,可以使用“qemu-kvm -cpu ?”獲取所支持的所有模型; ◇ -smp n[,cores=cores][,threads=threads][,sockets=sockets][,maxcpus=maxcpus]:設定模擬的SMP架構中CPU的個數(shù)等、每個CPU的核心數(shù)及CPU的socket數(shù)目等;PC機上最多可以模擬255顆CPU;maxcpus用于指定熱插入的CPU個數(shù)上限; ◇ -numa opts:指定模擬多節(jié)點的numa設備; ◇ -fda file ◇ -fdb file:使用指定文件(file)作為軟盤鏡像,file為/dev/fd0表示使用物理軟驅; ◇ -hda file ◇ -hdb file ◇ -hdc file ◇ -hdd file:使用指定file作為硬盤鏡像; ◇ -cdrom file:使用指定file作為CD-ROM鏡像,需要注意的是-cdrom和-hdc不能同時使用;將file指定為/dev/cdrom可以直接使用物理光驅; ◇ -drive option[,option[,option[,...]]]:定義一個新的硬盤設備;可用子選項有很多。 ? file=/path/to/somefile:硬件映像文件路徑; ? if=interface:指定硬盤設備所連接的接口類型,即控制器類型,如ide、scsi、sd、mtd、floppy、pflash及virtio等; ? index=index:設定同一種控制器類型中不同設備的索引號,即標識號; ? media=media:定義介質類型為硬盤(disk)還是光盤(cdrom); ? snapshot=snapshot:指定當前硬盤設備是否支持快照功能:on或off; ? cache=cache:定義如何使用物理機緩存來訪問塊數(shù)據(jù),其可用值有none、writeback、unsafe和writethrough四個; ? format=format:指定映像文件的格式,具體格式可參見qemu-img命令; ◇ -boot [order=drives][,once=drives][,menu=on|off]:定義啟動設備的引導次序,每種設備使用一個字符表示;不同的架構所支持的設備及其表示字符不盡相同,在x86 PC架構上,a、b表示軟驅、c表示第一塊硬盤,d表示第一個光驅設備,n-p表示網(wǎng)絡適配器;默認為硬盤設備;

    eg.

    qemu-kvm -name "rhel5.8" -m 512 -smp 2 -boot d -drive file=/VM/images/rhel5.8/hda,if=virtio,index=0,media=disk,format=qcow2 -drive file=/isos/rhel-5.8.iso,index=1,media=cdrom -net nic,model=virtio,macaddr=52:54:00:A5:41:1E -vga cirrus -balloon virtio qemu-kvm -name "centos65" -m 512 -smp 2 -hda /images/vm/centos.qcow2 -cdrom CentOS-6.5-x86_64-bin-DVD1.iso -boot order=dc

    其他常用選項

    動態(tài)遷移時用到的選項: -incoming tcp:0:PORT

    讓qemu-kvm進程運行于后臺: -daemonize

    開啟USB總線: -usb

    ? GuestOS為Windows時, -usb -usbdevice tablet, 用于實現(xiàn)鼠標定位

    打開KVM的支持: -enable-kvm (qemu-kvm默認啟用此選項)

    打開聲音設備: -soundhw

    設定iscsi存儲設備: -iscsi 通過URL指定使用的iscsi設備 iscsi://<target_ip>/<target_iqn>/

    ? user=USERNAME, password=PASSWORD, initiator-name=iqn

    qemu-kvm -iscsi initiator-name= -drive file=iscsi://tgt.example.com/1qn.2014-05.com.example.com.tgt1/1

    指定使用bios文件: -bios /path/to/some_bios_program

    使用外部內核及ramdisk文件. -kernel -initrd -append 向內核傳遞的參數(shù)

    KVM虛擬網(wǎng)絡模型

    NAT模型: 虛擬機實例的網(wǎng)卡都要虛擬成hypervisor上的虛擬網(wǎng)絡接口. -net, nic -net tap 指令hypervisor的對應關系. NAT模型中, 再在hypervisor創(chuàng)建一個虛擬橋, 并沒有綁定任何物理接口.

    dnsmasq: 可以提供dns服務器以及dhcp服務器.為嵌入式平臺使用, 非常輕量級.

    在虛擬網(wǎng)橋上創(chuàng)建SNAT規(guī)則

    iptables -t nat -A POSTROUTING -s 192.168.21.0/24 -j SNAT --to-source 192.168.48.131

    路由模型: 對虛擬網(wǎng)橋而言, 不做NAT轉換, 而是做路由功能.

    隔離模型: hypervisor中的虛擬網(wǎng)橋并沒有綁定到任何一個接口上.

    橋接模型: 將eth0(物理網(wǎng)卡作為交換機來使用), 通過橋接的方式來連接虛擬機和物理機.

    多路橋接模型:

    /etc/qemu-ifup

    #!/bin/bash switch=virbr0 if [ -n "$1" ];thenifconfig $1 upsleep 0.5brctl addif $switch $1exit 0 elseecho "Error: no specified interface."exit 1 fi

    開啟虛擬機網(wǎng)橋

    qemu-kvm -name "rhel5" -m 512 -smp 2 -drive file=/images/vm/centos.qcow2,if=virtio,index=0 -boot order=c -net nic,model=virtio -net tap,ifname=vnet0,downscript=no

    SDL: Simple DirectMedia Layer, C語言編寫的簡單的跨平臺的, 免費開源的多媒體程序庫. 操作系統(tǒng)硬件平臺的圖形,顯示, 聲音等.

    VNC: Virtual Network Computing: 基于RFB

    -vnc display的指定方式:

    1 . host:N 172.16.100.7:1, 偵聽于5900+N的端口上

    2 . unix: /path/to/socket_file

    3 . none 不啟動桌面

    ? option: password, 連接時需要驗證密碼, 設定密碼通過monitor接口使用change

    ? reverse: 反向

    ? change vnc password

    ? -monitor stdio 在標準輸入輸出上顯示monitor界面, 相當于alt+ctrl+2

    ? Ctrl-a, c: 在console和monitor之間切換

    ? Ctrl-a, h: 顯示幫助信息

    不做圖形顯示 -nographic

    qemu-img

    創(chuàng)建qcow2的磁盤鏡像文件

    qemu-img create -f qcow2 -o size=20G,preallocation=metadata /images/vm2/test.qcow2

    增加其大小

    qemu-img resize /images/vm2/test.qcow2 40G

    查看虛擬磁盤鏡像文件大小

    qemu-img info /images/vm2/test.qcow2

    鏡像文件類型進行轉換

    qemu-img convert -f qcow2 -O vmdk -o adapter_type=lsilogic test.qcow2 test.vmdk

    創(chuàng)建某一虛擬鏡像文件快照

    qemu-img snapshot -c test-1.snmp test.qcow2

    查看快照

    qemu-img snapshot -l test.qcow2

    應用快照

    qemu-img snapshot -a test-1.snap test.qcow2

    刪除快照

    qemu-img snapshot -d test-1.snap test.qcow2

    CirrOS

    In a CirrOS image, the login account is cirros. The password is cubswin:)

    qemu-kvm -name "cirros" -smp 2 -m 512 -drive file=/root/cirros-0.3.4-x86_64-disk.img,media=disk -net tap,ifname=vnet0,downscript=no -nographic

    ctrl+a ^c

    info cpus info status info tlb info vnc 使用info直接查看幫助文檔

    虛擬機遷移

    保持CPU架構相同.

    incoming的機制: 等待其他虛擬機實例遷移過來

    hb: qemu-kvm -incoming tcp:0:6767 (0表示允許任意主機)

    ha: monitor: migrate tcp:hb:6767

    ? -cpu host 可以將宿主機的cpu類型直接給虛擬機

    virtio

    通用于各種虛擬化技術的半虛擬化技術. linux內核從2.6.25起直接支持了virtio.通用框架, 提高io性能.

    建議創(chuàng)建網(wǎng)絡設備和磁盤設備的時候都使用virtio.

    Libvirt

    工具棧實現(xiàn)虛擬機管理

    安裝系統(tǒng): virt-manager, virt-install

    virsh不能安裝, 可以用于管理

    virsh

    yum -y install libvirt virt-manager virt-viewer python-virtinst

    查看幫助

    virsh help iface-bridge

    添加網(wǎng)橋

    virsh iface-bridge eth0 br0

    virsh可以運行在交互模式下

    顯示子類的幫助, 比如只顯示虛擬機的管理子命令

    vrish# help domain

    分組

    domain: 虛擬機域

    virt-install

    使用pxe引導安裝虛擬機

    virt-install -n "centos6" --vcpus 2 -r 512 -l http://192.168.48.130/cobbler/ks_mirror/centos-6.7-x86_64/ --disk /images/vm/centos6.qcow2,bus=virtio,size=120,sparse --network bridge=br0,model=virtio --nographics --force

    dump已有的xml配置文件

    virsh dumpxml centos >/etc/libvirt/qemu/cirros.xml

    創(chuàng)建cirros利用鏡像文件

    virsh create /etc/libvirt/qemu/cirros.xml --console

    RHEL 虛擬化包組

    Virtualization: qemu-kvm, qemu-guest-agent, qemu-kvm-tools

    Virtualization Client: python-virtinst, virt-manager, virt-viewer, virt-top

    Virtualization Platform: libvirt, libvirt-client, virt-who, virt-what

    Virtualization Tools: libguestfs

    ESXI

    hypervisor自身包含一個dom0. 混合模式的I/O驅動模型.

    各VMM對于I/O的驅動, 有三種模式:

    1 . 自主VMM, VMM自行提供驅動 (幾乎不存在)

    2 . 混合VMM, 借助于OS提供驅動.

    ? 依賴于外部OS(xen)

    ? 自我提供特權域(ESXI)

    3 . 寄宿式的VMM:

    I/O虛擬化模型:

    1 . 純模擬的方式實現(xiàn)

    2 . 半虛擬化

    3 . 透傳: 直接是用實際的物理設備.

    IOV, SR-IOV: 將一個物理硬件輪流分給多個虛擬機實例.

    ?

    ?

    ?

    補充:

    QEMU: 實現(xiàn)CPU跨平臺模擬

    VMM: VM monitor

    VM management: 虛擬機管理器

    ?

    ?

    ?

    ?

    ?

    ?

    [root@centos6 ~]# tail master_key Start Time: 1456729243Timeout : 300 (sec)Verify return code: 19 (self signed certificate in certificate chain) --- <html><body><h1>It works!</h1></body></html> <<< TLS 1.2 Alert [length 0002], warning close_notify01 00 closed >>> TLS 1.2 Alert [length 0002], warning close_notify01 00

    ?

    ?

    ?

    posted on 2016-12-22 20:01?孫大喜 閱讀(...) 評論(...) 編輯 收藏

    轉載于:https://www.cnblogs.com/sundaxi/p/6212653.html

    總結

    以上是生活随笔為你收集整理的虚拟化相关的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    精品一区久久 | 国产精品精品久久久久久 | 精品一区二区在线观看 | 日韩免费av在线 | 中文一区在线 | 精品国模一区二区三区 | 久久久视频在线 | 91视频麻豆视频 | 日韩 精品 一区 国产 麻豆 | av7777777| 91在线精品观看 | 精品国产成人av | 人人舔人人插 | 国内精品视频在线播放 | 国产精品成人一区二区三区吃奶 | 韩国视频一区二区三区 | 香蕉视频最新网址 | 久草在线免费看视频 | 又黄又爽又色无遮挡免费 | 最近2019好看的中文字幕免费 | 国产午夜在线 | 国产精品成人一区二区三区吃奶 | 麻豆精品在线 | 999国产在线 | 91人人干| 国产高清视频网 | 中文网丁香综合网 | 成人免费在线播放视频 | 99久久久国产精品免费99 | 日韩欧美69 | 中文字幕免 | 在线免费黄色片 | 亚洲高清激情 | 免费日韩一区二区三区 | 天天爱天天操天天射 | 在线亚洲午夜片av大片 | 97超碰人人澡人人爱学生 | 黄色亚洲片 | 日韩免费高清在线 | 国产一区视频在线观看免费 | 久久国语露脸国产精品电影 | 超碰在线亚洲 | av福利网址导航大全 | 五月天天色 | 欧美性春潮 | 中文字幕在线电影 | 男女精品久久 | 日批视频国产 | 久久久久区 | 国产精品久久久久一区 | 99精品区| 欧美在线观看视频免费 | 久久综合免费视频 | 久久精品99国产精品日本 | 国内三级在线 | 国产99久久精品 | www.xxxx变态.com | 97色噜噜 | 国产成人久久精品一区二区三区 | 亚洲国内精品在线 | 99在线精品视频 | 免费国产一区二区视频 | 欧美做受高潮1 | 99久免费精品视频在线观看 | 日韩欧美在线观看一区二区 | 激情欧美丁香 | 国产精品久久久久久久久久久久 | 亚洲综合视频在线 | 日韩中文字幕免费视频 | 欧美日韩一区二区免费在线观看 | 久久最新网址 | 中文字幕91视频 | 国产精品久久毛片 | 国产日韩欧美视频在线观看 | 在线视频日韩一区 | 偷拍精偷拍精品欧洲亚洲网站 | 天天综合网 天天综合色 | 久久与婷婷| 国产视频不卡 | 激情中文在线 | 97夜夜澡人人爽人人免费 | 六月色婷 | 欧美人人爱 | 精品一区二区免费在线观看 | 在线看片成人 | 久久深夜福利免费观看 | 国产美女被啪进深处喷白浆视频 | 久久草网站 | 韩国精品在线 | 久久九九久久九九 | 毛片精品免费在线观看 | 毛片美女网站 | 999热视频| 久草香蕉在线视频 | av网站免费看 | 不卡中文字幕av | 国产乱老熟视频网88av | 国产中文字幕在线 | 免费黄色网址大全 | 91在线网站| 国产一级做a | 日韩精品播放 | av电影av在线 | 99视频在线免费观看 | 天天摸天天干天天操天天射 | 丝袜一区在线 | 99中文字幕视频 | 久久无码av一区二区三区电影网 | 日本精品中文字幕 | 亚洲视频在线观看 | 亚洲黄色片在线 | 国产免费黄色 | 色噜噜狠狠狠狠色综合 | a在线观看视频 | 国产成人免费观看 | 一区二区三区免费看 | 中文字幕免费高清在线观看 | 国产精品一区二区三区视频免费 | 一区二区中文字幕在线观看 | 国产精品视频永久免费播放 | 欧美性高跟鞋xxxxhd | 99r在线观看| 久久一区二区三区超碰国产精品 | 最新午夜 | 久久精品综合视频 | 99久久99久久精品国产片果冰 | 中日韩三级视频 | 精品日韩在线 | 日韩精品一区二区在线视频 | 午夜精品电影一区二区在线 | 日韩精品五月天 | 97人人超碰在线 | 人人爽久久涩噜噜噜网站 | 在线观看精品视频 | 91香蕉亚洲精品 | 国产精品久久久久久69 | 中文字幕在线视频一区 | 日本精品午夜 | 日韩精品在线播放 | 91精品视频播放 | 四虎小视频 | 成人免费 在线播放 | 欧美日韩成人 | 久久超碰99 | 日韩精品1区2区 | 亚洲aⅴ在线观看 | 国产99久久久国产 | 久久久久免费视频 | 国产日韩精品在线 | 国产99精品在线观看 | 欧美性生活免费 | 天天操天天舔天天爽 | av福利在线免费观看 | 国产成人亚洲在线电影 | 成人午夜片av在线看 | 天天综合网入口 | 色偷偷88888欧美精品久久 | 超碰人人做 | 久久在线免费 | 六月丁香激情网 | 欧美一区二区在线免费看 | 日韩精品中文字幕在线不卡尤物 | 国产精品久久久久久久久久久久午夜 | 91av九色 | 久久久久久久久久影视 | 激情电影在线观看 | 国产精品久久久久久久久久99 | 在线看中文字幕 | 成年人在线观看网站 | 亚洲精品在线观看网站 | 二区精品视频 | 欧美动漫一区二区三区 | 在线www色| 久久99精品国产 | 激情久久婷婷 | 欧美久久久一区二区三区 | 特级西西444www大精品视频免费看 | 色 免费观看 | 精品久久久久久久久久久久久久久久 | 夜夜澡人模人人添人人看 | 日韩免费成人av | 国产精品www | 久久激情五月激情 | 亚洲精品综合欧美二区变态 | 国产成人精品国内自产拍免费看 | 中文字幕在线日亚洲9 | 欧美污在线观看 | 国产在线国偷精品产拍 | 深爱激情婷婷网 | 日韩一级电影网站 | 日本黄色一级电影 | wwxxxx日本 | 国产专区免费 | 日韩aⅴ视频 | 成人毛片100免费观看 | 日韩超碰| 99久久精品无免国产免费 | 成人在线免费观看网站 | 综合久久2023 | 人人爱人人添 | 亚洲动漫在线观看 | 成人久久综合 | 免费国产在线精品 | 国产区精品 | 中文字幕在线视频第一页 | 国产精品久久在线观看 | 国产精品毛片一区二区三区 | 最新中文字幕在线资源 | 国产精品久久久久一区二区国产 | 久久久久久久久久亚洲精品 | 婷婷香蕉 | 久久成人视屏 | 国产精品av久久久久久无 | 91精品啪在线观看国产线免费 | 国产看片网站 | 草在线| www.狠狠色| 国产91精品一区二区麻豆亚洲 | 日韩成人黄色 | 久久99久久99精品免视看婷婷 | 久久一区二区三区国产精品 | 一区二区三区手机在线观看 | 日韩三级视频在线观看 | 91人人网 | 亚洲一级片免费观看 | 亚洲精品视频第一页 | 中文字幕日本特黄aa毛片 | 99精品视频在线观看视频 | 成年人视频免费在线 | 亚洲欧美日韩精品一区二区 | 欧美亚洲国产精品久久高清浪潮 | 国产一级做a爱片久久毛片a | 黄色片网站大全 | 97超视频免费观看 | 欧美精品乱码久久久久久按摩 | 99夜色| 97视频免费| 日韩免费在线观看视频 | 色香网 | 成 人 黄 色 视频免费播放 | 免费看国产黄色 | 国产午夜精品久久 | 97成人在线视频 | 精品国产免费一区二区三区五区 | 免费在线成人 | 天天天色 | 天天草天天干 | 久久九九视频 | 三级动图 | 成人一级视频在线观看 | 黄色国产精品 | 日韩欧美高清一区二区 | 麻豆久久精品 | 免费网站观看www在线观看 | 蜜桃视频在线观看一区 | 午夜精品福利一区二区 | 日韩欧美电影在线 | 免费福利小视频 | 久草在线免费看视频 | 久草网在线| 99热在线精品观看 | 国产精品一区二区果冻传媒 | 国产精品都在这里 | 久久成人国产精品入口 | 欧美精品一二 | 国产精品永久免费观看 | 国产一二区视频 | 日韩免费一区 | 亚洲va男人天堂 | www.夜夜干.com| 国产黄色在线网站 | 在线观看亚洲精品 | 国产精品永久久久久久久www | 综合精品久久久 | 国产中文字幕视频在线 | 在线亚洲成人 | 91看毛片 | 久久伦理电影网 | 欧美激情精品久久久久久免费 | 精品视频专区 | 99在线观看免费视频精品观看 | 国产无遮挡又黄又爽在线观看 | 毛片网免费| 偷拍久久久 | 日本久久免费视频 | 一区二区三区播放 | 久久激情综合 | 亚色视频在线观看 | 嫩模bbw搡bbbb搡bbbb | 亚洲午夜精品福利 | 久久香蕉国产精品麻豆粉嫩av | 成年人免费av网站 | 精品电影一区 | 在线看成人片 | 欧美黑人性猛交 | 激情视频综合网 | 在线免费观看欧美日韩 | 精品少妇一区二区三区在线 | 天天操天天干天天操天天干 | 欧洲在线免费视频 | 日韩视频免费观看高清 | 97在线看| 免费在线观看国产精品 | 日日婷婷夜日日天干 | 日日骑 | 国产成人精品免高潮在线观看 | 狠狠狠狠狠色综合 | 日韩中文字幕在线看 | 欧美专区国产专区 | 亚洲精品久久视频 | 久久噜噜少妇网站 | 三上悠亚一区二区在线观看 | a极黄色片 | 日韩精品免费一区二区三区 | av片免费播放 | 日本中文字幕系列 | 日韩精品一卡 | 久久tv视频 | 国产成人精品在线播放 | 国内外成人在线视频 | 免费成人av网站 | 久久国产免 | 日韩欧美电影在线 | 精品国产福利在线 | 国产一二区视频 | 手机看片99 | 国产一区二区久久 | 日韩一区精品 | 婷婷精品国产欧美精品亚洲人人爽 | 99九九视频 | 精品福利国产 | 在线a亚洲视频播放在线观看 | 久草精品资源 | 色综合天天综合 | 中文字幕在线视频免费播放 | 久久久国产电影 | 国产一卡二卡四卡国 | 蜜臀av麻豆 | 成人小视频在线免费观看 | 麻豆视频免费播放 | 久久久久久久精 | 中文字幕二区在线观看 | 看毛片网站 | 久久久精品网 | 欧美日韩精品在线观看 | 成人国产精品 | 亚洲精品观看 | 国产手机在线精品 | 久久久高清视频 | 91精品对白一区国产伦 | 最新av在线免费观看 | 天天婷婷| 天天操综合网站 | 精品免费观看视频 | 国产精品久久久久久久久久尿 | 精品国产三级 | 日韩精品免费一区二区在线观看 | 日本黄色免费网站 | 91理论片午午伦夜理片久久 | 色综合天天干 | 婷婷午夜激情 | 人人干人人做 | 亚洲视频一区二区三区在线观看 | 亚洲成人精品av | 国产999视频 | 性色av免费观看 | 中文字幕 国产 一区 | 一本一本久久a久久精品综合小说 | 99在线视频播放 | 国产精品一区二区白浆 | 久99久精品视频免费观看 | 国产99久久精品一区二区300 | 日韩精品亚洲专区在线观看 | 免费观看第二部31集 | 国产精品一区二区视频 | 午夜久久久久 | 欧美久久久影院 | av在线播放不卡 | 黄色av电影在线观看 | 亚洲一二三久久 | 丁香久久久 | 日本一区二区免费在线观看 | 免费看三级网站 | 99电影456麻豆 | 亚洲激情六月 | 精品一区三区 | 欧美a影视| 麻豆视频在线免费看 | 国产成人一区二区三区在线观看 | 欧美成年人在线观看 | 日韩在线网址 | 激情久久久久 | 麻豆视频网址 | 亚洲干| 91av视频在线观看 | 免费的黄色av | 天天爱天天色 | 日日爽天天操 | 亚洲欧美成人在线 | 国产在线不卡一区 | 国产精品美女网站 | 亚洲aⅴ一区二区三区 | 毛片网站在线 | 国产精品 日韩精品 | 久久精品国产亚洲精品2020 | 亚洲美女在线国产 | 成人在线播放av | 国内精品久久久久久 | 久久免费av电影 | 国产一区二区精品在线 | 女人高潮一级片 | 色99色| 国产一级性生活视频 | 你操综合 | 日韩视频二区 | 日本成人免费在线观看 | 色国产在线| 国产亚洲精品久 | 久久久久久久久黄色 | 亚洲一二三久久 | www国产亚洲 | 欧美aⅴ在线观看 | 久草在线视频在线观看 | 亚州欧美视频 | 免费网站污 | 97网| 69国产盗摄一区二区三区五区 | 中文字幕一区二区三区乱码在线 | 久久影院中文字幕 | 九九欧美视频 | 一本—道久久a久久精品蜜桃 | 九月婷婷综合网 | 在线观看日韩中文字幕 | www.干| 在线播放 一区 | 日本在线精品视频 | 黄色99视频 | 91麻豆精品国产自产在线 | 久草电影免费在线观看 | 亚洲精品综合一二三区在线观看 | 免费福利片 | 午夜精品一区二区三区在线播放 | 狠狠操综合网 | 一区二区三区久久 | 亚洲砖区区免费 | 日韩午夜av | 国产主播大尺度精品福利免费 | 国产免费国产 | 天天色官网 | 欧美午夜精品久久久久久浪潮 | 天堂av高清 | www.玖玖玖| 精品一二三区视频 | 国色天香av | 四虎在线观看网址 | 亚洲深夜影院 | 99热在线这里只有精品 | 人人干人人艹 | 国产区免费在线 | av黄色免费在线观看 | 最近更新好看的中文字幕 | 韩国av三级 | 在线成人免费av | 国产日本高清 | 亚洲精品在线资源 | 国产黄网站在线观看 | 精品久久久精品 | 青春草视频在线播放 | 91在线免费看片 | 在线观看免费一级片 | 国产精品久久久久久电影 | 日本中文字幕在线播放 | 99久久精品午夜一区二区小说 | 日本aaaa级毛片在线看 | 最近中文字幕完整高清 | 久久精品之 | 欧美性久久久 | 一区中文字幕在线观看 | 久久久国产精品麻豆 | 六月色丁 | 欧美成人日韩 | 极品国产91在线网站 | 欧美最猛性xxxxx(亚洲精品) | 国产黄在线看 | 亚洲国产日韩精品 | 国内精品久久久久影院优 | 免费亚洲视频在线观看 | 国产成人久久精品 | 国产精品一区免费观看 | 国产色在线,com | 亚洲精品免费在线观看 | 8x成人免费视频 | 啪啪免费观看网站 | 亚洲毛片一区二区三区 | 久久婷亚洲五月一区天天躁 | 丝袜少妇在线 | 人人干人人添 | 成人亚洲免费 | 四虎国产 | 又爽又黄又无遮挡网站动态图 | 亚洲最新av在线网址 | 国产高清免费在线观看 | 久久综合99 | 日韩精品在线免费播放 | 亚洲人久久久 | 国产一级一片免费播放放 | 成人国产精品 | 成人超碰97 | 亚洲精选视频免费看 | 麻豆精品传媒视频 | 免费韩国av | 在线 国产一区 | 欧美另类z0zx| 欧美一级艳片视频免费观看 | 丝袜美腿在线 | 欧美极品在线播放 | 麻花豆传媒mv在线观看 | 国产精品久久久久久久久久免费看 | 国产一区在线精品 | 成人一级在线 | 99精品在线视频观看 | 国产精品成人国产乱 | 日韩在线观看中文字幕 | 欧美日韩午夜爽爽 | 一区二区三区在线不卡 | 久久福利剧场 | 国产精品入口66mio女同 | 日本性xxx| 欧美日本不卡 | 婷婷日韩 | 亚洲精品久久久久久久不卡四虎 | 久久天天躁夜夜躁狠狠85麻豆 | 国产精品久久久久久久久蜜臀 | 成人一区二区在线观看 | 免费亚洲精品 | 黄色美女免费网站 | 最近最新中文字幕视频 | 国产成人精品亚洲精品 | 91尤物国产尤物福利在线播放 | 人人澡超碰碰97碰碰碰软件 | 国产美女精彩久久 | www.91av在线| 91av原创 | 日韩免费视频在线观看 | 中文字幕黄色网 | 久久久黄视频 | 91激情| 精品久久久久_ | 免费观看久久久 | 精产嫩模国品一二三区 | 2023亚洲精品国偷拍自产在线 | 天天狠狠操| 亚洲国产成人久久 | 国产日韩一区在线 | 不卡电影免费在线播放一区 | 911香蕉视频 | 国产96av| 精品国产视频一区 | 999久久久国产精品 高清av免费观看 | 色99久久 | 色婷婷欧美 | 在线香蕉视频 | 色久综合 | 男女激情网址 | 欧美二区三区91 | www视频在线免费观看 | 日韩日韩日韩日韩 | 国产黄色成人 | 97超碰人人干 | 亚洲女欲精品久久久久久久18 | av女优中文字幕在线观看 | 亚洲国产免费看 | 久章操| 欧美日韩亚洲在线观看 | 国产资源免费在线观看 | 麻豆视频在线观看免费 | www.成人sex | 国产福利免费在线观看 | 欧美国产日韩在线视频 | 国产精品成人品 | 色欲综合视频天天天 | 免费在线观看国产精品 | 久久国产精品成人免费浪潮 | 中文字幕在线免费97 | 激情久久一区二区三区 | 国产一区视频免费在线观看 | 久久蜜臀一区二区三区av | 国产精品久久婷婷六月丁香 | 99精品久久久 | 免费看的黄色 | 色吊丝在线永久观看最新版本 | 一区二区精品视频 | 欧美国产精品一区二区 | 精品毛片一区二区免费看 | 成人wwwxxx视频 | 激情婷婷综合 | 久操视频在线免费看 | 99产精品成人啪免费网站 | 久久久免费在线观看 | 亚洲午夜久久久久久久久电影网 | 黄色片网站大全 | 国产九色视频在线观看 | 在线观看91精品国产网站 | 久久久视屏| 成人av午夜 | 99热精品免费观看 | 久久精品8 | 99久久精品免费 | 五月婷婷在线观看视频 | 97超碰国产在线 | 亚洲精品综合在线 | 欧美日韩中文另类 | 综合色亚洲 | 欧美韩国日本在线 | www欧美色| 国产美女主播精品一区二区三区 | 久久国内精品视频 | 在线中文字幕播放 | 久久国产精品99精国产 | 天天干天天做天天爱 | 久久免费视频观看 | 婷婷久久网站 | 中文视频一区二区 | 亚洲电影久久久 | 免费观看一级 | 久久久精品高清 | 五月婷婷.com | 亚洲国产成人精品在线观看 | 成人久久18免费网站图片 | 日韩成人看片 | av三级在线看 | 伊人看片| 亚洲伦理中文字幕 | 国产精品中文久久久久久久 | 黄色录像av | 精品国产成人在线 | 精品国产综合区久久久久久 | 精品久久精品久久 | 91精品视频在线观看免费 | 在线看毛片网站 | 超碰97人人在线 | 免费大片黄在线 | 免费av一级电影 | 少妇av片 | 国产精品久久二区 | 五月天堂网 | 天天干天天想 | 肉色欧美久久久久久久免费看 | 人人爽久久涩噜噜噜网站 | 狠狠色狠狠色终合网 | 插插插色综合 | 久草免费福利在线观看 | 亚洲综合黄色 | 免费看片日韩 | 中文字幕麻豆 | 久久精品黄色 | 九色精品免费永久在线 | 91麻豆精品国产91久久久久久 | 天堂黄色片 | 人人干人人搞 | 国产视频精品视频 | 天天干天天干 | 日韩精品久久中文字幕 | 国产黄网在线 | 精品国产一区二区三区四 | 精品国产区在线 | 国产一级淫片在线观看 | 曰本三级在线 | 亚洲美女免费精品视频在线观看 | 91精品久久久久久久久久入口 | 欧美地下肉体性派对 | 黄网站免费看 | 午夜国产一区二区 | av噜噜噜在线播放 | bbw av | 国产一级做a爱片久久毛片a | 精品福利视频在线观看 | 久久精品一区二区国产 | 久久99久国产精品黄毛片入口 | 欧美日韩国产精品一区二区三区 | 欧美日bb | 国产成人99av超碰超爽 | 狠狠操综合网 | 婷婷电影网 | 国产精品视频久久久 | 久久国产精品久久久久 | 91在线免费观看国产 | 国产成人精品不卡 | 在线观看 国产 | 免费看在线看www777 | 日本在线观看一区 | 成人作爱视频 | 日韩综合精品 | 操久久网| 久久线视频 | japanesexxxxfreehd乱熟| 天天草视频 | 99久久精品国产亚洲 | 91视频91色 | 成人a毛片 | 亚洲电影久久久 | 国产精品美女久久久久久 | 日韩国产高清在线 | 欧美日韩国产一二 | 久久久免费少妇 | 日韩av成人免费看 | av丝袜制服 | 久久免费a| av天天澡天天爽天天av | 日韩欧美在线综合网 | 色综合五月 | 久久免费公开视频 | 中文成人字幕 | 91理论电影 | 免费黄色小网站 | 精品国产三级 | 日日爽视频 | 精品免费久久久久 | 日韩和的一区二在线 | 日韩网站免费观看 | 免费av观看网站 | 国产香蕉久久精品综合网 | 99精品国产高清在线观看 | 毛片在线播放网址 | 色九九视频 | 欧美久久久久 | 九九国产精品视频 | 国产精品美女久久久免费 | 亚洲国产97在线精品一区 | 久久久电影 | 天天色天天射综合网 | 日韩欧美国产免费播放 | 国产区精品区 | 99国产精品久久久久久久久久 | www.香蕉视频| 91精品国产麻豆国产自产影视 | 欧美久久综合 | 久久国产午夜精品理论片最新版本 | 久久夜夜爽 | 色a资源在线| 精品一区二区6 | 亚洲国产中文字幕 | 日韩欧美极品 | 亚洲aⅴ免费在线观看 | 亚洲黄色app| 激情综合网五月 | 日本中文不卡 | 一区二区 不卡 | 亚洲爱爱视频 | 九九免费视频 | 深爱综合网 | 国产精品系列在线播放 | 免费在线观看一区二区三区 | 久久精品观看 | 久久精品久久99 | 色橹橹欧美在线观看视频高清 | 色婷婷九月 | 日韩欧美精品在线视频 | 午夜久久福利视频 | 久久夜色精品国产欧美乱极品 | 亚洲精品66 | 成人欧美一区二区三区在线观看 | 在线国产福利 | 日韩一级片网址 | 亚洲国产精品va在线看黑人 | 久久精品视频日本 | 嫩模bbw搡bbbb搡bbbb | 久久视频热| 日韩精品一区二区在线 | 国产免费区 | 国产在线精品一区二区三区 | 成人久久综合 | 色婷婷综合久久久中文字幕 | 亚洲精品免费观看 | 国产精品ssss在线亚洲 | 波多野结衣亚洲一区二区 | 伊人婷婷综合 | 亚洲国产人午在线一二区 | 精品1区2区3区 | 亚洲在线观看av | 成人资源在线 | 国产一区免费观看 | 99热精品视 | av爱干 | 国产欧美精品在线观看 | 丁香网婷婷 | 在线91色| 亚洲狠狠| 亚洲视频专区在线 | 国产区欧美 | 免费三及片| 91精品在线播放 | 丁香婷婷色月天 | 不卡av在线| 黄色特一级片 | 免费在线视频一区二区 | 精品一区二区在线免费观看 | 黄色日视频| 91久久精 | 国产精品12 | 欧美精品在线观看免费 | 亚洲精品人人 | 色天天综合久久久久综合片 | www.干| 精品国产免费一区二区三区五区 | 国产小视频你懂的在线 | 99久久精品无码一区二区毛片 | 精品亚洲男同gayvideo网站 | 狠狠操狠狠| 中文字幕在线日 | 天天综合成人 | 亚洲精品乱码久久久久久久久久 | 色综合天天视频在线观看 | 人人爽人人干 | 99精品视频播放 | 午夜精品三区 | 精品福利视频在线观看 | 久久精品99久久久久久 | 国产精品一区二区三区电影 | 国产视频精品在线 | 亚洲综合视频在线播放 | 亚洲综合五月天 | 成人久久电影 | 超级av在线| 超碰在线公开 | 久久国产午夜精品理论片最新版本 | 婷婷九月激情 | 97视频免费在线观看 | 国产手机视频在线播放 | 伊人狠狠色丁香婷婷综合 | 国产精品久久久久久爽爽爽 | 天天色天天操综合网 | 99热九九这里只有精品10 | 麻豆国产精品永久免费视频 | 91自拍视频在线 | 欧美 日韩 性 | 国产视频亚洲精品 | 人人草在线视频 | 国产高清无线码2021 | 亚洲视频免费在线看 | 成人国产一区 | 中文在线a√在线 | 97精品免费视频 | 久久久久久久久毛片精品 | 久草视频免费播放 | 亚洲国产免费看 | 婷婷丁香六月天 | 国产小视频在线看 | 精品1区2区3区 | 伊人午夜 | 中文字幕在线一二 | 精品国产福利在线 | 欧美三级在线播放 | 97超碰资源总站 | 97成人在线免费视频 | 国产一二区视频 | 一区二区久久久久 | 国产成人亚洲在线观看 | av成人在线播放 | 色网站在线免费观看 | 亚洲视频免费视频 | 久久五月婷婷丁香社区 | 亚洲精品国偷拍自产在线观看蜜桃 | 在线免费av网 | 99精品国产一区二区 | 亚洲涩涩涩涩涩涩 | 亚洲精品看片 | 国产免费又爽又刺激在线观看 | 国产精品第2页 | 中国一级片免费看 | 日韩高清网站 | 欧美地下肉体性派对 | 国产日韩精品一区二区在线观看播放 | 97精品国产91久久久久久久 | 欧美精品在线视频 | 免费在线黄色av | av在线免费播放网站 | 久久久免费高清视频 | 九色精品免费永久在线 | 中文字幕在线看片 | 亚洲午夜久久久久久久久久久 | 国产毛片在线 | 天天操网 | 玖玖爱在线观看 | 精品国产免费人成在线观看 | av大片免费在线观看 | 四虎精品成人免费网站 | 天天干,天天操,天天射 | av+在线播放在线播放 | 激情综合亚洲 | 亚洲一级免费电影 | 亚洲国产成人在线播放 | 久久久久日本精品一区二区三区 | 久久久这里有精品 | 成人在线免费看 | 成人亚洲欧美 | 韩国精品一区二区三区六区色诱 | 中文字幕一区二区三区在线视频 | 天天色天天骑天天射 | 午夜精品电影一区二区在线 | 91在线影院 | 999久久精品| 久久免费激情视频 | 精品五月天 | 精品一区二区6 | 99精品国产99久久久久久97 | 日韩高清三区 | 亚洲一级久久 | 欧美大片在线看免费观看 | av免费播放 | 99精品在线视频播放 | 特级片免费看 | 国产成人精品综合久久久 | 国产成人精品999在线观看 | 国产视频资源 | 99精品视频在线观看 | 国产精品尤物视频 | 97成人资源站 | 欧美一区二区三区免费观看 | 日本韩国精品一区二区在线观看 | 91成人精品一区在线播放69 | 欧美成人一二区 | 国产精品99久久久久久久久 | 亚洲激情视频在线 | 久久人人爽 | 国产精品完整版 | 波多野结衣精品视频 | 久草综合视频 | 黄色三级久久 | 亚洲免费精品视频 | 久久躁日日躁aaaaxxxx | 毛片的网址 | 日韩精品一区二区三区视频播放 | 国产精品一区二区三区在线看 | 最新免费中文字幕 | 波多野结衣亚洲一区二区 | 免费视频资源 | 久久久精品影视 | 久久99精品国产麻豆宅宅 | 精品uu| 日韩av黄 | 久草久热 | 美女精品在线 | 91精品视频在线 | 黄网站app在线观看免费视频 | 日本在线成人 | 在线观看视频亚洲 | 51久久成人国产精品麻豆 | 久草网站在线观看 | 国产精品久久伊人 | 久久毛片视频 | 久久97精品 | 亚洲综合色视频 | 99精品小视频 | 69视频网站 | 久久无码av一区二区三区电影网 | 波多野结衣网址 | 亚洲国产欧美在线人成大黄瓜 | 久久久一本精品99久久精品66 | 欧美一级久久久久 | 色综合天天狠天天透天天伊人 | 在线观看免费黄视频 | 韩国在线视频一区 | 成人久久亚洲 | 国产三级视频在线 | 免费十分钟 | 欧美日韩二区三区 | 香蕉视频在线视频 | 欧美另类高清 videos | 97精品国产91久久久久久久 | 久久久久高清 | 怡春院av | 日韩高清一 | 国内少妇自拍视频一区 | 亚洲成人午夜av | 国产成人亚洲在线电影 | 色综合久久久久综合体 | 成人高清在线 | 久久成人国产精品一区二区 | 日韩一级电影在线 | 精品99在线视频 | 久久成电影 | 精品久久久久久国产91 | 久久久久人人 | 超碰97在线看 | 手机看片国产 | 亚洲在线视频播放 | 成人在线网站观看 | 国产欧美在线一区二区三区 | 免费日韩在线 | 免费的黄色av | 少妇超碰在线 | 日韩中文在线视频 | 高清av影院| 亚洲性少妇性猛交wwww乱大交 | 高潮久久久久久 | 日韩大片在线免费观看 | 国产又黄又爽无遮挡 |