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 / 问题 / 31518
Accepted
Bob
Bob
Asked: 2009-06-26 04:44:53 +0800 CST2009-06-26 04:44:53 +0800 CST 2009-06-26 04:44:53 +0800 CST

LVM 和灾难恢复

  • 772

我了解LVM是什么以及它完成了什么,但我觉得我错过了一些东西。

假设我们有两个物理驱动器,sda 和 sdb。两者都是 100 兆。我将它们放入 VolumeGroup1 并创建一个 200 兆的 LogicalVolume1。

如果我创建一个 150 兆的文件会怎样?100 megs 会在 sda 上,50 在 sdb 上吗?如果是这样,是什么告诉操作系统文件的一部分在一个驱动器上,而另一部分在另一个驱动器上?

驱动故障怎么办?假设没有RAID,如果sdb出现故障,sda上的数据会全部丢失吗?有没有办法控制哪些文件在哪些物理驱动器上?

您通常如何管理 LVM?您是否创建一个或两个大型卷组,然后根据需要进行分区?还有其他提示吗?

linux lvm storage
  • 5 5 个回答
  • 11984 Views

5 个回答

  • Voted
  1. Best Answer
    pgs
    2009-06-26T05:21:34+08:002009-06-26T05:21:34+08:00

    假设我们有两个物理驱动器,sda 和 sdb。两者都是 100 兆。我将它们放入 VolumeGroup1 并创建一个 200 兆的 LogicalVolume1。
    如果我创建一个 150 兆的文件会怎样?100 megs 会在 sda 上,50 在 sdb 上吗?

    正确(假设文件系统在创建文件之前为空)。

    如果是这样,是什么告诉操作系统文件的一部分在一个驱动器上,而另一部分在另一个驱动器上?

    LVM 告诉操作系统只有一个 200MB 磁盘。内核的 LVM 部分(它分为两部分,用户空间管理工具和内核驱动程序)然后会将操作系统看到的内容映射到磁盘上的物理位置/块。

    驱动故障怎么办?假设没有RAID,如果sdb出现故障,sda上的数据会全部丢失吗?有没有办法控制哪些文件在哪些物理驱动器上?

    是的,考虑丢失的数据。

    如果您创建较小的逻辑卷,则可以使用该pvmove命令将它们从磁盘移动到磁盘。

    您通常如何管理 LVM?您是否创建一个或两个大型卷组,然后根据需要进行分区?还有其他提示吗?

    我倾向于创建大型卷组,然后根据需要创建逻辑卷。无需完全分配卷组中的所有空间;在需要时分配它。增加逻辑卷的大小很容易,几乎所有现代文件系统也可以轻松增长。

    • 15
  2. 3dinfluence
    2009-06-26T05:30:51+08:002009-06-26T05:30:51+08:00

    让 LVM 和 Software Raid 在 Linux 中工作的底层是内核的设备映射器部分。这就是将物理设备的块地址抽象为您正在使用的虚拟块设备的原因。

    在将 LVM 与任何数据一起使用时,您确实需要了解数据可用性的影响。这并不是说 LVM 实际上是危险的,当使用正确的做法时,它对可用性的影响是最小的。

    在您在问题中建议的情况下,您的数据可用性将与 RAID0 相同,如果任何驱动器出现故障,则会导致数据丢失。

    实际上,如果不在某种 RAID 上运行 LVM,我不会使用它。我在一个 30TB 文件服务器上使用了 LVM,该服务器在一个 VG 中有大约 20 个硬件 RAID5 卷。但是,如果您有足够的空闲 Extents,您可以使用 pvmove 将数据从一个或多个 PV 迁移出去,以防它开始给您带来问题。

    但始终有一个不时测试的备份策略。

    • 4
  3. kubanczyk
    2009-06-26T06:03:13+08:002009-06-26T06:03:13+08:00

    您通常如何管理 LVM?您是否创建一个或两个大型卷组,然后根据需要进行分区?

    我的一般策略是将可能(作为一个整体)迁移到另一个系统的物理卷放入单独的卷组中。

    如果您有外部存储,最好将其放在单独的卷组中。将其从这台计算机断开连接并连接到另一台计算机在物理上很容易,因此在 LVM 中导出/导入它在逻辑上应该同样容易,同时保持数据完整。

    如果您的内部磁盘上已经有一个 vg00,然后您为您的机器购买了另一个内部磁盘,请问自己一个问题:新磁盘上的数据是否会绑定到 vg00,并且移动没有任何意义数据到另一个系统?在这种情况下,它应该是 vg00 的一部分。否则,我会创建 vg01,因为它可以轻松地自行导出/导入。

    • 3
  4. David Spillett
    2009-06-26T04:54:11+08:002009-06-26T04:54:11+08:00

    如果您在这样的组中有两个驱动器作为物理卷,那么您所拥有的是一个 JBOD(Just a Bunch Of Disks)阵列。如果其中一个驱动器发生故障,您将不会比将驱动器排列在 RAID0 阵列中得到更好的保护。

    如果卷组中有一个逻辑卷(因为这将由卷中的文件系统而不是 LVM 控制),则无法直接控制两个驱动器上的内容,但如果将卷组拆分为多个逻辑卷,则可以手动排序它们的创建,以便给定的逻辑卷位于给定的驱动器上。

    我相信 VG 中的每个 PV 都有一个 LV 布局的副本,并且数据不会像 RAID0 那样被剥离,因此如果您的一个驱动器发生故障,但如果数据丢失是任何问题,您确实有更多的机会恢复某些东西我根本不会考虑以这种方式使用两个驱动器(通过 LVM 或 RAID0)。

    • 0
  5. Saabi
    2009-06-26T05:56:37+08:002009-06-26T05:56:37+08:00

    如果我创建一个 150 兆的文件会怎样?100 megs 会在 sda 上,50 在 sdb 上吗?如果是这样,是什么告诉操作系统文件的一部分在一个驱动器上,而另一部分在另一个驱动器上?

    LVM(逻辑卷管理器)将物理卷收集到卷组中。每个物理卷(驱动器本身)都有称为物理范围的小块。这些盘区在磁盘中有一个唯一标识符。实际上它们是按顺序编号的。当您创建一个逻辑卷时,它是从与物理盘区配对的逻辑盘区构建的。逻辑盘区在逻辑卷中具有唯一 ID。在 HP-UX 中,您可以检查哪个逻辑范围与哪个物理范围配对。在 SLES11 中,我不知道如何检查它。lvdisplay --maps应该很好但不完美(对我来说)。

    • 0

相关问题

  • 多操作系统环境的首选电子邮件客户端

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

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

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

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助
subwaysurfers
my femboy roommate

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve