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
    • 最新
    • 标签
主页 / user-58408

user's questions

Martin Hope
user
Asked: 2017-09-01 00:28:27 +0800 CST

如何应对同一内存位置的重复 DRAM ECC 错误通知?

  • 3

我今天早上醒来,对我来说是第一次;我的一个系统记录了DRAM ECC error通知。事实上,其中三个,据我所知,内存位置完全相同(显然,系统实际上并未命名为 localhost):

Aug 31 05:00:46 localhost kernel: [719099.816034] [Hardware Error]: CPU:0   MC4_STATUS[-|CE|MiscV|-|AddrV|-|-|CECC]: 0x9c6c40006b080a13
Aug 31 05:00:46 localhost kernel: [719099.816046] [Hardware Error]:         MC4_ADDR: 0x0000000641f49d20
Aug 31 05:00:46 localhost kernel: [719099.816051] [Hardware Error]: Northbridge Error (node 0): DRAM ECC error detected on the NB.
Aug 31 05:00:46 localhost kernel: [719099.816059] EDAC amd64 MC0: CE ERROR_ADDRESS= 0x641f49d20
Aug 31 05:00:46 localhost kernel: [719099.816070] EDAC MC0: CE page 0x641f49, offset 0xd20, grain 0, syndrome 0x6bd8, row 2, channel 0, label "": amd64_edac
Aug 31 05:00:46 localhost kernel: [719099.816075] [Hardware Error]: cache level: L3/GEN, mem/io: MEM, mem-tx: RD, part-proc: RES (no timeout)

上述之后是系统时间05:10:46(719699.8160) 的相同通知,然后是 (720299.8160)的另一个通知,该通知05:20:46也Over在线CPU:0 MC4_STATUS(状态0xdc6c40006b080813)。到目前为止,系统一直很稳定,没有记录更多错误。系统活动正常,有问题的系统自 2014 年以来一直使用 ECC RAM 运行,但从未记录任何 ECC 错误。

我不会太担心单个可纠正的 ECC 错误。记录的错误之间几乎正好十分钟(实际上低至几微秒)可能只是用于每十分钟进行一次 RAM 清理;不幸的是,在这个特定的系统上,擦洗间隔没有作为设置公开。但是,同一内存位置(相同的值)中的三个连续错误CE ERROR_ADDRESS确实让我有点担心。

更新:自从我最初发布这个问题以来,有问题的主机已经记录了几个,所有的CE ERROR_ADDRESS.

我应该认真对待这件事吗?什么是好的回应;立即订购更换 RAM 并安排尽快安装它,将其视为只是暂时的故障,或者如果再次发生但现在没有具体行动,请准备更换 RAM?

memory
  • 3 个回答
  • 3980 Views
Martin Hope
user
Asked: 2016-06-22 12:12:28 +0800 CST

对于 IPv6,我们是否应该为通过 HTTP(S) 服务的每个主机名分配不同的 IP 地址?

  • 9

使用 IPv4,除非有一些特定的需要保证基于 IP 的虚拟主机,否则应该使用基于名称的虚拟主机以避免不必要地耗尽地址空间。

但是,鉴于对于 IPv6,当前的建议是即使是家庭站点也应该接收多个 /64s 的地址空间,如果在特定情况下没有操作实践会使得这变得困难或令人望而却步,分配不同的 IPv6 地址给每个网站,即使这些网站共同托管在同一台服务器上?

假设某种良好的地址管理基础设施已经到位,这样人们就可以处理地址的分配,那么支持或反对为每个网站提供自己的 IPv6 地址的好的论据是什么?

为了完整起见,上面引用的 RFC 部分的相关部分是(强调我的;请注意,这仅用于比较,并且此引用并未提出有关家庭网络的问题):

同时,为家庭站点提供单个 /64 可能很诱人,因为与今天的 IPv4 实践相比,这已经是显着更多的地址空间。但是,这排除了即使家庭站点也会增长以支持多个子网的期望。因此,在默认情况下,强烈建议即使是家庭站点也被赋予多个子网空间。因此,本文档仍然建议为主站点提供比单个 /64 更多的站点,但也不建议为每个主站点指定 /48。

