我发现在 GNU Linux 64 位服务器上执行的TCPDUMP 中有太多不正确的校验和错误。导出中有接近 50% 的错误校验和?
cksum 0xe61f(不正确(-> 0x8c37)
我们如何解释这些数据?它对性能影响很大吗?
例如,该项目提供了一个*.asc带有 PGP 签名的文件来验证下载的内容(与校验和相反,您可以看到空列):https : //ossec.github.io/downloads.html
我将如何使用这个文件?我尝试了gpg --verify其他变体,但它似乎将名称与文件匹配,但是下载的文件名并不完全相同......不确定它应该如何工作。
这是我的问题:我需要将大量(最多 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 程序错过了必要的“插件架构”。在我开始代码改动之前,有没有人知道任何现有的解决方案?
在像 btrfs 这样的文件系统上,您可以执行清理,这将遍历所有数据以查看数据是否仍然与文件系统校验和匹配。
我想在备份前检查 ext4 上的数据是否正确。
题
ext4 没有文件系统校验和,但是可以做类似的事情吗?
我正在运行 FreeNAS 9.3 的供应商特定衍生产品。
当我安装了一个新的 JBOD 机箱以将两个新的 vdev 添加到我的池中时,我的麻烦就开始了,而机箱的板子有问题。在此期间,我看到坏板上的驱动器出现 SAS 电源错误——我的新驱动器每分钟反复有效地打开和关闭。
我更换了主板,现在,从大多数角度来看,驱动器运行良好,但是当我查看zpool status. 我认为当我遇到 SAS 电源问题时,有一些糟糕的 CoW 写入。
带有 CPU、引导驱动器、RAM 等的第一个机箱通过 mini-SAS 连接到第一个扩展 JBOD 机箱,第二个 JBOD 扩展机箱通过第一个 JBOD 扩展机箱菊花链连接,也通过 mini-SAS。
校验和错误并不能完美地映射到任何一个控制器或机箱,但我的预感是,当我遇到这些电源问题时,无论写入到不同新磁盘的任何数据都在两个新 vdev 上写入错误。
我的 HBA 使用了良好的 LSI 固件——全部都在 20.00.04.00 或 20.00.08.00
我已经更换了迷你 SAS 电缆,并尝试使用不同的端口,但无济于事。
的输出zpool status显示在两个新 vdev 上累积的校验和错误,并且在经过清理、重新启动或 之后zpool clear,最终将zpool status这些 vdev 标记为已降级。奇怪的是,它还将 …
因此,rsync 在决定传输内容(即文件中的块)的过程中运行一些校验和。但是,是否有任何理由比正常网络传输更信任您最终在接收端获得的文件呢?rsync 完成后我应该运行校验和来验证数据吗?使用预检查(即 --checksum 选项)重新运行 rsync 是否开启了实现此目的的可接受方法?
我正在备份存储在 zpool 中的数据,该 zpool 由一个带有 2 个硬盘的 raidz vdev 组成。在这个操作过程中,我得到了校验和错误,现在状态如下:
pool: tmp_zpool
state: ONLINE
status: One or more devices has experienced an error resulting in data
corruption. Applications may be affected.
action: Restore the file in question if possible. Otherwise restore the
entire pool from backup.
see: http://zfsonlinux.org/msg/ZFS-8000-8A
scan: none requested
config:
NAME STATE READ WRITE CKSUM
tmp_zpool ONLINE 0 0 2
raidz1-0 ONLINE 0 0 4
tmp_cont_0 ONLINE 0 0 0
tmp_cont_1 ONLINE 0 0 0
errors: Permanent errors …Run Code Online (Sandbox Code Playgroud) 我有一台 FreeNAS 8 机器(FreeBSD 8.2-RELEASE-p1),上面有两个不同的共享。我正在将文件从 Share1 迁移到 Share2。共享具有不同的目录结构和命名约定。我正在寻找一种方法来验证 Share1 上的文件在 Share2 上确实存在(并且准确无误)。
我的计划基本上是对两个 Shares 上的每个文件进行校验和,并确保 Share1 集中的所有校验和都存在于 Share2 集中。我可以使用 bash 脚本相对轻松地完成此操作,但是生成每个校验和集需要很长时间。我的问题是:是否可以访问本机 ZFS 校验和以将它们用于此比较?
我每天晚上都通过 scp 自动备份和传输文件。
我意识到我通过协议本身获得了数据包级校验和,但我想知道最好的做法是确保传输没有失败或部分完成等。
我可以使用 rsync,但我的需求很简单,我只想确保:
我已经在 Hyper-V Server 2008 R2 SP1 上安装了 CentOS 6.0。VM 仅启用了合成网络适配器。安装成功(没有任何网络),然后我从 ISO 安装了 Linux Integration Services 3.1,一切也正常。现在已安装所有 Hyper-V 模块(包括 hv_netvsc),但未检测到网络适配器。
运行 dmesg | grep eth 返回消息“由于没有校验和功能,正在删除 NETIF_F_SG”。在互联网上的研究表明,校验和似乎是一些关键功能,没有它 CentOS 无法使用网络适配器,并且显然不是由 Microsoft 的 LIS3.1 模块实现的。
我可以做些什么来在 CentOS 中使用合成网络适配器?还是我做错了什么,它应该按原样工作?合成适配器功能是否取决于主机中使用的硬件以太网卡?CentOS 内核版本似乎是 2.6.32-71.el6.x86_64,hypervisor 是 R2 SP1,安装了所有更新。
第二个问题,如果第一个问题的答案是“不,它不起作用”:使用模拟(传统)网络驱动程序是否有很大的性能损失?在生产环境中应该避免什么?