精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

EulerMaker:構建 openEuler 全場景生態

系統 Linux
Linux 中國開源社區就此采訪了吳峰光博士,為讀者挖掘到一些在峰會上亮相的 EulerMaker 背后的有趣細節。

引言

2022 年末,openEuler Summit 2022 上,中國 Linux 內核圈最有影響力的開發者之一——吳峰光博士做了名為《面向全場景操作系統的構建服務發布》的主題演講,正式向開發者披露了 openEuler 統一構建服務 EulerMaker

Linux 中國開源社區就此采訪了吳峰光博士,為讀者挖掘到一些在峰會上亮相的 EulerMaker 背后的有趣細節。

?? 吳峰光博士是著名的 Linux 內核貢獻者、華為計算操作系統首席專家、openEuler 社區技術委員會委員。他在 Linux 內核領域上擁有卓越貢獻,在 I/O 和內存管理、內核測試服務方面做出了重要的貢獻。有關他的故事,可以參閱《新程序員》雜志的專訪《吳峰光殺進 Linux 內核》。

openEuler 的全場景

2021 年 9 月,openEuler 宣布將支持全場景,在服務器、云計算之外,還支持 IoT 和嵌入式場景,這就引來了很多人的關注,但也有一些懷疑的眼光。因為,服務器和嵌入式分處兩端,中間有著巨大的鴻溝。

“30 年前,服務器 OS、嵌入式 OS,界限非常清晰,像是兩個村,中間全是農田。但后來 IT 越來越深入千行百業,云、邊緣、IoT 興起,各種場景涌現,發生了交疊。所以我們認為這是一個新的歷史機會,來做一個全場景 OS。”吳峰光說。

?? 關于多場景的支持和融合,請參考我們之前對歐拉技術委員熊偉的采訪:《??操作系統專家解讀 openEuler 22.09 最新技術特性??》。

“要做全場景 OS,就引入了一個需求:原來的構建系統,如何轉化為全場景統一構建系統?”

什么是 OS 構建系統?

OS 構建系統以 OS 源代碼作為輸入,以用戶可安裝使用的軟件倉或OS鏡像作為輸出。

?? 服務器領域的 OBS、嵌入式領域的 Bitbake,是各自領域的代表性構建系統,歷史悠久。

為什么需要新的構建系統?

“openEuler 社區一開始是用 OBS 來構建的,”吳峰光介紹說,“OBS 最初由 SUSE 貢獻開源,功能強大。但隨著使用的深入,我們發現一些復雜的新需求很難在它上面改進,這就對 openEuler 的演進造成了困難。”

就一般的 OS 來說,OBS 構建可能夠用;但是當一個操作系統要支持全場景,復雜度就大大增加,對構建系統提出了更嚴苛的要求。

吳峰光博士對 OBS、Bitbake 做了深入調研。他解釋了這些老牌構建系統,為什么滿足不了openEuler的需求:

“服務器領域的 OBS 主打能力是什么?幾大主流的 Linux 發行版它都支持,比如可以給 Redhat 打包,也可以給 Debian 打包。兼容并包是它的核心設計目標,適應了 Linux 多樣化的現狀。但我們認為,多樣化在早期對 Linux 發展有利,但長期而言,Linux 生態的碎片化是一個需要被解決的問題。”

“嵌入式領域的 Bitbake 采用了面向任務和過程的 DSL 描述語言,這使得它非常靈活強大,但自由度和復雜性過高,以學習曲線陡峭知名。現在流行的理念是如 YAML、JSON 等通用、聲明式的配置語言,和函數式編程,以實現低門檻、易理解、可控可重復的構建過程。”

在吳峰光看來,在 30 年后的今天,構建系統有著新的時代目標

2022 年 3 月,openEuler 團隊開始設計新的構建系統 EulerMaker。

EulerMaker 構建系統

OS 構建系統的核心流程是,用戶給定一組軟件包后,按照包依賴關系,對它們發起并行構建任務。“那么搭一個 Kubernetes 集群,上面疊加一個包構建調度模塊,是不是就可以了呢?”