另外为了完整性:相关网络还没有任何 IPv6 分配,我不知道可能分配的确切大小,但我希望在接下来的 6-12 内设置并运行 IPv6几个月,并想提前计划一点,以便在发生这种情况时做好准备。

web-hosting web ipv6
  • 1 个回答
  • 209 Views
Martin Hope
user
Asked: 2016-03-08 13:07:52 +0800 CST

是否有任何 OpenSSH 6.7 `preauth` 错误日志条目值得特别关注?

  • 2

需要暴露在 Internet 上的 Linux(特别是 Debian Jessie)服务器preauth在日志中吐出各种 OpenSSH 6.7 错误。例如,我得到(为清楚起见省略了时间戳):

  • 错误:收到与 ABCD 的断开连接:3:com.jcraft.jsch.JSchException:身份验证失败 [preauth]
  • 致命:无法协商密钥交换方法 [preauth]
  • 致命:找不到匹配的密码:客户端...服务器... [preauth]
  • 收到与 ABCD 断开连接:11:正常关机,感谢您播放 [preauth]
  • 收到与 ABCD 的断开连接:11:ok [preauth]

等等。

我并不十分担心探测器本身。系统保持最新,OpenSSH 配置根据当前的最佳实践得到了很好的强化,并且有额外的保护措施(例如fail2ban)。

是否有任何理由说明任何preauthOpenSSH 日志条目会引起特别的人类关注?

SSH 日志中的“Normal Shutdown,Thank you for playing [ preauth ]”是什么意思?表示该问题中的特定情况可以安全地忽略;我的问题更笼统。

ssh
  • 1 个回答
  • 1025 Views
Martin Hope
user
Asked: 2015-06-16 11:43:34 +0800 CST

刚装好LSI 9211;没有驱动器出现在 Linux 上

  • 6

我刚刚将 LSI 9211-8i 添加到运行 Debian Wheezy(在 Linux 内核上)的系统中。所有软件都是最新的,内核是3.2.65-1+deb7u2 x86_64根据 uname 的。

卡直接从包装中取出并进入主机,目视检查后没有发现卡有任何明显问题(尽管我没有已知的好卡可以比较)。这一点,再加上内核正在与卡片对话(见下文),这让我相信卡片本身比哑弹更有用。

物理安装卡没有问题。PCIe x8 卡不需要我可用的 PCIe x16 插槽的全长,但据我所知,如果主机和卡完全相互通信,这应该不是问题。主板有两个 PCIe x16 插槽,其中一个被列为“x4 性能”。由于该卡显然在某种程度上被检测到,我不相信像只有显卡的 x16 插槽这样的东西在这里起作用。

在 9211 的内部端口上,我连接了两根 8077 转 4x8482 分支电缆,将每根电缆连接到两个硬盘驱动器(每个上的其他两个插头不用),中间没有 PMP 或任何类似的东西。两个 8077 端口中的一个(在不太可能的情况下会有所不同,离 PCIe 插槽较远的那个)有点挑剔,但是一旦我以正确的角度将其滑入,电缆就会毫无争议地卡入并锁定到位。我更仔细地查看了那个端口的区域,但没有发现卡有物理损坏的迹象。

与我安装这些新驱动器之前的系统相比,系统在启动时的噪音明显更大,这让我相信该卡至少可以供电并启动驱动器。驱动器随后减速。

我预计该卡在引导过程中会发出一些声音,但很惊讶没有得到任何类似的结果(没有“按 Ctrl-C 启动 LSI 逻辑配置实用程序”提示)。我查看了主板的 BIOS 设置,但找不到需要为板外 BIOS 或 HBA 翻转的相关开关。在启动过程中敲击 Ctrl+C 到 GRUB(以尝试调用卡的板载配置实用程序)不会产生任何可见的结果。

mpt2sas 模块在启动时自动加载,并且似乎与卡通信正常:

