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 / 问题 / 978122
Accepted
guettli
guettli
Asked: 2019-08-07 02:25:45 +0800 CST2019-08-07 02:25:45 +0800 CST 2019-08-07 02:25:45 +0800 CST

为什么要使用 LVM?它创造了更多的边界(更少的自由)

  • 772

我有一个在 VM 中运行的 linux 服务器。管理程序是 VMWare。

此设置由前管理员完成:

server:~ # pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  system lvm2 a--  119,84g    0

server:~ # vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  system   1   3   0 wz--n- 119,84g    0

server:~ # lvs
  LV   VG     Attr      LSize  Pool Origin Data%  Move Log Copy%  Convert
  home system -wi-ao--- 97,84g                                          
  root system -wi-ao--- 20,00g                                          
  swap system -wi-ao---  2,00g                    

我问自己:为什么?

很高兴你可以用 LVM 做很多有趣的事情。但为什么?

为什么不创建一个块设备/分区/文件系统?

交换可以完成到文件中。

一个分区/文件系统会给我更少的块设备。这意味着文件系统中的目录有更多的空间来增长。

如果我将一个块设备与一个文件系统一起使用,则磁盘空间不足的可能性较小。

示例:如果“根系统”的文件需要超过 20GByte,而“家”还有空间,那么一切都很好。

这是 LVM 设置的简化 ascii 艺术:

+--------------------+
|                    |
|  Filesystem        |
|                    |
|---------------------
|                    |
|  Logical Volume    |
|                    |
|---------------------
|                    |
|  Volume Group      |
|                    |
----------------------
|                    |
|  Physical Volume   |
|                    |
|---------------------
|                    |
|  Block device      |
|                    |
+--------------------+

背景:这不是一个高可用的系统。晚上重新启动总是可能的。

lvm
  • 5 5 个回答
  • 2801 Views

