青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 181, 文章 - 2, 評論 - 85, 引用 - 0
數據加載中……

網格實踐: 在 SOA/Web 服務環(huán)境中監(jiān)視和發(fā)現網格服務-----使用 Globus Toolkit 4 中的開放源碼信息服務

本文將簡要介紹 Globus Monitoring 和 Discovery Service(MDS)。本文討論了構成 MDS 的組件,并介紹了在網格環(huán)境中其他服務通常是如何與 MDS 進行交互的。在閱讀本文之后,您應該可以配置 Globus MDS 并注冊服務,以及 為 MDS 配置其他信息提供者。您將學習如何組織信息并按照 MDS 的層次結構來配置多個 Index Services,從而構成網格的 Index Service。

Globus Monitoring 和 Discovery Service

Globus Monitoring 和 Discovery System(MDS)是一組 Web 服務,用來監(jiān)視和發(fā)現網格中的可用資源和服務。顧名思義,人們通常會認為資源發(fā)現的過程就是發(fā)現新的資源。然而,在網格環(huán)境中,資源發(fā)現是確定哪些網格資源最適合完成某個任務的過程,要求時間最短,利用資源的效率最高。這個過程是從識別可以滿足或超過當前作業(yè)需求的資源開始的。這通常是可用資源的某個子集。

接下來,我們需要通過選擇最適合的資源來細化這個清單。這個選擇過程需要靜態(tài)和動態(tài)的信息。通常,靜態(tài)信息(例如 CPU 數量、時鐘速度、物理內存總量、虛擬內存以及可用磁盤空間)可以幫助確定哪些資源能夠滿足或超過任務的需求。在細化這個清單時,也要考慮一些動態(tài)信息。動態(tài)信息包括可用 CPU 的個數,隊列中等待執(zhí)行的作業(yè)個數,當前資源的利用率。現在這已經成為一個調度問題,必須考慮業(yè)務策略、優(yōu)先級和服務級別協定(SLA)。

調度并不是本文的重點,因此讓我們保留整個主題改天再來討論。Globus MDS 提供了有關資源的信息,這樣就可以制定智能的調度決策,從而最好且最有效地利用可用資源。MDS 也可以監(jiān)視資源,在狀態(tài)發(fā)生變化時通知感興趣的團體,并根據預先定義的條件采取行動。







Index 和 Trigger Service

我們對 MDS 所搜集到的有關資源的狀態(tài)進行監(jiān)視。搜集這些信息的 MDS 服務稱為 Index Service。MDS Index Service 的工作方式與注冊表非常相似。它搜集信息,然后將其作為資源屬性發(fā)布。它通過一個 Web 服務接口將所搜集的信息提供給客戶機。客戶機可以向 MDS 查詢信息,或者訂閱所感興趣的資源屬性,即表明如果這些屬性的值發(fā)生了變化,它們非常樂于被及時通知。這些信息代表了資源屬性的配置和狀態(tài)。Globus MDS 可以監(jiān)視資源,并跟蹤所選擇的資源屬性。它可以通知訂閱者屬性值發(fā)生了變化。

這種功能是由另外一個名為 Trigger Service 的 MDS 服務提供的。它與 MDS Index Service 類似,都要從資源中搜集數據,但是它同時還要對所搜集的數據進行監(jiān)視,這樣就可以在數據到達某個極限值時執(zhí)行某些預定的操作。Trigger Service 的配置就是訂閱某些屬性,并指定當某個屬性值達到某個預定的極限時應該采取什么操作。要采取的操作可以非常復雜,例如當利用率太高時提供更多資源;也可以非常簡單,例如通知系統管理員某個文件系統已經滿了。MDS Trigger Service 通過 Web 服務提供此功能。客戶機使用這個 Web 服務來注冊觸發(fā)器事件。為了進行注冊,客戶機要提供程序的名字、一個 XPath 查詢表達式以及一個值。當 XPath 查詢所返回的值等于注冊時所提供的值時,就運行這個程序。MDS Trigger Service 通過對所搜集到的信息和在 MDS Trigger Service 注冊和配置文件中所指定的條件進行比較,來提供這種功能。


位置 1. Trigger Service 注冊和配置文件的位置
												
																		
$GLOBUS_LOCATION/etc/globus_wsrf_mds_trigger/trigger_registration_aggregation.xml

												
										