[    1.692606] mpt2sas version 10.100.00.00 loaded
[    1.698699] mpt2sas 0000:08:00.0: enabling device (0000 -> 0002)
[    1.698717] mpt2sas 0000:08:00.0: setting latency timer to 64
[    1.698721] mpt2sas0: 64 BIT PCI BUS DMA ADDRESSING SUPPORTED, total mem (32967612 kB)
[    1.698761] mpt2sas0: IO-APIC enabled: IRQ 16
[    1.698764] mpt2sas0: iomem(0x00000000d0440000), mapped(0xffffc90013ea8000), size(16384)
[    1.698766] mpt2sas0: ioport(0x0000000000001000), size(256)
[    2.139165] mpt2sas0: Allocated physical memory: size(3379 kB)
[    2.139168] mpt2sas0: Current Controller Queue Depth(1483), Max Controller Queue Depth(1720)
[    2.139170] mpt2sas0: Scatter Gather Elements per IO(128)
[    2.360461] mpt2sas0: LSISAS2008: FWVersion(20.00.00.00), ChipRevision(0x03), BiosVersion(07.27.01.00)
[    2.360464] mpt2sas0: Protocol=(Initiator), Capabilities=(Raid,TLR,EEDP,Snapshot Buffer,Diag Trace Buffer,Task Set Full,NCQ)
[    2.360563] mpt2sas0: sending port enable !!
[    4.895613] mpt2sas0: host_add: handle(0x0001), sas_addr(0x500605b00963d470), phys(8)
[   10.024028] mpt2sas0: port enable: SUCCESS

lspci显示卡正在被检测和识别:

$ lspci | grep LSI
08:00.0 Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03)
$

然而, 这就是有趣的地方,据我所知,既没有lsblk也没有展示任何新的硬盘驱动器。udevadm info --exportdb它们也(显然,给定 udevadm)没有出现在任何 /dev/disk/by-* 目录中。

我尝试运行udevadm trigger以防万一启动顺序排序有问题,但这并没有改变任何东西,也没有向系统日志添加任何东西(即 dmesg 输出的最新部分之前和之前是相同的)运行该命令后)。

我不倾向于相信两条全新的分线电缆都以某种方式损坏。

物理上从卡上拔下两条分支电缆(以从案例中删除 HDD 和电缆)并没有产生任何明显的区别。

我按照这些说明在我的系统上安装了最新版本的 MegaRAID Storage Manager。(基本上,使用 rpmsalien --scripts将它们转换为 debs,然后 dpkg --install debs。)之后,插入并/etc/init.d/vivaldiframeworkd启动驱动器,运行/usr/local/MegaRAID Storage Manager/StorCLI/storcli64 show all会打印以下内容:

Status Code = 0
Status = Success
Description = None

Number of Controllers = 0
Host Name = my-host
Operating System  = Linux3.2.0-4-amd64

在这一点上,我有点没有想法了。如果我可以提供任何其他信息可能有助于回答这个问题,请告诉我。我几乎开始认为这毕竟是主板问题。

以将它们用于 ZFS 池的最终目标,我需要执行哪些咒语、魔法话语、牺牲或其他相关仪式才能使连接到 9211 的驱动器出现在 Linux 中?

更新:在物理上切换显卡和 9211 的位置后,9211 的 BIOS 现在会在启动时显示,我可以进入配置实用程序。然而,它仍然显示没有连接磁盘(即使在SAS 拓扑视图中),尽管磁盘非常明确地连接并且电缆在两端都牢固就位。(然而,我还没有使用卡的配置实用程序创建任何 RAID 阵列。)更重要的是,卡报告它已被“禁用”。在这一点上,我几乎愿意将我最初的问题归结为糟糕的主板,而我目前的问题归结为 9211 本身的 IR 与 IT 固件。稍后我将尝试将卡刷入 IT 固件,看看效果如何;由于 ZFS,我无论如何都计划使用 IT 固件,所以有

linux
  • 2 个回答
  • 15952 Views
Martin Hope
user
Asked: 2015-05-24 04:28:05 +0800 CST

将自定义 SSH DH 组部署到仅限客户端的系统是否有任何安全优势?

  • 17

针对 SSH 上与Logjam相关的攻击的一种建议缓解策略是使用类似的东西生成自定义 SSH Diffie-Hellman 组(以下是针对 OpenSSH 的)

ssh-keygen -G moduli-2048.candidates -b 2048
ssh-keygen -T moduli-2048 -f moduli-2048.candidates

然后用输出文件替换系统范围的模数文件moduli-2048。(ssh-keygen -G用于生成候选 DH-GEX 素数,并ssh-keygen -T测试生成的候选者的安全性。)