5 个回答

  • Voted
  1. Best Answer
    John Mahowald
    2019-08-07T03:31:22+08:002019-08-07T03:31:22+08:00

    通常使用 LVM 可以启用多个功能。只是一对:

    • 扩展卷是一步和在线:lvextend --resize.
    • 不需要分区。如果没有 LVM,调整 root fs 大小的常见用例需要停机,并且可能需要从第二个系统编辑分区表。
    • 快照始终可用,即使存储系统或管理程序上没有此类功能。
    • 极端用例可能需要由多个磁盘 (LUN) 支持的卷。这几天很少见。但还不如在更灵活的 LVM 上进行标准化。

    (一些细节是特定于 Linux LVM 的,但 LVM 通常在许多操作系统上实现。在 UNIX 上,AIX 和 HP-UX 早于 Linux 并且具有类似的 LVM。)


    该特定分配类似于Red Hat 等发行版的默认值,反映了他们长期以来给出的一些建议。

    要将用户数据与系统数据分开存储,请在卷组内为 /home 目录创建一个专用分区。这将使您能够在不删除用户数据文件的情况下升级或重新安装 Red Hat Enterprise Linux。

    分页空间可以放在更方便的文件中,是的。我认为这需要某些文件系统。无论文件系统如何,直接在块级设备上都可以工作,很明显,常规文件没有可用空间。此外,您可以将此分页空间卷移动到快速不太耐用的存储中,例如单个本地 SSD。

    一些管理员走得更远,将 say 隔离/var在自己的卷和/tmptmpfs 上。这样日志文件等就不会填满/usr.

    就个人而言,如果没有大小要求,我会从/home较小的 20 GB 开始。这在 VG 中留下了 70 GB 的可用空间,用于下一个需要lvextend。这也是长期以来的建议。我怀疑这不是自动分区默认设置,因为用户数据往往会无限增长,并且他们希望使用该空间以防容量规划不再被重新访问。

    保留未分配的多余容量,仅将存储容量分配给您立即需要的那些分区。您可以随时分配可用空间,以满足出现的需求。

    • 7
  2. HBruijn
    2019-08-07T04:31:56+08:002019-08-07T04:31:56+08:00

    在许多情况下,单个分区或没有分区并没有什么害处,尤其是在虚拟化环境中,如果空间不足,您可以轻松增加主磁盘和根文件系统。

    直到你不能...

    然后你会发现硬分区是你在服务器生命周期中一直坚持的设计选择。
    (不完全,但大多数解决方案都需要停机和/或服务中断。)

    如果您只有牛:那不是问题,无论如何您的服务器都是短暂的。如果你的宠物比你愿意承认的要多...

    您为使用 LVM 所付出的性能开销/损失可以忽略不计,即使您现在看不到即时需求,LVM 将来也可能会节省您的培根,因为 LVM 将允许您在存储中执行在线更改,否则这将是彻底的不可能或至少需要(大量)停机时间。

    • 3
  3. Sum1sAdmin
    2019-08-14T00:28:51+08:002019-08-14T00:28:51+08:00

    答案是,如果您无法确定使用 LVM 的任何操作原因,那么就没有理由使用它,在您的虚拟机管理程序和存储区域网络的场景中,这很容易被忽略。但 LVM 不是 smb 或 iscsi 之类的协议,也不是 ext4 或 ntfs 之类的文件系统,也不是 JBOD 阵列或任何类型的 RAID,它不是 SSD 或 SAS 之类的磁盘类型,它不是 VMware 之类的存储提供商数据存储或 Ceph - 那么,为什么要使用 LVM?- 独立于所有这些向操作系统呈现逻辑卷。

    • 3
  4. Anon
    2019-08-13T21:00:05+08:002019-08-13T21:00:05+08:00

    一些发行版默认使用 LVM/设备映射器设置分区。如前所述,使用 LVM 的开销很小(尽管并非完全为零),而且它增加了灵活性,因此这不是一个糟糕的选择。

    关于单独的文件系统:单独/home的 to/通常被合理化为一种执行穷人报价的方法。通过将它们分开,填充/home不会使只需要在/tmp(like sort) 中创建文件的工具无法完成其工作。再一次,一些分区工具(Ubuntu?)引导您进行这种设置。

    也许以前的管理员只是遵循默认设置?如果您有不同的需求并且已经处于重新开始的位置,那么您当然可以做出不同的选择。但是,如果系统正常并且没有空间不足(20GByte 的 root 可能意味着您还有超过 50% 的空间,或者根据具体情况可能还不够),我怀疑是否值得努力将其全部拆除并重新开始只是为了切换。

    • 2
  5. BillThor
    2019-08-13T23:21:36+08:002019-08-13T23:21:36+08:00

    在传统的分区模型中,在正在运行的系统上调整或移动分区的大小是极其困难的。通常,它需要中断,否则有数据丢失的风险。LVM 解决了这些问题。

    在极端情况下,LVM 可用于替换正在运行的系统上的故障磁盘。

    LVM 还简化了 RAID 的实现,这可以很容易地在每个逻辑卷的基础上完成。

    如果您需要一个非常大的存储空间,您可以使用 LVM 将一个逻辑卷扩展到多个磁盘。

    有支持和反对为不同的子目录设置不同分区的论点。我都做过。出现的问题之一是文件系统的增长超出了其分区的容量。虽然在某些情况下有一些安全的选项,但 LVM 提供了在正在运行的系统上扩展分区(逻辑卷)的安全路径。

    有很多交换选项,但通常您希望能够快速交换。幸运的是,现代内存管理较少依赖交换进程,而更多地依赖分页。访问交换文件通常比访问交换分区或逻辑卷具有更高的开销。对于具有足够内存以避免主动使用交换空间的系统,这不是一个考虑因素。

    虽然在某些情况下 LVM 可能会增加在磁盘上查找块位置的开销,但单个磁盘上的连续逻辑卷应该具有与分区相同的开销。在 LVM 确实增加开销的情况下,其他权衡可能会提供更好的文件系统性能。了解权衡应该是使用更复杂的 LVM 配置的规划过程的一部分。

    • 1

相关问题

  • OpenBSD 和文件系统快照

  • 卷组空间不足。我该如何收回它?

  • LVM 快照是这样工作的吗?

  • LVM 和快照

  • 如何在 Ubuntu 上挂载 LVM 分区?

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +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