AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 76417
Accepted
kbyrd
kbyrd
Asked: 2009-10-21 08:28:09 +0800 CST2009-10-21 08:28:09 +0800 CST 2009-10-21 08:28:09 +0800 CST

Linux 上 ramdisk 的延迟磁盘备份?

  • 772

快速而肮脏的总结:我想要一个像写缓存这样的东西,只有在系统不忙时才会耗尽。

我想要一些类似于这个问题RAM 磁盘和物理 RAID的东西,稍微有点扭曲。

对于我经常进行的特定构建,我想将构建输出保留在最终写入磁盘的 ramdisk 中。我正在构建的一个特定目标实际上是一堆 cp、tar、gzip 等,所以我受磁盘限制。在紧凑的调试周期中,我希望它快速,并且不要太在意构建输出是否因断电而被破坏。但是,如果在系统不忙时将 ramdisk 同步到磁盘,那就太好了。我可以想象用一个 cron 作业来做这件事,但我问你们所有人,如果有一个更连贯的解决方案,它结合了另一个问题的特征(溢出到磁盘的 ramdisk)和这个新的转折(给定足够的空闲磁盘时间, ramdisk 的内容也会写入磁盘)。理想情况下,整个事情看起来像一个单一的挂载点,

- - 更新 - -

我不认为页面缓存能满足我的要求,因为我真的想要相当快的写入性能。

filesystems
  • 3 3 个回答
  • 3859 Views

3 个回答

  • Voted
  1. Avery Payne
    2009-10-21T13:06:04+08:002009-10-21T13:06:04+08:00

    但是我问你们所有人,如果有一个更连贯的解决方案,它结合了另一个问题(溢出到磁盘的 ramdisk)的特征和这个新的转折(给定足够的空闲磁盘时间,ramdisk 的内容就可以了)也到磁盘)。

    您要求的是延迟写入机制,即写入 ramdisk 优先于写入永久存储,但所有数据最终都会写入磁盘,对吗?

    理想情况下,整个事情看起来像一个单一的挂载点,我在其中设置了总大小和要使用的 ram 数量。

    尽管听起来很有趣,但您也许可以使用 LVM 镜像来完成此过程。

    1. 使 ramdisk 成为具有物理驱动器的卷组的成员。

    2. 将 ramdisk 镜像到您的硬盘驱动器。请注意,LVM 镜像是特定于方向的,即数据从一个 PV 单向流向另一个 PV。

    3. 将 LVM 卷作为统一文件系统挂载到某处。

    写入被假脱机并写入基于 LVM 的 ramdisk(并且凭借镜像,物理驱动器也是如此)。与写入是同步和并行(两个驱动器同时写入)的 RAID-1 不同,LVM 镜像是异步和顺序的(主驱动器接收写入,然后 LVM 将写入推送到镜像)。这与您正在寻找的行为很接近(但不是 100%)。请记住,LVM 确实会对未决写入施加压力以清除磁盘,因此您看到的任何“空闲”最多以秒为单位,最坏的情况是部分秒。

    这种安排的另一面是你现在有一个非常好的持久性机制。启动时,创建您的 ramdisk 并将现有驱动器镜像到它;镜像完成后,打破镜像并反转方向(ramdisk -> hdd)。这意味着每次重新启动都会导致您的数据被放入 ramdisk,并且在关机之前,从 ramdisk 写回硬盘驱动器。它可能是用 perl 或 shell 脚本编写的。

    我确信还有其他方法可以做到这一点,但这是快速'n'dirty 版本。我会再考虑一下,看看我能弄清楚什么。

    • 4
  2. Ludwig Weinzierl
    2009-10-21T08:50:58+08:002009-10-21T08:50:58+08:00

    您所描述的正是您的操作系统的磁盘缓存应该做的事情。如果现代操作系统有足够的内存可供使用,他们就非常擅长这一点。

    在我看来:给你的机器足够的内存,让操作系统来做艰苦的工作。

    • 2
  3. Best Answer
    JamesR
    2009-10-22T03:43:11+08:002009-10-22T03:43:11+08:00

    几个古怪的想法。首先,Puppy Linux 有点这样做;它经常将您的工作空间同步到永久。它似乎通过智能脚本和简单的复制命令来做到这一点。

    其次...如果您经常在 ramdisk->real 磁盘之间安排一个 rsync 怎么办?

    • 1

相关问题

  • 我如何知道 AIX 中磁盘上的文件系统是什么?

  • 控制 UNIX 目录内容用户组所有权

  • 在 Ubuntu 上将 Windows 磁盘分区与 Linux 分区合并

  • 在 VMPlayer 上 Windows 和 Linux 之间共享目录的最佳方式

  • md5sum 重复为同一台机器上的同一文件提供不同的校验和

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve