亚洲日韩久久

大伊香蕉精品一区视频在线底下是一个示例 FIO 敕令行调用

发布日期:2022-04-22 22:52    点击次数:178

在 Windows 上腹地使用 Ceph

由于Cloudbase Solutions和Suse 的合营,刻下Ceph 16 (Pacific)提供了 Windows 原生接济。

Ceph 可能是最常用的软件界说存储经管有讨论。把柄捕快(https://www.openstack.org/analytics),进步 70% 的 OpenStack 部署由 Ceph 提供接济。接头到它可以在商用硬件上运行,况且粗略膨大到数百个存储节点并提供可以的性能,这也就不及为奇了。

在 Windows 上使用 Ceph 一直是一个痛点,以往需要iSCSI网关等代理或使用 Samba再行导出CephFS。这些要领提供了次优的性能并使部署架构过于复杂。面前通盘缺乏都莫得了,因为RBD和 CephFS 可以原生地在 Windows 上使用。

为取得最好性能和功能,提议使用Windows Server 2019。Windows Server 2016也受接济,但有一些已知收尾。较旧的 Windows Server 版块以及客户端版块(如 Windows 10)可能也能普通责任,但面前不受接济。

装配:

这个 MSI 装配法子(https://cloudbase.it/ceph-for-windows/)是在 Windows 上装配 Ceph 的保举方式。除了 Ceph 二进制文献,它还系结了WNBD驱动法子,用于映射 RBD 镜像。

如果您更可爱手动构建和装配Ceph(https://github.com/ceph/ceph/blob/master/README.windows.rst)和WNBD(https://github.com/cloudbase/wnbd),请参考这些指南。

配置:

在 Windows 上使用 Ceph 需要最少的配置。默出嫁置文献位置是`C:\ProgramData\ceph\ceph.conf*。

这是一个配置示例。不要健忘填写正确的 Ceph Monitor 地址并在指定位置提供 Ceph 密钥环文献。面前,必须使用斜杠“/”而不是反斜杠“\”四肢旅途分隔符。

[global] 大伊香蕉精品一区视频在线  log to stderr = true   ; Uncomment the following to use Windows Event Log   ; log to syslog = true    run dir = C:/ProgramData/ceph/out   crash dir = C:/ProgramData/ceph/out    ; Use the following to change the cephfs client log level   ; debug client = 2 [client]   keyring = C:/ProgramData/ceph/keyring   ; log file = C:/ProgramData/ceph/out/$name.$pid.log   admin socket = C:/ProgramData/ceph/out/$name.$pid.asok    ; client_permissions = true   ; client_mount_uid = 1000   ; client_mount_gid = 1000 [global]   mon host = <ceph_monitor_addresses> 

RBD:

Rados 块培植 (RBD)一直是这项责任的主要要点。您可能照旧熟习的调换 CLI 可用于创建 RBD 映像并将它们附加到主机和Hyper-V诬捏机。

以下 PowerShell 示例创建一个 RBD 映像,将其附加到主机并在顶部添加一个NTFS分区。

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

默许情况下,通盘 RBD 映射都是长久的。可以使用上述 MSI 装配法子部署的“ ceph-rbd ”工作慎重在主机再行启动后再行附加 RBD 映像。这还允许调理 Windows 工作启动规矩,以便在启动可能依赖它的工作之前映射 RBD 映像。

以下屏幕截图表示了附加到 Hyper-V 诬捏机的 RBD 镜像以及基准测试遵守。咱们将在以后的著作中深入盘问基准测试。

WNBD:

RBD 映像通过使用WNBD Storport Miniport 驱动法子(https://github.com/cloudbase/wnbd)公开为 SCSI 磁盘,四肢此移植责任的一部分编写。

WNBD 驱动法子提供的一项原理原理功能是 NBD 客户端功能,允许它用于附加任性 NBD 导出。在实施更有用的机制之前,这是附加 RBD 图像的默许方式。由于它的实用性,这个特点被保留了下来,尽管它可能在某个时间被移到驱动法子除外,行使与rbd-wnbd调换的 API 。

要挂载寥寂的 NBD 映像,请使用以下敕令:

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

CephFS:

Windows 上的CephFS接济是咱们的第二个主要计议,面前处于磨练阶段。咱们正在使用雷同于 FUSE 的Dokany以及看似消释的 ceph-dokan形式的改动版块。

以下浅陋敕令使用“X:”驱动器号挂载 CephFS:

ceph-dokan.exe -l x 

刻下收尾:

天然移植确刻下景色照旧涵盖了大多数的情况,但您应该遏制一些收尾。这些缺失的功能可能会在后续版块中结束。

RBD镜像还不可用于备份群集分享卷(CSV)在Windows Server故障搬动群集(WSFC) ,这需要SCSI永恒保留的接济 WNBD 磁盘无法及时调理大小 Python 绑定不可用 Ceph CLI器用还不可以本机方式使用。然而,它可以通过Windows Subsystem for Linux与正在运行的工作讨论。 Windows 上的 Ceph – 性能

在此 Ceph Windows 移植之前,从 Windows 探访 Ceph 存储的独一要领是使用Ceph iSCSI 网关,这很容易成为性能瓶颈。咱们的计议是杰出 iSCSI 网关并尽可能接近本机 Linux RBD 否认量。

测试环境:

在展示一些本色遵守之前,让咱们先谈谈测试环境。咱们使用了 4 个调换的裸机工作器,具有以下规格:

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

您可能照旧遏制到咱们莫得提到存储磁盘,那是因为 Ceph OSD 被配置为使用内存接济池。请记取,咱们将要点放在 Ceph 客户端性能上,而不是 Linux OSD 端的存储 iops。

咱们使用了一个运行在 Ubuntu 20.04 之上的一体化 Ceph 16 集群。在客户端,咱们涵盖了Windows Server 2016、Windows Server 2019以及Ubuntu 20.04。

基准测试是使用fio器用奉行的。它是高度可配置的,常用于 Ceph 基准测试,最艰涩的是,它是跨平台的。

底下是一个示例 FIO 敕令行调用,供有兴味一样测试的任何人使用。咱们正在使用径直 IO、2MB 块、64 个并发异步 IO 操作,测试进步 8GB 块的各式 IO 操作。测试块设随即,咱们使用原始磁盘培植,而不是使用 NTFS 或 ReFS 分区。请遏制,这在 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 调优:

以下竖立可以升迁 IO 否认量:

Windows 电源规划——很少有人觉得这是工作器的问题,但默许情况下,“高性能”电源规划默许不启用,这会导致 CPU 节流

将 Ceph 和 FIO 二进制文献添加到 Windows Defender 白名单

使用巨型帧 - 咱们遏制到性能升迁了 15%

在 Windows Server 2016 上启用 CUBIC TCP 拥塞算法

检测遵守:

裸机 RBD 和 CephFS IO

让咱们径直看 RBD 和 CephFS 基准测试遵守。请遏制,咱们使用 MB/s 来测量速率(越高越好)。

iPhone XR、XS、XS MAX及iPhone SE 2,可以看到电池是否经过更换

用户首先更新电脑版微信版本,更新后,无需登录电脑版微信,直接传输文件,天天爽爽打开电脑版微信,下方会出现“仅传输文件”字样。

对于微信这个无需登录就可以文件传输来说,用户首先更新电脑版微信版本,更新后,无需登录电脑版微信,直接传输文件。打开电脑版微信,下方会出现“仅传输文件”字样。

当马克·扎克伯格表示将斥资100亿美元来创建一种新型的虚拟现实互联网时,人们才会注意到(当然,他的公司也有了一个新名字:Meta)。

由于多种原因,前置摄像头的排列方式难以一一对应双眼,而这需要系统对齐前置摄像头的图像内容。通常,为了执行对齐过程,系统需要详细的时间戳信息和姿势信息。然而,因为不同的摄像头可能在不同的时域中工作,所以它们具有时间偏移。另外,时间戳数据有时根本不可用,因为摄像头之间可以彼此远程操作,并且时间戳数据不被传输。尽管对齐图像内容提供了巨大的好处(特别是在全息图的放置和生成方面),但前面所述的问题构成了一定的障碍。

值得一提的是,RBD 缓存已被禁用。正如咱们所见,Windows Server 2019 设法提供了令人印象潜入的 IO 否认量。Windows Server 2016 莫得那么快,但它仍然设法胜过 Linux RBD 客户端,包括 krbd。咱们在 CephFS 方面看到了调换的模式。

咱们照旧使用多合一的 Ceph 集群测试了 iSCSI 网关。接头到 iSCSI 网关不可很好地膨大,性能瓶颈可能会跟着更大的 Ceph 集群变得愈加严重。

+-----------+------------+--------+-------+--------+-------+ |   OS     |   tool   | rand_r | seq_r | rand_w | seq_w | +-----------+------------+--------+-------+--------+-------+ | WS2016   | rbd-wnbd   |   854 |   925 |   807 |   802 | | WS2019   | rbd-wnbd   |   1317 | 1320 |   1512 | 1549 | | WS2019   | iscsi-gw   |   324 |   319 |   624 |   635 | | Ubuntu 20 | krbd       |   696 |   669 |   659 |   668 | | Ubuntu 20 | rbd-nbd   |   559 |   567 |   372 |   407 | |           |           |       |       |       |       | | WS2016   | ceph-dokan |   642 |   605 |   690 |   676 | | WS2019   | ceph-dokan |   988 |   948 |   938 |   935 | | Ubuntu 20 | ceph-fuse |   162 |   181 |   121 |   138 | | Ubuntu 20 | kern ceph |   687 |   663 |   677 |   674 | +-----------+------------+--------+-------+--------+-------+ 
诬捏机

提供诬捏机块存储亦然 Ceph 的主要用例之一。以下是Ubuntu 20.04 上Hyper-V Server 2019和KVM的测试遵守,它们都运行从 RBD 映像启动的Ubuntu 20.04和Windows Server 2019 VM。

+-----------------------+--------------+--------------+ | Hypervisor \ Guest OS |   WS 2019   | Ubuntu 20.04 | +-----------------------+------+-------+------+-------+ |                       | read | write | read | write | +-----------------------+------+-------+------+-------+ | Hyper-V               | 1242 | 1697 | 382 | 291   | | KVM                   | 947 | 558   | 539 | 321   | +-----------------------+------+-------+------+-------+ 

WS 2019 Hyper-V VM 设法取得了确切原生的 IO 速率。原理原理的是,即使在 KVM 上,它的进展也比 Ubuntu 客户神秘好,这可能值得盘问。

WINBD

如上文所述,咱们开端的要领是使用 NBD 公约附加 RBD 镜像。这并莫得提供咱们但愿的性能,主若是由于Winsock Kernel (WSK)框架,这便是咱们重新运转实施更高效的 IO 通道的原因。为便捷起见,您仍然可以将 WNBD 四肢寥寂的 NBD 客户端用于其他主义,在这种情况下,您可能有兴味了解它的性能若何。在此测试环境中,它设法在 WS 2019 上提供 933MB/s 的速率,在 WS 2016 上提供 280MB/s 的速率。

面前,rbd-wnbd使用DeviceIoControl来检索 IO 苦求并将 IO 回报发送回 WNBD 驱动法子,这也称为反向调用。与 RBD NBD 工作器不同,libwnbd允许调理 IO 搬动责任者的数目。下表表示了工人数目若何影响性能。请记取,在这种特定情况下,咱们正在对驱动法子衔接进行基准测试,因此没罕有据从/传输到 Ceph 集群。这让咱们大要了解了 WNBD 可以提供的最大表面带宽,使可用 CPU 全都足够:

+---------+------------------+ | Workers | Bandwidth (MB/s) | +---------+------------------+ |       1 |             1518 | |       2 |             2917 | |       3 |             4240 | |       4 |             5496 | |       8 |           11059 | |     16 |           13209 | |     32 |           12390 | +---------+------------------+ 

RBD 敕令

除了 IO 性能,咱们还对确保可以同期经管多半磁盘感兴味。为此,咱们编写了一个浅陋的 Python 剧本(https://raw.githubusercontent.com/petrutlucian94/ceph_test/master/scale_test.py),该剧本(https://raw.githubusercontent.com/petrutlucian94/ceph_test/master/scale_test.py)创建一个临时映像,将其附加到主机,奉行各式 IO 操作,然后对其进行清算。这是 1000 次迭代的测试遵守,每次 50 次。该测试关于升迁 RBD 性能和踏实性至关艰涩。

+---------------------------------------------------------------------------------+ |                                   Duration (s)                                 | +--------------------------+----------+----------+-----------+----------+---------+ |         function         |   min   |   max   |   total   |   mean   | std_dev | +--------------------------+----------+----------+-----------+----------+---------+ |     TestRunner.run     | 283.5339 | 283.5339 | 283.5339 | 283.5339 | 0.0000 | |   RbdTest.initialize   | 0.3906 | 10.4063 | 3483.5180 | 3.4835 | 1.5909 | |     RbdImage.create     | 0.0938 | 5.5157 | 662.8653 | 0.6629 | 0.6021 | |       RbdImage.map       | 0.2656 | 9.3126 | 2820.6527 | 2.8207 | 1.5056 | | RbdImage.get_disk_number | 0.0625 | 8.3751 | 1888.0343 | 1.8880 | 1.5171 | | RbdImage._wait_for_disk | 0.0000 | 2.0156 | 39.1411 | 0.0391 | 0.1209 | |     RbdFioTest.run     | 2.3125 | 13.4532 | 8450.7165 | 8.4507 | 2.2068 | |     RbdImage.unmap     | 0.0781 | 6.6719 | 1031.3077 | 1.0313 | 0.7988 | |     RbdImage.remove     | 0.1406 | 8.6563 | 977.1185 | 0.9771 | 0.8341 | +--------------------------+----------+----------+-----------+----------+---------+ 
追念:

在跟着Ceph的快速发展,跨平台的兼容性会越来越好。

参考:

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

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

 






Powered by 亚洲日韩久久 @2013-2022 RSS地图 HTML地图