sas硬盘加入truenas的zfs储存池中报错partition type not found on sdx

news/2024/12/19 19:49:55/文章来源:https://www.cnblogs.com/Putinium/p/18617834

有两种报错,其都是指同一种问题。
报错1:
Disk(s): sdx ... are formatted with Data Integrity Feature (DIF) which is unsupported.
或者是:Disk: 'sdx' is incorrectly formatted with Data Integrity Feature (DIF).
报错2:
[EFAULT] Partition type xxxxyyyy-xxxx-xxxx-xxxx-xxxxyyyyzzzz not found on sdx

原因是zfs储存池是不支持扇区(block size)非标准512b的扇区格式,也没办法用开启了PFU(Protection Field Usage)的硬盘。zfs自己就有一套数据自愈体系,会和其他硬件厂商提供的方案起冲突。
捡垃圾的时候不少人都会捡到dell emc的sas硬盘,相对来说便宜,但是从企业机上换下来的时候一般都是520b或者528b,同时也开启了PFU。

你可以用这个命令来确认当前硬盘的状态:
sg_readcap -v -l /dev/sdx
注意其中这行:
Protection: prot_en=1, p_type=1, p_i_exponent=0 [type 2 protection]
即表明这张dell的emc硬盘处于type2保护中。

这个使用就要用sg_format低格工具格掉它。

格式化后将会丢失所有硬盘数据,请务必确认此操作带来的影响。
如果是普通硬盘:
sg_format --format --ffmt=1 --size=512 /dev/sdx
如果是4kn硬盘:
sg_format --format --ffmt=1 --size=4096 /dev/sdx

参数分析:
--format 执行格式化,倒数30秒后开始。在开始前可以通过ctrl+c中断。
--ffmt=1 快速格式化,默认是0,1和2都是快速格式化的选项,1不覆盖数据,2覆盖数据。
--size=4096 扇区的大小,扇区越大硬盘性能越好,但是需要硬盘支持原生4kn。在一个扇区4096k的时候,可以通过512e的方式兼容普通的512b扇区格式。
--fmtpinfo=0 关闭硬盘冗余保护,一般和下面的关闭PFU一起使用。默认值就是0,所以在上面的格式化命令中不带。
--pfu=0 关闭PFU。默认值就是0,所以在上面的格式化命令中不带。

sg_format工具文档参考:
https://linux.die.net/man/8/sg_format
https://sg.danny.cz/sg/sg3_utils.html
truenas论坛文章参考:
https://www.truenas.com/community/threads/troubleshooting-disk-format-warnings-in-truenas-scale.106051/
https://forums.truenas.com/t/data-integrity-feature-dif-which-is-unsupported/6558
https://forums.truenas.com/t/sas-drive-not-showing-up-after-sg-format-command-was-interrupted/22327/4
https://forums.truenas.com/t/error-efault-disk-sde-is-incorrectly-formatted-with-data-integrity-feature-dif/598
reddit文章参考:
https://www.reddit.com/r/truenas/comments/ujggb5/need_help_please_efault_partition_type/
https://www.reddit.com/r/homelab/comments/wdvf2j/psa_working_with_selfencrypting_drives_with/
https://www.reddit.com/r/homelab/comments/10hcxw7/bought_used_sas_drives_for_cheap_but_i_cant/
pve论坛文章参考:
https://forum.proxmox.com/threads/sg_format-installation-to-remove-type-2-protection-on-sas-drives.139347/
其他参考:
https://richardwutt.xyz/truenas-故障排除-format-dif-unsupport/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/855558.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

交换空间swap

交换空间: 交换空间是硬盘上的一部分,被用作虚拟内存,当系统的物理内存(RAM)不足时,系统会使用交换空间来存储暂时不用的数据。1.关闭交换空间 1)关闭所有交换空间 swapoff -a2)关闭特定的交换空间 swapoff /dev/sdb12.开启交换空间 1)开启所有交换空间 swapon -a2…

