小编Kam*_*ski的帖子

用于数据存储的 BTRFS、RAID5 或 RAID6?

我需要为我的服务器设置存储。硬件是 5 盘位机箱和 5 WD RED 8TB。

我读过一个硬盘完全故障后 RAID5(= 正常 RAID)重建中发生灾难性故障的统计概率,以防发生 URE 事件。

根据 WD 规格,该计算器仅给出在一个磁盘发生故障时成功重建的机会 4.1%。我知道有人对这种计算有猜测,但我心中仍然有一些疑问:

  • 在“正常”RAID5(假设 mdadm raid5)中,如果重建期间存在 URE,是否意味着重建将中止而没有其他可能性,或者重建将继续,“仅”留下受影响的数据(跨条带)不一致?

  • BTRFS 及其日志机制会降低这种概率吗?

我的存储将存储视频和图片。当然,必须容忍一个驱动器故障,但我可以接受。成功的重建可能会产生一些损坏的文件,但它不能仅仅因为单个 URE 事件而停止。

raid hard-drive software-raid btrfs

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

为什么 htop 不只为我的本地计算机显示颜色?

TL;DR: macOS 11.0.1 上的 htop 3.0.4 在本地计算机上运行时不显示颜色,但如果通过 ssh 进入远程系统,从那里运行 htop 会毫无问题地显示颜色。


我在 macOS 11.0.1 上使用 htop 3.0.4 时遇到了一些奇怪的问题。应用程序本身的颜色根本不显示:

应用程序本身的颜色根本不显示

在 htop 设置中,“颜色”选项设置为“默认”:

“颜色”选项设置为“默认”

但是,退出 htop 可以在我常用的终端提示符和其他应用程序中正确显示颜色。此外,如果我通过 ssh 进入远程系统并通过同一终端会话使用 htop,颜色显示完全正常:

颜色在远程系统中显示得很好

问题在 iTerm 2 和终端中都可以重现,并且仅在此本地系统上使用 zsh 和 bash。$TERM=xterm-256color

msgcat在 iTerm 2 中运行了颜色测试,一切似乎都按顺序进行:

msgcat --颜色测试

我尝试通过自制软件重新注入 htop 包,但没有得到不同的结果。我检查了 htop GitHub,没有看到任何与此问题相关的错误,因此我首先假设我的本地计算机出现问题,在此询问。

为什么 htop 不只为我的本地计算机显示颜色?

terminal bash zsh colors htop

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

Windows 7 系统映像恢复:netsh 错误“接口未知”

尝试从 NAS 上的网络驱动器恢复 Windows 系统映像。

\n\n
    \n
  1. 我在启动时从 Windows 7 系统恢复选项对话框中单击了系统映像恢复工具。
  2. \n
  3. 选中“选择系统映像”->高级->在网络上搜索系统映像。
  4. \n
  5. 说“是”连接到网络,没有出现任何错误。
  6. \n
  7. 然而,进入网络文件夹后,\\\\\\server\\share1\\\xe2\x80\xa6Recovery 没有找到任何文件夹。
  8. \n
  9. 使用“命令提示符”选项运行netsh interface ip set address name="Local Area Connection" static 192.168.1.19 255.255.255 192.168.1.1并收到错误“接口未知”。
  10. \n
  11. 界面很好,因为我可以使用ipconfig /all或列出它netsh interface ip show config
  12. \n
\n\n

由于未设置网络 IP 地址,我可以理解为什么恢复工具永远无法浏览到我的网络共享。

\n\n

我确实尝试wpeinit先执行,因为一些用户报告netshafter成功wpeinit。但我的 Windows 7 盒子上没有骰子。

\n\n

有关如何从 Windows 7 恢复选项连接网络的任何线索吗?

\n

networking windows windows-7 system-recovery

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

如果最大挂载计数为 -1,fsck 何时运行?

我正在尝试确定是否fsck会在重新启动时运行。我运行这个命令dumpe2fs -h /dev/(diskname)并得到这个结果:

Mount count:              13
Maximum mount count:      -1
Run Code Online (Sandbox Code Playgroud)

fsck如果挂载计数等于或大于最大挂载计数,AFAIK将运行。在这种情况下,最大挂载计数为 -1,因此fsck永远不会运行。这是正常的吗?

linux ext fsck

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

如何找到部分已知路径的文件?`find -path` 似乎不起作用

