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

Ceph萬(wàn)字總結(jié)|如何改善存儲(chǔ)性能以及提升存儲(chǔ)穩(wěn)定性

存儲(chǔ) 存儲(chǔ)軟件
通過(guò)本文,用戶(hù)能確定Ceph是否滿(mǎn)足自身的應(yīng)用需求。在本文中,我們將深入研究Ceph的起源,研究其功能和基礎(chǔ)技術(shù),并討論一些通用的部署方案和優(yōu)化與性能增強(qiáng)方案。同時(shí)本文也提供了一些故障場(chǎng)景以及對(duì)應(yīng)的解決思路。

 [[341135]]

本文轉(zhuǎn)載自微信公眾號(hào)「新鈦云服」,作者祝祥  。轉(zhuǎn)載本文請(qǐng)聯(lián)系新鈦云服公眾號(hào)。 

「Ceph – 簡(jiǎn)介」

Ceph是一個(gè)即讓人印象深刻又讓人畏懼的開(kāi)源存儲(chǔ)產(chǎn)品。通過(guò)本文,用戶(hù)能確定Ceph是否滿(mǎn)足自身的應(yīng)用需求。在本文中,我們將深入研究Ceph的起源,研究其功能和基礎(chǔ)技術(shù),并討論一些通用的部署方案和優(yōu)化與性能增強(qiáng)方案。同時(shí)本文也提供了一些故障場(chǎng)景以及對(duì)應(yīng)的解決思路。

背景

Ceph是一個(gè)開(kāi)源的分布式存儲(chǔ)解決方案,具有極大的靈活性和適應(yīng)性。Ceph項(xiàng)目最早起源于Sage就讀博士期間的論文(最早的成果于2004年發(fā)表),并隨后貢獻(xiàn)給開(kāi)源社區(qū)。在經(jīng)過(guò)了數(shù)年的發(fā)展之后,目前已得到眾多云計(jì)算廠(chǎng)商的支持并被廣泛應(yīng)用。RedHat及OpenStack都可與Ceph整合以支持虛擬機(jī)鏡像的后端存儲(chǔ)。

Ceph在2014年被RedHat收購(gòu)后,一直由RedHat負(fù)責(zé)維護(hù)。Ceph的命名和UCSC(Ceph 的誕生地)的吉祥物有關(guān),這個(gè)吉祥物是 “Sammy”,一個(gè)香蕉色的蛞蝓,就是頭足類(lèi)中無(wú)殼的軟體動(dòng)物。這些有多觸角的頭足類(lèi)動(dòng)物,是對(duì)一個(gè)分布式文件系統(tǒng)高度并行的形象比喻。自從2012年7月3日發(fā)布第一個(gè)版本的Argonaut以來(lái),隨著新技術(shù)的整合,Ceph經(jīng)歷了幾次開(kāi)發(fā)迭代。借助適用于Openstack和Proxmox的虛擬化平臺(tái),Ceph可支持直接將iSCSI存儲(chǔ)呈現(xiàn)給虛擬化平臺(tái)。同時(shí)Ceph也擁有功能強(qiáng)大的API。在世界上的各大公司都能發(fā)現(xiàn)Ceph的身影——提供塊存儲(chǔ),文件存儲(chǔ),對(duì)象存儲(chǔ)。

由于Ceph是目前唯一提供以下所有功能的存儲(chǔ)解決方案,因此Ceph越來(lái)越受歡迎,并吸引了許多大型企業(yè)的極大興趣:

  • 「軟件定義」:軟件定義存儲(chǔ) (SDS) 是一種能將存儲(chǔ)軟件與硬件分隔開(kāi)的存儲(chǔ)架構(gòu)。不同于傳統(tǒng)的網(wǎng)絡(luò)附加存儲(chǔ) (NAS) 或存儲(chǔ)區(qū)域網(wǎng)絡(luò) (SAN) 系統(tǒng),SDS 一般都在行業(yè)標(biāo)準(zhǔn)系統(tǒng)或 x86 系統(tǒng)上運(yùn)行,從而消除了軟件對(duì)于專(zhuān)有硬件的依賴(lài)性。借助Ceph,還可以為諸如糾錯(cuò)碼,副本,精簡(jiǎn)配置,快照和備份之類(lèi)的功能提供策略管理。
  • 「企業(yè)級(jí)」 :Ceph旨在滿(mǎn)足大型組織在可用性,兼容性,可靠性,可伸縮性,性能和安全性等方面的需求。它同時(shí)支持按比例伸縮,從而使其具有很高的靈活性,并且其可擴(kuò)展性潛力幾乎無(wú)限。
  • 「統(tǒng)一存儲(chǔ)」:Ceph提供了塊+對(duì)象+文件存儲(chǔ),從而提供了更大的靈活性(大多數(shù)其他存儲(chǔ)產(chǎn)品都是僅塊,僅文件,僅對(duì)象或文件+塊;ceph提供的三種混合存儲(chǔ)是非常罕見(jiàn))。
  • 「開(kāi)源」:開(kāi)源實(shí)現(xiàn)技術(shù)的敏捷性,通常提供多種解決問(wèn)題的方法。開(kāi)源通常也更具成本效益,并且可以更輕松地使組織開(kāi)始規(guī)模更小,規(guī)模更大。開(kāi)源解決方案背后的許多意識(shí)形態(tài)孕育了一個(gè)相互協(xié)作且參與度高的專(zhuān)業(yè)社區(qū),這些社區(qū)反應(yīng)靈敏且相互支持。更不用說(shuō)開(kāi)源是未來(lái)的方向。Web,移動(dòng)和云解決方案越來(lái)越多地建立在開(kāi)源基礎(chǔ)架構(gòu)上。

「為什么選擇Ceph?」

「Ceph 分布式核心組件」

集群文件系統(tǒng)最初始于1990年代末和2000年代初。Lustre是最早利用可伸縮文件系統(tǒng)實(shí)現(xiàn)產(chǎn)品化的產(chǎn)品之一。多年來(lái),出現(xiàn)了其他一些Lustre衍生產(chǎn)品,包括GlusterFS,GPFS,XtreemFS和OrangeFS等。這些文件系統(tǒng)都集中于為文件系統(tǒng)實(shí)現(xiàn)符合POSIX的掛載,并且缺乏通用的集成API。

Ceph的架構(gòu)并不需要考慮到需要與POSIX兼容的文件系統(tǒng)——這完全得益于云的時(shí)代。利用RADOS,Ceph可以擴(kuò)展不受元數(shù)據(jù)約束限制的塊設(shè)備。這極大地提高了存儲(chǔ)性能,但是卻使那些尋求基于Ceph的大型文件系統(tǒng)掛載方法的人們望而卻步。直到Ceph Jewel(10.2.0)版本發(fā)布為止,CephFS已經(jīng)是穩(wěn)定且可靠的文件系統(tǒng)——允許部署POSIX掛載的文件系統(tǒng)。

Ceph支持塊,對(duì)象和文件存儲(chǔ),并且具有橫向擴(kuò)展能力,這意味著多個(gè)Ceph存儲(chǔ)節(jié)點(diǎn)(服務(wù)器)共同提供了一個(gè)可快速處理上PB數(shù)據(jù)(1PB = 1,000 TB = 1,000,000 GB)的存儲(chǔ)系統(tǒng)。利用作為基礎(chǔ)的硬件組件,它還可以同時(shí)提高性能和容量。

Ceph具有許多基本的企業(yè)存儲(chǔ)功能,包括副本,糾錯(cuò)碼,快照,自動(dòng)精簡(jiǎn)配置,分層(在閃存和普通硬盤(pán)之間緩存數(shù)據(jù)的能力——即緩存)以及自我修復(fù)功能。為了做到這一點(diǎn),Ceph利用了下面將要探討的幾個(gè)組件。

從Ceph Nautilus(v14.2.0)開(kāi)始,現(xiàn)在有五個(gè)主要的守護(hù)程序或服務(wù),它們集成在一起以提供Ceph服務(wù)的正常運(yùn)行。這些是:

  1. 「ceph-mon」:Monitor確實(shí)提供了其名稱(chēng)所暗示的功能——監(jiān)視群集的運(yùn)行狀況。該監(jiān)視器還告訴OSD在replication期間將數(shù)據(jù)放置在何處,并保留主CRUSH Map。
  2. 「ceph-osd」:OSD是Ceph的基礎(chǔ)數(shù)據(jù)存儲(chǔ)單元,它利用XFS文件系統(tǒng)和物理磁盤(pán)來(lái)存儲(chǔ)從客戶(hù)端提供給它的塊數(shù)據(jù)。
  3. 「ceph-mds」:MDS守護(hù)程序提供了將Ceph塊數(shù)據(jù)轉(zhuǎn)換為存儲(chǔ)文件的POSIX兼容掛載點(diǎn)的功能,就像您使用傳統(tǒng)文件系統(tǒng)一樣。
  4. 「ceph-mgr」:MGR守護(hù)程序顯示有關(guān)群集狀態(tài)的監(jiān)視和管理信息。
  5. 「ceph-rgw」:RGW守護(hù)程序是一個(gè)HTTP API守護(hù)程序,對(duì)象存儲(chǔ)網(wǎng)關(guān)實(shí)際上是調(diào)用librados的API來(lái)實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)和讀取。而該網(wǎng)關(guān)同時(shí)提供了兼容AWS S3和OpenStack Swift的對(duì)象存儲(chǔ)訪(fǎng)問(wèn)接口(API)。

