LWN:讨论composefs!

手把手教你用Anaconda安装李沐d2l-zh包(附常见报错解决方案) 本文提供了一份详尽的Anaconda环境下安装李沐d2l-zh包的实战指南。文章从创建虚拟环境、配置国内镜像源加速下载入手,分步讲解核心依赖的预安装策略,并重点剖析了安装过程中常见的报错及其解决方法,旨在帮助初学者和开发者高效、稳定地搭建深度学习实验环境。 阅读详情

关注了就能看到更多这么棒的文章哦~

Debating composefs

By Jonathan Corbet
February 16, 2023
ChatGPT assisted translation
https://lwn.net/Articles/922851/

去年 12 月,LWN 曾经报道过 Composefs 文件系统,并称针对这些 patch “几乎没有任何反馈”。但是现在情况已经发生了改变。Composfs 是否应该合并已成为一场持续很久的争论话题。讨论的核心问题是 Linux 应该如何支持某些类型的 container workload (容器工作场景)。

Composefs 是一种有趣的文件系统,mount 上来的实例实际上是两个独立部分的组合。其中一个是“对象存储, object store”,这是一个包含了许多有用文件的目录树,文件的名称可能反映了它们的内容的哈希值。对象存储通常都位于自己的只读文件系统上。另一个是“manifest”,可以将人类可读的名称跟对象存储中文件的名字对应起来。Composefs 使用 manifest 来创建对用户可见的文件系统,同时将对象存储隐藏了起来。这样得到的文件系统是只读的。

此机制旨在针对容器来创建系统映像。设计容器时,可以从一个基本的操作系统映像文件开始,然后添加一些包含了该特定容器 workload 所需软件包的 layer。使用 Composefs 的话,对象存储包含所有可能与系统相关的文件,而用于任何一个特定容器的映像的组合则是在 manifest 文件中完成的。这样得到的就是一种更灵活的机制,可以比其他替代方案能更快地挂载系统映像,同时允许使用 fs-verity 来验证对象存储并在系统中的所有容器之间共享。

The v3 discussion

Composefs 的第三版 patch 于一月底发布,其中包含了前几个版本的 review 人员提出的一些改进点。然而,Amir Goldstein 并不完全满意已经完成的工作,他建议开发者(Alexander Larsson 和 Giuseppe Scrivano)不要提出 composefs,而是应该将精力放在改善现有的内核子系统(特别是 overlayfs 和 EROFS 文件系统)上。

之后进行了长时间的关于 composefs 价值(或着说有没有价值)的讨论。目前有两个方案可以在容器使用场景下替代 composefs:

  • 在容器启动时,通过创建大量符号链接到目标文件实际所在的位置,从而组装出系统映像。这种方法的启动时间过长,创建成千上万的符号链接时,每一个都需要至少调用一个系统调用,这需要时间。

  • 给容器提供只读文件系统上的基础映像,然后使用 overlayfs 在其上叠加一个或多个 layer 来创建容器特定的映像。

这里的共识似乎是,由于符号链接方法启动时的开销太大,所以不能作为 composefs 的可行的替代品。Goldstein 和其他人认为 overlayfs 方法可能是可行的,尽管可能需要对该文件系统进行一些更改。但是 composefs 的开发者并不那么确定。

Considering overlayfs

Scrivano 表示,目前 Overlayfs 的一个不足之处是,它与 composefs 不同,无法为整个文件系统提供 fs-verity 保护。任何影响 overlay layer 的更改都会绕过该保护。Larsson 描述了一种 Overlayfs 的可以达到这个目的的配置(需要对 Overlayfs 进行一些改进),但对此并不热衷:

然而,我对 Overlayfs 这种方式的主要担心是它有点笨拙和过于复杂。基本上,composefs 方法专注于只读镜像,而 Overlayfs 这种方式仅仅是将一些可以用的上的技术连接在了一起,同时也做了很多其他事情。

他说,Overlayfs 解决方案中的额外复杂性会导致性能损失。用来展示这一点的 benchmark,是创建一个文件系统,然后测量针对整个文件系统执行 “ls -lR”所需的时间。在没有缓存(cold-cache)情况下,Overlayfs 解决方案需要大约四倍的运行时间;在有缓存(warm-cache)情况下,性能差异小很多,但是 composefs 仍然更快。

