小编waz*_*oox的帖子

创建包含校验和的 tar 文件

这是我的问题:我需要将大量(最多 60 TB)大文件(通常每个 30 到 40 GB)归档到 tar 文件。我想在归档之前对这些文件进行校验和(md5、sha1 等);然而,不是读取每个文件两次(一次用于校验和,两次用于 tar'ing)或多或少是实现非常高的归档性能的必要条件(LTO-4 需要 120 MB/s 的持续速度,并且备份窗口是有限的)。

所以我需要一些方法来读取文件,在一侧提供校验和工具,并在另一侧构建一个 tar 到磁带,一些东西:

tar cf - files | tee tarfile.tar | md5sum -
Run Code Online (Sandbox Code Playgroud)

除了我不想要整个存档的校验和(这个示例 shell 代码就是这样做的),而是存档中每个单独文件的校验和。

我研究过 GNU tar、Pax、Star 选项。我查看了Archive::Tar的来源。我认为没有明显的方法可以实现这一目标。看起来我必须用 C 或类似的东西手工构建一些东西才能实现我需要的东西。Perl/Python/etc 根本不会在性能方面削减它,并且各种 tar 程序错过了必要的“插件架构”。在我开始代码改动之前,有没有人知道任何现有的解决方案?

linux archive checksum

18
推荐指数
2
解决办法
3万
查看次数

10GigE 上的 DRBD 糟糕的同步性能

我已经设置了一对具有 RAID 阵列(8 核、16GB RAM、12x2 TB RAID6)、3 个 10GigE 接口的相同服务器,以托管一些高可用性服务。

这些系统目前运行的是 Debian 7.9 Wheezy oldstable(因为 corosync/pacemaker 在 8.x stable 和 testing 上均不可用)。

  • 本地磁盘性能约为 900 MB/s 写入,1600 MB/s 读取。
  • 机器之间的网络吞吐量超过 700MB/s。
  • 通过 iSCSI,每台机器可以以超过 700 MB/s 的速度写入对方的存储。

但是,无论我如何配置 DRBD,吞吐量都限制在 100MB/s。它看起来真的像一些硬编码限制。我可以通过调整设置来可靠地降低性能,但它永远不会超过 1Gbit(一次达到 122MB/s 几秒钟)。我真的很喜欢这个。

  • 普通香草内核 3.18.24 amd64
  • drbd 8.9.2~rc1-1~bpo70+1

配置分为两个文件global-common.conf::

global {
        usage-count no;
}

common {
        handlers {
        }

        startup {
        }

        disk {
                on-io-error             detach;
         #       no-disk-flushes ;
        }
        net {
                max-epoch-size          8192;
                max-buffers             8192;
                sndbuf-size             2097152;
        }
        syncer …
Run Code Online (Sandbox Code Playgroud)

linux performance debian drbd

16
推荐指数
3
解决办法
2万
查看次数

光纤通道 LUN 重新扫描和 QLogic

我有一个通过光纤通道连接到 Linux 机器的 SAN 存储阵列的严重问题。这是配置:

  • Debian 与普通 vanilla linux 2.6.27.25
  • 光纤控制器 QLogic 4Gb 双端口(基于 ISP2432)

基本上问题是:如何得到这个#?@!! FC 控制器/驱动程序可以正确识别存储阵列的配置更改(新的或删除的 LUN)?

  1. 当我在我的阵列上创建一个新的 LUN(通常是一些现有 LUN 的快照)并将它映射到我的 HBA 时,我无法正确识别它:rescan-scsi-bus -l -w -r实际上检测到一些东西(一个通用的 /dev/sgXX 设备)但是没有块设备已创建 (/dev/sdXX)。
  2. 发出 LIP 并手动重新扫描时,同样的事情:

    回声 1 > /sys/class/fc_host/host6/issue_lip

    echo "- - -" > /sys/class/scsi_host/host6/scan

  3. 如果我删除现有的 LUN,则发出 LIP 和重新扫描或 rescan-scsi-bus 都不会产生任何影响。以前的设备保留在那里,当然不起作用(“file -s /dev/sdXX -> I/O error”)。

  4. 重新加载 qla2xxx 驱动程序有效。但是在生产环境中是完全行不通的。

显然,这是QLogic 的一个非常常见的问题。存在某种解决方案,仅当使用仅适用于 RedHat 和 Suse 企业发行版的 QLogic 发布的驱动程序时才有效:请参阅此说明

附加信息 :

这是 LIP 和重新扫描之前的 scsi 设备:

# …
Run Code Online (Sandbox Code Playgroud)

linux storage storage-area-network fibre-channel qlogic

9
推荐指数
1
解决办法
4万
查看次数

Linux RAID-0 性能不会超过 1 GB/s

我无法从我的设置中获得最大吞吐量。硬件如下:

  • 双四核 AMD Opteron(tm) 处理器 2376
  • 16 GB DDR2 ECC 内存
  • 双 Adaptec 52245 RAID 控制器
  • 48 个 1 TB SATA 驱动器设置为 2 个 RAID-6 阵列(256KB 条带)+ 备件。

软件 :

  • 普通 vanilla 2.6.32.25 内核,为 AMD-64 编译,为 NUMA 优化;Debian Lenny 用户区。
  • 运行基准测试:disktest、bonnie++、dd 等。都给出相同的结果。这里没有差异。
  • 使用的 io 调度程序:noop。是的,这里没有技巧。

到目前为止,我基本上假设条带化 (RAID 0) 几个物理设备应该大致线性地提高性能。然而,这里的情况并非如此:

  • 每个 RAID 阵列可实现约 780 MB/s 的写入(持续)和 1 GB/s 的读取(持续)。
  • 使用两个不同的进程同时写入两个 RAID 阵列的速度为 750 + 750 MB/s,同时读取两者的速度为 1 + 1 GB/s。
  • 但是,当我使用 mdadm 或 lvm 将两个阵列条带化在一起时,性能约为 850 MB/s 写入和 1.4 GB/s …

linux raid performance-tuning

8
推荐指数
1
解决办法
1881
查看次数

仅使用一个节点设置 DRBD

我需要将运行 Debian 6 的现有存储服务器迁移到 HA 设置,其中包含许多 TB 数据。我不能简单地长时间关闭此服务器(毕竟需要 HA)。

我计划将此服务器迁移到 DRBD 集群。我不能为这个集群购买两台新服务器;出于成本原因,我需要重用现有服务器作为集群的成员。请记住,我一次不能关闭任何东西超过几分钟。

我准备好了一台新服务器,运行 Debian 8 作为“主服务器”。我需要使用这个“主”服务器建立一个“裂脑”集群;将所有数据从现有的旧服务器复制到集群;将现有服务切换到集群;用 Debian 8 重新配置旧服务器,然后将其添加到集群中作为“从属”,重新同步数据,最后进行冗余设置。

我已经在新机器上设置了集群,但是,如何进行?我什至无法启动 drbd 服务,因为另一个“节点”甚至还不存在......

我从以前运行良好的 drbd 配置开始……有两个可用节点。

任何帮助表示赞赏。

linux drbd

6
推荐指数
1
解决办法
3140
查看次数

使用 LTO-4 驱动器写入 LTO-3 磁带

显然 LTO-4 驱动器可以读取和写入 LTO-3 磁带。这些磁带是否与 LTO-3 驱动器完全兼容?我对现实生活中的体验比理论上的供应商吹捧的兼容性更感兴趣:)

backup tape lto-3 lto-4

5
推荐指数
3
解决办法
5318
查看次数

在 cat5 以太网电缆中使用未使用的线对?

Cat5 以太网电缆仅使用 2 对用于以太网,另外 2 对用于什么?

Pin Color               Function
1   White with Green    +TD
2   Green               -TD
3   White with Orange   +RD
4   Blue                Not Used
5   White with Blue     Not Used
6   Orange              -RD
7   White with Brown    Not Used
8   Brown               Not Used
Run Code Online (Sandbox Code Playgroud)

ethernet cable cat

5
推荐指数
1
解决办法
5万
查看次数

使用 Bacula 作为 VTL

我正在考虑使用 Bacula 进行某些备份的想法,但是为了节省磁带和限制手动操作,我想进行两阶段备份:

  1. 将机器备份到磁盘(在 bacula 中很容易)
  2. 完成后,将磁盘备份合并到磁带上。这就是棘手的地方...

有谁知道如何将给定的备份从磁盘支持“迁移”到 Bacula 中的磁带?

backup bacula

4
推荐指数
1
解决办法
2369
查看次数

10 个 GigE 接口将 ProCurve 4208vl 上的单连接吞吐量限制为 1 Gb

设置如下: 3 台带有 Intel CX4 10 GigE 控制器的 Linux 服务器和一台带有 Myricom 10 GigE CX4 控制器的 X-Serve 连接到 ProCurve 4208vl 交换机,还有无数其他机器通过 good ol' 1000 base-T 连接.

根据交换机监控接口和服务器(ethtool 等),接口实际上设置为 10 Gig。但是,两台配备 10 GigE 的机器之间通过交换机的单个连接仅限于 1Gb。

如果我使用 CX4 电缆直接连接 10 GigE 机器中的两台,net​​perf 报告链路带宽为 9000 Mb/s。NFS 实现了大约 550 MB/s 的传输。但是当我使用交换机时,通过 netperf 的连接速度最高为 950 Mb/s,而通过 NFS 的连接速度最高为 110 MB/s。

当我打开从 3 台机器到第 4 台机器的多个连接时,我获得了 350 MB/s 的 NFS 传输速度。因此,每个单独的 10 GigE 端口实际上可以达到 1 Gb 以上,但单独的连接被严格限制为 1 Gb。

结论:通过交换机的 10 GigE 连接的行为与 10 1 Gb 连接的中继 …

networking ethernet 10gbethernet 10gige hp-procurve

4
推荐指数
1
解决办法
3407
查看次数

Samba 4:加入了域,但所有用户都映射到没有人,并且无法从 Windows 客户端访问共享

我有一个 Debian/Jessie Samba 4.2.14 作为 AD 成员运行。ADC是Windows2008R2服务器。加入工作没有问题。

# net ads testjoin
Join is OK
Run Code Online (Sandbox Code Playgroud)

wbinfo -uwbinfo -g完美运行并按预期提供来自 AD 的用户和组列表。wbinfo -i <user>也有效:

# wbinfo -i TESTAD\\testuser
TESTAD\testuser:*:4294967295:4294967295:testuser:/home/TESTAD/testuser:/bin/false
Run Code Online (Sandbox Code Playgroud)

编辑:这里有问题,因为wbinfo -i将所有用户和组映射到 id 4294967295,正如@TheSkunk 所说,2^32 -1。

编辑2: wbinfo --sid-to-uid TESTAD\\testuser失败。当然,我必须明确设置一些idmap参数(默认值显然根本不起作用)但是如何设置?

编辑 3:我已将这两行添加到 smb.conf:

idmap config * : backend = tdb
idmap config * : range = 10000-30000
Run Code Online (Sandbox Code Playgroud)

现在 ?binfo -i TESTDOMAIN\testuser reports a valid id, and a different one for each and …

authentication linux-networking winbind samba4

1
推荐指数
1
解决办法
3万
查看次数