從術(shù)語(yǔ)的角度來(lái)看,Ceph需要了解一些重要的知識(shí)。

Ceph基于CRUSH算法構(gòu)建, 并支持多種訪(fǎng)問(wèn)方法(文件,塊,對(duì)象)。CRUSH算法確定對(duì)象在OSD上的位置,并且可以將這些相同的塊拉出以進(jìn)行訪(fǎng)問(wèn)請(qǐng)求。

Ceph利用了可靠,自治,分布式的對(duì)象存儲(chǔ)(或RADOS),該對(duì)象存儲(chǔ)由自我修復(fù),自我管理的存儲(chǔ)節(jié)點(diǎn)組成。前面討論的OSD守護(hù)程序是RADOS群集的一部分。

放置組(PG)的全稱(chēng)是placement group,是用于放置object的一個(gè)載體,所以群集中PG的數(shù)量決定了它的大小。pg的創(chuàng)建是在創(chuàng)建ceph存儲(chǔ)池的時(shí)候指定的,同時(shí)跟指定的副本數(shù)也有關(guān)系,比如是3副本的則會(huì)有3個(gè)相同的pg存在于3個(gè)不同的osd上,pg其實(shí)在osd的存在形式就是一個(gè)目錄。PG可以由管理員設(shè)置,新版本中也可以根據(jù)集群使用情況自動(dòng)縮放。

RBD即RADOS Block Device的簡(jiǎn)稱(chēng),RBD塊存儲(chǔ)是最穩(wěn)定且最常用的存儲(chǔ)類(lèi)型。RBD塊設(shè)備類(lèi)似磁盤(pán)可以被掛載。RBD塊設(shè)備具有快照、多副本、克隆和一致性等特性,數(shù)據(jù)以條帶化的方式存儲(chǔ)在Ceph集群的多個(gè)OSD中。可以在Ceph中用于創(chuàng)建用于虛擬化的鏡像塊設(shè)備,例如KVM和Xen。通過(guò)利用與RADOS兼容的API librados,VM的訪(fǎng)問(wèn)不是通過(guò)iSCSI或NFS,而是通過(guò)存儲(chǔ)API來(lái)實(shí)現(xiàn)的。

使用場(chǎng)景

正如我們已經(jīng)描述的那樣,Ceph是一個(gè)非常靈活和一致的存儲(chǔ)解決方案。對(duì)Ceph存儲(chǔ)對(duì)象的訪(fǎng)問(wèn)可以通過(guò)多種方式來(lái)完成,因此Ceph具有其他類(lèi)似產(chǎn)品所缺乏的大量生產(chǎn)用例。

可以將Ceph部署為S3/Swift對(duì)象存儲(chǔ)的替代品。通過(guò)它的RADOS網(wǎng)關(guān),可以使用http GET請(qǐng)求以及大量可用的Amazon S3 API工具箱訪(fǎng)問(wèn)存儲(chǔ)在Ceph中的對(duì)象。

也可以通過(guò)librados API或iSCSI/NFS在包括VMWare和其他專(zhuān)有虛擬化平臺(tái)在內(nèi)的虛擬化環(huán)境中直接使用Ceph。

可以部署CephFS為需要訪(fǎng)問(wèn)大型文件系統(tǒng)的操作系統(tǒng)提供POSIX兼容的掛載點(diǎn)。

根據(jù)以上的這些場(chǎng)景,我們可以利用單個(gè)存儲(chǔ)平臺(tái)來(lái)滿(mǎn)足各種計(jì)算和存儲(chǔ)需求。

「潛在的部署方案」

常用的Ceph部署工具主要有:ceph-deploy,ceph-ansible,基于kubernetns的Rook以及新版本基于容器的kubeadm等。當(dāng)然工具不僅僅是這些。每一種部署方案都有大量的生產(chǎn)實(shí)踐。以下簡(jiǎn)單介紹以下這幾種常用的部署方式:

「Ceph-deply」:該工具可用于簡(jiǎn)單、快速地部署 Ceph 集群,而無(wú)需涉及繁雜的手動(dòng)配置。它在管理節(jié)點(diǎn)上通過(guò) ssh 獲取其它 Ceph 節(jié)點(diǎn)的訪(fǎng)問(wèn)權(quán)、通過(guò) sudo 獲取其上的管理權(quán)限、通過(guò)底層 Python 腳本自動(dòng)化各節(jié)點(diǎn)上的 Ceph 安裝進(jìn)程。它簡(jiǎn)單到可以運(yùn)行在工作站上,不需要服務(wù)器、數(shù)據(jù)庫(kù)或任何其它的自動(dòng)化工具。使用ceph-deploy安裝和拆除集群非常簡(jiǎn)單。然而它不是通用部署工具,是專(zhuān)為想快速安裝、運(yùn)行 Ceph 的人們?cè)O(shè)計(jì)的專(zhuān)用工具,這樣的集群只包含必要的的初始配置選項(xiàng),就沒(méi)必要安裝像 Chef 、 Puppet 或 Juju 這樣的部署工具。

「Ceph-ansible」:用于部署Ceph分布式系統(tǒng)的ansible playbook,ceph-ansible是安裝和管理完整ceph集群的最靈活的方法,當(dāng)前大量的生產(chǎn)環(huán)境都會(huì)使用該安裝方式。

「Rook」:Rook 是一個(gè)編排器,能夠支持包括 Ceph 在內(nèi)的多種存儲(chǔ)方案。Rook 簡(jiǎn)化了 Ceph 在 Kubernetes 集群中的部署過(guò)程。Rook 是一個(gè)可以提供 Ceph 集群管理能力的 Operator。Rook 使用 CRD 一個(gè)控制器來(lái)對(duì) Ceph 之類(lèi)的資源進(jìn)行部署和管理。

「Cephadm」:較新的集群自動(dòng)化部署工具,支持通過(guò)圖形界面或者命令行界面添加節(jié)點(diǎn),目前不建議用于生產(chǎn)環(huán)境。cephadm的目標(biāo)是提供一個(gè)功能齊全、健壯且維護(hù)良好的安裝和管理層,可供不在Kubernetes中運(yùn)行Ceph的任何環(huán)境使用。Cephadm通過(guò)SSH從manager守護(hù)進(jìn)程連接到主機(jī)來(lái)部署和管理Ceph集群,以添加、刪除或更新Ceph守護(hù)進(jìn)程容器。它不依賴(lài)于外部配置或編排工具,如Ansible、Rook或Salt。

「結(jié)論」

Ceph的性能與功能不斷得到提升,存儲(chǔ)特性也不斷豐富,甚至可以與傳統(tǒng)專(zhuān)業(yè)存儲(chǔ)媲美,完備的存儲(chǔ)服務(wù)和低廉的投資成本,使得越來(lái)越多的企業(yè)和單位選用Ceph提供存儲(chǔ)服務(wù)。大量的生產(chǎn)最佳實(shí)踐也使得Ceph成為標(biāo)準(zhǔn)SDS的最優(yōu)解決方案之一。

Cephadm管理Ceph集群的整個(gè)生命周期,是官方以后力推的部署以及管理Ceph的解決方案。它首先在單個(gè)節(jié)點(diǎn)(一個(gè)監(jiān)視器和一個(gè)管理器)上引導(dǎo)一個(gè)很小的Ceph集群,然后使用編排接口擴(kuò)展集群以包括所有主機(jī)并提供所有Ceph守護(hù)進(jìn)程和服務(wù)。這可以通過(guò)Ceph命令行界面(CLI)或儀表板(GUI)來(lái)執(zhí)行。

Cephadm是Octopus發(fā)行版中的一個(gè)新功能,在生產(chǎn)中的使用有限。社區(qū)希望用戶(hù)嘗試cephadm,特別是對(duì)于新的集群,但請(qǐng)注意,有些功能仍然很粗糙。當(dāng)前社區(qū)持續(xù)在改進(jìn)以及相應(yīng)BUG修復(fù)中。

5種最常見(jiàn)的CEPH失敗方案

Ceph是一種廣泛使用的存儲(chǔ)解決方案,可在整個(gè)分布式集群中實(shí)現(xiàn)對(duì)象級(jí),塊級(jí)和文件級(jí)存儲(chǔ)。Ceph是創(chuàng)建不圍繞單個(gè)故障點(diǎn)進(jìn)行擴(kuò)展的高效存儲(chǔ)系統(tǒng)的理想選擇。但是,如果管理不當(dāng),Ceph可能很容易成為失敗場(chǎng)景的雷區(qū),這可能是一件難以完全避免的事情。本處,我們將探討最常見(jiàn)的五種Ceph失敗方案。

「Monitor數(shù)目不正確」

在最新版本的Ceph中,至少需要三臺(tái)運(yùn)行Ceph Mon守護(hù)程序的服務(wù)器。這些可以是物理服務(wù)器(理想情況下)或者也可以是虛擬機(jī)。但是,如果您超出了Mon服務(wù)器的最小數(shù)量,則在Ceph構(gòu)建中始終保持運(yùn)行奇數(shù)個(gè)守護(hù)程序非常重要。這個(gè)奇數(shù)很重要,因?yàn)樗试S系統(tǒng)正確地建立一個(gè)主機(jī)來(lái)控制CRUSH Map。在確定主服務(wù)器時(shí),每臺(tái)服務(wù)器都會(huì)“投票”認(rèn)為最適合維護(hù)crush map的服務(wù)器。維護(hù)奇數(shù)個(gè)Ceph守護(hù)程序可確保永遠(yuǎn)不會(huì)出現(xiàn)投票平局的現(xiàn)象,并且始終會(huì)建立一個(gè)主服務(wù)器。如果沒(méi)有維護(hù)奇數(shù)個(gè)守護(hù)程序,則可能會(huì)導(dǎo)致不穩(wěn)定,并最終導(dǎo)致Ceph崩潰。

