做技术的朋友可能有过类似这样的感觉——每天都会遇到新的问题,或者学到新的知识。然而一个人的时间和精力毕竟有限,不是所有的岗位都能做到总是亲力亲为,每人最擅长的领域也各不相同。为了使工程师自己踩过的坑、那些实用的心得体会也能给大家带来帮助,把经验记录和分享出来就显得尤为可贵,这就是我们开设《工程师笔记》专栏的目的。
小议Linux下磁盘乱序问题
最近碰到客户问有关Linux系统下磁盘乱序的问题,整理了一下供各位参考。个人观点,纰漏之处,还请不吝指正~
在戴尔PowerEdge 11G和12G服务器上,由于LSI(如今的Avago)当时的控制器微码、驱动以及对应Linux kernel 的版本支持问题,确实出现过这种状况(具体涉及到两种SAS HBA/RAID卡: PERC H200(LSI 9211-8i)和 LSI 9207)。此问题在使用了LSI 对应直通SAS控制器芯片的服务器上均会出现,与服务器厂商并无直接关系。结论是客户提到的“磁盘乱序”情况确实是存在过的。
尽管当时的影响不小,圈中也小有轰动,但LSI很快通过Firmware和kernel驱动解决掉了。
当前戴尔全线服务器(13G/12G等),PERC H330(LSI 3008 芯片)、H730/P(LSI 3108 芯片)或是外部端口的12Gbps SAS Ext. HBA等,均不存在磁盘乱序的问题。
所以,在不存在Firmware或驱动bug的情况下,系统识别磁盘设备顺序会按照总线及驱动加载顺序进行。从前向后,或从后向前,总之是规则有序的,不能称为“乱”序。
Linux kernel指派sdx为设备名对应磁盘的方式其实很早就已经不推荐了。大约在2.6.13 Kernel版本以后,为保证persistent naming(持久的命名),udev默认会在/dev目录下创建by-lable、by-uuid 等目录,通过磁盘唯一的标识方式创建symbolic link(符号连接)来指向实际的设备节点。
结合服务器上的RAID控制器,当用户既要配置JBOD又要配置RAID时,JBOD的每块磁盘其实是最先被系统识别到的,优先级最高;然后按照磁盘slot ID 依次排序。如果同时配置了Raid VD,均会被靠后识别,排至JBOD最后一块磁盘的后面。
举个实际的例子如下:
戴尔一款16个硬盘槽位的服务器机型,当slot 0,1上的硬盘做RAID 1为第一个VD0,slot 12-slot 15 硬盘做RAID 6 为第二个VD1;其余槽位硬盘slot 2-slot 11 均做JBOD。这样,做JBOD 的第一块盘即slot2 槽位的磁盘将会是dev/sda,以此类推直到JBOD 全部磁盘按顺序分配,之后才开始为RAID 第一组VD 进行分配。即VD0 会是dev/sdk,VD1 为/dev/sdl。
如果客户仍然希望用 sdX 的方式来对应磁盘物理顺序,有一个变通的办法,就是需要通过手工改动/etc/udev/rules.d 文件的方式来实现。
具体可参考如下:
KERNEL=="sda*" NAME="sdb%n"
KERNEL=="sdb*" NAME="sdc%n"
KERNEL=="sdc*" NAME="sdd%n"
KERNEL=="sdd*" NAME="sde%n"
KERNEL=="sde*" NAME="sdf%n"
KERNEL=="sdf*" NAME="sdg%n"
KERNEL=="sdg*" NAME="sdh%n"
KERNEL=="sdh*" NAME="sdi%n"
KERNEL=="sdi*" NAME="sdj%n"
KERNEL=="sdj*" NAME="sdk%n"
KERNEL=="sdk*" NAME="sda%n"
但是要注意,这种方式有很大的局限性。一旦RAID配置改变,增减VD或者JBOD磁盘的增减都会造成人为乱序的情况。
综上所述,我们仍然建议引导客户接受采用By uuid(绑定)或By lable的方式来管理。
好文章,需要你的鼓励
谷歌发布新的AI学术搜索工具Scholar Labs,旨在回答详细研究问题。该工具使用AI识别查询中的主要话题和关系,目前仅对部分登录用户开放。与传统学术搜索不同,Scholar Labs不依赖引用次数或期刊影响因子等传统指标来筛选研究质量,而是通过分析文档全文、发表位置、作者信息及引用频次来排序。科学界对这种忽略传统质量评估方式的新方法持谨慎态度,认为研究者仍需保持对文献质量的最终判断权。
武汉大学研究团队提出DITING网络小说翻译评估框架,首次系统评估大型语言模型在网络小说翻译方面的表现。该研究构建了六维评估体系和AgentEval多智能体评估方法,发现中国训练的模型在文化理解方面具有优势,DeepSeek-V3表现最佳。研究揭示了AI翻译在文化适应和创意表达方面的挑战,为未来发展指明方向。
Meta发布第三代SAM(分割一切模型)系列AI模型,专注于视觉智能而非语言处理。该模型擅长物体检测,能够精确识别图像和视频中的特定对象。SAM 3在海量图像视频数据集上训练,可通过点击或文本描述准确标识目标物体。Meta将其应用于Instagram编辑工具和Facebook市场功能改进。在野生动物保护方面,SAM 3与保护组织合作分析超万台摄像头捕获的动物视频,成功识别百余种物种,为生态研究提供重要技术支持。
参数实验室等机构联合发布的Dr.LLM技术,通过为大型语言模型配备智能路由器,让AI能根据问题复杂度动态选择计算路径。该系统仅用4000个训练样本和极少参数,就实现了准确率提升3.4%同时节省计算资源的突破,在多个任务上表现出色且具有强泛化能力,为AI效率优化开辟新方向。