“這里的包依賴管理和調度,的確非常復雜:既有源包的依賴,又有二進制包的依賴,還有構建環境的依賴;既有構建依賴,又有運行依賴,還有傳遞依賴;成千上萬的依賴關系,形成一個巨大的圖,要考慮怎么破環,把它變成一個有向無環圖(DAG),用于最大化并發調度。隨著包構建的推進,新輸出的 RPM 包需要成為之后 RPM 包構建的環境,還會提供新的依賴信息,動態更新這個 DAG 圖。還要考慮各種包構建的失敗情況,多用戶并發任務之間的干擾,或者任意機器、模塊隨時崩潰重啟后如何接力,避免單點故障,等等,這需要一整套精巧的架構設計。”

看到這樣的難題,可能有工程師大牛們要摩拳擦掌,躍躍欲試了。但是在難題面前,吳峰光不慌不忙,踩了一腳剎車——

“我們先把發動機放一邊,追根溯源,回到最初的那一個問題:用戶到底需要一輛什么車?

做架構設計,首先要考慮用戶場景,然后推導出功能,最后才能確定數據和流程。設計時全盤考慮了所有的用戶需求,數據和流程在未來才會穩定,才不會變來變去。

“我們對用戶需求的考慮,真的全面了嗎?”

吳峰光繼續展開分析:“在 Linux 發展的最初階段,需求是簡單的:只要功能實現了,跑一下 gcc / make 能構建出來,用戶能用,構建系統的工作就完成了。那時侯 Linux 社區對測試不重視,也還沒有 CI / CD 的概念,測試基本全靠用戶踩坑。現在情況就不一樣了,時代的要求在提高:開發者期望有質量把控,要做測試,要有一整套的構建測試 CI / CD,要覆蓋一整個開發流程,一站式全部搞定,出來的 RPM 包已經是經過測試的、用戶能放心用的。這已經被開發者認為是標配,是開發者的正常預期。”

所以,新的構建系統要集成測試流程。

那么,是不是直接集成現在流行的通用 CI / CD 測試工具就可以了呢?

“市面上的 CI / CD 通用測試服務,適合測試上層的應用;而操作系統需要測試的,既有上層軟件,又有基礎軟件;既面向應用開發者,又面向內核開發者,還有軟件廠商、硬件廠商、OS 廠商,他們都有獨特的測試需求;既要做功能測試,還要做性能測試。這些不是市面上通用 CI / CD 能做的。”

“所以,我們需要一套全棧系統,既能構建,又滿足上述所有測試需求。”

早在 2020 年,吳峰光就綜合分析上述需求,設計了 Compass-CI。Compass-CI 被設計為一個通用的任務執行系統,可以執行構建、功能測試、性能測試等各類任務。Compass-CI 也被設計為一個異構調度系統,可以調度物理機、虛擬機、容器等各種資源。

“Compass-CI 已經在 2020 年上線服務,在這個基礎上補足構建相關的模塊,就可以作為 EulerMaker 的后端,服務 openEuler 的構建。”

“當我們可以用一套系統,來服務好業界各方的需求,就會有硬件廠商問我們,能不能遠程接入他們的硬件?然后,我們就需要支持工作機遠程接入,分布式調度,數據共享,立足云端,連接各類線下機房,x86、ARM 等各類硬件,方便開發者之間、廠商之間、開發者與廠商之間的分布式協作。”

“資源有了,功能有了,開發者來了,也會有很多需求:我打包了,能不能看見進展?出問題了能不能復現當時的環境?能不能登錄調試修復?能不能 DIY 驗證?這些需求都需要一一滿足大家。現在 EulerMaker 的可視化界面可以顯示構建的進展,每個包會顯示其依賴關系圖以及其構建的進度,哪些包已經構建了,哪些包還沒有構建,預計還有多少分鐘,它前面還有哪幾個依賴都一目了然。而且每個開發者都可以有專屬隊列,可以大大縮短等待時間。”

EulerMaker 怎么解決全場景

一個 OS 怎么支持全場景?

“首先這個 OS 要足夠通用。但這還不夠。”吳峰光繼續說到:“一個通用的 OS,所帶的軟件往往要求大而全,把常見的功能都編進去。但很多場合有著不同的需求,比如啟用一個不常用的功能,或者在嵌入式設備上,因為資源受限,需要把不必要的功能裁減掉。”