「OSD數(shù)目不正確」

根據(jù)在Ceph集群中所設(shè)置的副本數(shù),您將需要足夠數(shù)量的硬盤(pán)(OSD——對(duì)象存儲(chǔ)設(shè)備)。當(dāng)您計(jì)劃購(gòu)買(mǎi)或升級(jí)當(dāng)前Ceph中的OSD前,最重要的是要根據(jù)當(dāng)前狀況進(jìn)行數(shù)據(jù)量預(yù)測(cè),以匹配未來(lái)生產(chǎn)的數(shù)據(jù)量。通常,最好至少提前6到12個(gè)月進(jìn)行估算,并將此存儲(chǔ)量乘以所需的對(duì)象冗余量(即32TB數(shù)據(jù)* 3(副本數(shù))= 96TB所需的存儲(chǔ)空間)。通過(guò)適當(dāng)?shù)念A(yù)測(cè),您可以避免OSD過(guò)載,并保持CEPH環(huán)境正常運(yùn)行。

「RADOS網(wǎng)關(guān)冗余不足」

RADOS (「Reliable, Autonomic Distributed Object Store」) 是Ceph的核心之一,作為Ceph分布式文件系統(tǒng)的一個(gè)子項(xiàng)目,特別為Ceph的需求設(shè)計(jì),能夠在動(dòng)態(tài)變化和異質(zhì)結(jié)構(gòu)的存儲(chǔ)設(shè)備集群之上提供一種穩(wěn)定、可擴(kuò)展、高性能的單一邏輯對(duì)象(Object)存儲(chǔ)接口和能夠?qū)崿F(xiàn)節(jié)點(diǎn)的自適應(yīng)和自管理的存儲(chǔ)系統(tǒng)。RADOS構(gòu)成了Ceph集群的核心,并且與Ceph CRUSH Map結(jié)合使用時(shí),可以使您在服務(wù)器的集群中保持?jǐn)?shù)據(jù)一致且可安全的進(jìn)行數(shù)據(jù)同步與復(fù)制。可以以多種不同方式訪(fǎng)問(wèn)Ceph數(shù)據(jù)。其中之一是通過(guò)稱(chēng)為RADOS網(wǎng)關(guān)的HTTP API前端進(jìn)行的。RADOS網(wǎng)關(guān)公開(kāi)了一個(gè)存儲(chǔ)API,供外部人員調(diào)用。

如果通過(guò)RADOS網(wǎng)關(guān)訪(fǎng)問(wèn)您的Ceph集群,那么促進(jìn)API訪(fǎng)問(wèn)的前端服務(wù)器必須冗余且能夠負(fù)載均衡,這一點(diǎn)非常重要。在理想的配置中,多個(gè)RADOS服務(wù)器將可用于接受請(qǐng)求,并且所有請(qǐng)求都應(yīng)由一個(gè)冗余的負(fù)載均衡器進(jìn)行管理。如果未進(jìn)行正確配置,則非冗余RADOS網(wǎng)關(guān)服務(wù)器的故障將導(dǎo)致您完全失去對(duì)CEPH群集的API訪(fǎng)問(wèn)權(quán)限。您可以使用混合的解決方案,該混合解決方案會(huì)利用本地RADOS網(wǎng)關(guān),當(dāng)發(fā)生故障時(shí)則會(huì)回退到基于云的冗余網(wǎng)關(guān)上。這可以最大程度地減少額外的不必要轉(zhuǎn)換,同時(shí)保持對(duì)存儲(chǔ)解決方案的冗余和可靠訪(fǎng)問(wèn)。

「硬件配置不足」

為CEPH集群維護(hù)硬件時(shí),最重要的是要確保硬件配置滿(mǎn)足實(shí)際需求,具體需要考慮的如下:

  • 「電源」:確保主機(jī)的電源模塊至少是雙路冗余。還要確保每臺(tái)CEPH服務(wù)器都有一個(gè)備用電源,該備用電源的功率足以完全滿(mǎn)足服務(wù)器的需求。沒(méi)有適當(dāng)?shù)娜哂啵鷮⒚媾R不可挽回的數(shù)據(jù)丟失的風(fēng)險(xiǎn)。
  • 「CPU」:最佳實(shí)踐要求在所有CEPH服務(wù)器上使用相同型號(hào)相同配置的CPU。這有助于在整個(gè)ceph集群中保持一致性以及穩(wěn)定性。
  • 「內(nèi)存」:與CPU相似,您使用的內(nèi)存應(yīng)在CEPH服務(wù)器之間平均分配。理想情況下,存儲(chǔ)服務(wù)器的品牌和規(guī)格應(yīng)該相同。此外,在發(fā)生硬件故障時(shí),還應(yīng)具有大量可用的冗余內(nèi)存(備件)。
  • 「硬盤(pán)」:建議將SAS磁盤(pán)用于OSD。如果有可能的話(huà),使用故障率低于SAS盤(pán)的NVMe磁盤(pán)則會(huì)更為理想。
  • 「其他」:如果有可能的話(huà),可以提供一些冷備機(jī)器。當(dāng)存儲(chǔ)節(jié)點(diǎn)存現(xiàn)故障的時(shí)候,極端情況下可以直接進(jìn)行備機(jī)更換(保留物理磁盤(pán))。

「CEPH專(zhuān)業(yè)知識(shí)」

通常,CEPH失敗的原因是由于缺乏CEPH相關(guān)的專(zhuān)業(yè)知識(shí)。例如,所有CEPH群集中OSD節(jié)點(diǎn)都將利用硬盤(pán)直通模式來(lái)確保性能和可靠性。但是,如果改用RAID的話(huà),則不僅是不推薦的,而且還會(huì)因?yàn)榇疟P(pán)陣列故障而導(dǎo)致出現(xiàn)單點(diǎn)故障,最終可能引起大量數(shù)據(jù)丟失。這種錯(cuò)誤很簡(jiǎn)單,但從長(zhǎng)遠(yuǎn)來(lái)看,這樣的錯(cuò)誤代價(jià)高昂,并且可能需要更高級(jí)的ceph專(zhuān)家去解決相應(yīng)的問(wèn)題。

Ceph常規(guī)排障

如果Ceph集群崩潰該怎么辦

由于Ceph在軟件層就內(nèi)置了所有可用的冗余和故障保護(hù)功能,因此簡(jiǎn)單的故障不太可能造成災(zāi)難性的后果,并且一般的故障相對(duì)都是比較容易恢復(fù)的。但問(wèn)題是,當(dāng)遇到一系列意外事件導(dǎo)致集群停止響應(yīng)存儲(chǔ)請(qǐng)求或使所有VM虛擬機(jī)脫機(jī)時(shí),那又該怎么辦?

「保持冷靜」

Ceph非常強(qiáng)大,其Crush算法可確保數(shù)據(jù)的完整性和可用性。記住這一關(guān)鍵事實(shí)將有助于您確定中斷的原因。

最常見(jiàn)的災(zāi)難性故障場(chǎng)景之一是群集丟失的OSD超過(guò)維護(hù)所需的冗余級(jí)別所需的OSD。在這種情況下,快速識(shí)別并更換有問(wèn)題的OSD將使您的群集恢復(fù)工作狀態(tài)。同時(shí)也讓我們確定其他潛在故障觸發(fā)因素。

「記錄和狀態(tài)」

Ceph在mon(monitor)節(jié)點(diǎn)和osd(object storage daemon)節(jié)點(diǎn)上提供了多個(gè)日志和狀態(tài)查看命令,您應(yīng)該首先利用Ceph相關(guān)命令行來(lái)查看群集的運(yùn)行狀況。

要評(píng)估Ceph集群的當(dāng)前狀態(tài),請(qǐng)輸入:

  1. # ceph status 

或者使用:

  1. # ceph -s 

兩次命令的結(jié)果都應(yīng)輸出類(lèi)似于以下內(nèi)容:

  1. cluster b370a29d-9287-4ca3-ab57-3d824f65e339 
  2. health HEALTH_OK 
  3. monmap e1: 1 mons at {ceph1=10.0.0.8:6789/0}, election epoch 2, quorum 0 ceph1 
  4. osdmap e63: 2 osds: 2 up, 2 in 
  5. pgmap v41332: 952 pgs, 20 pools, 17130 MB data, 2199 objects 
  6. 115 GB used, 167 GB / 297 GB avail 
  7. 1 active+clean+scrubbing+deep 
  8. 951 active+clean 

如果您看到健康狀況為“HEALTH_OK”,那就說(shuō)明集群狀態(tài)健康。

在某些情況下,尤其是與OSD相關(guān)的情況下,將返回HEALTH_WARN或HEALTH_ERR。這可能是由于一些不影響群集整體性能的因素所致,例如OSD重新均衡或存儲(chǔ)池的PG的深度清理。這些都可以安全地忽略。

