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 / 问题 / 46206
Accepted
Norman Ramsey
Norman Ramsey
Asked: 2009-07-27 09:13:47 +0800 CST2009-07-27 09:13:47 +0800 CST 2009-07-27 09:13:47 +0800 CST

对于什么样的 Linux 桌面,LVM 条带化值得?

  • 772

我在家里和工作中运行了几台 Linux 机器。我的大部分计算都是 I/O 受限的,例如大型编译器回归套件等。在家里,我也有一台可以从地面天线捕获高清视频的机器。一项体育赛事进入一个大约 30GB 的文件;我有超过 4TB 的存储空间专门用于高清视频。

我的问题是在什么情况下我应该条纹?我当前的主目录和根文件系统设置是使用 LVM 在两个驱动器上对 XFS 进行条带化。示例输出lvdisplay -m:

Logical extent 0 to 117247:
  Type                striped
  Stripes             2
  Stripe size         64 KB
  Stripe 0:
    Physical volume   /dev/sdb2
    Physical extents  0 to 58623
  Stripe 1:
    Physical volume   /dev/sda2
    Physical extents  0 to 58623

但是,我刚刚阅读了诸如 RAID 之类的文章:对于您的家用 PC来说 不是一个聪明的主意,两个驱动器比一个驱动器好吗?,以及 来自 storagereview.com 的一篇文章——所有这些都说使用 RAID-0 进行条带化对于单用户台式机来说是浪费金钱和精力。 但

  • 这些研究使用的是 Windows,而不是 Linux

  • 他们使用硬件 RAID,而不是 LVM

  • 他们不处理 30GB 的视频文件

我想了解其他人的经验,了解什么样的配置(如果有的话)跨两个磁盘的 LVM 条带化是否可以改善单用户 Linux 桌面体验?

performance hard-drive lvm raid desktop
  • 10 10 个回答
  • 3752 Views