Goldstein 强烈反对上面对 Overlayfs 解决方案的评判;他还开始了一个关于“ls -lR”基准测试是否有意义的邮件讨论分支。他补充道:“我明白了。composefs 确实针对 ls -lR 进行了专门的优化。现在只需要弄清楚,是否现实生活中真实用户启动容器并执行 ls -lR 而不读取很多文件是不是一个典型场景。”

Dave Chinner 加入了对这个测试的辩护:“cold-cache 性能更加关键,对于生命很短暂的容器以及那些在运行时占用内存空间达到了容器限制的 host 主机,ls -lR 只是一个微型基准测试,演示了 composefs 的 cold-cache 方面的表现比提议的替代方案要好得多。”

他补充说,多年来他一直使用类似的测试来评估文件系统的性能,并从未向任何人证明过。Larsson 同时解释了对这种性能指标(或“关键绩效指标”-KPI)的重视:

我的当前的工作是在汽车行业,他们希望将 workload 移到汽车上的容器里。主要的 KPI 就是冷启动性能,因为整个系统启动需要满足 2 秒这个法律强制要求。在 cloud 中的工作负载里,通常会用到那些声明周期非常短暂的容器,因此启动时间非常重要。实际上,过去几个月我一直在全力投入去优化容器启动性能(可以在即将发布的 podman 4.4 中看到这方面的巨大改进)。

Goldstein 最终接受了这个指标的重要性,并建议可以改进 overlayfs 来提供更好的 cold-cache 性能。Larsson 回答说,如果 overlayfs 可以进行修改来解决性能差距,那么它可能是更好的解决方案;他还对性能差距是否真的可以缩小以及是否有意义添加更多复杂性到 overlayfs 提出了疑问。

这部分讨论的结论是,后续会尝试一些实验来使用 overlayfs 从而确认是否可行。Overlayfs 维护者 Miklos Szeredi 大多数时候没有参加讨论,但简要评论过一些提议改动,认为可能是有意义的。

The EROFS option

然而,在讨论中也多次提到了另一种选择:改进 EROFS 文件系统,来包括 composefs 所提供的功能。EROFS 是用于嵌入式只读操作的文件系统,已经支持了 fs-verity。EROFS 的开发者 Gao Xiang 一再表示,该文件系统可以改进来实现 composefs 提供的功能;实际上,其中许多功能已经作为 Nydus 机制的一部分了。不过,Scrivano 对这个想法提出了质疑:

当然,composefs 很简单,你可以将 composefs 的功能嵌入到 EROFS 中,让 EROFS 在提供类似 manifest 文件的情况下像 composefs 一样运行。但是,这有什么优点呢?将不同的范例合并在一起比拥有一个只做一件事情的独立实现就更好吗?

Gao 认为,composefs 开发人员迟早会想要添加支持存储文件数据(而不仅仅是 manifest metadata),到那时,composefs 将开始看起来更像一个普通的文件系统了。这时可能就不会有那么强烈的依据来说它跟其他文件系统区别对待。

在讨论过程中,针对这个场景也发现了一些 EROFS 的性能缺点,并实现了各种 fix 方案。Jingbo Xu 运行了许多基准测试,来衡量对 EROFS 和 overlayfs 的 patch 的效果,但尚未展示出其他两个选项中的哪一个可以胜过 composefs。不过,这项工作目前还处于早期阶段。

可以想象,这种零散的讨论并没有决定是否合并 composefs 还是将开发工作投入到替代方案。在接下来的几个月中,可能不会得出任何结论。这正是即将到来的 LSFMM/BPF 峰会旨在达成的决定之一;在那个场合下可能会有一次有趣的讨论。

全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~

format,png

Oracle11g安装教程、配置实例、监听、客户端程序详解_Windows篇 Oracle11g安装教程、配置实例、监听、客户端程序详解_Windows篇 文章目录Oracle11g安装教程、配置实例、监听、客户端程序详解_Windows篇前言一、数据库的安装前准备,前提是没有安装过!!!二、仅安装数据库软件(数据库运行环境)三、添加数据库实例四、设置监听程序,让数据库可以通过网络访问五、为目标数据库设置网名总结 前言 如果需要安装包:联系我看到会给你链接,因为现在官网已经不提供10g,11g的安装包了,在网盘保存望悉知(回复不会很及时,下班看到会回复敬请谅解)。 提示:以下 阅读详情

相关推荐

ZYNQ Linux 应用层 利用 AXI DMA 进行数据传输

ZYNQ Linux应用层 利用 AXI DMA 进行数据传输 软件版本: VIVADO2018.2 操作系统: Debian 9 硬件平台: ZYNQ-MZ7100FA 嵌入式操作系统:Debian(4.19.0-xilinx) AXI-DMA驱动:GitHub:bperez77/xilinx_axidma 一、搭建硬件环境 参见:《ZYNQ 修炼秘籍裸机篇 2019 版》第21章:CH21 利用 AXI DMA 进行批量数据环路测试 参考文章: ZYNQ跑系统 系列(四) AXI-DMA的linux下运

jin787730090的博客 1万+

PHPExcel终极指南:从图表创建到PDF导出的完整第三方库集成方案

PHPExcel是一个功能强大的PHP库,专为处理Excel文件而设计。这个第三方库集成方案让你能够轻松地在PHP应用中创建、读取和编辑Excel文档,支持从简单的数据表格到复杂的图表和PDF导出功能。无论你是需要生成报表、处理数据导入导出,还是创建动态的电子表格应用,PHPExcel都能提供完整的解决方案。🔧 ## 📊 PHPExcel核心功能概览 PHPExcel提供了丰富的功能集,包

gitblog_01159的博客 810

航空机载总线网络概述

1.机载总线网络概述 现代战斗机的航空电子系统是航空电子技术经历了半个多世纪的漫长演变和不断进步的结果。航空电子系统结构的每次变化,其核心的机载总线网络技术也不断跨上新台阶,而且每次变革都能使飞机性能得到大幅提升。现代飞机的飞行与作战任务包括起飞、巡航、飞行控制、目标搜索、识别跟踪、火控计算、武器投射、制导、电子战、通信等,都需要航空电子系统承担,航空电子系统是现代战斗机的“大脑”和“神经中枢”,机载总线网络则是其关键的“神经网络”。在机载通讯领域发展过程中,具有代表性的典型总线有ARINC429、1553

qq_41854911的博客 1万+

LWN:针对完整性保护以及数据共享设计的Composefs!

关注了就能看到更多这么棒的文章哦~Composefs for integrity protection and data sharingBy Jake EdgeDecember 7, 2022DeepL assisted translationhttps://lwn.net/Articles/917097/最近在 linux-kernel 邮件列表中提出了一个只读文件系统的 RFC,希望用它来在不...

Linux News搬运工 528

Sigmastar平台WDR调试实战:从参数解析到鬼影消除的完整指南

本文提供了Sigmastar平台宽动态(WDR)技术的实战调试指南。针对逆光、运动场景下的核心痛点,系统性地解析了从多曝光采集、HDR融合到色调映射的完整管线,并重点阐述了如何通过调整曝光比、运动阈值与调整曲线等关键参数,有效消除运动鬼影、平衡暗部噪声与细节,最终实现清晰稳定的图像效果。

Jerry的专栏 926

H3C IPsec over GRE VPN 实验

配置 IPsec over GRE VPN 来连通两端内网

M建的博客 2456

探索composefs:灵活的只读可挂载文件系统构建器

探索composefs:灵活的只读可挂载文件系统构建器 在Linux世界中,创新从未止步,【composefs】便是这样的一个例子,它巧妙地结合了Linux的底层特性,以提供一种高度灵活的方式来支持只读、可挂载的文件系统树。这个项目的核心在于将overlayfs、EROFS和fs-verity(可选)这三种关键技术融合在一起,打造出一种全新的文件系统体验。 项目介绍 composefs的设计目标是...

gitblog_00031的博客 503

C++多线程 task--std::promise和std::future

本文主要讲解C++11/14/17中所提供的应用于多线程编程中的Task机制。Task可由如下几部分取得而本文主要讲解std::promise和std::future相关的内容。std::promise和std::future通过一个数据管道进行交流,可以将std::promise看作生产者,std::future看作消费者,其两者形成如下的方式交互std::promise本身是一个模版类,通过std::promise可以像数据管道中设置value,异常和相应的通知信息。std::promise提供了如下接

qls315的博客 1818

突破容器与系统部署瓶颈:OSTree中composefs技术原理解析与实战指南