在某些情況下,Ceph的命令行界面可能根本不響應(yīng)這兩個(gè)命令。如果您的Ceph的身份驗(yàn)證有問(wèn)題,或者運(yùn)行Monitor服務(wù)的節(jié)點(diǎn)硬件有問(wèn)題,通常會(huì)發(fā)生這種情況。在第二種情況下,則需要診斷Monitor節(jié)點(diǎn)服務(wù)器本身的硬件問(wèn)題。

「mon(Monitor)調(diào)試」

當(dāng)使用多個(gè)Ceph Mon運(yùn)行時(shí),Ceph則需要仲裁(Quorum)。仲裁是確保一致性的可靠方法,因?yàn)槿杭枰钌俚?ldquo;投票”數(shù)才能繼續(xù)進(jìn)行replication。

可以使用以下幾個(gè)命令來(lái)確定Ceph Mon的狀態(tài)。

  1. # ceph mon stat 

上述命令將輸出集群中所有mon的當(dāng)前狀態(tài),例如:

  1. e3: 3 mons at {pve1=10.103.6.109:6789/0,pve2=10.103.6.110:6789/0,pve3=10.103.6.111:6789/0}, election epoch 30, leader 0 pve1, quorum 0,1,2 pve1,pve2,pve3 

上面表示有三個(gè)Ceph Mon已經(jīng)啟動(dòng)并成功運(yùn)行。其中有一個(gè)仲裁節(jié)點(diǎn),狀態(tài)顯示集群運(yùn)行正常。您會(huì)注意到ceph mon stat的輸出中有幾條重要的信息,包括選舉之間的時(shí)間間隔(以秒為單位)。選舉在這些時(shí)間間隔內(nèi)發(fā)生,以確定哪個(gè)監(jiān)視器應(yīng)該是集群的“leader”。

與使用仲裁作為確保一致性的方法的非技術(shù)機(jī)構(gòu)一樣,每個(gè)節(jié)點(diǎn)都有一票表決權(quán)。在Ceph中,最佳實(shí)踐堅(jiān)持我們利用大于或等于3的奇數(shù)個(gè)Ceph Mon節(jié)點(diǎn)。這確保了我們的群集在失去一個(gè)或者兩個(gè)仲裁節(jié)點(diǎn)的小概率事件中維持仲裁能力和一定程度的冗余。

如果我們真的失去了法定人數(shù)(quorum),或者沒(méi)有贏(yíng)得法定人數(shù)的投票。那么,由于監(jiān)視器在其Ceph運(yùn)行中所起的重要作用,則會(huì)導(dǎo)致Ceph群集將完全無(wú)法響應(yīng)。從跟蹤數(shù)據(jù)存放位置到維護(hù)OSD的實(shí)時(shí)Map。Ceph Mon節(jié)點(diǎn)還提供用于返回“Ceph health”和“Ceph -s”輸出功能。如果沒(méi)有一個(gè)正常工作的Ceph Mon仲裁,則所有命令都不會(huì)有任何返回值。

檢查監(jiān)視器狀態(tài)的其他有用命令包括:

  1. #dumping the mon map 
  2. # ceph mon dump  
  3. dumped monmap epoch 3 
  4. epoch 3 
  5. fsid 4a1dc77a-37f8-4b5b-9476-853f7cace716 
  6. last_changed 2020-8-18 10:50:36.846268 
  7. created 2020-8-18 10:50:25.571368 
  8. 0: 10.103.6.109:6789/0 mon.pve1 
  9. 1: 10.103.6.110:6789/0 mon.pve2 
  10. 2: 10.103.6.111:6789/0 mon.pve3 
  11.  
  12.  
  13. # ceph quorum_status --format json-pretty #looking at quorum status 
  14.     "election_epoch": 30, 
  15.     "quorum": [ 
  16.         0, 
  17.         1, 
  18.         2 
  19.     ], 
  20.     "quorum_names": [ 
  21.         "pve1"
  22.         "pve2"
  23.         "pve3" 
  24.     ], 
  25.     "quorum_leader_name""pve1"
  26.     "monmap": { 
  27.         "epoch": 3, 
  28.         "fsid""4a1dc77a-37f8-4b5b-9476-853f7cace716"
  29.         "modified""2020-8-18 10:50:36.846268"
  30.         "created""2020-8-18 10:50:25.571368"
  31.         "features": { 
  32.             "persistent": [ 
  33.                 "kraken"
  34.                 "luminous" 
  35.             ], 
  36.             "optional": [] 
  37.         }, 
  38.         "mons": [ 
  39.             { 
  40.                 "rank": 0, 
  41.                 "name""pve1"
  42.                 "addr""10.103.6.109:6789/0"
  43.                 "public_addr""10.103.6.109:6789/0" 
  44.             }, 
  45.             { 
  46.                 "rank": 1, 
  47.                 "name""pve2"
  48.                 "addr""10.103.6.110:6789/0"
  49.                 "public_addr""10.103.6.110:6789/0" 
  50.             }, 
  51.             { 
  52.                 "rank": 2, 
  53.                 "name""pve3"
  54.                 "addr""10.103.6.111:6789/0"
  55.                 "public_addr""10.103.6.111:6789/0" 
  56.             } 
  57.         ] 
  58.     } 

「守護(hù)進(jìn)程套接字(「Daemon Socket」)」

Ceph管理套接字(daemon socket)允許您直接連接到所有正在運(yùn)行的Ceph守護(hù)進(jìn)程。從OSD到Mon和MGR,Ceph守護(hù)程序管理套接字可以提供診斷功能,這些功能在Ceph Mon發(fā)生故障并且Ceph客戶(hù)端停止響應(yīng)時(shí)可能會(huì)變得不可用。

以下命令可直接連接到Ceph守護(hù)程序,根據(jù)需求進(jìn)行狀態(tài)查看。

  1. # ceph daemon {daemon-name} ##OR 
  2. # ceph daemon {path-to-socket-file} ##For Example 
  3. # ceph daemon osd.0 help 
  4.     "calc_objectstore_db_histogram""Generate key value histogram of kvdb(rocksdb) which used by bluestore"
  5.     "compact""Commpact object store's omap. WARNING: Compaction probably slows your requests"
  6.     "config diff""dump diff of current config and default config"
  7.     "config diff get""dump diff get : dump diff of current and default config setting "
  8.     "config get""config get : get the config value"
  9.     "config help""get config setting schema and descriptions"
  10.     "config set""config set   [ ...]: set a config variable"
  11.     "config show""dump current config settings"
  12.     "dump_blacklist""dump blacklisted clients and times"
  13.     "dump_blocked_ops""show the blocked ops currently in flight"
  14.     "dump_historic_ops""show recent ops"
  15.     "dump_historic_ops_by_duration""show slowest recent ops, sorted by duration"
  16.     "dump_historic_slow_ops""show slowest recent ops"
  17.     "dump_mempools""get mempool stats"
  18.     "dump_objectstore_kv_stats""print statistics of kvdb which used by bluestore"
  19.     "dump_op_pq_state""dump op priority queue state"
  20.     "dump_ops_in_flight""show the ops currently in flight"
  21.     "dump_pgstate_history""show recent state history"
  22.     "dump_reservations""show recovery reservations"
  23.     "dump_scrubs""print scheduled scrubs"
  24.     "dump_watchers""show clients which have active watches, and on which objects"
  25.     "flush_journal""flush the journal to permanent store"
  26.     "flush_store_cache""Flush bluestore internal cache"
  27.     "get_command_descriptions""list available commands"
  28.     "get_heap_property""get malloc extension heap property"
  29.     "get_latest_osdmap""force osd to update the latest map from the mon"
  30.     "getomap""output entire object map"
  31.     "git_version""get git sha1"
  32.     "heap""show heap usage info (available only if compiled with tcmalloc)"
  33.     "help""list available commands"
  34.     "injectdataerr""inject data error to an object"
  35.     "injectfull""Inject a full disk (optional count times)"
  36.     "injectmdataerr""inject metadata error to an object"
  37.     "log dump""dump recent log entries to log file"
  38.     "log flush""flush log entries to log file"
  39.     "log reopen""reopen log file"
  40.     "objecter_requests""show in-progress osd requests"
  41.     "ops""show the ops currently in flight"
  42.     "perf dump""dump perfcounters value"
  43.     "perf histogram dump""dump perf histogram values"
  44.     "perf histogram schema""dump perf histogram schema"
  45.     "perf reset""perf reset : perf reset all or one perfcounter name"
  46.     "perf schema""dump perfcounters schema"
  47.     "rmomapkey""remove omap key"
  48.     "set_heap_property""update malloc extension heap property"
  49.     "set_recovery_delay""Delay osd recovery by specified seconds"
  50.     "setomapheader""set omap header"
  51.     "setomapval""set omap key"
  52.     "status""high-level status of OSD"
  53.     "trigger_scrub""Trigger a scheduled scrub "
  54.     "truncobj""truncate object to length"
  55.     "version""get ceph version" 

例如,當(dāng)多個(gè)Ceph monitor守護(hù)進(jìn)程同時(shí)失敗時(shí),Ceph守護(hù)程序可用于更新mon map。這將使您可以將新的mon map更新并導(dǎo)入到無(wú)法運(yùn)行的Ceph Mon節(jié)點(diǎn)中,這也是Ceph中非常常見(jiàn)的一個(gè)故障解決方案。

「規(guī)避風(fēng)險(xiǎn)」

用戶(hù)應(yīng)該盡量熟悉這兩種從Ceph群集崩潰或意外中斷中恢復(fù)的重要方法。這些工具功能強(qiáng)大,學(xué)習(xí)如何利用它們則能盡量減少數(shù)據(jù)丟失的風(fēng)險(xiǎn),同時(shí)也能夠最快,最全的恢復(fù)Ceph集群。

當(dāng)然,每一個(gè)故障場(chǎng)景都不同,本處僅僅是提供了一些常規(guī)的集群崩潰故障以及對(duì)應(yīng)的解決方案。但更復(fù)雜的場(chǎng)景需要用戶(hù)根據(jù)自身所遇到的場(chǎng)景進(jìn)行更加具體的分析以及處理。

Ceph — OSD Flapping(抖動(dòng))調(diào)試和恢復(fù)

下面我們將特別討論如果當(dāng)您發(fā)現(xiàn)Ceph OSD因意外而進(jìn)行peering,出現(xiàn)scrubbing或集群連接斷斷續(xù)續(xù)的情況時(shí)候該如何進(jìn)行排查以及解決問(wèn)題。其實(shí),上述的這些行為也可以稱(chēng)之為抖動(dòng)(flapping),而且這因多種原因而引起的故障會(huì)損害群集的性能和持久性以及穩(wěn)定性。

「故障」

當(dāng)一個(gè)OSD或多個(gè)OSD開(kāi)始抖動(dòng)(flapping)時(shí),您可能首先會(huì)注意到讀寫(xiě)速度明顯下降。這是出于多種原因。當(dāng)OSD在不停的抖動(dòng)(flapping)期間停止時(shí),您實(shí)際上已經(jīng)失去了正在抖動(dòng)(flapping)的所有OSD的總吞吐量,也就是說(shuō)這些抖動(dòng)(flapping) OSD不僅不能提供正常的存儲(chǔ)能力,還影響了整個(gè)集群的性能。尤其是在一個(gè)擁有數(shù)萬(wàn)IOPS讀寫(xiě)的大型集群上,這可能是災(zāi)難性的。

OSD服務(wù)正常后,群集要做的第一件事就是嘗試進(jìn)行恢復(fù)。恢復(fù)并不是一個(gè)非常簡(jiǎn)單的過(guò)程,其中需要對(duì)在多個(gè)不同主機(jī)上的多個(gè)OSD中副本的塊進(jìn)行校驗(yàn)和驗(yàn)證,以確保完整性。如果校驗(yàn)和不匹配,則需要重新復(fù)制該塊。

此校驗(yàn)和驗(yàn)證和文件重新傳輸過(guò)程會(huì)引起Ceph集群的大量硬件資源消耗。最直接的體現(xiàn)是:服務(wù)器設(shè)備耗電量會(huì)大幅度增加,群集網(wǎng)絡(luò)上的網(wǎng)絡(luò)流量也會(huì)急劇增加。如果當(dāng)前Ceph集群已經(jīng)處于一個(gè)高負(fù)載的環(huán)境,這種額外的不必要的負(fù)載可能會(huì)導(dǎo)致性能進(jìn)一步下降,甚至導(dǎo)致集群停止響應(yīng),極端情況會(huì)引起Ceph集群的一連串的崩潰。

那么,如何查看Ceph集群的癥狀,以查看性能問(wèn)題是否與OSD的抖動(dòng)(flapping)相關(guān)?第一種也是最簡(jiǎn)單的方法是簡(jiǎn)單地檢查群集的運(yùn)行狀況。這可以通過(guò)使用Luminous及更高版本中提供的Ceph儀表板來(lái)完成。可通過(guò)“http://IPCEPHNODE:7000” (7000為訪(fǎng)問(wèn)端口,在初始化的時(shí)候可以根據(jù)需求進(jìn)行自定義)。您還可以在任何啟用了ceph-admin的主機(jī)上通過(guò)命令行查看Ceph群集的狀態(tài)。可以使用“ ceph -s”命令,該命令將輸出集群的當(dāng)前運(yùn)行狀況。如果正在進(jìn)行修復(fù)或OSD當(dāng)前被標(biāo)記為down,該命令將向您發(fā)出輸出警報(bào)。

「原因和解決方法」

通常,導(dǎo)致OSD抖動(dòng)(flapping)的原因與導(dǎo)致OSD失敗的原因相似。不良的硬件狀況,過(guò)多的發(fā)熱,網(wǎng)絡(luò)問(wèn)題以及整個(gè)系統(tǒng)的負(fù)載都可能導(dǎo)致OSD抖動(dòng)(flapping)。

從硬件的角度來(lái)看,底層的存儲(chǔ)磁盤(pán)可能出現(xiàn)物理故障。所有硬盤(pán)都可通過(guò)SMART屬性監(jiān)視其當(dāng)前狀態(tài)。這些值提供有關(guān)硬盤(pán)各種參數(shù)的信息,并可提供有關(guān)磁盤(pán)剩余壽命或任何可能的錯(cuò)誤的信息。此外,可以執(zhí)行各種SMART測(cè)試,以確定磁盤(pán)上的任何硬件問(wèn)題。因此,可以利用Smartctl來(lái)確定當(dāng)前環(huán)境中的SAS或者SATA磁盤(pán)是否處于不健康狀態(tài)——這可能導(dǎo)致OSD故障并不停重啟。通過(guò)登錄到可能受影響的主機(jī)并輸入“ smartctl -a /dev/sdX”(其中X是設(shè)備ID)來(lái)定位物理設(shè)備,從而檢查硬盤(pán)驅(qū)動(dòng)器的SMART狀態(tài)。同時(shí)還可以通過(guò)grep正則匹配去過(guò)濾所需要的參數(shù)。通過(guò)該方式,不僅將輸出硬盤(pán)當(dāng)前的狀態(tài),同時(shí)會(huì)顯示即將發(fā)生故障。如果可以的話(huà),請(qǐng)及時(shí)更換有故障的硬盤(pán)!

OSD抖動(dòng)(flapping)的另一個(gè)原因可能很簡(jiǎn)單,比如您的Ceph存儲(chǔ)網(wǎng)絡(luò)接口上的MTU不匹配。MTU或Maximum Transmission Unit,用來(lái)通知對(duì)方所能接受數(shù)據(jù)服務(wù)單元的最大尺寸,說(shuō)明發(fā)送方能夠接受的有效載荷大小,也就是允許接口發(fā)送的最大數(shù)據(jù)包大小——有效地將數(shù)據(jù)包拆分為較小的塊,以適合系統(tǒng)指定的MTU。因?yàn)镃eph是一種處理大型數(shù)據(jù)塊的存儲(chǔ)技術(shù),所以MTU越大,代表系統(tǒng)以最少的工作量就可以獲得更多的吞吐量。

如果整個(gè)集群中的任何地方的MTU不匹配,即一臺(tái)服務(wù)器的MTU設(shè)置為9000,另一臺(tái)服務(wù)器的MTU設(shè)置為1500,你最終會(huì)遇到這樣的情況:數(shù)據(jù)傳輸卡頓,并且Ceph集群的復(fù)制也會(huì)基本停止。這也可能是Ceph OSD抖動(dòng)(flapping)的另外一個(gè)原因(健康檢查與低MTU的競(jìng)爭(zhēng)帶寬)。

要檢查接口的MTU,請(qǐng)?jiān)诿钚猩湘I入“ ifconfig”或“ ip addr”。將MTU與接口匹配,并比較群集中所有主機(jī)接口的MTU配置是否一致。

「結(jié)論」

Ceph OSD的抖動(dòng)是存儲(chǔ)使用過(guò)程中最常見(jiàn)的一種故障,該故障不一定會(huì)致命,但往往會(huì)對(duì)集群性能產(chǎn)生嚴(yán)重的影響。及時(shí)發(fā)現(xiàn)OSD抖動(dòng),合理解決問(wèn)題,盡量避免對(duì)集群產(chǎn)生過(guò)多的影響。

「Ceph性能優(yōu)化與增強(qiáng)」

上文介紹了Ceph的入門(mén)背景,討論了Ceph在云計(jì)算和對(duì)象存儲(chǔ)中的功能和主要組件,并簡(jiǎn)要概述了其部署工具以及常規(guī)的故障現(xiàn)象以及對(duì)應(yīng)的解決思路。下文,我們將研究Ceph的強(qiáng)大的功能,并探索最優(yōu)的方法來(lái)提高存儲(chǔ)性能。

Ceph是一個(gè)非常復(fù)雜的存儲(chǔ)系統(tǒng),它具有幾種我們可以用來(lái)提高性能的方式。幸運(yùn)的是,Ceph的開(kāi)箱即用非常好,許多性能設(shè)置幾乎利用了自動(dòng)調(diào)整和縮放功能。在探索一些性能增強(qiáng)時(shí),了解您的工作負(fù)載很重要,這樣您就可以選擇最適合您的選項(xiàng)。

「配置說(shuō)明」

Ceph有幾種部署方案,其中最常見(jiàn)的是針對(duì)虛擬化環(huán)境,符合POSIX的文件系統(tǒng)和塊存儲(chǔ)的組合。這些場(chǎng)景中的每一個(gè)都有明顯不同的配置要求。例如,在CephFS提出的POSIX文件系統(tǒng)中,將文件系統(tǒng)元數(shù)據(jù)存儲(chǔ)在高速SSD或NVMe驅(qū)動(dòng)器上是非常重要。對(duì)于虛擬化環(huán)境中使用RBD場(chǎng)景,Ceph的caching tier功能可以使用SSD或NVMe為后端普通廉價(jià)的存儲(chǔ)提供高速緩存的功能。

「通用硬件」

