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 / 问题 / 44337
Accepted
Laura Thomas
Laura Thomas
Asked: 2009-07-23 15:23:10 +0800 CST2009-07-23 15:23:10 +0800 CST 2009-07-23 15:23:10 +0800 CST

从 Solaris 切换到 Linux 将备份速度降低了 80%。帮我恢复原来的速度?

  • 772

首先快速概述环境:

  • NetBackup 在带有 LTO3 驱动器的 Windows 服务器(如果您愿意,可以选择 6.5.4)上运行。

  • 备份目标曾经是 Sun 硬件上的 Solaris 9 服务器,带有 Veritas Volume Manger。

  • 使用 LVM 重新构建为 RHEL5 盒来管理卷,现在在 Xiotech SAN 上。拥有大量的卷。

盒子运行的数据和应用程序 (Optix) 的性质是,它曾经写入一个卷,直到它达到一定大小,然后该卷被永远锁定。因此我们有 \u01 \u02 \u03 ... \u50。不久前(仍在 solaris 构建中),我们扩展并打开了这些卷备份以供写入,因此在任何一天,它们中的任何一个或全部都可能发生变化。过去的备份吞吐量平均为 40MB/秒。

在新的 Linux 版本中,我们的平均速度接近 8MB/秒。鉴于这里有 2.1TB 的数据,这有点令人无法接受,即使运行 4 个流也需要 48 多个小时才能完成。服务器上的 I/O 是挂钩的。我很确定这不是 SAN,因为其他使用同一类存储和类似服务器硬件的客户端正在以极快但可以容忍的 20MB/秒的速度备份。

我正在寻找提高吞吐量的想法。隔壁办公室的 Solaris 人员将 LVM 归咎于 Linux。没有人认为这是备份环境,因为它在其他地方仍然按预期执行。现在非常慢的盒子的管理员说“我不知道不是我,用户说没关系。” 这可能是真的,因为它是一个文档管理系统,他们正在读写小文件。

排除故障的想法?有人见过 LVM 垃圾备份或其他 I/O 性能吗?尤其是考虑到大量卷包含大量(可能是 1000 万)小文件?

编辑以更正单位。

编辑添加:

NIC 为 1000/Full(从操作系统和交换机检查)

文件系统是 EXT3。

更多新信息......

在运行 LVM 和 EXT3 的几个机器上似乎发生了性能下降。基本上我们今年夏天建造的所有新 RHEL5 盒子。

backup linux lvm netbackup
  • 4 4 个回答
  • 929 Views

4 个回答

  • Voted
  1. Kyle Brandt
    2009-07-24T04:11:56+08:002009-07-24T04:11:56+08:00

    有没有用 sar 或者 iostat 在备份过程中监控磁盘性能,看看 Linux 对磁盘性能的看法?

    使用某种基准实用程序来测试系统上文件的原始读取性能怎么样?我刚想出这个,所以这可能是一种糟糕的方法,这实际上只是为了顺序阅读,但是:

    sudo dd if=/u1/some_large_file of=/dev/null
    

    基本上,如果您使用基准测试实用程序来重复读取所有小文件,那么如果它是磁盘,您就可以从那里开始。

    以下内容不再相关:
    如果 20 kb/s 你的意思是千比特,除非我因为早上太早而搞砸了,否则你的数字不会相加。你说你有 20 kb/s 的 2.1 TB:

    即使只有 1 TeraByte:

    1 TB = 8589934592 bits
    8589934592 / 20 (bits a second) = 429496730 seconds
    429496730 / 60 (seconds) = 7158278 minutes
    7158278 minutes / 60 = 119,304 Hours
    119,304 / 24 = 4971 (Days)
    

    或者,如果您的意思是千字节:

    1 terabyte = 1073741824 kilobytes
    1073741824 / 20 kB/s = 53687091 seconds
    53687091 seconds = 621 days
    

    我搞砸了这些计算吗?(如果我是的话,我将不得不羞愧地删除我的帖子:-))

    • 2
  2. Best Answer
    Laura Thomas
    2010-03-11T12:25:53+08:002010-03-11T12:25:53+08:00

    这个问题原来是 NetBackup 客户端版本问题,而不是 linux/LVM 问题。当盒子被重建为 linux 盒子时,安装了 6.5 客户端。今天针对另一个问题,我们将客户端版本升级到 6.5.4。我回到以 25-27mb/秒的速度从盒子中提取数据。

    我怎么可能忘记了 NetBackup 或任何备份软件的第一条规则,如果您遇到我不知道的问题,请确保您的客户端和服务器版本匹配。也许我需要一个纹身。

    • 2
  3. cas
    2009-07-23T16:20:37+08:002009-07-23T16:20:37+08:00

    您在 LVM 卷上使用什么文件系统?

    1000 万个小文件是如何存储的——全部在一个目录(或少数目录)中,还是分布在多个目录和子目录中?(“许多”是一个任意大的数字)

    我问的原因是,当您在其中包含数千个文件时,某些文件系统会出现严重的性能问题。这是您减速的可能原因之一。

    例如,没有打开 dir_index 功能的 ext2 或 ext3(IIRC,dir_index 多年来一直是 ext3 的默认设置。它有很大帮助,但并不能完全消除问题)。

    您可以使用 tune2fs 查询和/或设置 ext3 的 dir_index 功能。例如查询:

    # tune2fs -l /dev/sda1 | grep 功能
    文件系统特性:ext_attr resize_inode dir_index filetype sparse_super
    

    如果您在该列表中没有看到 dir_index,那么您需要像这样打开它:

    并设置:

    # tune2fs -O dir_index /dev/sda1
    tune2fs 1.41.8(2009 年 7 月 11 日)
    

    (是的,tune2fs 在这里仅通过打印其版本号来响应...不会打扰告诉您操作是成功还是失败。不好,但如果失败,它可能会打印错误)



    最后:如果这确实是问题所在,并且启用 dir_index 没有帮助,那么您可能需要考虑使用不同的文件系统。XFS 是一个很好的通用文件系统,AFAIK ext4 没有这个问题。要么是替代 fs 的合理选择(尽管 ext4 是相当新的,即使很多人使用它没有问题,我不确定我是否会在生产服务器上信任它)

    • 0
  4. sysadmin1138
    2009-07-23T17:59:12+08:002009-07-23T17:59:12+08:00

    LVM 本身真的不应该影响这一点。据我所知,并不是每个元数据操作都引用 LVM 位,这就是延迟发挥作用的地方。它位于内核的不同层。LVM 对挂载/卸载的影响大于对文件打开/关闭的影响。

    Craig 指出的更可能的是,大型目录会损害性能。Linux 因不能很好地处理大目录问题而臭名昭著。VxFS 可以快速处理多达 100K 的文件/目录,而 ext2/ext3/reiserfs 通常在此之前就开始减速。这是迁移目标文件系统选择不当可能严重影响备份性能的一个领域。

    也就是说,如果这是您的问题,那么进出这些目录的普通旧访问也应该受到损害。可能是 80 毫秒打开文件和 210 毫秒之间的差异,最终用户几乎察觉不到,但它应该存在。

    • -1

相关问题

  • IIS 6.0 (Windows Server 2003) 备份的最佳实践?

  • 10TB数据和3台服务器的备份解决方案

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

  • 最佳混合环境(OS X + Windows)备份?[关闭]

  • 如何从 SQL Server 2008 中的备份中排除索引

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