在现代操作系统和容器部署领域,我们经常面临以下挑战: - 系统镜像体积庞大,导致存储和传输成本高昂 - 更新过程耗时长,影响业务连续性 - 传统文件系统难以兼顾安全性与灵活性 - 容器镜像与主机系统隔离不完全,存在安全隐患 composefs技术的出现为解决这些问题提供了全新思路。作为一种混合Linux堆叠文件系统,composefs与OSTree的结合不仅能显著提升系统部署效率,还能提供更强的

gitblog_00875的博客 587

从LLM到Agent:智能体核心范式与认知架构全景解读

摘要: Agent技术正成为AI领域的新焦点,其核心在于通过外部认知基础设施(如记忆、工具、协议等)将大语言模型(LLM)从“生成文本”升级为“执行任务”的智能体。2026年的研究显示,Agent能力提升的关键已从模型本身转向外部化架构,如Harness工程(执行框架)和认知解耦(如ORCA框架)。当前Agent框架生态呈现多元化竞争(如LangGraph、AutoGen、CrewAI),但可观测性与治理仍是薄弱环节。未来竞争壁垒将取决于外部基础设施的完善程度,而非单纯模型性能。

2601_95807009的博客 50

自定义配方画面的具体方法示例 - 嵌入式

自定义配方画面的具体方法示例 - 嵌入式在TIA博途WinCC中,您可以通过编程来创建自定义配方画面。这些画面可以用于显示和编辑您的嵌入式系统中的配方参数。下面是一个示例,展示了如何在WinCC中实现自定义配方画面的方法。首先,您需要创建一个新的画面,并添加必要的控件来显示和编辑配方参数。在WinCC中,您可以使用文本框、按钮和标签等控件来实现这一目的。以下是一个简单的示例,展示了如何创建一个具有文本框和按钮的配方画面:创建新画面:添加控件:编辑控件属性:编写脚本: 在这个示例中,我们定义了两个变量和来存储

CyberBytezZ的博客 1034

终极Nginx配置自动化:10个CI/CD集成技巧实现零停机部署

在当今快速发展的Web服务环境中,**Nginx配置管理**和**CI/CD自动化**已成为现代运维的核心技能。server-configs-nginx项目为开发者提供了一个完整的Nginx服务器配置模板库,结合GitHub Actions的CI/CD工作流,可以实现配置的自动化验证、测试和部署。本文将为您详细介绍如何通过10个实用技巧,构建一个完整的Nginx配置自动化流程。🚀 ## 📊

gitblog_00035的博客 581

Debian Buster 软件源失效问题

摘要:基于Debian Buster的ARM64设备因系统版本结束支持(EOL)导致apt update报错404。解决方案包括:1)改用Debian官方存档源(需禁用安全检查);2)升级至受支持的Debian 11/12版本(推荐);3)临时使用第三方镜像源(不推荐)。操作步骤涉及修改sources.list、处理NTP同步问题及清理残留配置。建议优先采用版本升级方案以获得持续安全更新,避免使用过时系统带来的安全隐患。文中提供了完整命令示例和操作记录供参考。

yy_xzz的博客 2178

龙蜥社区首次突破!高性能存储 SIG 现身 LSF/MM/BPF 2023 分享 EROFS 的演进路线

近日,在 2023 Linux Storage, Filesystem, Memory-Management and BPF Summit 的文件系统会议上,龙蜥社区高性能存储 SIG 成员 Gao Xiang 介绍了增强型只读文件系统。

weixin_60347558的博客 378

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

6.6内核版本主要特性

2023年10月29日星期天,Linux 6.6发布。

weixin_49382066的博客 1313

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

高性能存储SIG月度动态:EROFS支持直接索引容器镜像tar包,io_uring将支持并优化NVMe直通

高性能存储 SIG月度动态送达:本月进展有ANCK 5.10 支持 erofs subpage block 特性,提升容器镜像 tar 包解压性能以及 golden image 的安全性等等,更多详情查看原文了解。

weixin_60347558的博客 620

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Linux 3.10内核锁瓶颈描述以及解决-overlayfs的性能缺陷

