偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Windows上直接使用Ceph以及性能測試!

存儲 存儲軟件
Ceph 可能是最常用的軟件定義存儲解決方案。根據(jù)調(diào)查(https://www.openstack.org/analytics),超過 70% 的 OpenStack 部署由 Ceph 提供支持。考慮到它可以在商用硬件上運(yùn)行,而且能夠擴(kuò)展到數(shù)百個(gè)存儲節(jié)點(diǎn)并提供不錯(cuò)的性能,這也就不足為奇了。

[[431069]]

在 Windows 上本地使用 Ceph

由于Cloudbase Solutions和Suse 的合作,當(dāng)前Ceph 16 (Pacific)提供了 Windows 原生支持。

Ceph 可能是最常用的軟件定義存儲解決方案。根據(jù)調(diào)查(https://www.openstack.org/analytics),超過 70% 的 OpenStack 部署由 Ceph 提供支持。考慮到它可以在商用硬件上運(yùn)行,而且能夠擴(kuò)展到數(shù)百個(gè)存儲節(jié)點(diǎn)并提供不錯(cuò)的性能,這也就不足為奇了。

在 Windows 上使用 Ceph 一直是一個(gè)痛點(diǎn),以往需要iSCSI網(wǎng)關(guān)等代理或使用 Samba重新導(dǎo)出CephFS。這些方法提供了次優(yōu)的性能并使部署架構(gòu)過于復(fù)雜?,F(xiàn)在所有麻煩都沒有了,因?yàn)镽BD和 CephFS 可以原生地在 Windows 上使用。

為獲得最佳性能和功能,建議使用Windows Server 2019。Windows Server 2016也受支持,但有一些已知限制。較舊的 Windows Server 版本以及客戶端版本(如 Windows 10)可能也能正常工作,但目前不受支持。

安裝:

這個(gè) MSI 安裝程序(https://cloudbase.it/ceph-for-windows/)是在 Windows 上安裝 Ceph 的推薦方式。除了 Ceph 二進(jìn)制文件,它還捆綁了WNBD驅(qū)動(dòng)程序,用于映射 RBD 鏡像。

如果您更喜歡手動(dòng)構(gòu)建和安裝Ceph(https://github.com/ceph/ceph/blob/master/README.windows.rst)和WNBD(https://github.com/cloudbase/wnbd),請參考這些指南。

配置:

在 Windows 上使用 Ceph 需要最少的配置。默認(rèn)配置文件位置是`C:\ProgramData\ceph\ceph.conf*。

這是一個(gè)配置示例。不要忘記填寫正確的 Ceph Monitor 地址并在指定位置提供 Ceph 密鑰環(huán)文件。目前,必須使用斜杠“/”而不是反斜杠“\”作為路徑分隔符。

  1. [global
  2.   log to stderr = true 
  3.   ; Uncomment the following to use Windows Event Log 
  4.   ; log to syslog = true 
  5.  
  6.   run dir = C:/ProgramData/ceph/out 
  7.   crash dir = C:/ProgramData/ceph/out 
  8.  
  9.   ; Use the following to change the cephfs client log level 
  10.   ; debug client = 2 
  11. [client] 
  12.   keyring = C:/ProgramData/ceph/keyring 
  13.   ; log file = C:/ProgramData/ceph/out/$name.$pid.log 
  14.   admin socket = C:/ProgramData/ceph/out/$name.$pid.asok 
  15.  
  16.   ; client_permissions = true 
  17.   ; client_mount_uid = 1000 
  18.   ; client_mount_gid = 1000 
  19. [global
  20.   mon host = <ceph_monitor_addresses> 

RBD:

Rados 塊設(shè)備 (RBD)一直是這項(xiàng)工作的主要重點(diǎn)。您可能已經(jīng)熟悉的相同 CLI 可用于創(chuàng)建 RBD 映像并將它們附加到主機(jī)和Hyper-V虛擬機(jī)。

以下 PowerShell 示例創(chuàng)建一個(gè) RBD 映像,將其附加到主機(jī)并在頂部添加一個(gè)NTFS分區(qū)。

  1. rbd create blank_image --size=1G 
  2. rbd device map blank_image 
  3.  
  4. $mappingJson = rbd-wnbd show blank_image --format=json 
  5. $mappingJson = $mappingJson | ConvertFrom-Json 
  6. $diskNumber = $mappingJson.disk_number 
  7.  
  8. # The disk must be online before creating or accessing partitions. 
  9. Set-Disk -Number $diskNumber -IsOffline $false 
  10.  
  11. # Initialize the disk, partition it and create a fileystem. 
  12. Get-Disk -Number $diskNumber | ` 
  13.   Initialize-Disk -PassThru | ` 
  14.   New-Partition -AssignDriveLetter -UseMaximumSize | ` 
  15.   Format-Volume -Force -Confirm:$false 

默認(rèn)情況下,所有 RBD 映射都是持久的。可以使用上述 MSI 安裝程序部署的“ ceph-rbd ”服務(wù)負(fù)責(zé)在主機(jī)重新啟動(dòng)后重新附加 RBD 映像。這還允許調(diào)整 Windows 服務(wù)啟動(dòng)順序,以便在啟動(dòng)可能依賴它的服務(wù)之前映射 RBD 映像。

以下屏幕截圖顯示了附加到 Hyper-V 虛擬機(jī)的 RBD 鏡像以及基準(zhǔn)測試結(jié)果。我們將在以后的文章中深入研究基準(zhǔn)測試。

WNBD:

RBD 映像通過使用WNBD Storport Miniport 驅(qū)動(dòng)程序(https://github.com/cloudbase/wnbd)公開為 SCSI 磁盤,作為此移植工作的一部分編寫。

WNBD 驅(qū)動(dòng)程序提供的一項(xiàng)有趣功能是 NBD 客戶端功能,允許它用于附加任意 NBD 導(dǎo)出。在實(shí)施更有效的機(jī)制之前,這是附加 RBD 圖像的默認(rèn)方式。由于它的實(shí)用性,這個(gè)特性被保留了下來,盡管它可能在某個(gè)時(shí)候被移到驅(qū)動(dòng)程序之外,利用與rbd-wnbd相同的 API 。

要掛載獨(dú)立的 NBD 映像,請使用以下命令:

  1. wnbd-client map export_name $nbdAddress --port $nbdPort 

CephFS:

Windows 上的CephFS支持是我們的第二個(gè)主要目標(biāo),目前處于試驗(yàn)階段。我們正在使用類似于 FUSE 的Dokany以及看似廢棄的 ceph-dokan項(xiàng)目的改進(jìn)版本。

以下簡單命令使用“X:”驅(qū)動(dòng)器號掛載 CephFS:

  1. ceph-dokan.exe -l x 

當(dāng)前限制:

雖然移植的當(dāng)前狀態(tài)已經(jīng)涵蓋了大多數(shù)的情況,但您應(yīng)該注意一些限制。這些缺失的功能可能會在后續(xù)版本中實(shí)現(xiàn)。

  • RBD鏡像還不能用于備份群集共享卷(CSV)在Windows Server故障轉(zhuǎn)移群集(WSFC) ,這需要SCSI永久保留的支持
  • WNBD 磁盤無法實(shí)時(shí)調(diào)整大小
  • Python 綁定不可用
  • Ceph CLI工具還不能以本機(jī)方式使用。但是,它可以通過Windows Subsystem for Linux與正在運(yùn)行的服務(wù)聯(lián)系。

Windows 上的 Ceph – 性能

在此 Ceph Windows 移植之前,從 Windows 訪問 Ceph 存儲的唯一方法是使用Ceph iSCSI 網(wǎng)關(guān),這很容易成為性能瓶頸。我們的目標(biāo)是超越 iSCSI 網(wǎng)關(guān)并盡可能接近本機(jī) Linux RBD 吞吐量。

測試環(huán)境:

在展示一些實(shí)際結(jié)果之前,讓我們先談?wù)劀y試環(huán)境。我們使用了 4 個(gè)相同的裸機(jī)服務(wù)器,具有以下規(guī)格:

  • CPU
    • Intel(R) Xeon(R) E5-2650 @ 2.00GHz
    • 2 sockets
    • 8 cores per socket
    • 32 vcpus
  • memory
    • 128GB
    • 1333Mhz
  • network adapters
    • Chelsio T420-C
    • 2 x 10Gb/s
    • LACP bond
    • 9000 MTU

您可能已經(jīng)注意到我們沒有提到存儲磁盤,那是因?yàn)?Ceph OSD 被配置為使用內(nèi)存支持池。請記住,我們將重點(diǎn)放在 Ceph 客戶端性能上,而不是 Linux OSD 端的存儲 iops。

我們使用了一個(gè)運(yùn)行在 Ubuntu 20.04 之上的一體化 Ceph 16 集群。在客戶端,我們涵蓋了Windows Server 2016、Windows Server 2019以及Ubuntu 20.04。

基準(zhǔn)測試是使用fio工具執(zhí)行的。它是高度可配置的,常用于 Ceph 基準(zhǔn)測試,最重要的是,它是跨平臺的。

下面是一個(gè)示例 FIO 命令行調(diào)用,供有興趣重復(fù)測試的任何人使用。我們正在使用直接 IO、2MB 塊、64 個(gè)并發(fā)異步 IO 操作,測試超過 8GB 塊的各種 IO 操作。測試塊設(shè)備時(shí),我們使用原始磁盤設(shè)備,而不是使用 NTFS 或 ReFS 分區(qū)。請注意,這在 Windows 上可能需要 fio>=3.20。

fio --randrepeat=1 --direct=1 --gtod_reduce=1 --name=test --bs=2M --iodepth=64 --size=8G --readwrite=randwrite --numjobs=1 --filename=\\.\PhysicalDrive2

Windows 調(diào)優(yōu):

以下設(shè)置可以提高 IO 吞吐量:

Windows 電源計(jì)劃——很少有人認(rèn)為這是服務(wù)器的問題,但默認(rèn)情況下,“高性能”電源計(jì)劃默認(rèn)不啟用,這會導(dǎo)致 CPU 節(jié)流

將 Ceph 和 FIO 二進(jìn)制文件添加到 Windows Defender 白名單

使用巨型幀 - 我們注意到性能提高了 15%

在 Windows Server 2016 上啟用 CUBIC TCP 擁塞算法

檢測結(jié)果:

裸機(jī) RBD 和 CephFS IO

讓我們直接看 RBD 和 CephFS 基準(zhǔn)測試結(jié)果。請注意,我們使用 MB/s 來測量速度(越高越好)。

值得一提的是,RBD 緩存已被禁用。正如我們所見,Windows Server 2019 設(shè)法提供了令人印象深刻的 IO 吞吐量。Windows Server 2016 沒有那么快,但它仍然設(shè)法勝過 Linux RBD 客戶端,包括 krbd。我們在 CephFS 方面看到了相同的模式。

我們已經(jīng)使用多合一的 Ceph 集群測試了 iSCSI 網(wǎng)關(guān)??紤]到 iSCSI 網(wǎng)關(guān)不能很好地?cái)U(kuò)展,性能瓶頸可能會隨著更大的 Ceph 集群變得更加嚴(yán)重。

  1. +-----------+------------+--------+-------+--------+-------+ 
  2. |   OS     |   tool   | rand_r | seq_r | rand_w | seq_w | 
  3. +-----------+------------+--------+-------+--------+-------+ 
  4. | WS2016   | rbd-wnbd   |   854 |   925 |   807 |   802 | 
  5. | WS2019   | rbd-wnbd   |   1317 | 1320 |   1512 | 1549 | 
  6. | WS2019   | iscsi-gw   |   324 |   319 |   624 |   635 | 
  7. | Ubuntu 20 | krbd       |   696 |   669 |   659 |   668 | 
  8. | Ubuntu 20 | rbd-nbd   |   559 |   567 |   372 |   407 | 
  9. |           |           |       |       |       |       | 
  10. | WS2016   | ceph-dokan |   642 |   605 |   690 |   676 | 
  11. | WS2019   | ceph-dokan |   988 |   948 |   938 |   935 | 
  12. | Ubuntu 20 | ceph-fuse |   162 |   181 |   121 |   138 | 
  13. | Ubuntu 20 | kern ceph |   687 |   663 |   677 |   674 | 
  14. +-----------+------------+--------+-------+--------+-------+ 