2024 IDEA 2024.3 安装使用教程(附激活至2099年,以及常见问题处理)

IntelliJ IDEA简介 IntelliJ IDEA是一款非常强大的Java集成开发环境(IDE),由JetBrains公司开发。它提供了丰富的功能和工具,帮助开发者更高效地编写、调试和部署代码。 下面这种方式仅供交流学习,如果有能力还请支持正版 下载安装 下载 IDEA 2024.3 版本的安装包 为了方便,也…

第十六次作业

1、通过华为云沃土云创计划免费薅云服务器 打开链接:https://developer.huaweicloud.com/programs/dev-program.html 使能⽅向选择个⼈在这个 计划权益中申请优惠券免费购买成功2、复现windows、linux权限维持技巧 windows权限维持: 隐藏⽂件:利⽤⽂件属性 ⽂件右键属性,勾…

OpenCL 编程步骤 2. 获取设备

clGetDeviceIDs 查询支持OpenCL设备列表: cl_int clGetDeviceIDs(cl_platform_id platform ,cl_device_type device_type ,cl_uint num_entries ,cl_device_id *devices ,cl_uint *num_devices )与clGetPlatformIDs函数类似,第一次调用时,devic…

记录一下:小华半导体HC32F448建立MDK工程

1.先到官网上下载文件 a>下载驱动库:HC32F448_DDL_Rev1.1.0.zip 驱动库中是包括了例程的。 b>下载样例:HC32F448_Template_Rev1.0.1.zip 可以直接复制官方的样例,就不用自己创建工程了。 c>下载芯片支持包:HC32F448_IDE_Rev1.0.1.zip 下载后双击安装即可。否则KEI…

4大应用场景揭秘:AI视频监控在养老院中的智能化管理与安全保障

随着人口老龄化的加剧,养老院的管理面临着越来越多的挑战。传统的人工巡查方式不仅难以做到全天候监控,而且存在响应迟缓、效率低下等问题。为了解决这些问题,思通数科推出的AI视频监控系统,利用人工智能技术提供了一种高效、智能化的解决方案。尤其在养老院的老人体征监控…

考勤管理系统

实现对用户信息的添加,查看,删除 实现对部门信息的添加,查看 实现用户登录功能,修改密码功能。 页面与之前的大相径庭。 还是一样的框架总体感觉换汤不换药,目前就是熟练度问题

浏览器怎么渲染数据的

突然发现自己对于css的样式规则一直都没有完全明白,今天写文好好整明白 浏览器渲染原理 1. 浏览器向服务器请求html文件 2. html文件返回浏览器 3. 浏览器解读html文件<!DOCTYPE html>//告诉浏览器,这是html5文件// html树<html lang="en">//语言<h…

在宝塔里添加反向代理

安装OnlyOffice时,需要配置反向代理; 完成以上操作之后,访问时有可能出现504报错,也可能就可以正常访问了。如果报错可以修改上图反向代理中的目标URL的内容将域名改成127.0.0.1。我当时改成http://127.0.0.1:9633就可以了本文来自博客园,作者:飞龙在生,转载请注明原文链…

2024 Clion安装使用教程(附激活以及常见问题处理)

第一步:下载Clion安装包 访问Clion官网,下载Clion第二步: 安装 Clion下载完成后,进行安装,next,安装完成点击xx 关掉程序! 第三步: 下载补丁 Clion补丁文件 点击获取补丁下载成功后,打开标注的文件文件夹 , 进入到文件夹 /jetbra 注意: 这个文件夹单独copy一份,所属文…

语言沟通中的设计实现

系统设计的目的是更好的支持需求 我们常说,只要业务能将你的需求描述清楚,能自圆其说,我们就有办法实现。 这其实是系统设计的最理想的状态, 如果业务没想清楚,那么在系统实现中,一定会把问题暴露出来。很多时候,问题的暴露源于没有考虑周全亦或都没有考虑这种场景! 比…