一個通用軟件,往往會提供一組編譯期的定制功能,方便不同場景的開發者和用戶針對自己的需求,構建出不同功能組合的二進制程序。

“類似的,當我們說一個 OS 支持全場景,是只需維護一套 OS 源代碼,通過源碼級 + 鏡像級定制,即可構建生成各類場景化的二進制 OS 發布。強大的定制能力,是賦能一套 OS 源碼支持全場景的‘究極魔法’。”

吳峰光進一步介紹什么是定制能力:

“最簡單的定制能力,體現在軟件打包上,就是對用戶提供定制選項。一般是把上游軟件的可選功能做一個封裝,讓用戶在做包構建的時候可以打開或者關閉。比如 RPM SPEC 文件中通過宏定義了 ??%{with xxx}?? 選項,用戶就可以通過 ??rpmbuild --with xxx?? 來打開 ??xxx?? 選項對應的軟件功能。”

“然而 SPEC 文件中往往只封裝了少量選項,對于沒有被 SPEC 維護者封裝的上游軟件功能,用戶就只好自行修改 SPEC 文件來實現定制,這樣就很雜亂了。”

“事實上 OS 的用戶和場景多種多樣,他們需要的定制項,往往遠超包維護者所能提供。比如有人想升級版本號,有人想加個補丁,有人想加個編譯選項,或者修改編譯器。我們需要一種開放式的定制規范,即允許用戶在不修改打包文件的情況下,實現對打包文件的定制,且允許定制任意字段,不限于包維護者事先提供的一個封閉選項集合。”

“這時候就會發現 SPEC 文件的定制能力不夠用了。”

EulerMaker 怎么解決這個問題呢?

“我們引入了開發者們都很熟悉的 YAML 配置語言,用它來聲明式的描述一個軟件包。然后允許用戶再定義一個 YAML 文件,來選擇性覆蓋或者修改 OS 軟件包 YAML 文件里的任意字段。這樣不但實現了開放式定制,而且用戶定制選項都可以以 YAML 配置文件的形式,集中存儲管理,或者代碼化 Git 管理。”

不過,事情并沒有這么簡單。

“當用戶可以非常方便的定制任意字段,隨之而來一個風險:很多包字段之間有條件依賴和約束,用戶一不小心,就容易在不知情的情況下,破壞一些關聯約束。在過去,很多這種約束在 Git 日志里隱式維護的。比如開發者首先修改一個 SPEC 文件里的版本號,同時去掉一個只適用于老版本的補丁,完成對軟件包的一次升級。當暴露在定制環境下,這就是一大脆弱性,會造成事實上難以自由定制。”

而 EulerMaker 的解決辦法,是把該補丁適用的版本范圍,用條件語句顯式的寫在軟件包 YAML 里。“這樣用戶隨便改版本號,都不會出錯,其它關聯字段會自適應的變化,從而實現定制自由。”

如此一來,定制能力是強大了,那么易用性又如何?

“一般用戶要的不是一堆零件,而是套裝。成千上萬的定制項,小白用戶眼花繚亂,不知道拿它們怎么辦,他可能只知道我用的是 OrangePI,那有沒有對應的一組定制項可以拿來就用的?”

針對這個問題,EulerMaker 的解決思路如下:

“這組定制項,要由這個專業領域的開發者或者廠商,在社區里提供,我們稱之為一個定制層。每一種硬件、場景都可以有這樣一個個的定制層。這樣場景化 OS 的開發任務就簡化為,菜單式選擇所需的層,像搭積木一樣組合,輕松完成 OS 的場景化分層定制。”

以上,就是 EulerMaker 解決全場景的整體思路。最后,吳峰光總結說:

“一個好用的全場景 OS,一定會是一種生態協作的組織形態。首先把各個場景的公共知識下沉到 BaseOS,統一描述,匯聚復雜枯燥的字段間條件依賴,方便在各個場景中復用。然后創建一個個薄薄的場景化定制層,簡單描述各場景下“我要什么”的問題。BaseOS + 多樣化場景層,成為 openEuler 社區共同維護和提供的公共組件,通過搭積木的方式,讓開發者的 DIY 菜單式定制,成就一個輕松愉悅的 OS 創造體驗。”

