【环境信息】
系统:物理机 arm/x86
cpu:4核
OS版本: 版本 21.03
物理机型号:Taishan 200(Model 2280)
【问题复现步骤】
1.mkfs.ext3 /dev/sdd
【预期结果】
格式化成功
【实际结果】
格式化过程卡住
【栈信息】
Hey liuzhiqiang26, Welcome to openEuler Community.
All of the projects in openEuler Community are maintained by @openeuler-ci-bot.
That means the developers can comment below every pull request or issue to trigger Bot Commands.
Please follow instructions at https://gitee.com/openeuler/community/blob/master/en/sig-infrastructure/command.md to find the details.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
合入补丁解决:
9d2d1b274 Revert "scsi: megaraid_sas: Set no_write_same only for Virtual Disk"
f71eee8a0 Revert "scsi: megaraid_sas: Replace undefined MFI_BIG_ENDIAN macro with __BIG_ENDIAN_BITFIELD macro"
hisi_sas_v3_hw类型的磁盘 使用mkfs.ext3 -D格式化仍存在格式化很慢的问题
megaraid_sas类型的磁盘 使用mkfs.ext3 -D格式化速度很慢的问题已解决
scsi中层在读取盘的write zero特性时,如果盘反馈支持write zero,那么中层就会设置相应的write_zeroes_max_bytes。之后,mkfs.ext3下发fallocate(fd, FALLOC_FL_ZERO_RANGE, offset, 4096)下发后,就会以WRITE_ZEROS类型的IO下发给磁盘。但是,有些磁盘(比如SEAGATE的磁盘),对write zero的处理相比普通IO的处理要慢,就会导致mkfs.ext3非常慢。
对于megaraid_sas卡,此前都是默认关闭write zero的,直到v5.6合入以下补丁。
commit a7faf81d7858b504279713d6cb98053f0ff00082
Author: Anand Lodnoor anand.lodnoor@broadcom.com
Date: Tue Jan 14 16:51:13 2020 +0530
scsi: megaraid_sas: Set no_write_same only for Virtual Disk
开启了write zero特性,即如果底层磁盘支持write zero,就开启;如果底层磁盘不支持,就不开启。
因此,5.10通过回退还主线补丁,即默认都是关闭write zero,能够加快mkfs.ext3的速度。
相比megaraid_sas,hisi_sas_v3并没有设置不支持no_write_same,只要底层磁盘返回支持write zero,那就会开启write zero。因此会比较慢。
以下面的环境为例,sas卡为hisi_sas_v3:
Samsung, WDC的磁盘都是不支持write same的,因此,读到的write_zeros_max_bytes值为0:
SEAGATE盘读取上来是支持write same的,因此,write_zeros_max_bytes不为0
虽然SEAGATE盘报上来支持write zero,但其write zero的IO很慢,导致mkfs.ext3卡住
目前,linux社区最新主线代码也是同样的策略,也存在mkfs.ext3卡住的问题
该问题是mke2fs工具处理流程的问题,在使用mkfs.ext3过程中,创建日志流程会分配和写零一些block,当前采用的是逐个block依次分配写入的方式,因此IO速率非常慢。社区补丁https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/commit/?id=86d6153417ddaccbe3d1f4466a374716006581f4
解决了这个问题,采用聚合多个block以后再写零的方式,提升了IO速率
使用最新镜像验证,hisi_sas_v3_hw和megaraid_sas类型的磁盘,mkfs.ext3格式化卡住现象已解决
问题解决,问题单关闭
登录 后才可以发表评论