又是一个假期,早早早退,然而高速公路离家最近的出口封闭,无奈只能穿越景区,就为了去吃顿饭。饭罢了,该思考和总结了。 大量线程争抢锁导致CPU自旋乃至内核hang住的例子层出不穷。 我曾经解过很多关于这方面的内核bug: nat模块复制tso结构不完全导致SSL握手弹证书慢。 IP路由neighbour系统对pointopoint设备的处理不合理导致争锁。 IPv6路由缓存设计不合理导致争锁。 ...

TCP/IP 5581

理解 Linux 动态库加载:LD_LIBRARY_PATH

flyfish

二分掌柜的 331

仿muduo实现高并发服务器——EchoServer完成

本文介绍了一个纯头文件实现的 Reactor 服务端骨架,核心结构从 Buffer(双下标缓冲区)出发,依次封装 Socket(RAII 封装 fd)、Channel(事件与回调绑定)、Poller(epoll 封装)、TimerTask/TimeWheel(秒级时间轮)、EventLoop(事件循环 + 任务队列 + eventfd 唤醒),并集成 LoopThread/Pool、Connection、Acceptor 与 TcpServer。通过 EchoServer 示例展示业务逻辑仅需绑定三个回调即

深入探究的博客 374

【Linux网络】TCP 服务器并发处理多客户端:从 fork 分发到双重 fork 彻底消灭僵尸进程

拆解 TCP 服务器并发演进链:fork 分发连接、SIGCHLD 循环回收僵尸、双重 fork 交孙进程给 init 收养,并给出模型选型与线上排错对照。

2301_78967866的博客 414

【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork

本文详解多进程TCP服务器的实现原理,从单进程并发瓶颈出发,通过fork分离连接接收与服务职责。重点解析文件描述符继承机制、僵尸进程问题及双重fork解决方案,最终构建高效、稳定的多进程服务器模型,并说明服务器重启时可能因端口未释放导致绑定失败的原因。

2402_87731470的博客 2363

ROS2 服务通信 + 参数服务器

plaintext# 请求区---# 响应区int64 sumint64 diff(驼峰文件名)→ 自动生成头文件是 calc_two_int.hpp(下划线)cpp。

w8848w的博客 327

自建 Git 服务器和裸仓库差在哪:要能提合并请求

在一台 Linux 上 git init --bare 就能自建 Git 服务器,但它只能推拉代码,没有网页、合并请求、评审和按仓库分配的权限。对照裸仓库和 AngusGit 各自能做什么,再走一遍在 AngusGit 上发起合并请求的最短路径,以及已有裸仓库怎么完整搬过来。

AngusTester 316

主从 Reactor 高并发服务器实战 (三):服务器套接字Socket模块详解与实现

本文实现了一个封装完善的Socket模块,将socket→bind→listen→accept等复杂操作收敛为简洁的类接口。通过RAII机制自动管理文件描述符生命周期,避免资源泄漏;提供CreateServer等便捷函数简化服务端创建流程,并支持非阻塞模式与属性设置。模块设计注重安全性与易用性,有效解决样板代码重复、错误处理分散等问题,为后续网络通信模块奠定坚实基础。

dasdasfv的博客 203

轻量点对点定时备份方案:个人文档与服务器文件跨机同步实践

本文探讨了轻量级文件备份场景下的实际需求与解决方案。针对个人文档及小型服务器备份,传统BAT脚本虽易上手,但存在断点续传差、安全缺失、维护困难等短板。作者提出理想方案应具备点对点传输、断点续传、加密传输、版本管理、文件过滤及自动清理等能力。最终选用松鼠备份工具,实现稳定、低运维成本的跨机同步,尤其适合中小型场景,强调“稳定省心”优于复杂功能,是小团队和个人运维的高效之选。

2501_93776716的博客 206

架设一台NFS服务器

3、将/home/tom目录仅共享给192.168.100.136这台主机,并只有用户tom可以完全访问该目录。注意:tom是一个用户目录,并且在客户端创建tom用户一定与服务端的tom用户的uid/gid保持一致。2、开放/nfs/upload目录,为192.168.100.0/24网段主机可以上传目录,并将所有用户及所属的组映射为nfs-upload,其UID和GID均为210。1、开放/nfs/shared目录,供所有用户查询资料。架设一台NFS服务器,并按照以下要求配置。

2401_87595340的博客 232
上一篇: LWN:内核6.2版本的开发数据!
下一篇: LWN:在网页应用之外使用FIDO2 无密码认证!
LinuxNews搬运工
博客等级 码龄7年 438粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值