這個配置文件使用 XPath 查詢表達式的格式定義了一些規(guī)則。每個規(guī)則都有一個當滿足該條規(guī)則時所要執(zhí)行的操作,以及該操作重復的頻率。下面這個例子實現了觸發(fā)器規(guī)則、相關操作以及頻率的語法,這些都是在前面的觸發(fā)器注冊和配置文件中指定的。


清單 1. Trigger Service 注冊的例子
												
																		
       <trigger:TriggerRuleType>
          <trigger:matchingRule>//*[local-name()='GLUECE']</trigger:matchingRule>
          <trigger:actionScript>glue-trigger-action.sh</trigger:actionScript>
          <trigger:minimumFiringInterval>600</trigger:minimumFiringInterval>
       </trigger:TriggerRuleType>

												
										







MDS Aggregation Framework

MDS Index 和 Trigger Service 都是在 MDS Aggregation Framework 之上構建的。MDS Aggregation Framework 用來構造搜集和聚集數據的高層服務。這些聚集器服務將從各種資源搜集來的信息匯集到一個集中的位置。這個概念的范圍很廣,從在某個容器中運行的所有服務的集中注冊表,到一個網格范圍的 Index Service,這可以通過配置 Index Service 與其他 Index Service 一起來存放內容。Index Service 可以按照一種層次化的方式進行配置,上層可以從底層的 Index Service 中提取信息。上層 Index Service 可以當作是這個層次中的上游資源,底層 Index Service 可以當作是下游資源。Index Service 在這個層次中的位置是在層次配置文件中使用上游和下游服務這兩個術語進行定義的。


位置 2. MDS 層次文件的位置
												
																		

$GLOBUS_LOCATION/etc/globus_wsrf_mds_index/hierarchy.xml 

												
										

這個層次文件指定了上游和下游 Index Service 的 URL。下面這個樣例聲明中包括了主機名、端口和默認的 Index Service 的標識。清單 2 顯示了 Globus Toolkit 4 測試環(huán)境中上游和下游服務的聲明。


清單 2. 上游和下游服務聲明的例子
												
																		

     <upstream>https://gt4-primary:8443/wsrf/
     services/DefaultIndexService</upstream>

     ...

     <downstream>https://gt4-secondary:8443/wsrf/
     services/DefaultIndexService</downstream>

												
										







MDS 資源屬性

正如前面介紹的,用戶可以向 Globus MDS 查詢資源的屬性。這些資源屬性代表了資源的配置和狀態(tài)。我們可以為永久資源和臨時資源維護一些屬性。Globus MDS 中的信息通過為資源數據關聯一個超時時間來保證其反映最新情況。這個值被稱為生命周期。MDS Index Service 中保存的所有服務都有一個相關的生命周期。如果在這個生命周期指定的時間內沒有更新,數據就過期了。這種方法可以通過只在相關的資源屬性進行更新時維護這些資源的配置和狀態(tài),從而對臨時資源進行處理。當資源不再可用時,資源屬性就不會更新了,這些信息就會超時并被刪除。







MDS 資源特性

Globus MDS Index Service 信息是作為一組 Web Services Resource Framework(WSRF)資源屬性進行維護的。客戶機可以使用 WSRF get-property 和 WS-Notification subscribe 操作來查詢信息或在信息發(fā)生變化時收到通知。這些信息也可以使用命令行工具 wsrf-get-propertywsrf-query 進行查詢。Globus MDS Index Service 通過用 XML 格式提供所請求的信息來對查詢進行響應。下面這個例子執(zhí)行了一個通用的 DefaultIndexService 查詢。–a 選項指定可以進行匿名驗證,–s 選項指定了服務的 URL,–z 選項定義了驗證類型可以是自己、主機或 none。請參閱 清單 3







XPath 查詢

查詢可能會產生非常大的 XML 文檔。XPath 可以用來幫助定位 XML 中的不同部分。下面讓我們來看幾個例子,以此展示怎樣擴充簡單查詢來搜集更詳細的信息。下面這個例子可以通過統計那些屬性匹配 FreeCPU 狀態(tài)的 ComputingElements,來查詢空閑 CPU 的個數。