我有一个位于folderA/folderB/myFile. 然而,这是一个相对地址,我不知道它在我的电脑上的哪个位置。myFile有一个非常通用的名称,搜索它会给我数百个结果。所以我试图搜索整个路径。

看了这里之后,我尝试了这些选项:

find / -path folderA/folderB/myFile 2>/dev/null

find / -path "folderA/folderB/myFile" 2>/dev/null
Run Code Online (Sandbox Code Playgroud)

但是,即使我确定该文件存在,也不会返回任何结果。

那么如何使用包含的文件夹结构搜索文件呢?

linux command-line find

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

tmux 重启后远程代码执行

我已经阅读了 about tmux-resurrect,但我仍然不清楚是否可以执行以下操作:

  1. 开始tmux会话
  2. ssh 到远程服务器
  3. 在远程主机上启动长时间运行的代码
  4. 杀死 tmux 服务器(例如本地机器重启)
  5. 恢复和重新附加 tmux 会话(例如使用tmux-resurrect
  6. 继续监视我在远程服务器上启动的代码

我需要nohup在步骤 3 中使用吗?或者可以tmux-resurrect(或其他工具)处理它吗?

ssh nohup tmux

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

如何用`sed`连接两行?

我正在尝试连接两行iwlist输出。我的grepsed删除前导和尾随空格的命令工作正常,但我无法获得sed删除\n工作的最后一条语句。我错过了什么?

sudo iwlist wlan0 scanning |
   grep -e ESSID -e Signal |
   sed -e 's/^[ \t]*//;s/[ \t]*$//' |
   sed -e 's/dBm\n/dBm /'
Run Code Online (Sandbox Code Playgroud)

正则表达式在vim.

sed pipe

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

如何通过 ssh 执行复杂的命令行?

我有时想获取在远程主机上运行的 docker 容器的环境。为此,我登录主机:

ssh kramer65@123.456.789.10
Run Code Online (Sandbox Code Playgroud)

然后我运行这个命令:

sudo docker exec -it `sudo docker ps | grep mycontainername | awk '{print $1;}'` env
Run Code Online (Sandbox Code Playgroud)

我现在想用一个命令来完成此操作(执行超过 3 次,我想自动化它..:-))。

这有效:

 ssh -t kramer65@123.456.789.10 sudo docker ps | grep mycontainername
Run Code Online (Sandbox Code Playgroud)

但当我这样做时

ssh -t kramer65@123.456.789.10 sudo docker exec -it `sudo docker ps | grep mycontainername | awk '{print $1;}'` env
Run Code Online (Sandbox Code Playgroud)

我明白了

"docker exec" requires at least 2 arguments.
See 'docker exec --help'.

Usage:  docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

Run a command in a running container
Connection …
Run Code Online (Sandbox Code Playgroud)

linux ssh bash

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

不同 Linux 发行版中 `df` 的输出格式不同

在 Ubuntu 中,此命令的输出

df --exclude={tmpfs,devtmpfs,squashfs,overlay} | sed -e /^Filesystem/d | awk '{print $6 " " $1 " " $3 " " $4 " " $5}'
Run Code Online (Sandbox Code Playgroud)

是:

/ /dev/mapper/dockerVG-rootLV 8110496 40591632 17%
/dockerssd /dev/mapper/ssdVG-ssdLV 214133656 274642488 44%
/dockerhdd /dev/mapper/hddVG-hddLV 83278236 1385191240 6%
/var/lib/docker /dev/mapper/hddVG-dockerLV 76046204 412729940 16%
Run Code Online (Sandbox Code Playgroud)

这就是我需要的。

在 CentOS 6 上我得到这个输出:

 /dev/mapper/vg_rproxy-lv_root
 51475068 43192316 12% /
/boot /dev/sda1 82688 379364 18%
 /dev/mapper/vg_rproxy-lv_home
 77349888 73119692 1% /home
Run Code Online (Sandbox Code Playgroud)

一团糟。

CentOS 6 的完整输出:

$ df
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/mapper/vg_rproxy-lv_root …
Run Code Online (Sandbox Code Playgroud)

linux centos ubuntu df

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

获取 dev 文件的设备信息

这是一个非常简单的问题。我有 3 个潜在的相机设备/dev/video0video1video2。我需要找出哪一个是我的实际网络摄像头,哪一个是环回设备。我找不到任何工具能够简单地获取任何设备文件路径并输出有关它的信息。

这样的事情是否存在,或者是否有更好的方法来确定哪个是我的网络摄像头?

linux webcam dev

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