<output id="upvr5"><legend id="upvr5"><var id="upvr5"></var></legend></output>
  • <p id="upvr5"></p>

    <track id="upvr5"><ruby id="upvr5"></ruby></track>
    1. <p id="upvr5"></p>

    2. <td id="upvr5"><option id="upvr5"></option></td><table id="upvr5"></table>
    3. <li id="upvr5"></li>
    4. <track id="upvr5"></track>
    5. 安全產品
    6. 當前位置 : 首頁 > 安全產品
    7. 深信服超融合架構
    8. 添加時間:2016-11-04 / 瀏覽:5368

    9. 深信服

      超融合架構

      技術白皮書



      1 前言

      1.1 IT時代的變革

      20 世紀 90 年代,隨著 Windows 的廣泛使用及 Linux 服務器操作系統的出現奠定了 x86服務器的行業標準地位,然而 x86 服務器部署的增長帶來了新的 IT 基礎架構和運作難題,包括:基礎架構利用率低、物理基礎架構成本日益攀升、IT 管理成本不斷提高以及對關鍵應用故障和災難保護不足等問題。隨著X86 服務器性能的提升,通過將 x86 系統轉變成通用的共享硬件基礎架構,充分挖掘硬件的潛力,提高硬件的利用效率,有效的降低硬件和運營成本,并且簡化運維降低管理成本,最終幫助用戶把更多的時間和成本轉移到對業務的投入上。

      隨著云計算和虛擬化技術向構建新一代數據中心方向發展,關鍵以虛擬化為基礎,實現管理以及業務的集中,對數據中心資源進行動態調整和分配,重點滿足企業關鍵應用向X86 系統遷移對于資源高性能、高可靠、安全性和高可適應性上的要求,同時提高基礎架構的自動化管理水平,確保滿足基礎設施快速適應業務的商業訴求,支持企業應用云化部署。

      云計算其實并不是一種新的技術,而是在一個新理念的驅動下產生的技術組合。在云計算之前,企業部署一套服務,需要經歷組網規劃,容量規劃,設備選型,下單,付款,發貨,運輸,安裝,部署,調試的整個完整過程。這個周期在大型項目中需要以周甚至月來計算。在引入云計算后,這整個周期縮短到以分鐘來計算。

      IT 業有一條摩爾定律,芯片速度容量每 18 個月提升一倍。同時, IT 行業還有一條反摩爾定律,所有無法追隨摩爾定律的廠家將被淘汰。 IT 行業是快魚吃慢魚的行業,使用云計算可以提升 IT 設施供給效率,不使用則會拖慢產品或服務的擴張腳步,一步慢步步慢。

      我們現在正處于一場幾十年未見的企業級數據中心革命性轉變中,究其核心,這一轉變是由“軟件”基礎設施的崛起而驅動。虛擬機、虛擬網絡和存儲設備能夠以高速自動化的方式分配與重新配置,不會受到非動態設置的硬件基礎設施的限制,在“軟件定義數據中心”的模型下,用戶首先考慮的是應用,根據應用的模式便可靈活的調配其所需的IT基礎架構資源,也就是通過軟件化的方式實現硬件資源調配。

      深信服的超融合架構是軟件定義數據中心下的一套非常成熟的解決方案,除滿足上面所述的虛擬化,標準化和自動化訴求外,秉承深信服公司產品的優秀基因,向您提供簡單易用,安全可靠的產品。

      1.2 白皮書總覽

      本書介紹的內容大致如下:

      第一章、在前言部分,給您對云計算,云平臺有一個概括性的認識,并對本文檔的閱讀給出指導。

      第二章、講述超融合架構中的主要功能模塊,各個功能模塊的技術細節介紹。

      第三章、介紹深信服超融合架構涵蓋的產品。

      第三章、向您介紹深信服超融合架構中的技術在為客戶帶來的核心價值。

      第四章、分享超融合架構在客戶中的實際應用場景,并給出深信服超融合架構產品的體驗途徑,非常歡迎您來試用。

      2 深信服超融合技術架構

      2.1 超融合架構概述

      2.1.1 超融合架構的定義

      超融合基礎架構,是一種將計算、網絡和存儲等資源作為基本組成元素,根據系統需求進行選擇和預定義的一種技術架構,具體實現方式上一般是指在同一套單元節點(x86服務器)中融入軟件虛擬化技術(包括計算、網絡、存儲、安全等虛擬化),而每一套單元節點可以通過網絡聚合起來,實現模塊化的無縫橫向擴展(scale-out),構建統一的資源池。

      2.2 深信服超融合架構組成模塊

      2.2.1 系統總體架構


      深信服超融合架構圖

      深信服超融合架構在基于底層基礎架構(標準的X86硬件)上將計算、存儲、網絡、安全軟件化,通過這種軟件化的方式,即計算虛擬化aSV、存儲虛擬化aSAN、網絡虛擬化aNet,構建了數據中心里所需的最小資源單元,通過資源池中的最小單元,提供了數據中心IT基礎架構中所需的全部資源。

      后續章節,會針對超融合架構中的三大功能模塊:aSV、aSAN、aNet所涵蓋的產品技術來做詳細說明。

      2.3 aSV計算虛擬化平臺

      2.3.1 概述

      計算資源虛擬化技術就是將通用的 x86 服務器經過虛擬化軟件,對最終用戶呈現標準的虛擬機。這些虛擬機就像同一個廠家生產的系列化的產品一樣,具備系列化的硬件配置,使用相同的驅動程序。

      虛擬機的定義: 虛擬機 (Virtual Machine) 是由虛擬化層提供的高效、獨立的虛擬計算機系統,每臺虛擬機都是一個完整的系統,它具有處理器、內存、網絡設備、存儲設備和BIOS,因此操作系統和應用程序在虛擬機中的運行方式與它們在物理服務器上的運行方式沒有什么區別。

      虛擬機與物理服務器相比:虛擬機不是由真實的電子元件組成,而是由一組虛擬組件(文件)組成,這些虛擬組件與物理服務器的硬件配置無關,關鍵與物理服務器相比,虛擬機具有以下優勢:

      抽象解耦

      1.可在任何 X86 架構的服務器上運行;

      2.上層應用操作系統不需修改即可運行;

      分區隔離

      1.可與其他虛擬機同時運行;

      2.實現數據處理、網絡連接和數據存儲的安全隔離;

      封裝移動

      1.可封裝于文件之中,通過簡單的文件復制實現快速部署、備份及還原;

      2.可便捷地將整個系統(包括虛擬硬件、操作系統和配置好的應用程序)在不同的物理服務器之間進行遷移,甚至可以在虛擬機正在運行的情況下進行遷移;

      深信服的超融合架構解決方案中的計算虛擬化采用aSV虛擬化系統,通過將服務器資源虛擬化為多臺虛擬機。最終用戶可以在這些虛擬機上安裝各種軟件,掛載磁盤,調整配置,調整網絡,就像普通的 x86 服務器一樣使用它。

      計算虛擬化是超融合的架構中必不可少的關鍵因素,對于最終用戶,虛擬機比物理機的優勢在于它可以很快速的發放,很方便的調整配置和組網。對于維護人員來講,虛擬機復用了硬件,這樣硬件更少加上云平臺的自動維護能力,這樣整個IT系統的成本顯著降低。

      2.3.2 aSV技術原理

      2.3.2.1 Hypervisor架構


      Hypervisor是一種運行在物理服務器和操作系統之間的中間軟件層,可允許多個操作系統和應用共享一套基礎物理硬件,因此也可以看作是虛擬環境中的“元”操作系統,它可以協調訪問服務器上的所有物理設備和虛擬機,也叫虛擬機監視器(Virtual Machine Monitor)。

      Hypervisor是所有虛擬化技術的核心。非中斷地支持多工作負載遷移的能力是Hypervisor的基本功能。當服務器啟動并執行Hypervisor時,它會給每一臺虛擬機分配適量的內存、CPU、網絡和磁盤,并加載所有虛擬機的客戶操作系統。


      虛擬化技術架構

      Hypervisor,常見的 Hypervisor 分兩類:

      Type-I(裸金屬型)

      指 VMM 直接運作在裸機上,使用和管理底層的硬件資源,GuestOS 對真實硬件資源的訪問都要通過 VMM 來完成,作為底層硬件的直接操作者,VMM 擁有硬件的驅動程序。裸金屬虛擬化中Hypervisor直接管理調用硬件資源,不需要底層操作系統,也可以理解為Hypervisor被做成了一個很薄的操作系統。這種方案的性能處于主機虛擬化與操作系統虛擬化之間。代表是VMware ESX Server、Citrix XenServer和Microsoft Hyper-V,Linux KVM。

      Type-II 型(宿主型)

      指 VMM 之下還有一層宿主操作系統,由于 Guest OS 對硬件的訪問必須經過宿主操作系統,因而帶來了額外的性能開銷,但可充分利用宿主操作系統提供的設備驅動和底層服務來進行內存管理、進程調度和資源管理等。主機虛擬化中VM的應用程序調用硬件資源時需要經過:VM內核->Hypervisor->主機內核,導致性能是三種虛擬化技術中最差的。主機虛擬化技術代表是VMware Server(GSX)、Workstation和Microsoft Virtual PC、Virtual Server等。

      由于主機型Hypervisor的效率問題,深信服的aSV采用了裸機型Hypervisor中的Linux KVM虛擬化,即為Type-I(裸金屬型)。

      KVM(Kenerl-based Virtual Machine)是基于linux內核虛擬化技術,自linux2.6.20之后就集成在linux的各個主要發行版本中。它使用linux自身的調度器進行管理,所以相對于xen,其核心源碼很少。

      KVM是基于硬件虛擬化擴展(Intel VT- X )和 QEMU 的修改版,KVM屬于Linux kernel的一個模塊,可以用命令modprobe去加載KVM模塊。加載了該模塊后,才能進一步通過工具創建虛擬機。但是僅有KVM模塊是不夠的。因為用戶無法直接控制內核去做事情,還必須有一個運行在用戶空間的工具才行。這個用戶空間的工具,我們選擇了已經成型的開源虛擬化軟件QEMU,QEMU也是一個虛擬化軟件,它的特點是可虛擬不同的CPU,比如說在x86的CPU上可虛擬一個power的CPU,并可利用它編譯出可運行在power上的CPU,并可利用它編譯出可運行在power上的程序。KVM使用了QEMU的一部分,并稍加改造,就成了可控制KVM的用戶空間工具了。這就是KVM和QEMU 的關系。如下圖:


      一個普通的linux進程有兩種運行模式:內核和用戶。而KVM增加了第三種模式:客戶模式(有自己的內核和用戶模式)。在kvm模型中,每一個虛擬機都是由linux調度程序管理的標準進程。

      總體來說,kvm由兩個部分組成:一個是管理虛擬硬件的設備驅動,該驅動使用字符設備/dev/kvm作為管理接口;另一個是模擬PC硬件的用戶空間組件,這是一個稍作修改的qemu進程。

      同時,aSV采用KVM優勢有:

      ? 嵌入到Linux正式Kernel(提高兼容性)

      ? 代碼級資源調用(提高性能)

      ? 虛擬機就是一個進程(內存易于管理)

      ? 直接支持NUMA技術(提高擴展性)

      ? 保持開源發展模式(強大的社區支持)


      2.3.2.2 aSV的Hypervisor實現

      VMM (Virtual Machine Monitor)對物理資源的虛擬可以劃分為三個部分:CPU 虛擬化、內存虛擬化和 I/O 設備虛擬化,其中以 CPU 的虛擬化最為關鍵。

      經典的虛擬化方法: 現代計算機體系結構一般至少有兩個特權級(即用戶態和核心態,x86 有四個特權級Ring0~ Ring3)用來分隔系統軟件和應用軟件。那些只能在處理器的最高特權級(內核態)執行的指令稱之為特權指令,一般可讀寫系統關鍵資源的指令(即敏感指令)決大多數都是特權指令(X86 存在若干敏感指令是非特權指令的情況)。如果執行特權指令時處理器的狀態不在內核態,通常會引發一個異常而交由系統軟件來處理這個非法訪問(陷入)。經典的虛擬化方法就是使用“特權解除”和“陷入-模擬”的方式,即將 GuestOS 運行在非特權級,而將 VMM 運行于最高特權級(完全控制系統資源)。解除了 GuestOS 的特權級后,Guest OS 的大部分指令仍可以在硬件上直接運行,只有執行到特權指令時,才會陷入到 VMM 模擬執行(陷入-模擬)?!跋萑?模擬” 的本質是保證可能影響VMM 正確運行的指令由 VMM 模擬執行,大部分的非敏感指令還是照常運行。

      因為 X86 指令集中有若干條指令是需要被 VMM 捕獲的敏感指令,但是卻不是特權指令(稱為臨界指令),因此“特權解除”并不能導致他們發生陷入模擬,執行它們不會發生自動的“陷入”而被 VMM 捕獲,從而阻礙了指令的虛擬化,這也稱之為X86 的虛擬化漏洞。

      X86架構虛擬化的實現方式可分為:

      1、X86“全虛擬化”(指所抽象的 VM 具有完全的物理機特性,OS 在其上運行不需要任何修改)Full 派秉承無需修改直接運行的理念,對“運行時監測,捕捉后模擬”的過程進行優化。該派內部之實現又有些差別,其中以 VMWare 為代表的基于二進制翻譯 (BT) 的全虛擬化為代表, 其主要思想是在執行時將 VM 上執行的 Guest OS 指令,翻譯成 x86 指令集的一個子集,其中的敏感指令被替換成陷入指令。翻譯過程與指令執行交叉進行,不含敏感指令的用戶態程序可以不經翻譯直接執行。

      2、X86“半虛擬化”(指需 OS 協助的虛擬化,在其上運行的 OS 需要修改)半虛擬化的基本思想是通過修改 Guest OS 的代碼,將含有敏感指令的操作,替換為對 VMM的超調用 Hypercall,類似 OS 的系統調用,將控制權轉移到 VMM,該技術因 VMM 項目而廣為人知。該技術的優勢在于 VM 的性能能接近于物理機,缺點在于需要修改 GuestOS(如:Windows 不支持修改)及增加的維護成本,關鍵修改 Guest OS 會導致操作系統對特定 hypervisor 的依賴性,因此很多虛擬化廠商基于 VMM 開發的虛擬化產品部分已經放棄了 Linux 半虛擬化,而專注基于硬件輔助的全虛擬化開發,來支持未經修改的操作系統。

      3、X86“硬件輔助虛擬化”:

      其基本思想就是引入新的處理器運行模式和新的指令,使得 VMM 和 Guest OS 運行于不同的模式下,Guest OS 運行于受控模式,原來的一些敏感指令在受控模式下全部會陷入 VMM,這樣就解決了部分非特權的敏感指令的“陷入-模擬”難題,而且模式切換時上下文的保存恢復由硬件來完成,這樣就大大提高了“陷入-模擬”時上下文切換的效率。

      以 Intel VT-x 硬件輔助虛擬化技術為例,該技術增加了在虛擬狀態下的兩種處理器工作模式:根(Root)操作模式和非根(Non-root)操作模式。VMM 運作在 Root 操作模式下,而 Guest OS 運行在 Non-root 操作模式下。這兩個操作模式分別擁有自己的特權級環,VMM 和虛擬機的 Guest OS 分別運行在這兩個操作模式的 0 環。這樣,既能使 VMM運行在 0 環,也能使 Guest OS 運行在 0 環,避免了修改 Guest OS。Root 操作模式和Non-root 操作模式的切換是通過新增的 CPU 指令(如:VMXON,VMXOFF )來完成。

      硬件輔助虛擬化技術消除了操作系統的 ring 轉換問題,降低了虛擬化門檻,支持任何操作系統的虛擬化而無須修改 OS 內核,得到了虛擬化軟件廠商的支持。硬件輔助虛擬化技術已經逐漸消除軟件虛擬化技術之間的差別,并成為未來的發展趨勢。

      ? vCPU 機制



      vCPU 調度機制

      對虛擬機來說,不直接感知物理 CPU,虛擬機的計算單元通過 vCPU 對象來呈現。虛擬機只看到 VMM 呈現給它的 vCPU。在 VMM 中,每個 vCPU 對應一個 VMCS(Virtual-MachineControl Structure)結構,當 vcpu 被從物理 CPU 上切換下來的時候,其運行上下文會被保存在其對應的 VMCS 結構中;當 vcpu 被切換到 pcpu 上運行時,其運行上下文會從對應的 VMCS 結構中導入到物理 CPU 上。通過這種方式,實現各 vCPU 之間的獨立運行。

      從虛擬機系統的結構與功能劃分可以看出,客戶操作系統與虛擬機監視器共同構成了虛擬機系統的兩級調度框架,如圖所示是一個多核環境下虛擬機系統的兩級調度框架??蛻舨僮飨到y負責第 2 級調度,即線程或進程在 vCPU 上的調度(將核心線程映射到相應的虛擬 CPU 上)。虛擬機監視器負責第 1 級調度, 即 vCPU 在物理處理單元上的調度。兩級調度的調度策略和機制不存在依賴關系。vCPU 調度器負責物理處理器資源在各個虛擬機之間的分配與調度,本質上即把各個虛擬機中的 vCPU 按照一定的策略和機制調度在物理處理單元上可以采用任意的策略來分配物理資源, 滿足虛擬機的不同需求。vCPU 可以調度在一個或多個物理處理單元執行(分時復用或空間復用物理處理單元), 也可以與物理處理單元建立一對一固定的映射關系(限制訪問指定的物理處理單元)。

      內存虛擬化


      內存虛擬化三層模型

      因為 VMM (Virtual Machine Monitor) 掌控所有系統資源,因此 VMM 握有整個內存資源,其負責頁式內存管理,維護虛擬地址到機器地址的映射關系。因 Guest OS 本身亦有頁式內存管理機制,則有 VMM 的整個系統就比正常系統多了一層映射:

      A. 虛擬地址(VA),指 Guest OS 提供給其應用程序使用的線性地址空間;

      B. 物理地址(PA),經 VMM 抽象的、虛擬機看到的偽物理地址;

      C. 機器地址(MA),真實的機器地址,即地址總線上出現的地址信號;

      映射關系如下:Guest OS: PA = f(VA)、VMM: MA = g(PA)VMM 維護一套頁表,負責 PA 到 MA 的映射。Guest OS 維護一套頁表,負責 VA 到PA 的映射。實際運行時,用戶程序訪問 VA1,經 Guest OS 的頁表轉換得到 PA1,再由VMM 介入,使用 VMM 的頁表將 PA1 轉換為 MA1。

      ? 頁表虛擬化技術

      普通 MMU 只能完成一次虛擬地址到物理地址的映射,在虛擬機環境下,經過 MMU 轉換所得到的“物理地址”并不是真正的機器地址。若需得到真正的機器地址,必須由 VMM介入,再經過一次映射才能得到總線上使用的機器地址。如果虛擬機的每個內存訪問都需要 VMM 介入,并由軟件模擬地址轉換的效率是很低下的,幾乎不具有實際可用性,為實現虛擬地址到機器地址的高效轉換,現普遍采用的思想是:由 VMM 根據映射 f 和g 生成復合的映射 fg,并直接將這個映射關系寫入 MMU。當前采用的頁表虛擬化方法主要是 MMU 類虛擬化(MMU Paravirtualization)和影子頁表,后者已被內存的硬件輔助虛擬化技術所替代。

      1、MMU Paravirtualization

      其基本原理是:當 Guest OS 創建一個新的頁表時,會從它所維護的空閑內存中分配一個頁面,并向 VMM 注冊該頁面,VMM 會剝奪 Guest OS 對該頁表的寫權限,之后 GuestOS 對該頁表的寫操作都會陷入到 VMM 加以驗證和轉換。VMM 會檢查頁表中的每一項,確保他們只映射了屬于該虛擬機的機器頁面,而且不得包含對頁表頁面的可寫映射。后VMM 會根據自己所維護的映射關系,將頁表項中的物理地址替換為相應的機器地址,最后再把修改過的頁表載入 MMU。如此,MMU 就可以根據修改過頁表直接完成虛擬地址到機器地址的轉換。

      2、內存硬件輔助虛擬化


      內存硬件輔助虛擬化技術原理圖

      內存的硬件輔助虛擬化技術是用于替代虛擬化技術中軟件實現的“影子頁表”的一種硬件輔助虛擬化技術,其基本原理是:GVA(客戶操作系統的虛擬地址)-> GPA(客戶操作系統的物理地址)-> HPA(宿主操作系統的物理地址)兩次地址轉換都由 CPU 硬件自動完成(軟件實現內存開銷大、性能差)。以 VT-x 技術的頁表擴充技術 Extended PageTable(EPT)為例,首先 VMM 預先把客戶機物理地址轉換到機器地址的 EPT 頁表設置到 CPU 中;其次客戶機修改客戶機頁表無需 VMM 干預;最后,地址轉換時,CPU 自動查找兩張頁表完成客戶機虛擬地址到機器地址的轉換。使用內存的硬件輔助虛擬化技術,客戶機運行過程中無需 VMM 干預,去除了大量軟件開銷,內存訪問性能接近物理機。

      ? I/O 設備虛擬化

      VMM 通過 I/O 虛擬化來復用有限的外設資源,其通過截獲 Guest OS 對 I/O 設備的訪問請求,然后通過軟件模擬真實的硬件,目前 I/O 設備的虛擬化方式主要有三種:設備接口完全模擬、前端/后端模擬、直接劃分。

      1、設備接口完全模擬:


      即軟件精確模擬與物理設備完全一樣的接口,Guest OS 驅動無須修改就能驅動這個虛擬設備。

      優點:沒有額外的硬件開銷,可重用現有驅動程序;

      缺點:為完成一次操作要涉及到多個寄存器的操作,使得 VMM 要截獲每個寄存器訪

      問并進行相應的模擬,這就導致多次上下文切換;由于是軟件模擬,性能較低。

      2、前端/后端模擬:

      VMM 提供一個簡化的驅動程序(后端, Back-End),Guest OS 中的驅動程序為前端(Front-End, FE),前端驅動將來自其他模塊的請求通過與 Guest OS 間的特殊通信機制直接發送給 Guest OS 的后端驅動,后端驅動在處理完請求后再發回通知給前端,VMM 即采用該方法。


      優點:基于事務的通信機制,能在很大程度上減少上下文切換開銷,沒有額外的硬件開銷;

      缺點:需要 GuestOS實現前端驅動,后端驅動可能成為瓶頸。

      3、直接劃分:

      即直接將物理設備分配給某個 Guest OS,由 Guest OS 直接訪問 I/O 設備(不經 VMM),目前與此相關的技術有 IOMMU(Intel VT-d, PCI-SIG 之 SR-IOV 等),旨在建立高效的I/O 虛擬化直通道。


      優點:可重用已有驅動,直接訪問減少了虛擬化開銷;

      缺點:需要購買較多額外的硬件。

      2.3.3 aSV的技術特性

      2.3.3.1 內存NUMA技術

      非統一內存訪問(NUMA)是服務器CPU和內存設計的新架構。傳統的服務器架構下把內存放到單一的存儲池中,這對于單處理器或單核心的系統工作良好。但是這種傳統的統一訪問方式,在多核心同時訪問內存空間時會導致資源爭用和性能問題。畢竟,CPU應該可以訪問所有的服務器內存,但是不需要總是保持占用。實際上,CPU僅需要訪問工作負載實際運行時所需的內存空間就可以了。

      因此NUMA改變了內存對CPU的呈現方式。這是通過對服務器每個CPU的內存進行分區來實現的。每個分區(或內存塊)稱為NUMA節點,而和該分區相關的處理器可以更快地訪問NUMA內存,而且不需要和其它的NUMA節點爭用服務器上的資源(其它的內存分區分配給其它處理器)。

      NUMA的概念跟緩存相關。處理器的速度要比內存快得多,因此數據總是被移動到更快的本地緩存,這里處理器訪問的速度要比通用內存快得多。NUMA本質上為每個處理器配置了獨有的整體系統緩存,減少了多處理器試圖訪問統一內存空間時的爭用和延遲。

      NUMA與服務器虛擬化完全兼容,而且NUMA也可以支持任意一個處理器訪問服務器上的任何一塊內存區域。某個處理器當然可以訪問位于不同區域上的內存數據,但是需要更多本地NUMA節點之外的傳輸,并且需要目標NUMA節點的確認。這增加了整體開銷,影響了CPU和內存子系統的性能。

      NUMA對虛擬機負載不存在任何兼容性問題,但是理論上虛擬機最完美的方式應該是在某個NUMA節點內。這可以防止處理器需要跟其它的NUMA節點交互,從而導致工作負載性能下降。


    10. 電話咨詢
      商務咨詢
      技術咨詢
      咨詢郵箱
      911亚洲精品
      <output id="upvr5"><legend id="upvr5"><var id="upvr5"></var></legend></output>
    11. <p id="upvr5"></p>

      <track id="upvr5"><ruby id="upvr5"></ruby></track>
      1. <p id="upvr5"></p>

      2. <td id="upvr5"><option id="upvr5"></option></td><table id="upvr5"></table>
      3. <li id="upvr5"></li>
      4. <track id="upvr5"></track>