这显然是在 SSH 服务器上做的一件合理的事情,否则会使用众所周知的组来很好地进行预计算,但是将自定义 SSH DH 组部署到仅限客户端的系统上是否有任何安全优势?(也就是说,系统连接到 SSH 服务器,但本身从不充当 SSH 服务器。)

我主要对与 Linux 上的 OpenSSH 相关的答案感兴趣,但也欢迎更通用的答案。

ssh
  • 2 个回答
  • 5221 Views
Martin Hope
user
Asked: 2015-03-14 04:42:01 +0800 CST

在纯 HBA (JBOD) 模式下使用时,LSI 9211-8i 是否添加了它自己的任何数据结构?

  • 1

我正在考虑将一些磁盘添加到我的一个系统中,为此我需要添加一个外接 HBA。环顾四周,我发现了 LSI MegaRAID SAS 9211-8i(LSI 部件号LSI00194),它看起来很有趣。LSI 似乎也很受欢迎,包括就在这里。

由于我运行 ZFS,我计划将 HBA 本身用作一个哑控制器,让 ZFS 处理与存储级冗余和恢复相关的所有事情。主机操作系统是 Linux(准确地说是 Debian/Linux)。

虽然我怀疑 LSI 是否会很快停止生产这些卡,但还是很高兴知道:在 JBOD 模式下使用时,9211-8i 是否将任何自己的数据结构添加到磁盘中?换句话说,我可以从 9211-8i 上拔下磁盘,将其插入备用 HBA,然后一切都“继续工作”吗?或者操作系统会在磁盘上看到某种形式的垃圾,这些垃圾没有通过 LSI 暴露,这可能会干扰 ZFS 对卷的使用?

storage
  • 2 个回答
  • 1513 Views
Martin Hope
user
Asked: 2014-11-02 04:24:15 +0800 CST

为什么 ZFS 没有对我的磁盘的 duff 扇区做任何事情?

  • 8

我的印象是,如果在从 ZFS 池读取期间发生 I/O 错误,则会发生两件事:

  1. 失败将记录在相关设备的 READ 或 CKSUM 统计信息中,并向上传播到池级别。
    • 冗余数据将用于重建请求的块,将请求的块返回给调用者,如果 duff 驱动器仍然正常工作,则将块重写到它,或者
    • 如果没有冗余数据可用于纠正读取错误,将返回 I/O 错误。

我的镜像设置中的一个磁盘似乎出现了坏扇区。这本身并不令人担忧。这样的事情发生了,这正是我有冗余的原因(准确地说,是一个双向镜像)。每次我清理池或读取特定目录中的文件时(我还没有费心确定究竟是哪个文件有问题),dmesg 中会弹出以下内容,显然时间戳不同:

Nov  1 09:54:26 yeono kernel: [302621.236549] ata6.00: exception Emask 0x0 SAct 0x9c10 SErr 0x0 action 0x0
Nov  1 09:54:26 yeono kernel: [302621.236557] ata6.00: irq_stat 0x40000008
Nov  1 09:54:26 yeono kernel: [302621.236566] ata6.00: failed command: READ FPDMA QUEUED
Nov  1 09:54:26 yeono kernel: [302621.236578] ata6.00: cmd 60/a8:78:18:5a:12/00:00:5c:01:00/40 tag 15 ncq 86016 in
Nov  1 09:54:26 yeono kernel: [302621.236580]          res 41/40:a8:18:5a:12/00:00:5c:01:00/00 Emask 0x409 (media error) <F>
Nov  1 09:54:26 yeono kernel: [302621.236585] ata6.00: status: { DRDY ERR }
Nov  1 09:54:26 yeono kernel: [302621.236589] ata6.00: error: { UNC }
Nov  1 09:54:26 yeono kernel: [302621.238214] ata6.00: configured for UDMA/133

这是一个相当最新的 Debian Wheezy,内核 3.2.0-4-amd64 #1 SMP Debian 3.2.63-2 x86_64,ZoL 0.6.3。当前软件包版本为 debian-zfs=7~wheezy、libzfs2=0.6.3-1~wheezy、zfs-dkms=0.6.3-1~wheezy、zfs-initramfs=0.6.3-1~wheezy、zfsutils=0.6 .3-1~wheezy,zfsonlinux=3~wheezy,linux-image-amd64=3.2+46,linux-image-3.2.0-4-amd64=3.2.63-2。我知道的唯一包固定是用于 ZoL,我有它(由 zfsonlinux 包提供):