10 个回答

  • Voted
  1. Best Answer
    Avery Payne
    2009-07-27T22:13:05+08:002009-07-27T22:13:05+08:00

    我的问题是在什么情况下我应该条纹?

    如果您谈论的是“镜像”条带,您将使用它将数据从一个驱动器迁移到另一个驱动器。您不会将其用作 RAID-1 的一种形式,因为它的效率不如常规md驱动程序。

    如果您正在谈论扩展驱动器空间的条带,那么这就是它的用途:当您用完空间时。

    否则,我不会为 LVM 条带选项而烦恼。

    我想了解其他人的经验,了解什么样的配置(如果有的话)跨两个磁盘的 LVM 条带化是否可以改善单用户 Linux 桌面体验?

    好吧,我已经为一个繁忙的服务器打开了 LVM 镜像,在一个 eSATA 机箱中有两个驱动器。我观察到的行为是,它会将镜像写入“突发”到另一个驱动器,并且通常落后于主驱动器一两秒。这让我非常紧张,因为在主驱动器故障期间可能存在潜在的一致性问题。在繁重的写入负载下性能也很糟糕,并且读取性能没有提高,因为它没有使用其他驱动器进行读取。我取消了该设置并通过驱动程序将其切换到 RAID-1 md,速度提升立即可见,没有“突发”行为。

    一些建议:

    • 如果您有四个相同大小的驱动器,并且您的所有数据都可以放在两个驱动器上,那么我很容易推荐任何一天使用 RAID-10 而不是 RAID-5。是的,您丢失了 2 个驱动器,但您获得的冗余比 RAID-5 略多,并且您的访问时间“均匀”。
    • 如果您只有两个驱动器并且它们可以容纳您的所有数据,我建议您使用镜像 (RAID-1)。
    • 如果您有大小非常不同的驱动器并试图节省成本,您可以使用 LVM 将卷扩展到第二个驱动器,前提是您了解所涉及的风险。 单个驱动器故障意味着您将失去所拥有的一切。

    但是,我刚刚阅读了诸如 RAID 之类的文章:对于您的家用 PC来说不是一个聪明的主意,两个驱动器比一个驱动器好吗?,以及来自 storagereview.com 的一篇文章——所有这些都说使用 RAID-0 进行条带化对于单用户台式机来说是浪费金钱和精力。

    RAID-0 条带化的存在是有原因的:您的存储容量不足,您暂时需要增加它。这里的关键词是“暂时的”,意思是您很快就会通过永久修复来解决问题。

    如果您正在谈论一些可以擦拭并重新安装的游戏盒,那么是的,这是浪费时间。

    如果您谈论的是一个可以处理您的生计的盒子,而使事情正常进行的唯一方法是将卷扩展到另一个驱动器上,那么情况就不同了。你需要做你需要做的事情。

    • 3
  2. katriel
    2009-07-27T09:56:04+08:002009-07-27T09:56:04+08:00

    条带化可能无助于您的日常桌面活动。当您有大型且(相对)长的 IO 操作时,最好使用条带化。在常规桌面上,您通常有很多小的、随机的 IO 操作,这些操作不会从条带化中受益。

    恕我直言,最好使用条纹:

    1. 当你有大文件时,你需要读/写。几个磁盘很可能会胜过单个磁盘。
    2. 您的物理卷下有良好的 RAID 支持。如前所述,条带化会使您丢失数据的机会加倍。
    3. 拥有单独的控制器将帮助您获得更好的性能,因为工作将真正分为多个通道
    • 2
  3. 3dinfluence
    2009-07-27T17:08:22+08:002009-07-27T17:08:22+08:00

    考虑到高清广播使用 19.4Mbit/sec 的最大比特率。这不到 2.5MB/秒。您可以一次录制 4-5 个高清广播,单个硬盘就可以跟上。所以我想说,在这种情况下,风险大于任何好处。

    您可能会注意到不同的唯一真实情况是,如果您将这些 30GB 文件复制到另一个系统,该系统也对千兆以太网进行了某种突袭,或者可能编辑这些视频。但我的猜测是,在这种情况下,我们正在谈论一个神话电视盒,它可能也在标记广告。因此,商业标记可能会稍微快一些,但一旦捕获了流,mythtv 就会将其作为后台进程进行。不过,从最终用户的角度来看,我没有看到任何改进。

    • 2
  4. dyasny
    2009-07-27T09:17:47+08:002009-07-27T09:17:47+08:00

    我说 -总是使用 LVM。你永远不知道什么时候你可能想要扩展你正在使用的 LV,所以为什么不选择通过添加另一个驱动器来实现,或者通过将整个东西添加到一个更大的驱动器并在空的驱动器上添加一个 PV空间。

    更不用说快照的可能性,以及 LVM 提供的其他功能

    至于那些文章,raid 和 LVM 是不同的东西,是为了达到不同的目的。Raid主要是为了增加存储的健壮性,或者提高它的速度。LVM 是关于灵活的空间管理和一些额外的好处,比如快照,否则只能在高端存储系统上实现。

    • 1
  5. David Pashley
    2009-07-27T09:30:33+08:002009-07-27T09:30:33+08:00

    条带化仅适用于可能丢失数据的情况。您的块设备的可靠性将是单个驱动器的一半。如果您可以忍受它以换取额外的性能,那么条带化可能对您很有效。

    • 1
  6. James
    2009-07-27T09:52:32+08:002009-07-27T09:52:32+08:00

    是否获得额外的性能将取决于系统的其余部分。SATA 芯片与系统其他部分之间是否存在瓶颈。你真的是 I/O 绑定等吗?

    查看您是否会有所收获的唯一简单方法是对您想要使用该系统的工作负载进行实验。

    正如其他人所说,始终使用 LVM,因为它为您提供了灵活性。除非是用于 tmp 空间,否则我不会在家里使用非镜像条纹。

    • 1
  7. duffbeer703
    2009-07-27T10:25:48+08:002009-07-27T10:25:48+08:00

    通常,工作站级设备上的“硬件 RAID”适配器是垃圾。关于该主题有很多 StackOverflow 问题,所以我将把它留在那里。

    无论您采用哪种方式,条带化(也称为 RAID-0)都是一种提高您拥有的 IO 绑定应用程序性能的好技术。这种性能的代价是更高的、未知的额外灾难性故障风险。

    这有什么大不了的吗?对我来说,它不是——我使用的是带有 4 个条带驱动器的 Mac Pro,所有这些都由 Time Machine 备份。当我从备份中恢复时,我可以忍受几个小时无法使用的情况。对于您,我建议您在进行条带化之前采用您可以接受的备份/恢复策略。

    • 1
  8. cas
    2009-07-27T14:14:50+08:002009-07-27T14:14:50+08:00

    IMO,仅当您根本不关心数据时才应单独使用条带化。

    当您跨多个驱动器条带化数据时,您会增加丢失所有驱动器上的所有内容的风险,因为任何一个驱动器的故障都意味着整个卷的完全丢失......并且您条带化的驱动器越多,风险就越大。

    因此,IMO,“我什么时候应该条纹?”的答案。是“从不”或“当您对镜像卷进行条带化时,如在 RAID-10 中”。

    如果数据本身和 IO 性能对您来说都很重要,那么请使用具有大型电池支持写入缓存的优质硬件 SAS RAID 卡(例如,adaptec 3805 或 5805 或类似产品),并制作 RAID-6 卷。要使用 RAID-6 获得 4TB,您需要 6 个 1TB 驱动器。再加一个作为热备件或冷备件。

    SAS 控制器支持 SAS 驱动器和 SATA 驱动器。上面提到的型号直接支持多达 8 个驱动器,但可以通过使用 SAS 扩展器支持更多(以性能为代价 - 更多驱动器意味着每个驱动器的 IO 带宽更少,但您可能会扩展到 16 个左右驱动器而不会注意到任何真正的性能冲击。每个 SATA 通道 3Gbps 可能为您提供 250MB/s 的 IO,当前好的非 SSD 驱动器每个可以使用大约 100-120MB/s 左右)。

    或者,使用软件 RAID-10(镜像卷的条带阵列)。4TB 阵列需要 8x1TB 驱动器。例如,4 个 RAID-1 阵列与 RAID-0(或 LVM)一起条带化,用于单个 4TB 卷。

    您可以在这些 RAID 阵列之上使用 LVM 来管理空间。如果您要走 RAID-10 路线,则可以使用 LVM 而不是 RAID-0 进行条带化。

    要考虑的另一件事是将消耗 IO 的应用程序分开,这样它们就不会竞争 IO。例如,将您的操作系统保存在一个较小的驱动器上,例如 80GB(或 RAID-1 镜像对),将编译器回归的源代码保存在另一个驱动器或 RAID-1 对上,以及将视频数据保存在 sw RAID-10 或硬件 RAID- 6.

    并在机器中安装尽可能多的内存,因为 linux 会将其全部用于磁盘缓冲。最常见的主板最多支持 4 个 DDR-2 或 6 个 DDR-3 记忆棒,因此 2GB 记忆棒比 4GB 记忆棒便宜得多,您可以以合理的价格安装最多 8GB 或 12GB。如果您需要更多,用具有更多 RAM 插槽的服务器 MB(来自 Tyan 或 SuperMicro 等)替换主板比使用 4GB 记忆棒更具成本效益。

    哦,热插拔托架是个好主意 - 当(不是如果,当)驱动器发生故障时,您需要能够尽快更换它。RAID-6 可以应对任何两个同时发生故障的驱动器,因此当一个驱动器发生故障时,它只需要一个驱动器死亡就可以带走所有东西。RAID-10 可以应对更多的驱动器故障(只要每个镜像对中有 1 个幸存,多达一半的驱动器可能会出现故障)。

    最后,备份。正如许多人之前多次提到的那样,RAID不是备份的替代品。目前唯一能够在合理的时间内备份​​您拥有的大量数据而无需花费数天更换磁带的磁带介质是 LTO-4。用于此的驱动器很昂贵,而且盒式磁带似乎也很昂贵(但在计算每 GB 的成本时实际上比硬盘驱动器便宜)。如果您的预算不够,那么您可以使用多个额外的驱动器(通过 e-sata、火线、备用热插拔托架......甚至 USB 连接)来备份 - 插入驱动器、运行备份、删除驱动器、货架存储或异地存储...当前驱动器容量高达 2TB,并且随着时间的推移会变得更大、更便宜。顺便说一句,按当前价格(裸 LTO 驱动器约 1500 至 2000 美元,而 1TB 硬盘约 100 美元 - 约当前澳元价格),

    • 1
  9. David Spillett
    2009-07-27T10:01:32+08:002009-07-27T10:01:32+08:00

    这可能是因为我安装所有游戏的驱动器比我的主系统/工作分区所在的驱动器旧一些,但是当我添加第二个驱动器时,我注意到某些游戏的加载和级间时间有明显改善(相同的血统),然后设置为 RAID0 阵列。不接近理论两倍的性能,但足以引起注意。这当然是相当主观的:我没有执行任何统计上合理的基准。

    这些文章相当陈旧,storagereview 一篇专门讨论了 PCI 总线的局限性(这意味着它将成为批量吞吐量方面的瓶颈,而不是现代驱动器,从而限制了 RAID0 的批量性能)。但是,如果您的控制器是基于 PCI-E 的,那么您将拥有更大的吞吐量。

    话虽如此,我只是在我的台式机上设置 RAID0 作为实验,看看它实际上会产生什么不同。如果我在家里组装一台全新的台式电脑和新的闪亮快速驱动器,我不确定我是否会再次这样做。对于桌面使用,我建议使用一对驱动器作为 RAID1 阵列来获得冗余,而不是出于性能原因在 RAID0 配置中使用它们。

    • 0
  10. Joachim Wagner
    2022-02-01T09:09:59+08:002022-02-01T09:09:59+08:00

    LVM 条带化可方便地将条带卷和非条带卷混合在单个卷组中,从而轻松移动空间(缩小一个卷,扩展另一个卷)。如果您事先不知道自己需要什么,这很好。

    我之前的另一个用例是让使用机器的客人不那么明显地看到正在使用条带化。使用 md RAID,可以/dev/md0在df输出中查看并在/proc/mdstat.

    对于视频编辑,以https://www.linuxtoday.com/blog/raid-vs-lvm/中的顺序读/写性能为指导,md RAID-0 可能会比 LVM 条带化提供更好的性能。我认为文件系统(ext4/xfs/btrfs 等)的选择更重要。

    • 0

相关问题

  • 上线的第一天:如何不杀死您的网站

  • IIS 优化

  • 为什么添加新驱动器后我的磁盘驱动器访问速度如此之慢?

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

  • RAID 控制器通常是否存在 SATA 驱动器品牌兼容性问题?

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