「Hyper-Threading(HT)」基本做云平臺(tái)的,VT和HT打開(kāi)都是必須的,超線(xiàn)程技術(shù)(HT)就是利用特殊的硬件指令,把兩個(gè)邏輯內(nèi)核模擬成兩個(gè)物理芯片,讓單個(gè)處理器都能使用線(xiàn)程級(jí)并行計(jì)算,進(jìn)而兼容多線(xiàn)程操作系統(tǒng)和軟件,減少了CPU的閑置時(shí)間,提高的CPU的運(yùn)行效率。

「關(guān)閉節(jié)能」關(guān)閉節(jié)能后,對(duì)性能還是有所提升的,所以堅(jiān)決調(diào)整成性能型(Performance)。當(dāng)然也可以在操作系統(tǒng)級(jí)別進(jìn)行調(diào)整,詳細(xì)的調(diào)整過(guò)程請(qǐng)參考鏈接,但是不知道是不是由于BIOS已經(jīng)調(diào)整的緣故,所以在CentOS 6.6上并沒(méi)有發(fā)現(xiàn)相關(guān)的設(shè)置。

  1. for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do [ -f <span class="katex math inline">CPUFREQ ] || continue; echo -n performance></span>CPUFREQ; done 

「NUMA」簡(jiǎn)單來(lái)說(shuō),NUMA思路就是將內(nèi)存和CPU分割為多個(gè)區(qū)域,每個(gè)區(qū)域叫做NODE,然后將NODE高速互聯(lián)。node內(nèi)cpu與內(nèi)存訪(fǎng)問(wèn)速度快于訪(fǎng)問(wèn)其他node的內(nèi)存,NUMA可能會(huì)在某些情況下影響ceph-osd。解決的方案,一種是通過(guò)BIOS關(guān)閉NUMA,另外一種就是通過(guò)cgroup將ceph-osd進(jìn)程與某一個(gè)CPU Core以及同一NODE下的內(nèi)存進(jìn)行綁定。但是第二種看起來(lái)更麻煩,所以一般部署的時(shí)候可以在系統(tǒng)層面關(guān)閉NUMA。CentOS系統(tǒng)下,通過(guò)修改/etc/grub.conf文件,添加numa=off來(lái)關(guān)閉NUMA。

  1. kernel /vmlinuz-2.6.32-504.12.2.el6.x86_64 ro root=UUID=870d47f8-0357-4a32-909f-74173a9f0633 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM   biosdevname=0 numa=off 

「RAM」

為Ceph選擇的主機(jī)及其基礎(chǔ)服務(wù)應(yīng)具有足夠的CPU線(xiàn)程,內(nèi)存和網(wǎng)絡(luò)設(shè)備,以處理群集的預(yù)期吞吐量。Ceph建議每1TB OSD原始磁盤(pán)空間使用1GB RAM。如果主機(jī)具有96TB的原始磁盤(pán)空間,則應(yīng)計(jì)劃至少需要96GB的RAM。我們建議每個(gè)OSD至少使用1個(gè)CPU內(nèi)核。OSD可以定期消耗整個(gè)CPU來(lái)執(zhí)行重新平衡操作。

「避免使用超融合!」

不建議以超融合方式在Ceph節(jié)點(diǎn)上運(yùn)行其他應(yīng)用程序,因?yàn)樵谟捎诖疟P(pán)故障而導(dǎo)致的群集重建過(guò)程中,每個(gè)OSD的OSD RAM使用量可能遠(yuǎn)遠(yuǎn)超過(guò)建議的1GB。如果其他應(yīng)用程序爭(zhēng)奪RAM,則重建性能以及隨后的Ceph群集本身的讀寫(xiě)性能都會(huì)受到嚴(yán)重影響。

「不要使用硬件RAID控制器!」

讓Ceph為您完成數(shù)據(jù)處理。使用硬件RAID控制器可能導(dǎo)致Ceph在RAID重建期間未意識(shí)到的不一致和性能下降。SAS HBA的價(jià)格為$100-$200,高性能的僅占很小的溢價(jià)。這將是確保Ceph集群性能的最佳配置。

「基礎(chǔ)存儲(chǔ)OSD」

當(dāng)構(gòu)建一個(gè)新的Ceph群集時(shí),其中一個(gè)主要的工作是對(duì)象存儲(chǔ)守護(hù)程序(OSD)的底層存儲(chǔ)的選擇。容量需求可能決定了該解決方案所需要的底層存儲(chǔ)。預(yù)算可能允許購(gòu)買(mǎi)大容量的SSD驅(qū)動(dòng)器或NVMe。無(wú)論選擇了什么樣的底層存儲(chǔ),累計(jì)底層存儲(chǔ)的性能都將直接影響Ceph集群的性能(OSD性能越佳,則Ceph集群性能也越佳)。

在需要使多個(gè)10G萬(wàn)兆網(wǎng)絡(luò)接口的環(huán)境中,或者對(duì)于讀寫(xiě)時(shí)延極低的應(yīng)用程序,選擇SSD或NVMe磁盤(pán)可能更有意義。這些將為OSD提供企業(yè)級(jí)磁盤(pán)的完整吞吐量,包括在整個(gè)群集中的組合IOPS。

SATA和SAS類(lèi)型磁盤(pán)確實(shí)提供了比SSD和NVMe更大的標(biāo)準(zhǔn)存儲(chǔ)容量,但是IOPS與吞吐量有限(受限于OSD所使用的存儲(chǔ)介質(zhì))。因此,群集中將需要更大的磁盤(pán)陣列,以提供與更快的磁盤(pán)相似的甚至遠(yuǎn)超的性能。

「緩存層」

Ceph Luminous中的新增功能,對(duì)于出于預(yù)算原因或使用大容量磁盤(pán)的項(xiàng)目,可以充分提前預(yù)估存儲(chǔ)容量的用戶(hù)而言,緩存層(Cache Tier)是一項(xiàng)極佳的性能增強(qiáng)解決方案。構(gòu)建緩存層(Cache Tier)需要為每個(gè)Ceph存儲(chǔ)節(jié)點(diǎn)提供少數(shù)量的SSD或NVMe磁盤(pán),并修改Crush Map映射以創(chuàng)建單獨(dú)的存儲(chǔ)類(lèi)。

最佳實(shí)踐表明,除非您能夠準(zhǔn)確預(yù)測(cè)實(shí)際數(shù)據(jù)量,否則緩存應(yīng)不小于活動(dòng)存儲(chǔ)池的1/10到1/8的容量。因此,如果您有100TB的數(shù)據(jù)池,則應(yīng)計(jì)劃為您的緩存層提供大約10TB的存儲(chǔ)空間。

「Crush Map」

CRUSH 算法通過(guò)計(jì)算數(shù)據(jù)存儲(chǔ)位置來(lái)確定如何存儲(chǔ)和檢索。CRUSH 授權(quán) Ceph 客戶(hù)端直接連接 OSD ,而非通過(guò)一個(gè)集中服務(wù)器或代理。數(shù)據(jù)存儲(chǔ)、檢索算法的使用,使 Ceph 避免了單點(diǎn)故障、性能瓶頸、和伸縮的物理限制。

CRUSH 需要一張集群的 Map,且使用 CRUSH Map 把數(shù)據(jù)偽隨機(jī)地、盡量平均地分布到整個(gè)集群的 OSD 里。CRUSH Map 包含 OSD 列表、把設(shè)備匯聚為物理位置的“桶”列表、和指示 CRUSH 如何復(fù)制存儲(chǔ)池里的數(shù)據(jù)的規(guī)則列表。

CRUSH Map負(fù)責(zé)確保數(shù)據(jù)最終到達(dá)群集中應(yīng)有的位置,并在將IO請(qǐng)求轉(zhuǎn)換為磁盤(pán)位置以進(jìn)行數(shù)據(jù)檢索中發(fā)揮作用。正確的CRUSH Map將考慮設(shè)備的適當(dāng)權(quán)重,通常由磁盤(pán)大小決定,盡管您可以根據(jù)磁盤(pán)IOPS等其他因素來(lái)修改權(quán)重(一般不建議這樣做)。

「系統(tǒng)調(diào)整」

一個(gè)經(jīng)過(guò)適當(dāng)調(diào)優(yōu)的系統(tǒng)將是實(shí)現(xiàn)Ceph預(yù)期性能的關(guān)鍵。請(qǐng)?zhí)貏e關(guān)注網(wǎng)絡(luò)和sysctl優(yōu)化。一些關(guān)鍵參數(shù)包括:

  • 「系統(tǒng)MTU」 :將其設(shè)置為9000以允許大幀。眾所周知,存儲(chǔ)流量在TCP堆棧上非常頻繁,應(yīng)允許其盡可能多地傳輸數(shù)據(jù)而不會(huì)造成碎片,以確保您能夠充分使用存儲(chǔ)網(wǎng)絡(luò)。
  • 「Swappiness」 :通常,使用swap分區(qū)是不太好的。每當(dāng)您從內(nèi)存切換到磁盤(pán)時(shí),操作系統(tǒng)就會(huì)用完執(zhí)行基本功能所需的內(nèi)存,并且不得不將其中的某些內(nèi)存強(qiáng)制降低到速度慢得多的磁盤(pán)上。在查看性能時(shí),不能忽略Ceph群集的RAM分配的正確大小。可以在linux系統(tǒng)中配置Sysctl相應(yīng)的參數(shù),以強(qiáng)制linux停止使用交換分區(qū)。我們建議值為1,默認(rèn)值通常可以在20到40之間。數(shù)字越大,內(nèi)核嘗試交換的頻率就越高。
  • 「“ noatime”」 :在大多數(shù)已掛載的文件系統(tǒng)上使用此選項(xiàng),以跟蹤磁盤(pán)上文件的上次訪(fǎng)問(wèn)時(shí)間。由于這是由OSD自己?jiǎn)为?dú)處理的,因此在速度較慢的磁盤(pán)上禁用noatime可以提高性能。