Package: *
Pin: release o=archive.zfsonlinux.org
Pin-Priority: 1001

在驱动器上运行hdparm -R报告说 Write-Read-Verify 已打开(这是 Seagate,因此具有该功能,我将其用作额外的安全网;额外的写入延迟不是问题,因为我的交互式使用模式非常容易阅读-重的):

/dev/disk/by-id/ata-ST4000NM0033-9ZM170_XXXXXXXX:
 write-read-verify =  2

即使有明确的迹象表明有问题,zpool status也声称池没有问题:

  pool: akita
 state: ONLINE
  scan: scrub repaired 0 in 8h16m with 0 errors on Sat Nov  1 10:46:03 2014
config:

        NAME                        STATE     READ WRITE CKSUM
        akita                       ONLINE       0     0     0
          mirror-0                  ONLINE       0     0     0
            wwn-0x5000c50065e8414a  ONLINE       0     0     0
            wwn-0x5000c500645b0fec  ONLINE       0     0     0

errors: No known data errors

在过去的几天里(自 10 月 27 日起),此错误一直定期出现在日志中,因此我不太倾向于将其视为侥幸而将其注销。我以非常短的 SCTERC 超时运行磁盘;1.5 秒读取(从读取错误中快速恢复),10 秒写入。我已确认这些值在相关驱动器上处于活动状态。

smartd 一直纠缠我(这本身就是一件好事!)关于 ATA 错误计数正在攀升的事实:

The following warning/error was logged by the smartd daemon:

Device: /dev/disk/by-id/ata-ST4000NM0033-9ZM170_XXXXXXXX [SAT], ATA error count increased from 4 to 5

For details see host's SYSLOG.

在相关驱动器上运行smartctl --attributes会产生以下结果:

smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-4-amd64] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   076   063   044    Pre-fail  Always       -       48910012
  3 Spin_Up_Time            0x0003   091   091   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       97
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   092   060   030    Pre-fail  Always       -       1698336160
  9 Power_On_Hours          0x0032   089   089   000    Old_age   Always       -       9887
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       98
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   095   095   000    Old_age   Always       -       5
188 Command_Timeout         0x0032   100   099   000    Old_age   Always       -       10
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   058   052   045    Old_age   Always       -       42 (Min/Max 20/45)
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       61
193 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       492
194 Temperature_Celsius     0x0022   042   048   000    Old_age   Always       -       42 (0 11 0 0)
195 Hardware_ECC_Recovered  0x001a   052   008   000    Old_age   Always       -       48910012
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0

那里没有什么特别的地方。请注意,这是一款企业级驱动器,因此具有五年保修期并额定 24x7 运行(这意味着它可以可靠运行超过 40,000 小时,而到目前为止,它的运行时间不到 10,000 小时)。注意属性 187 Reported_Uncorrect 中的数字 5;这就是问题所在。还要注意相当低的 Start_Stop_Count 和 Power_Cycle_Count 值,每个值都低于 100。

并不是说我认为在这种情况下它是相关的,但是是的,系统确实有 ECC RAM。

池中根文件系统的非默认属性为:

NAME   PROPERTY              VALUE                  SOURCE
akita  type                  filesystem             -
akita  creation              Thu Sep 12 18:03 2013  -
akita  used                  3,14T                  -
akita  available             434G                   -
akita  referenced            136K                   -
akita  compressratio         1.04x                  -
akita  mounted               no                     -
akita  mountpoint            none                   local
akita  version               5                      -
akita  utf8only              off                    -
akita  normalization         none                   -
akita  casesensitivity       sensitive              -
akita  usedbysnapshots       0                      -
akita  usedbydataset         136K                   -
akita  usedbychildren        3,14T                  -
akita  usedbyrefreservation  0                      -
akita  sync                  standard               local
akita  refcompressratio      1.00x                  -
akita  written               0                      -
akita  logicalused           2,32T                  -
akita  logicalreferenced     15K                    -