為了讓讀者們對分層定制有一個直觀的概念,吳峰光舉了兩個例子:

1、Redis 容器裁剪:

env.CC: /usr/bin/musl-gcc -staticenv.CFLAGS: -I/usr/musl/includeenv.LDFLAGS: -L/usr/musl/libbuildRequires:    - musl-gccsubpackage.redis-server:    meta.summary: redis-server    files: XXXXXXXXXXXXXXXX

redis.yaml 示例

該示例使用不到十行的 YAML,即可裁剪出 1MB 的 Redis 。

2、內核定制維護:

version: 5.10.0-112.0.0patchset.my-xxx-improve: xxx.patch

kernel.yaml 示例

該示例使用一個 YAML 文件,兩行搞定Linux內核的定制維護。

“比如您在一家大公司的基礎設施團隊,需要在 openEuler 基礎上定制 Linux 內核,改一下版本,加一個補丁。在過去,您可能需要拷貝一份 ??kernel.spec??,然后直接在上面修改。這意味著維護上百行的 SPEC 文件,且時不時要從上游回合新的改進,這一過程枯燥而繁瑣。現在從 Fork 模式轉為搭積木模式,只需維護好一個小小的 ??kernel.yaml?? 文件。然后每次拉新的 BaseOS 重新構建,都會自動拿到上游歐拉內核的最新錯誤修復。這樣就很好的降低了開發維護成本,提高了安全性。是一種更加可持續的上下游協同演進方式。”

統一的包格式

在吳峰光的介紹中,我發現了一件令我很感興趣的事情,就是 openEuler 在探索自己獨有的軟件包規范。

我們知道,openEuler 現在采用的是業界主流的軟件包格式之一:RPM 。這種軟件包格式不僅僅被 Redhat Linux 使用,也被 openSUSE、OpenMandriva、Oracle Linux、Tizen 等使用。

而在 openEuler 中,RPM 軟件包不僅僅用在我們熟知的服務器、云計算領域,還應用在其它場景中,比如嵌入式。

為了一統軟件包的定義,openEuler 采用了新的 YAML 配置語言進行包描述,并接管 RPM 的 SPEC 文件,成為新的開發者界面。吳峰光說,SPEC 文件中采用了大量復雜的宏定義,而 EulerMaker 將這些復雜性隱藏到YAML后面。換言之,openEuler 新的統一構建系統采用的 YAML 配置語言制定了一種更通用、更靈活的包定義。

這是不是代表著 openEuler 會逐漸發展自己的軟件包格式?吳峰光表示,在保持兼容性的同時,openEuler 會走出一條自己的路。

別出心裁創建一種新的包格式容易,但是能在兼容既有架構的基礎上,又能開拓新的特性,乃至于支持更廣泛的場景,這應該很值得期待。

邁向開源開放

經過半年的努力,統一構建系統服務 EulerMaker 已經上線,已經在歐拉社區發揮作用,但是作為一個開源社區的產物,筆者更希望看到它能開源出來,惠及更廣大的開源社區,也接受開源社區的批評和貢獻。對此,吳峰光博士表示,一定是會開源的,但是目前還需要進一步打磨成熟。對于這樣的回應,筆者很認可,畢竟吳峰光博士對開源社區的貢獻一向以精益求精而著稱。非常期待能早日見到一個強大而完善的統一構建系統開源出來。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2019-08-09 08:47:10

華為HMS智慧生活

2020-12-02 11:30:28

騰訊數據中心新基建

2021-07-13 07:04:19

Flink數倉數據

2022-01-06 14:49:13

數字經濟華為

2021-08-13 11:38:51

京東零售云智能出行

2023-08-04 18:52:11

華為鴻蒙生態

2021-06-10 10:42:52

華為HMS開發

2018-06-25 10:32:22

華為終端手機

2021-04-15 20:44:29

辦公

2020-08-31 10:45:42

IPv62020中國IPv6發

2025-09-26 15:39:27

點贊
收藏

51CTO技術棧公眾號