「Ceph架構(gòu)調(diào)整」

關(guān)于Ceph的配置以及優(yōu)化的思路整體涉及如下:

  1. Mon節(jié)點(diǎn)對(duì)于群集的正常運(yùn)行至關(guān)重要。嘗試并使用獨(dú)立的Mon節(jié)點(diǎn),請(qǐng)確保資源獨(dú)享;或者,如果它們?cè)诠蚕憝h(huán)境中運(yùn)行,則需要隔離Mon進(jìn)程。為了實(shí)現(xiàn)冗余,請(qǐng)?jiān)贑eph集群中將Mon節(jié)點(diǎn)盡量均勻分布。
  2. Journal日志因雙寫(xiě)緣故,對(duì)影響影響較大。理想情況下,您應(yīng)該在單獨(dú)的物理磁盤(pán)上運(yùn)行操作系統(tǒng),OSD數(shù)據(jù)和OSD日志,以最佳的方式提高整體吞吐量。可以考慮將SSD用作Journal分區(qū)來(lái)提供讀寫(xiě)吞吐量。
  3. 如果使用的是bluestore而非filestore的話(huà),也請(qǐng)考慮rocksdb與wal的存儲(chǔ)使用SSD分區(qū)。
  4. 糾錯(cuò)碼是對(duì)象存儲(chǔ)的一種數(shù)據(jù)持久性特性。當(dāng)存儲(chǔ)大量一次寫(xiě)入、不經(jīng)常讀取的數(shù)據(jù)時(shí),請(qǐng)使用糾錯(cuò)碼。但是請(qǐng)記住,這是一個(gè)折衷方案:糾錯(cuò)碼可以大大降低每GB的成本,但與副本相比,其IOPS性能較低。
  5. 支持dentry和inode緩存可以提高性能,尤其是在具有許多較小對(duì)象的群集上。
  6. 使用緩存分層,可以根據(jù)需求在熱層和冷層之間自動(dòng)遷移數(shù)據(jù),從而提高群集的性能。為了獲得最佳性能,請(qǐng)將SSD用于高速緩存池,并將存儲(chǔ)池托管在具有較低延遲的服務(wù)器上。
  7. 部署奇數(shù)個(gè)Mon節(jié)點(diǎn)(3個(gè)或5個(gè))以進(jìn)行法定投票。添加更多的Mon可使您的群集更持久。但是,這有時(shí)會(huì)降低性能,因?yàn)镸on之間還有更多數(shù)據(jù)要保持同步。
  8. 排查群集中的性能問(wèn)題時(shí),請(qǐng)始終從最低級(jí)別(磁盤(pán),網(wǎng)絡(luò)或其他硬件)開(kāi)始,然后逐步升級(jí)至更高級(jí)別(塊設(shè)備和對(duì)象網(wǎng)關(guān))。
  9. PG和PGP數(shù)量一定要根據(jù)OSD的數(shù)量進(jìn)行調(diào)整,不合理的PG數(shù)目會(huì)導(dǎo)致數(shù)據(jù)分布不均衡。
  10. Ceph OSD存在木桶原理,單個(gè)OSD的性能下降可能會(huì)影響整個(gè)集群的性能,所以要及時(shí)發(fā)現(xiàn)低性能的OSD,然后更換或者直接踢出集群。

「結(jié)論」

根據(jù)以上幾種方法可以正確實(shí)現(xiàn)Ceph以提供您期望的性能。利用磁盤(pán)緩存,緩存分層和適當(dāng)配置的系統(tǒng),可以確保磁盤(pán)性能不會(huì)成為基礎(chǔ)架構(gòu)的瓶頸。

寫(xiě)在最后

雖然開(kāi)源存儲(chǔ)對(duì)于希望減少集中式商業(yè)存儲(chǔ)上的用戶(hù)而言來(lái)說(shuō)是一個(gè)福音,但文檔和支持可能會(huì)受到限制。在沒(méi)有商業(yè)支持的前提下,除了靠社區(qū)的支持外,剩下的就靠用戶(hù)對(duì)軟件本身的熟悉程度。只有不斷的嘗試,不斷的優(yōu)化,不斷的回饋社區(qū),才能使開(kāi)源軟件發(fā)展的更好。

參考:

https://ceph.readthedocs.io

http://www.slideshare.net/Inktank_Ceph/dell-ceph-22nd-london-v5

http://ceph.com/docs/master/start/hardware-recommendations/

http://www.inktank.com/inktank-ceph-enterprise/inktank-ceph-enterprise-1-2-arrives-with-erasure-coding-and-cache-tiering

 

責(zé)任編輯:武曉燕 來(lái)源: 新鈦云服
相關(guān)推薦

2021-01-21 08:03:20

Ceph云環(huán)境性能

2023-01-06 09:04:51

系統(tǒng)

2020-07-28 08:07:14

ElasticSear

2013-05-23 16:00:20

負(fù)載均衡網(wǎng)絡(luò)優(yōu)化網(wǎng)絡(luò)升級(jí)

2014-01-03 16:57:25

高端存儲(chǔ)華為EMC

2015-07-09 13:19:17

Ceph分布式存儲(chǔ)性能調(diào)優(yōu)

2012-04-12 13:48:37

無(wú)線(xiàn)網(wǎng)絡(luò)

2023-04-26 18:36:13

2018-06-27 16:54:11

紅帽Linux 6.10企業(yè)

2011-07-28 16:17:10

2018-11-08 15:44:10

UCloud云硬盤(pán)IO

2025-06-30 09:02:17

2016-12-21 09:33:40

2010-08-11 09:08:51

KDE 4.5.0

2023-08-02 07:42:01

推薦系統(tǒng)rankin

2024-12-12 09:18:21

2025-10-10 08:20:59

2022-05-19 08:47:31

ITCIO企業(yè)

2022-05-12 18:09:18

Kubernetes公有云