并相应地用于池本身:

NAME   PROPERTY               VALUE                  SOURCE
akita  size                   3,62T                  -
akita  capacity               62%                    -
akita  health                 ONLINE                 -
akita  dedupratio             1.00x                  -
akita  free                   1,36T                  -
akita  allocated              2,27T                  -
akita  readonly               off                    -
akita  ashift                 12                     local
akita  expandsize             0                      -
akita  feature@async_destroy  enabled                local
akita  feature@empty_bpobj    active                 local
akita  feature@lz4_compress   active                 local

这些列表是通过运行获得的{zfs,zpool} get all akita | grep -v default。

现在的问题:

  1. 为什么ZFS不报告有关读取问题的任何信息?它显然正在从中恢复。

  2. 鉴于在读取请求路径中存在足够的冗余用于自动修复,为什么 ZFS 不会自动重写驱动器显然无法读取的 duff 扇区,进而有望触发驱动器的重定位?

zfs
  • 2 个回答
  • 659 Views
Martin Hope
user
Asked: 2014-05-18 07:12:12 +0800 CST

为什么重新启动会导致我的 ZFS 镜像的一侧变为不可用?

  • 14

我最近刚刚将大容量数据存储池(Linux 0.6.2 上的 ZFS,Debian Wheezy)从单设备 vdev 配置迁移到双向镜像 vdev 配置。

以前的池配置是:

    NAME                     STATE     READ WRITE CKSUM
    akita                    ONLINE       0     0     0
      ST4000NM0033-Z1Z1A0LQ  ONLINE       0     0     0

resilver 完成后一切都很好(我在 resilver 完成后启动了一次清理,只是为了让系统再次检查所有内容并确保一切正常):

  pool: akita
 state: ONLINE
  scan: scrub repaired 0 in 6h26m with 0 errors on Sat May 17 06:16:06 2014
config:

        NAME                       STATE     READ WRITE CKSUM
        akita                      ONLINE       0     0     0
          mirror-0                 ONLINE       0     0     0
            ST4000NM0033-Z1Z1A0LQ  ONLINE       0     0     0
            ST4000NM0033-Z1Z333ZA  ONLINE       0     0     0

errors: No known data errors

但是,在重新启动后,我收到了一封电子邮件,通知我游泳池并不好,花花公子。我看了看,这就是我所看到的:

   pool: akita
  state: DEGRADED
 status: One or more devices could not be used because the label is missing or
         invalid.  Sufficient replicas exist for the pool to continue
         functioning in a degraded state.
 action: Replace the device using 'zpool replace'.
    see: http://zfsonlinux.org/msg/ZFS-8000-4J
   scan: scrub in progress since Sat May 17 14:20:15 2014
     316G scanned out of 1,80T at 77,5M/s, 5h36m to go
     0 repaired, 17,17% done
 config:

         NAME                       STATE     READ WRITE CKSUM
         akita                      DEGRADED     0     0     0
           mirror-0                 DEGRADED     0     0     0
             ST4000NM0033-Z1Z1A0LQ  ONLINE       0     0     0
             ST4000NM0033-Z1Z333ZA  UNAVAIL      0     0     0

 errors: No known data errors

擦洗是预期的;有一个 cron 作业设置可以在重新启动时启动完整的系统清理。但是,我绝对没想到新硬盘会从镜子里掉出来。

我定义了映射到 /dev/disk/by-id/wwn-* 名称的别名,如果这两个磁盘都允许 ZFS 自由支配使用整个磁盘,包括处理分区:

# zpool history akita | grep ST4000NM0033
2013-09-12.18:03:06 zpool create -f -o ashift=12 -o autoreplace=off -m none akita ST4000NM0033-Z1Z1A0LQ
2014-05-15.15:30:59 zpool attach -o ashift=12 -f akita ST4000NM0033-Z1Z1A0LQ ST4000NM0033-Z1Z333ZA
# 

这些是 /etc/zfs/vdev_id.conf 中的相关行(我现在确实注意到 Z1Z333ZA 使用制表符进行分隔,而 Z1Z1A0LQ 行仅使用空格,但老实说,我不明白这与这里有什么关系) :