虛擬機(jī)

提供虛擬機(jī)塊存儲也是 Ceph 的主要用例之一。以下是Ubuntu 20.04 上Hyper-V Server 2019和KVM的測試結(jié)果,它們都運(yùn)行從 RBD 映像啟動(dòng)的Ubuntu 20.04和Windows Server 2019 VM。

  1. +-----------------------+--------------+--------------+ 
  2. | Hypervisor \ Guest OS |   WS 2019   | Ubuntu 20.04 | 
  3. +-----------------------+------+-------+------+-------+ 
  4. |                       | read | write | read | write | 
  5. +-----------------------+------+-------+------+-------+ 
  6. | Hyper-V               | 1242 | 1697 | 382 | 291   | 
  7. | KVM                   | 947 | 558   | 539 | 321   | 
  8. +-----------------------+------+-------+------+-------+ 

WS 2019 Hyper-V VM 設(shè)法獲得了幾乎原生的 IO 速度。有趣的是,即使在 KVM 上,它的表現(xiàn)也比 Ubuntu 客戶機(jī)要好,這可能值得研究。

WINBD

如上文所述,我們最初的方法是使用 NBD 協(xié)議附加 RBD 鏡像。這并沒有提供我們希望的性能,主要是由于Winsock Kernel (WSK)框架,這就是我們從頭開始實(shí)施更高效的 IO 通道的原因。為方便起見,您仍然可以將 WNBD 作為獨(dú)立的 NBD 客戶端用于其他目的,在這種情況下,您可能有興趣了解它的性能如何。在此測試環(huán)境中,它設(shè)法在 WS 2019 上提供 933MB/s 的速度,在 WS 2016 上提供 280MB/s 的速度。