2025-02-06 11:44:56

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产精品免费在线 | av中文字幕免费观看| www 日韩| 久久久久久久久久久久久久久久久久| 色综合久久综合| 国产日本一区二区三区| 亚洲欧美一区二区三区四区五区| 国产精品天堂蜜av在线播放 | 受虐m奴xxx在线观看| 大黄网站在线观看| 免费欧美在线视频| 亚洲精品一区二区三区四区高清 | 高清福利在线观看| 久久久精品日韩| 日韩亚洲国产中文字幕欧美| 综合色婷婷一区二区亚洲欧美国产| 免费中文字幕视频| 97青娱国产盛宴精品视频| 亚洲激情在线激情| 99精品在线直播| 谁有免费的黄色网址| 日韩中文影院| 中文字幕不卡在线观看| 国产精品久久久久久av| 97在线观看免费视频| 欧美专区福利免费| 欧美国产综合色视频| 国产精品亚洲综合天堂夜夜| 免费一级特黄3大片视频| 懂色aⅴ精品一区二区三区| 国产精品日产欧美久久久久| 成人精品一区二区三区电影黑人| 少妇高潮在线观看| 在线精品自拍| 欧美日韩国产一区中文午夜| 亚洲在线第一页| 国产真人真事毛片| 亚洲精品中文字幕99999| 亚洲蜜臀av乱码久久精品| 91丨九色丨国产| 日韩欧美亚洲一区二区三区| 人人爱人人干婷婷丁香亚洲| 亚洲福利视频导航| 欧美一级二级三级| 国产乱叫456在线| 国产一区久久| 日韩精品中文字幕一区 | 中文字幕第4页| 9999精品成人免费毛片在线看| 国产精品18久久久久久vr| 国内精品在线一区| 日韩女优在线视频| 欧美日韩视频免费观看| 亚洲欧美日韩国产综合在线| 国产精品免费一区二区| 久久在线视频精品| 免费精品国产| 日韩区在线观看| 亚洲少妇中文在线| 亚洲视频在线观看| 奇米影视亚洲色图| av男人的天堂在线| 成人综合在线网站| 久久欧美在线电影| 亚洲高潮女人毛茸茸| 6080成人| 91麻豆精品国产91久久久久 | 视频免费一区| 成人av手机在线观看| 国产精品第二页| 国产亚洲精品成人| 午夜av一区| 日韩一级欧美一级| 男女日批视频在线观看| 欧美成人精品一区二区男人看| av亚洲精华国产精华| 成人免费午夜电影| 久久婷婷综合国产| 欧美挤奶吃奶水xxxxx| 91精品国产高清一区二区三区蜜臀| 视频一区二区视频| 欧美性受xxxx狂喷水| 久久电影国产免费久久电影| 欧美在线日韩在线| 国产一级二级三级视频| 日韩av资源网| 精品国产91亚洲一区二区三区婷婷 | 正在播放日韩欧美一页| 精品国产3级a| 中文字幕第10页| 亚洲视频资源| 欧美日韩国产影片| 欧美xxxxx在线视频| 波多野一区二区| 亚洲在线中文字幕| 成人午夜免费剧场| 男人天堂资源在线| 国产乱子伦视频一区二区三区| 国产精品女主播视频| 欧洲猛交xxxx乱大交3| 国产精品久久久久无码av| 精品99一区二区| 亚洲av无码久久精品色欲| 日韩理论视频| 欧美日韩亚洲激情| 中文字幕精品在线播放| 欧美69xxxxx| 99国产精品久久久| 91在线视频精品| 国产精品日韩无码| 精品一区二区在线免费观看| 欧洲精品久久久| 国产精品乱子伦| 久久午夜精品| 久久久视频在线| 无码黑人精品一区二区| 亚洲欧洲美洲一区二区三区| 欧美超级免费视 在线| 精品欧美一区二区久久久| 亚洲图色一区二区三区| 精品女同一区二区| 国产十八熟妇av成人一区| 日本成人7777| 免费在线看黄色| 日韩电影在线免费看| 青青草国产精品一区二区| 免费看一级视频| 免费成人av在线播放| 欧美亚洲国产视频| 黄色大全在线观看| 蜜桃伊人久久| 欧美一级黑人aaaaaaa做受| www.国产一区二区| 看国产成人h片视频| 91视频免费在线| 91激情在线观看| 日韩av在线播放中文字幕| 国产福利视频一区| 无码视频一区二区三区| 极品少妇xxxx偷拍精品少妇| 91精品国产91久久久久青草| 91tv国产成人福利| 成人精品在线视频观看| 欧美一区二区三区四区五区六区 | 国产亚洲综合久久| 国产一区二区三区在线视频观看| 亚洲高清成人| 国产精品免费电影| 超碰在线人人干| 久久久99久久精品欧美| 欧美日韩精品免费看| 婷婷免费在线视频| 午夜精品久久久久久久| 午夜精品久久久久久久无码| 国产激情久久| 亚洲白拍色综合图区| 在线看黄色的网站| 丝袜美腿一区二区三区动态图| 亚洲高清久久网| 欧美福利在线视频| 一区二区三区高清视频在线观看| 91av在线国产| 精品国产伦一区二区三| 福利视频网站一区二区三区| 欧洲视频一区二区三区| 岛国最新视频免费在线观看| 亚洲一区在线免费观看| 高清一区在线观看| 日日夜夜一区| 亚洲无线码在线一区观看| 国产亚洲精品码| 精品一区二区日韩| 欧美日韩亚洲一区二区三区四区| 色网在线观看| 欧美精品自拍偷拍| 精品伦一区二区三区| 欧美亚洲国产精品久久| 粗暴蹂躏中文一区二区三区| 中文亚洲av片在线观看| 国产揄拍国内精品对白| 涩涩涩999| 忘忧草在线影院两性视频| 精品欧美一区二区在线观看| 国精产品一区一区三区免费视频| 精品国精品国产自在久国产应用| 久久亚洲春色中文字幕| 在线免费观看视频网站| 久久精品男人的天堂| 国产av麻豆mag剧集| 欧美亚洲大片| 亚洲视频电影图片偷拍一区| 中文字幕亚洲精品在线| 成人一级黄色片| 日韩精品在在线一区二区中文| 色在线中文字幕| 7777精品伊人久久久大香线蕉 | 久久亚洲综合国产精品99麻豆精品福利 | 午夜精品理论片| 黄色小视频免费观看| 一区二区三区四区av| 尤物网站在线看| 欧美福利专区| 91在线短视频| 日韩免费影院| 欧美视频一区二区三区在线观看 | 毛片一区二区三区四区| 亚洲va久久| 九色精品美女在线| 天天爱天天做天天爽| 国产成人精品1024| 日韩精品一区二区免费| 都市激情久久| 日韩有码在线观看| 国产视频在线免费观看| 一区二区三区在线高清| 亚洲精品乱码久久久久久蜜桃欧美| 韩国一区二区三区在线观看| 国语精品中文字幕| 日韩三级免费| 91精品一区二区三区久久久久久 | 欧美hentaied在线观看| 欧美孕妇性xx| www.在线视频.com| 欧美精品乱码久久久久久按摩| 一级黄色性视频| 久久国内精品视频| 毛片av在线播放| 欧美freesex8一10精品| 久久久久久久激情视频| 国产普通话bbwbbwbbw| 亚洲自拍偷拍av| 精产国品一二三区| 国产精品久久久乱弄| 国产精品一区二区三区精品| 91精选在线| 在线观看精品一区二区三区| 欧美视频一区二区三区…| 国产高清一区二区三区四区| 国产人成精品一区二区三| 国产91aaa| 18网站在线观看| 7777精品伊人久久久大香线蕉完整版| 影音先锋男人在线| 国产一区二区中文字幕| 国产日韩av网站| 欧美日韩中字| 国产成人精品免费视频| 久久免费看视频| 7777女厕盗摄久久久| 精品在线播放视频| 91天堂素人约啪| 欧美精品 - 色网| 欧美综合一区| 国产精品一区二区欧美黑人喷潮水| 欧美极品少妇videossex| 精品免费国产二区三区| 国产一级片网址| 国产精品卡一卡二卡三| 国产v片免费观看| 99久久精品费精品国产| 极品日韩久久| 精品成人18| 人妖精品videosex性欧美| 中文字幕资源网在线观看| 亚洲欧洲中文天堂| 亚洲欧美另类日韩| 欧美高清www午色夜在线视频| 国产一区在线观看免费| 国产精品一区二区不卡| 啊啊啊国产视频| 亚洲黄页一区| 偷拍盗摄高潮叫床对白清晰| 精品国产亚洲一区二区三区| 日韩av免费网站| av在线免费观看网站| 综合日韩av| 亚洲男人天堂网站| www.麻豆av| 亚洲网友自拍偷拍| 美国黄色片视频| 久久麻豆一区二区| 国产精品亚洲a| 亚洲国产精品第一区二区| 欧美aaa在线观看| 欧美日韩中文一区二区| 久久综合狠狠综合久久综青草| 嗯~啊~轻一点视频日本在线观看| 久久伊人色综合| 五月天婷婷在线视频| 亚洲无限av看| 精品国产av一区二区三区| 欧美日韩一区二区在线观看| 亚洲天堂五月天| 色屁屁一区二区| 黄网在线观看视频| 中文字幕视频一区| а天堂中文在线资源| 久久久精品影视| 亚洲黄色小视频在线观看| 女人香蕉久久**毛片精品| 亚洲精品偷拍视频| 久久国产中文字幕| 亚洲a∨日韩av高清在线观看| 精品国产黄a∨片高清在线| 欧美又大粗又爽又黄大片视频| 黄色网址在线免费| 久久亚洲欧美日韩精品专区| 日本成人一区| 亚洲精品一区中文| 国产在线你懂得| 亚洲第一中文字幕| 四虎免费在线观看| 欧美一区二区三区啪啪| 亚洲一卡二卡在线| 91精品一区二区三区在线观看| 久久一区二区三区视频| 亚洲精品国产一区二区精华液| 一本色道久久综合亚洲精品图片| 久久久国际精品| 亚洲精品久久一区二区三区777| 久久国产三级精品| 中文国产在线观看| 成人性视频免费网站| 在线免费看v片| 免费看欧美女人艹b| 亚洲男人天堂2021| 成a人片国产精品| 色哟哟在线观看视频| 免费的成人av| 无码人妻丰满熟妇啪啪网站| 国内精品免费在线观看| www激情五月| 成人一区在线观看| 国产熟妇久久777777| 99精品在线观看视频| 88久久精品无码一区二区毛片| 国产精品日日摸夜夜摸av| 欧美成人黄色网| 中文字幕一区二区三区在线不卡 | 一区二区高清免费观看影视大全 | 日韩欧美亚洲成人| 中文字幕一区二区三区免费看| 欧美一区二区三区视频在线观看| 日韩一卡二卡在线| 视频直播国产精品| 黄色激情在线播放| 欧美性资源免费| 天堂√中文最新版在线| 69av视频在线播放| 日韩国产91| 91久久夜色精品国产网站| 国产精品毛片无码| 亚洲在线一区二区| 凹凸av导航大全精品| 午夜视频久久久| 亚洲激情偷拍| 久久久精品麻豆| 国产精品资源网| 一级黄色免费视频| 国产精品对白交换视频| 欧美一级视频免费观看| 免费看美女视频在线网站| 亚洲欧美精品一区| 宅男在线观看免费高清网站| 久久99久久99精品免观看粉嫩| 国产精品久久久久77777丨| 国产伦精品一区二区三区视频免费 | 午夜影院免费在线| 欧洲日韩成人av| 成人午夜亚洲| 欧美午夜精品久久久久久蜜| 欧美色图麻豆| 免费一级特黄特色毛片久久看| 亚洲欧美日韩国产综合精品二区 | 久久久久久久久久久久电影| 51国偷自产一区二区三区| 欧美精品一二| 欧美 激情 在线| 狠狠色丁香久久婷婷综| 粗大的内捧猛烈进出视频| 99久久精品国产网站| 久久精品一区二区三| 在线成人av影院| 婷婷五月综合激情| 一区二区三区黄色| 视频二区不卡| 国产精品有限公司| 成人vr资源| 激情综合网俺也去| 91网站在线播放| 日韩少妇高潮抽搐| 亚洲国产精品99| 国产ktv在线视频| 国产成人免费观看| 欧美熟乱15p| 中文字幕av专区| 99久久国产综合精品色伊| av资源在线免费观看| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 韩国成人免费视频|