alias ST4000NM0033-Z1Z1A0LQ             /dev/disk/by-id/wwn-0x5000c500645b0fec
alias ST4000NM0033-Z1Z333ZA     /dev/disk/by-id/wwn-0x5000c50065e8414a

当我看/dev/disk/by-id/wwn-0x5000c50065e8414a*的时候,如预期的那样在那里,但/dev/disk/by-vdev/ST4000NM0033-Z1Z333ZA*不是。

发布sudo udevadm trigger导致符号链接显示在 /dev/disk/by-vdev 中。但是,ZFS 似乎并没有意识到它们的存在(Z1Z333ZA 仍然显示为UNAVAIL)。我想这是可以预期的。

我尝试更换相关设备,但没有真正的运气:

# zpool replace akita ST4000NM0033-Z1Z333ZA
invalid vdev specification
use '-f' to override the following errors:
/dev/disk/by-vdev/ST4000NM0033-Z1Z333ZA-part1 is part of active pool 'akita'
# 

在引导过程中检测到两个磁盘(显示相关驱动器的 dmesg 日志输出):

[    2.936065] ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    2.936137] ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    2.937446] ata4.00: ATA-9: ST4000NM0033-9ZM170, SN03, max UDMA/133
[    2.937453] ata4.00: 7814037168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[    2.938516] ata4.00: configured for UDMA/133
[    2.992080] ata6: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    3.104533] ata6.00: ATA-9: ST4000NM0033-9ZM170, SN03, max UDMA/133
[    3.104540] ata6.00: 7814037168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[    3.105584] ata6.00: configured for UDMA/133
[    3.105792] scsi 5:0:0:0: Direct-Access     ATA      ST4000NM0033-9ZM SN03 PQ: 0 ANSI: 5
[    3.121245] sd 3:0:0:0: [sdb] 7814037168 512-byte logical blocks: (4.00 TB/3.63 TiB)
[    3.121372] sd 3:0:0:0: [sdb] Write Protect is off
[    3.121379] sd 3:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    3.121426] sd 3:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    3.122070] sd 5:0:0:0: [sdc] 7814037168 512-byte logical blocks: (4.00 TB/3.63 TiB)
[    3.122176] sd 5:0:0:0: [sdc] Write Protect is off
[    3.122183] sd 5:0:0:0: [sdc] Mode Sense: 00 3a 00 00
[    3.122235] sd 5:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

两个驱动器都直接连接到主板;不涉及板外控制器。

一时冲动,我做了:

# zpool online akita ST4000NM0033-Z1Z333ZA

这似乎奏效了;Z1Z333ZA 现在至少正在ONLINE重新同步。在重新同步大约一个小时后,它扫描了 180G 并重新同步了 24G,完成了 9.77%,这表明它没有进行完整的重新同步,而只是传输数据集增量。

老实说,我不确定这个问题是否与 Linux 上的 ZFS 或 udev 相关(它闻起来有点像 udev,但为什么会检测到一个驱动器而另一个驱动器却没有),但我的问题是我该怎么做确定下次重启时不会再发生同样的事情?

如有必要,我很乐意提供有关设置的更多数据;只是让我知道需要什么。

linux
  • 1 个回答
  • 2994 Views
Martin Hope
user
Asked: 2013-11-16 15:15:03 +0800 CST

如何在本地 fail2ban 过滤器定义中*添加*规则?

  • 10

我已经在我控制的服务器上安装了 Debian 打包的 fail2ban。由于我之前有一些失败的正则表达式,因此我将它们放入本地过滤器定义文件中,以便它们也将被考虑。因此,我最终得到例如 /etc/fail2ban/filter.d/sshd.conf 和 /etc/fail2ban/filter.d/sshd.local。这是建议的设置方式,它似乎工作得很好。

但是,在 .local 文件中,我实际上是在替换.conf 文件中的整个失败正则表达式列表。该文档似乎没有表明有任何其他方法可以做到这一点,为了让它工作,我只是将分发提供的 .conf 文件复制到一个 .local 文件并进行了一些添加。

如果我可以简单地修改列表,那将非常好,这将受益于上游和 Debian 维护人员的工作,以跟上对分发维护的日志条目过滤器正则表达式的更改。