目前,rbd-wnbd使用DeviceIoControl來檢索 IO 請求并將 IO 回復(fù)發(fā)送回 WNBD 驅(qū)動(dòng)程序,這也稱為反向調(diào)用。與 RBD NBD 服務(wù)器不同,libwnbd允許調(diào)整 IO 調(diào)度工作者的數(shù)量。下表顯示了工人數(shù)量如何影響性能。請記住,在這種特定情況下,我們正在對驅(qū)動(dòng)程序連接進(jìn)行基準(zhǔn)測試,因此沒有數(shù)據(jù)從/傳輸?shù)?Ceph 集群。這讓我們大致了解了 WNBD 可以提供的最大理論帶寬,使可用 CPU 完全飽和:

  1. +---------+------------------+ 
  2. | Workers | Bandwidth (MB/s) | 
  3. +---------+------------------+ 
  4. |       1 |             1518 | 
  5. |       2 |             2917 | 
  6. |       3 |             4240 | 
  7. |       4 |             5496 | 
  8. |       8 |           11059 | 
  9. |     16 |           13209 | 
  10. |     32 |           12390 | 
  11. +---------+------------------+ 

RBD 命令

除了 IO 性能,我們還對確??梢酝瑫r(shí)管理大量磁盤感興趣。為此,我們編寫了一個(gè)簡單的 Python 腳本(https://raw.githubusercontent.com/petrutlucian94/ceph_test/master/scale_test.py),該腳本(https://raw.githubusercontent.com/petrutlucian94/ceph_test/master/scale_test.py)創(chuàng)建一個(gè)臨時(shí)映像,將其附加到主機(jī),執(zhí)行各種 IO 操作,然后對其進(jìn)行清理。這是 1000 次迭代的測試結(jié)果,每次 50 次。該測試對于提高 RBD 性能和穩(wěn)定性至關(guān)重要。

  1. +---------------------------------------------------------------------------------+ 
  2. |                                   Duration (s)                                 | 
  3. +--------------------------+----------+----------+-----------+----------+---------+ 
  4. |         function         |   min   |   max   |   total   |   mean   | std_dev | 
  5. +--------------------------+----------+----------+-----------+----------+---------+ 
  6. |     TestRunner.run     | 283.5339 | 283.5339 | 283.5339 | 283.5339 | 0.0000 | 
  7. |   RbdTest.initialize   | 0.3906 | 10.4063 | 3483.5180 | 3.4835 | 1.5909 | 
  8. |     RbdImage.create     | 0.0938 | 5.5157 | 662.8653 | 0.6629 | 0.6021 | 
  9. |       RbdImage.map       | 0.2656 | 9.3126 | 2820.6527 | 2.8207 | 1.5056 | 
  10. | RbdImage.get_disk_number | 0.0625 | 8.3751 | 1888.0343 | 1.8880 | 1.5171 | 
  11. | RbdImage._wait_for_disk | 0.0000 | 2.0156 | 39.1411 | 0.0391 | 0.1209 | 
  12. |     RbdFioTest.run     | 2.3125 | 13.4532 | 8450.7165 | 8.4507 | 2.2068 | 
  13. |     RbdImage.unmap     | 0.0781 | 6.6719 | 1031.3077 | 1.0313 | 0.7988 | 
  14. |     RbdImage.remove     | 0.1406 | 8.6563 | 977.1185 | 0.9771 | 0.8341 | 
  15. +--------------------------+----------+----------+-----------+----------+---------+ 

總結(jié):

在隨著Ceph的快速發(fā)展,跨平臺的兼容性會越來越好。

參考:

https://cloudbase.it/ceph-on-windows-performance/ 

https://cloudbase.it/ceph-on-windows-part-1/

 

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

2022-11-02 08:05:09

2022-08-23 08:00:59

磁盤性能網(wǎng)絡(luò)

2023-05-16 08:30:53

QuincyReef

2015-07-28 14:18:21

Ceph性能測試優(yōu)化

2021-05-06 21:26:00

BcacheCeph存儲

2009-03-13 19:21:21

Windows 7性能測試

2010-04-12 10:46:02

Oracle性能測試

2021-08-06 06:38:49

安卓應(yīng)用Android 性能測試

2009-08-05 08:46:04

Windows 7性能測試

2009-08-07 08:33:33

Windows 7最終版

2012-03-13 16:55:46

Windows 8預(yù)覽Windows 7

2025-01-27 11:52:23

2020-08-25 19:56:43

MinGWWindowsGNU

2013-05-13 13:52:51

MariaDB 5.5

2009-07-24 13:17:43

世紀(jì)互聯(lián)至強(qiáng)CloudEx

2017-04-19 15:57:21

Ceph RBD mi原理分析

2021-01-21 08:03:20

Ceph云環(huán)境性能

2021-07-03 08:54:49

LinuxSysbench性能

2015-07-30 11:36:48

Xcode7ClangAddress San

2021-06-18 05:30:08

Windows11操作系統(tǒng)微軟
點(diǎn)贊
收藏

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