一区二区在线观看网站| 国产日韩欧美在线视频观看| 大桥未久恸哭の女教师| 是的av在线| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 亚洲男人第一网站| 欧美成人三级在线播放| 欧美卡一卡二| 国产欧美日韩在线看| 99久久国产免费免费| 免费看日批视频| 婷婷伊人综合| 日韩精品在线播放| 永久免费黄色片| 肉色欧美久久久久久久免费看| 亚洲欧洲国产日韩| 久久精品二区| 精品国产无码AV| 久久精品网址| 欧美激情亚洲自拍| 手机毛片在线观看| 日韩理论电影中文字幕| 欧美一区二区三区的| 免费在线观看毛片网站| 丁香花在线电影| 1区2区3区欧美| 久久久精品动漫| 性中国古装videossex| 麻豆免费看一区二区三区| 97精品国产97久久久久久| 亚洲一级二级片| 国产91精品对白在线播放| 精品美女一区二区三区| 依人在线免费视频| 123成人网| 一本到三区不卡视频| 真人抽搐一进一出视频| 亚洲第一图区| 亚洲欧美电影院| 亚洲欧美久久久久一区二区三区| 天堂中文在线资源| 国产69精品久久99不卡| 91午夜理伦私人影院| 亚洲视屏在线观看| 日韩中文字幕区一区有砖一区 | 日韩一区二区三区在线免费观看| 亚洲高清免费观看| 国产欧美久久久久| 自由的xxxx在线视频| 综合在线观看色| 伊人久久av导航| av中文在线| 国产日韩精品一区二区三区在线| 麻豆av一区二区三区久久| 亚洲第一免费视频| 国产成a人无v码亚洲福利| 亚洲一区二区少妇| 国产高清免费av| 国产福利一区在线观看| 91成人伦理在线电影| h狠狠躁死你h高h| 国产黑丝在线一区二区三区| 91九色在线免费视频| 精品国产乱码一区二区三| 国产寡妇亲子伦一区二区| 99免费在线观看视频| 亚洲精品97久久中文字幕无码| 高清不卡在线观看av| 国产精品推荐精品| 日韩私人影院| 国产亚洲精品久| 亚洲精品久久久久久一区二区| 91电影在线播放| 亚洲色图欧美在线| www插插插无码免费视频网站| 青春草免费在线视频| 亚洲综合偷拍欧美一区色| 国产日韩欧美精品在线观看| 亚洲综合电影| 欧美午夜精品久久久久久孕妇| 15—17女人毛片| 国产精品麻豆| 亚洲黄色有码视频| 婷婷色一区二区三区| 日韩免费特黄一二三区| 欧美日韩国产二区| 成人免费毛片男人用品| 久久99精品久久只有精品| 97se视频在线观看| 亚洲欧美自偷自拍| 国产精品免费视频网站| 日b视频免费观看| 美女视频在线免费| 欧美日韩精品一区二区三区蜜桃| 91视频免费入口| 伊人春色之综合网| 久久久精品久久久久| 日韩黄色一级大片| 日韩一区欧美二区| 成人综合av网| 成人福利在线| 亚洲国产欧美日韩另类综合| 另类小说第一页| **爰片久久毛片| 夜夜嗨av一区二区三区四区| 麻豆changesxxx国产| 日韩中文字幕亚洲一区二区va在线| 亚洲bt天天射| av电影在线网| 午夜视频一区二区| 亚洲免费黄色录像| 美女毛片一区二区三区四区| 久久久精品一区二区三区| 老熟妇仑乱一区二区av| 国产成人午夜视频| 一区二区三区四区欧美日韩| 天堂а√在线最新版中文在线| 日韩欧美一卡二卡| 1024手机在线观看你懂的| 亚洲精品黄色| 亚洲999一在线观看www| av在线电影观看| 欧美日韩亚洲精品一区二区三区| 欧美69精品久久久久久不卡| 久久亚洲国产| 日产精品久久久一区二区福利| 亚洲乱码在线观看| 1区2区3区欧美| 杨幂毛片午夜性生毛片| 婷婷亚洲精品| 久久久久久亚洲精品中文字幕| 一区二区三区精| 91在线视频观看| 丰满少妇大力进入| 日韩在线精品强乱中文字幕| 日韩视频第一页| 成人午夜精品视频| 国产视频一区二区在线观看| 5月婷婷6月丁香| 9l视频自拍九色9l视频成人| 不卡中文字幕av| 国产精品熟女久久久久久| 日本一区二区免费在线| 国产一级特黄a大片免费| 三级小说欧洲区亚洲区| 97精品国产aⅴ7777| 免费观看a视频| 亚洲国产成人tv| 中文字幕在线播放一区二区| 最新国产精品| 91日韩久久| 日本乱理伦在线| 日韩欧美一区二区久久婷婷| 欧美丰满艳妇bbwbbw| 国产成人一区在线| 日韩精品在线中文字幕| 加勒比视频一区| 4438全国亚洲精品在线观看视频| 欧美熟妇交换久久久久久分类| 亚洲国产精品一区二区久久| 免费不卡的av| 亚洲最黄网站| 久久精品ww人人做人人爽| 日韩免费va| 宅男66日本亚洲欧美视频| 岳乳丰满一区二区三区| 亚洲欧洲日韩女同| 丰满岳乱妇一区二区| 国产婷婷精品| 日韩电影免费观看高清完整| 国产人妖一区| 色综合久久久888| 欧美视频在线观看一区二区三区| 欧美日韩在线一区| jizz18女人高潮| 国产麻豆91精品| 黄页免费在线观看视频| 妖精视频一区二区三区免费观看| 国产成人精品免高潮费视频| 麻豆av在线导航| 精品国产制服丝袜高跟| aaa人片在线| 国产精品麻豆视频| 亚洲精品乱码久久久久久蜜桃欧美| 在线亚洲自拍| 午夜精品电影在线观看| 欧美视频二区欧美影视| 97超碰色婷婷| www.黄在线观看| 欧美变态tickling挠脚心| 中文字字幕在线中文| 日韩美女视频一区二区 | 国产精品久久久久久久久久辛辛| 久久久久久久一| 高清在线观看av| 日韩精品一区二区在线观看| 天堂中文字幕在线观看| 亚洲视频在线观看三级| 好男人香蕉影院| 老司机午夜精品| 可以在线看的av网站| 99久久久久| 久久精品ww人人做人人爽| 欧美日韩视频免费看| 91国产美女在线观看| 黄色免费网站在线| 亚洲视频在线视频| 欧美一级做性受免费大片免费| 91久久国产综合久久| 久久综合亚洲色hezyo国产| 中文av字幕一区| 污污内射在线观看一区二区少妇| 久久精品国产**网站演员| 国产二区视频在线播放| 午夜精品久久| 亚洲国产一区二区精品视频| 开心激情综合| 亚洲最大福利视频网| 高清亚洲高清| 日本精品久久久久影院| а√天堂8资源在线| www高清在线视频日韩欧美| 国产主播福利在线| 日韩成人激情在线| 亚洲AV无码国产精品午夜字幕 | 中日韩av在线播放| 午夜在线播放视频欧美| 亚洲理论电影在线观看| 重囗味另类老妇506070| 亚洲开发第一视频在线播放| 免费成人高清在线视频theav| 国产欧美一区二区视频| 99国产精品免费网站| 91久久久一线二线三线品牌| 欧美日韩va| 国产综合久久久久久| 国产综合色区在线观看| 欧美最近摘花xxxx摘花| 亚洲妇女成熟| 欧美综合在线观看| 欧美大片免费| 欧美性资源免费| 在线最新版中文在线| 26uuu日韩精品一区二区| 亚洲深夜视频| 欧洲亚洲女同hd| 成人福利av| 国产98色在线| 欧美福利在线播放| 国产精品免费一区二区三区都可以| 怡红院成人在线| 国产精品美女999| 黑人一区二区三区| 成人精品一区二区三区| 国产一精品一av一免费爽爽| 18成人在线| swag国产精品一区二区| 国产欧美欧洲| 亚洲婷婷伊人| 亚洲国产精品视频一区| 久久综合国产| 日本福利视频网站| 在线视频精品| 久久午夜夜伦鲁鲁一区二区| 男人的天堂久久精品| 久久精品视频在线观看免费| 国产99久久久国产精品免费看| www.四虎在线| 久久男人中文字幕资源站| 一级肉体全黄裸片| 亚洲品质自拍视频网站| 久久精品久久国产| 色综合久久88色综合天天免费| 日本成人一级片| 日韩视频国产视频| 污污视频在线免费看| 一区二区在线视频| 国产视频在线播放| 性欧美办公室18xxxxhd| 欧洲一级精品| 91色在线观看| 亚洲bt欧美bt精品777| 一区二区高清视频| 悠悠资源网久久精品| 国产熟人av一二三区| 国产一区二区三区四区五区入口| 亚洲美女高潮久久久| 久久男人中文字幕资源站| 亚洲波多野结衣| 精品久久在线播放| 一本色道久久综合亚洲| 亚洲成人久久久久| 国产日本在线| 欧美精品精品精品精品免费| av有声小说一区二区三区| 亚洲在线一区二区| 伊人久久大香线蕉综合网站| 樱空桃在线播放| 久久久久久久波多野高潮日日| 欧美国产日韩在线视频| 久久亚洲精精品中文字幕早川悠里 | 91夜夜蜜桃臀一区二区三区| 欧美自拍资源在线| 午夜视频一区| 午夜免费福利视频在线观看| k8久久久一区二区三区| 午夜精品福利在线视频| 欧美在线你懂得| 午夜小视频免费| 欧美福利在线观看| 成人不卡视频| 久久免费视频1| 国产精品www994| 思思久久精品视频| 久久精品夜夜夜夜久久| 日本在线观看中文字幕| 91精品综合久久久久久| 国产理论电影在线观看| 91tv亚洲精品香蕉国产一区7ujn| 电影一区中文字幕| 天堂一区二区三区| 亚洲免费婷婷| 182在线视频| 亚洲最大成人网4388xx| 国产精品欧美激情在线| 一夜七次郎国产精品亚洲| 久久男人av资源站| 国产尤物99| 日韩午夜在线电影| 日批视频免费看| 一级日本不卡的影视| 国产免费高清av| 久久精品视频播放| 国产精品久久久久久久久免费高清| 欧美少妇一区| 久久免费黄色| 人妻体内射精一区二区| 欧美日韩在线视频观看| 五月婷中文字幕| 高清欧美一区二区三区| av日韩精品| 精品无码国模私拍视频| 顶级嫩模精品视频在线看| 欧美精品一区二区成人| 欧美电视剧在线看免费| 日本三级在线观看网站| 91成人在线看| 国户精品久久久久久久久久久不卡| 日本成人在线免费观看| 亚洲免费观看在线视频| 99在线小视频| 九九热精品视频在线播放| eeuss鲁片一区二区三区| 青青草国产免费| 99国产欧美另类久久久精品| 中文字幕亚洲高清| 亚洲人在线观看| 国产成人精品一区二区三区免费| 亚洲欧美日韩精品综合在线观看| 美女视频黄免费的久久| 91麻豆免费视频网站| 91精品国产欧美一区二区| 在线观看wwwxxxx| 国产亚洲精品自在久久| 亚洲欧美日韩在线观看a三区| 亚洲精品乱码久久久久久久久久久久| 欧美日韩视频在线| 黄视频在线播放| 成人av在线亚洲| 国产精品v亚洲精品v日韩精品 | 自拍偷在线精品自拍偷无码专区| 97超碰人人草| 欧美激情视频在线免费观看 欧美视频免费一| 国产电影一区二区| 免费看毛片的网址| 久久蜜桃香蕉精品一区二区三区| 自拍偷拍色综合| 欧美精品制服第一页| 欧美日韩一区二区三区四区不卡 | 懂色av中文字幕一区二区三区| 日韩三级视频在线播放| 亚洲视频第一页| 欧美影院视频| 国产精品-区区久久久狼| 中文字幕亚洲精品在线观看| 国产18精品乱码免费看| 国产va免费精品高清在线| 亚洲国产一区二区三区在线播放| 黄色免费视频网站| 欧美色爱综合网| 超碰在线网站| 亚洲欧美国产精品桃花| 不卡视频一二三四| 一区两区小视频| 国产69精品久久久久9| 成人羞羞视频在线看网址| 无码人妻精品一区二区三| 欧洲人成人精品| 欧美精品videosex| 亚洲巨乳在线观看|