我能想到的唯一真正的解决方法是实际创建两个监狱,一个使用分发提供的配置,一个使用我自己的。这似乎具有(相当重要的)缺点,即它们被视为独立的监狱(您会期望这样的设置)。

当然,我不可能是唯一一个想将我自己的一些失败正则表达式添加到已经存在的集合中的人,而维护麻烦最少。

是否可以通过站点本地或主机本地文件修改fail2ban过滤器定义中的failregex和ignoreregex列表,而不对相应的全局或分发提供的文件进行任何更改?如果是,那该怎么做?

debian
  • 2 个回答
  • 2858 Views
Martin Hope
user
Asked: 2013-09-15 11:43:11 +0800 CST

ZFS 清理 * 完成 * 后如何运行命令?

  • 12

我想使用 cron 安排定期清理我的 ZFS 池,并在清理完成后相当短的时间内通过电子邮件将状态报告发送给我自己。这样做的目的是捕获任何问题,而无需手动查找它们(推而不是拉)。

第一部分很简单:只需设置一个 cron 作业,zpool scrub $POOL在我的特定情况下以任何合理的间隔以 root 身份运行。

第二部分,我不太确定该怎么做。zpool scrub立即返回,然后系统在后台运行清理(如果清理是由管理员从终端启动的,这当然是可取的行为)。zpool status给我一个状态报告并退出(在清理运行时退出代码为 0;它还没有完成,所以我不知道退出状态在完成后是否会改变,但我对此表示怀疑)。zpool scrub 记录的唯一参数是-s“停止清理”。

主要问题是检测状态从擦洗到完成擦洗的变化。鉴于此,其余的应该就位。

理想情况下,我想告诉zpool scrub在擦洗完成之前不要返回,但我看不出有任何方法可以做到这一点。(这会使简单的 cron 变得几乎太容易了zpool scrub --wait-until-done $POOL; zpool status $POOL。)

如果做不到这一点,我想询问系统当前是否正在进行清理,最好以一种不会因升级或配置更改而中断的方式,以便我可以对先前是否运行清理已完成(通过在清理状态从清理变为不清理时执行 zpool 状态)。

这个特定的设置是针对工作站系统的,所以虽然像 Nagios 这样的监控工具可能有可以解决问题的插件,但只为这一项任务安装这样的工具感觉有点矫枉过正。有人可以提出一个技术含量较低的解决方案吗?

linux
  • 4 个回答
  • 10222 Views
Martin Hope
user
Asked: 2013-08-21 01:57:48 +0800 CST

在 ZFS 主机上运行 VM 对性能有何影响?

  • 11

我正在考虑从 ext3 迁移到 ZFS 以在我的 Debian Linux 主机上使用ZFS on Linux进行数据存储。我真正想要的 ZFS 的一个杀手级特性是它的数据完整性保证。随着我的存储需求增加而微不足道地增加存储的能力也是我所期待的。

但是,我也在同一台主机上运行了一些虚拟机。(虽然通常情况下,在我的情况下,任何时候主机上都只有一个 VM 运行。)

考虑到 ZFS 的数据校验和和写时复制行为,以及 VM 磁盘映像是相对较大的文件这一事实(我的主 VM 的磁盘映像文件目前位于 31 GB),这样的 VM 来宾内部的性能影响是什么?迁移?我可以采取哪些步骤来减少可能的负面性能影响?

如有必要,我可以在 VM 磁盘映像上使用较少的数据完整性保证(我不会在任何 VM 内做任何真正关键的事情),并且可以轻松地将它们与文件系统的其余部分分开,但如果我不这样做会很好不必(甚至有选择地)关闭几乎让我想迁移到不同文件系统的功能。

硬件对于工作站级系统来说是相当强大的,但对于高端服务器(32 GB RAM,很少使用 > 10 GB,6 核 3.3 GHz CPU,目前 2.6 TB 可用磁盘空间根据df总共大约 1.1 TB 可用;迁移到 ZFS 可能会增加一些可用空间)而且我不打算运行重复数据删除(因为在我的情况下打开重复数据删除不会增加太多)。计划是从 JBOD 配置开始(显然有良好的备份),但如果条件允许,我最终可能会转向双向镜像设置。

linux
  • 4 个回答
  • 11158 Views

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