清單 4. 一個查詢空閑 CPU 的 wsrf 查詢
												
																		
[globust@gt4-test sbin]$ wsrf-query -a -z none -s 
https://127.0.0.1:8443/wsrf/services/DefaultIndexService
 
"count(//*[local-name()='GLUECE']/glue:
ComputingElement/ glue:State/@glue:FreeCPUs)"

2

												
										

利用前面的例子,下面這個查詢展示了一個布爾檢查,看是否有指定個數的 CPU 可用。請參閱 清單 5







監(jiān)視服務

我們已經討論了上面這些物理資源的概念,但是 MDS 還要監(jiān)視服務的配置和狀態(tài)信息。MDS Index Service 會搜集有關容器上運行的其他服務的信息。服務指定了在 Aggregation Service 注冊信息時,要將哪些信息保存在 MDS 中。我們稍后會討論 Aggregation Service,但是首先介紹一下服務注冊這個主題。

服務可以使用 mds-servicegroup-add 命令進行注冊。每個注冊后的服務都有一個類似于前面介紹過的生命周期屬性的生命周期。如果某個服務的注冊項在一段指定的生命周期中沒有更新,就會過期。更新生命周期的一種方法是在后臺運行 mds-servicegroup-add 命令,這樣它就可以持續(xù)在 MDS 中更新服務注冊項并刷新服務的生命周期了。

MDS Aggregation Service 從所有的已注冊服務中搜集信息,并通過一個 Web 服務接口將這些服務信息提供給客戶機。Globus Toolkit 發(fā)行版本中提供了一個簡單的例子來展示如何在 MDS Aggregation Service 中注冊服務。這個例子使用了下面這個位置上的服務注冊定義文件。


位置 3. MDS 聚集注冊文件的位置
												
																		
$GLOBUS_LOCATION/etc/globus_wsrf_mds_
aggregator/example-aggregator-registration.xml

												
										

這個樣例聚集文件定義了服務的注冊表。每個注冊項都定義了一個網格資源、該資源應該注冊的服務組以及服務配置參數。這個文件可以與 mds-servicegroup-add 命令一起維護網格資源與 Index Service 之間的注冊。這個文件定義了 Index Service 的位置,它被稱為默認的 Service Group End Point Reference。


清單 6. Index Service URL 被定義為默認的 Service Group End Point Reference
												
																		
<defaultServiceGroupEPR>
   <wsa:Address>https://gt4-test.tacc.utexas.edu:8443/
   wsrf/services/DefaultIndexService</wsa:Address>
</defaultServiceGroupEPR>

												
										

example-aggregator-registration 文件中包含了 GRAM 和 RFT 服務的樣例注冊項。在 ServiceGroupRegistrationParameter 塊中定義的每個資源都要在 Index Service 中進行注冊。 清單 7 顯示了一個 GRAM 和 RFT Service 注冊項的例子。

MDS Aggregation Service 也可以對外部信息源的信息進行聚合。這些信息源可以代表本地服務可能需要的遠程資源。本地服務可以查詢 MDS Index Service 來定位遠程資源,并確定這些資源的狀態(tài)。舉例來說,下面這個例子就展示了將 Hawkeye 在默認的服務組中注冊為一個信息源。Hawkeye 是一個外部信息源的例子。它使用 Condor 技術(例如 ClassAds)來搜集和存儲有關 Condor 池中的資源的信息。清單 8 顯示了如何注冊 Hawkeye,這樣就可以通過 Index Service 來使用有關 Condor 的信息了。


清單 8. 聚集服務組的例子
												
																		
<ServiceGroupRegistrationParameters
   xmlns="http://mds.globus.org/servicegroup/client" >
    <RegistrantEPR	`
      xmlns:agg="http://mds.globus.org/aggregator/types"
      xmlns:gram="http://www.globus.org/namespaces/2004/10/gram/job"
      xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
      <wsa:Address>
          https://gt4-test:8443/wsrf/services/mds/test/subsource/IndexServiceEntry
      </wsa:Address>
      <wsa:ReferenceProperties>
         <gram:ResourceID>Hawkeye</gram:ResourceID>
      </wsa:ReferenceProperties>
   </RegistrantEPR>
   <RefreshIntervalSecs>600</RefreshIntervalSecs>
   <Content xsi:type="agg:AggregatorContent"
      xmlns:agg="http://mds.globus.org/aggregator/types">
      <agg:AggregatorConfig xsi:type="agg:AggregatorConfig">
         <agg:ExecutionPollType>
            <agg:PollIntervalMillis>60000</agg:PollIntervalMillis>
            <agg:ProbeName>globus-mds-cluster-hawkeye</agg:ProbeName>
         </agg:ExecutionPollType>
      </agg:AggregatorConfig>
      <agg:AggregatorData/>
   </Content>
</ServiceGroupRegistrationParameters> 

												
										

當服務進行注冊時,它們可以提供搜集服務信息的程序名。這個程序稱為執(zhí)行聚集器,在清單 8 中是使用 ProbeName 的形式指定的。MDS Aggregator Service 可以查詢資源屬性信息,也可以訂閱資源屬性信息,這樣就可以推動后續(xù)的更新了。要注冊服務,可以使用位置 3 所給出的 example-aggregator-registration 文件作為 mds-servicegroup-add 命令的參數。下面這個例子展示了使用 mds-servicegroup-add 命令來注冊默認的 example-aggregator-registration.xml 文件中所定義的服務。–s 參數告訴 MDS 這些服務應該要進行注冊。請參閱 清單 9

可以使用 wsrf-query 命令驗證服務是否成功注冊。下面這個例子顯示了一個 ContainerRegistryService 查詢,用來獲得容器中正在運行的服務的地址。要在另外一個環(huán)境中使用這個查詢,請?zhí)鎿Q URL 的主機名部分。


清單 10. 使用 wsrf-query 命令查詢注冊表地址的例子
												
																		
wsrf-query -s https://gt4-test.tacc.utexas.edu:8443/wsrf/
services/ContainerRegistryService
 "/*/*/*/*[local-name()='Address']"

												
										







MDS 聚集類型

我們已經介紹過 Web 服務會發(fā)布資源屬性。一個服務應該注冊的最小資源屬性集包括服務名、服務的版本號以及這個服務是何時啟動的。有些服務(例如 GRAM 或 RFT)會發(fā)布其他信息或更詳細的信息。MDS 中的信息是使用 3 個聚集器源(Aggregator Source)進行搜集的。這 3 個聚集源是 Query Aggregator、Subscription Aggregator 和 Execution Aggregator。

前面用來展示服務組注冊的那個例子就是一個 Execution Aggregator。Query Aggregation Source 會對注冊的服務進行挑選來產生信息。Subscription Aggregation Source 訂閱服務數據,這樣在服務數據值發(fā)生變化時,就可以接收到通知。Execution Aggregation Source 運行一個程序來搜集信息。發(fā)布資源屬性或用來搜集服務數據的程序有時稱為信息提供者(Informational Providers)。GRAM 就是一個信息提供者,因為它會發(fā)布有關網格資源的 CPU 和內存信息,以及與作業(yè)隊列和所提交的作業(yè)有關的調度器信息。類似地,可靠文件傳輸服務(RFT)也是一個信息提供者,它發(fā)布的是有關傳輸器和服務器的狀態(tài)信息。除了這些信息提供者(它們都是 Globus 發(fā)行版中的一部分)之外,MDS 還可以與其他外部信息提供者進行集成,例如 Ganglia 和 Hawkeye。

Ganglia 是一個分布式的監(jiān)視系統,主要用來監(jiān)視高性能系統,例如集群。Hawkeye 是一個監(jiān)視系統,它使用 Condor 工具和 ClassAd 機制來收集有關分布式資源的信息。Ganglia 和 Hawkeye 使用 GLUE 模式的 CML 映射來搜集資源信息,并將這些信息發(fā)送到一個 GRAM 服務,這些信息將在這個服務中作為資源屬性發(fā)布。Ganglia 信息包括主機屬性,例如主機名、處理器、內存、操作系統以及文件系統,還有負載信息。如果在 gluerp XML 文件中定義并配置了適當的信息提供者,MDS 就可以匯集 Hawkeye 或 Ganglia 的信息。


位置 4. GLUE 資源提供者的位置
												
																		
$GLOBUS_LOCATION/etc/globus_wsrf_mds_
aggregator/example-aggregator-registration.xml

												
										

Globus 默認的配置說明沒有信息提供者。要指定 Hawkeye 或 Ganglia 作為信息提供者,請修改 gluerp.xml 文件中的適當項,這個文件位于 Globus 安裝目錄中的 etc/globus_wsrf_mds/usefulrp 目錄中。下面這個例子展示了指定 Hawkeye 作為信息提供者的正確定義。后面的例子將展示如何配置 Ganglia 作為信息提供者。


清單 11. 信息提供者注冊項
												
																		
<config xmlns="http://mds.globus.org/2004/10/gluerp-config">
   <defaultProvider>shell /usr/local/globus/globus-4.0.0/
   libexec/globus-mds-cluster-hawkeye </defaultProvider>
</config>

   ...

<config xmlns="http://mds.globus.org/2004/10/gluerp-config">
   <defaultProvider>java org.globus.mds.usefulrp.glue.
   GangliaElementProducer</defaultProvider>
</config>

												
										







webMDS

我們在前面已經看到可以使用 wsrf-query 命令來查詢 MDS 信息。實際上,MDS 信息也可以使用 webMDS 進行查看。webMDS 是一個用來查看 MDS 中所包含的資源屬性信息的前端。webMDS 是一個 servlet,它可以查詢 Globus MDS Index Service,并使用 XSLT 轉換對數據進行格式化,從而可以很好地在 Web 瀏覽器中顯示。

Web 管理員可以使用 HTML 表單選項定制 webMDS。他們可以配置不同的插件來搜集數據,并使用 XSLT 轉換對這些數據進行格式化,從而創(chuàng)建自己的定制視圖。webMDS 可以配置為從 MDS 中的各種源搜集信息,并使用 XSL 轉換對這些信息進行過濾。如果 Globus Toolkit 是使用默認配置安裝的,那么 webMDS 就可以查詢 MDS Index Service,而不用修改任何配置。我們測試環(huán)境中使用的 webMDS URL 如清單 12 所示。要在另外的環(huán)境中使用 webMDS,請使用您自己的主機名替換其主機名部分,如果您不是在默認端口上運行容器的,還需要修改端口號。


清單 12. webMDS URL
												
																		
http://gt4-test.tacc.utexas.edu:9080/webmds

												
										

可以通過編輯下面的 indexinfo 文件并修改默認的 URL 來改變 webMDS URL :


位置 5. MDS 聚集注冊文件的位置
												
																		
$GLOBUS_LOCATION/lib/webmds/conf/indexinfo

												
										

要部署 webMDS,首先為 Globus (GLOBUS_LOCATION) 和 Tomcat (CATALINA_HOME) 設置環(huán)境變量,然后使用下面的命令為 Tomcat 創(chuàng)建一個 context 文件:


清單 13. 創(chuàng)建 webMDS context 文件
												
																		
$GLOBUS_LOCATION/lib/webmds/bin/webmds-create-contex-file
  \ $CATALINA_HOME/conf/Catalina/localhost

												
										

在成功運行這個命令創(chuàng)建 context 文件之后,請重新啟動 Tomcat,以便使用新的配置信息。重新啟動 Tomcat 可以使用下面的命令:


清單 14. 重啟 Tomcat 容器
												
																		
$CATALINA_HOME/bin/shutdown.sh
…
$CATALINA_HOME/bin/startup.sh

												
										

重啟 Tomcat 容器之后,可以在瀏覽器的地址欄中鍵入 webMDS 的 URL(請參閱清單 12)來訪問 webMDS。這個 URL 中需要替換上您安裝使用的主機名和端口號。注意,這是 Tomcat 中運行 webMDS 的 URL,而不是在 Globus 容器中運行的 MDS 服務的 URL。

這個樣例表單是由 Globus 發(fā)行版提供的,用來展示 webMDS 的功能。也可以使用模板來創(chuàng)建新的定制請求。

通過 webMDS 來查詢 Index Service 可以顯示在 Index Service 中注冊的資源。每個服務都提供了一種資源類型、惟一標識符和一個鏈接(指向更詳細的信息)。選擇資源項可以產生有關資源的詳細信息。我們已經介紹過 GRAM 和 RFT 服務都在 Index Service 中進行了注冊。圖 1 是一個顯示與 RFT 服務有關的詳細信息的例子。


圖 1. RFT 服務的 webMDS 信息
RFT 服務的 webMDS 信息

如果 GRAM 配置用來與資源管理器一起使用,例如 LSF、PBS 或 Condor,那么每個資源都會存在這樣一個注冊項。

圖 2 和圖 3 顯示了與 LSF 服務有關的詳細信息。


圖 2. globus-mds-LSF 例子 1
globus-mds-LSF

圖 3. globus-mds-LSF 例子 2
LSF 服務組

圖 4 顯示了與 Condor 服務有關的詳細信息。


圖 4. globus-mds-condor_cluster 例子
Condor 服務組

webMDS 是 MDS Index Service 的一個簡單易用的接口。我們在前面已經展示了 mds-servicegroup-add 命令可以用來在 MDS 中注冊服務,聚集源可以配置為對來自服務和外部信息提供者的信息進行匯集。這些信息提供者運行了一個程序來搜集信息,它們都是 Execution Aggregators。這很容易展示,可以手工運行信息提供者,并驗證這些信息和格式與通過 webMDS 所提供的信息和格式完全相同。下面這個例子顯示了 Hawkeye 信息提供者的情況,這是由清單 8 中下面這一行定義的:

												
														<agg:ProbeName>globus-mds-cluster-hawkeye</agg:ProbeName>

												
										

請參見 清單 15







結束語

我們首先概要介紹了 Globus MDS,然后了解了某些底層服務的詳細知識。Index Service 是一個注冊表,負責搜集信息并以資源屬性的形式來發(fā)布這些信息。Trigger Service 使客戶機可以訂閱資源屬性,并在數據達到某個極限值時執(zhí)行預定義的操作。這些服務都是構建在 Aggregation Service 之上的,后者也可以對來自外部信息源的信息進行聚集。這些信息可以匯集到一個集成的注冊表中,稱為網格 Index Service。Index Service 以編程方式向客戶機提供了資源屬性信息,這可以通過 Web 服務、命令行接口或瀏覽器來接收。

posted on 2006-04-17 04:00 wsdfsdf 閱讀(1107) 評論(0)  編輯 收藏 引用 所屬分類: 技術文章

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产欧美综合一区二区三区| 亚洲欧美在线免费| 亚洲尤物精选| 日韩一区二区免费看| 亚洲精品色图| 亚洲性夜色噜噜噜7777| 欧美在线不卡| 久久久久一区二区| 亚洲福利在线视频| 亚洲精品护士| 亚洲欧美一区二区原创| 久久性天堂网| 欧美午夜在线视频| 韩国一区电影| 一区二区日韩精品| 久久国产天堂福利天堂| 欧美国产日韩一区| 亚洲调教视频在线观看| 欧美在线视频不卡| 欧美寡妇偷汉性猛交| 国产精品日韩在线观看| 在线精品视频免费观看| 亚洲永久精品大片| 亚洲高清二区| 免费观看一区| 欧美激情第3页| 国产精品vip| 在线电影一区| 性色av一区二区三区在线观看 | 国产精品第13页| 国产综合18久久久久久| 亚洲精品在线二区| 久久精品成人欧美大片古装| 亚洲大胆美女视频| 欧美一区二区三区在| 欧美日韩精品免费观看视一区二区 | 午夜久久影院| 欧美电影在线观看| 亚洲欧美在线磁力| 欧美日韩少妇| 91久久中文| 久久免费视频在线观看| 亚洲最新在线视频| 免费在线亚洲| 精品盗摄一区二区三区| 亚洲欧美日韩电影| 亚洲激情欧美激情| 看片网站欧美日韩| 好看的日韩av电影| 久久av二区| 亚洲制服丝袜在线| 欧美日精品一区视频| 亚洲欧洲一区二区天堂久久| 久久婷婷国产综合国色天香| 亚洲愉拍自拍另类高清精品| 欧美伦理影院| 国产精品99久久不卡二区| 欧美大片一区二区| 久久久九九九九| 一区二区视频在线观看| 狂野欧美激情性xxxx| 欧美一区二区三区免费看| 国产美女精品一区二区三区 | 欧美成人午夜剧场免费观看| 欧美一区二区高清在线观看| 国产精品视频一区二区高潮| 午夜精品成人在线| 欧美一级视频免费在线观看| 国产一区二区视频在线观看| 久久久久国产精品人| 欧美中日韩免费视频| 在线欧美亚洲| 亚洲精品乱码久久久久| 欧美日韩一区二区三区免费看| 亚洲精品国久久99热| 国产精品亚洲片夜色在线| 一区二区三区日韩精品视频| 日韩视频第一页| 欧美日韩视频在线观看一区二区三区| 99视频热这里只有精品免费| 日韩亚洲一区二区| 国产乱理伦片在线观看夜一区| 久久成人精品电影| 久久综合五月| 亚洲一二区在线| 亚洲自拍高清| 亚洲国产精品欧美一二99| 亚洲欧洲一区二区三区在线观看| 欧美日韩免费观看一区=区三区| 夜夜躁日日躁狠狠久久88av| 亚洲一区二区高清| 影音先锋成人资源站| 91久久综合| 国产精品久久久久久户外露出 | 欧美日韩久久久久久| 亚洲欧美日韩中文在线制服| 久久精品理论片| 亚洲视频www| 欧美一级久久| 一区二区三区日韩| 久久综合伊人77777| 亚洲香蕉成视频在线观看| 欧美制服丝袜第一页| 亚洲视频在线一区| 久热re这里精品视频在线6| 亚洲欧美日韩在线观看a三区| 玖玖玖国产精品| 欧美在线观看视频在线| 欧美精品自拍| 欧美大片在线看免费观看| 国产视频在线观看一区| 99国产精品久久| 亚洲青涩在线| 久久成人一区二区| 欧美一级黄色网| 欧美日韩成人综合在线一区二区| 久久久免费av| 国产精品一区二区a| 亚洲人成在线影院| 亚洲欧洲偷拍精品| 久久精品导航| 久久久精品动漫| 国产精自产拍久久久久久| 日韩午夜剧场| 亚洲视频中文| 欧美日韩一区三区四区| 欧美高清在线一区| 亚洲国产精品尤物yw在线观看 | 久久久精品国产一区二区三区| 欧美久久成人| 亚洲国产一区二区视频| 在线精品一区| 蜜臀av性久久久久蜜臀aⅴ| 亚洲激情第一页| 美国成人直播| 国产欧美日韩综合精品二区| 99视频精品在线| 宅男精品导航| 欧美视频一区二区三区…| 亚洲人成人99网站| 一区二区三区高清在线 | 亚洲一二三区精品| 亚洲影院在线| 国产农村妇女精品一区二区 | 久久亚洲精品网站| 卡一卡二国产精品| 亚洲高清不卡av| 欧美88av| 99天天综合性| 亚洲欧美综合| 国产一本一道久久香蕉| 久久久精品午夜少妇| 欧美激情一区在线| 亚洲一级电影| 国产亚洲欧美一区二区| 久久精品一区二区| 欧美gay视频激情| 中文亚洲免费| 国产伦精品一区二区三区高清版| 翔田千里一区二区| 亚洲第一黄网| 欧美一级大片在线免费观看| 国产综合香蕉五月婷在线| 欧美www视频在线观看| 亚洲美女av网站| 久久久精品国产一区二区三区| 亚洲大片免费看| 欧美人与性禽动交情品| 午夜一区在线| 亚洲国产成人久久综合一区| 亚洲欧美中文日韩在线| 亚洲激情另类| 国产精品一区久久久久| 免费不卡欧美自拍视频| 亚洲一区在线免费观看| 麻豆亚洲精品| 亚洲欧美国内爽妇网| 激情久久五月天| 国产精品久久中文| 欧美激情视频网站| 久久se精品一区二区| 亚洲精品国产视频| 久久综合给合久久狠狠色| 99精品国产在热久久下载| 国产在线视频欧美一区二区三区| 欧美精品不卡| 狼人天天伊人久久| 欧美一区影院| 一区二区毛片| 亚洲激情一区二区| 欧美电影打屁股sp| 久久午夜色播影院免费高清| 亚洲一区在线免费| 亚洲精品免费看| 亚洲福利视频三区| 极品尤物av久久免费看| 国产欧美一级| 国产精品99一区| 欧美视频1区| 欧美三级乱码|