问题列表 - 第5105页

构建 24 块磁盘池 SSD 热设置缓存的推荐方法:RAID、LVM JBOD 等?

我试图找出将 24x 本地连接的 SSD 配置为具有低价值数据的大型逻辑卷的最低麻烦方法。我将它们用作主状态(大约 PB 级)驻留在 S3 中的数据的热设置缓存,因此与丢失的数据相比,我更关心性能、维护的复杂性和停机时间。没有任何东西会在热数据集中停留超过几天,无论如何都可以轻松地从 S3 重新创建。

  • 中大型实例:32x vCPU、120GB RAM、Skylake
  • 24 个本地连接的 SSD @ 每个 375GB = 总共 9TB
  • 托管在 Google Cloud (GCP) 上
  • Debian 10(巴斯特)
  • 读取访问比写入重约 4 倍
  • 大量并发用户(人和机器)具有相当随机的访问模式,并且非常渴望 I/O。
  • 90% 的文件大于 10MB

我认为 RAID 5 是不可能的,我不可能等待手动重建。我倾向于使用 RAID 0、RAID 10 或......也许这实际上是一个根本没有 RAID 的简单 LVM 池的情况?在这种情况下,走相对简单的路线,我真的会失去任何东西吗?

我的理想解决方案是将每个/子目录(每个子目录都有一个自包含的数据集)完全包含在单个磁盘上(我可以在每个驱动器上安装 10 个子目录)。如果驱动器出现故障,我会暂时中断该驱动器上的子目录/数据集,但很容易推断“这些数据集正在重新下载但不可用”。然后我只是在新驱动器上从 S3 重建丢失的数据集。我怀疑 LVM jbods(不确定这个词的确切含义?)可能最接近复制这种行为。

linux raid lvm google-cloud-platform debian-buster

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

错误:该区域没有足够的可用资源来满足请求。尝试不同的区域,或稍后重试

我已经遇到这个问题 48 小时了

区域“projects/calm-suprstate-275511/zones/asia-east1-b”没有足够的资源来满足该请求。尝试不同的区域,或稍后再试。我应该怎么办?

google google-cloud-platform

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

什么会导致“PowerShell.exe”在多个系统上打开时挂起和/或如何解决它?

什么会导致“PowerShell.exe”在多个系统上打开时挂起?

我已经等了 60 多分钟,但它从未完全启动。它所做的只是显示带有典型 PowerShell 启动输出的蓝色 shell 窗口:

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
Run Code Online (Sandbox Code Playgroud)

然后它就挂了。我怀疑这实际上不是 PowerShell 问题,而是其他原因,例如 .NET 或 McAfee,但我不知道。

我已经尝试以任何我知道的方式启动 PowerShell,但无论我尝试什么,到目前为止我找到的唯一解决方法是重新启动系统。如果不是在服务器上,重新启动可能是一个可以接受的修复,并且问题永远不会再出现,但是它最终会在一段时间后(可能几周后)返回。我在很多服务器上都看到过这个。超过 15 个,但我不确定到底有多少。我猜我们的服务器至少有一半,所以至少有 40 台左右的服务器。它发生在 Windows Server 2016 和 2019 上,但我不记得在我们的任何 2012 R2 服务器上看到它发生。

这导致我们的“早晨检查”脚本出现问题,该脚本尝试使用“New-PSSession”在 foreach 循环中检查多台服务器上的最后一个 Windows Server 备份,如下所示:

$rsession = New-PSSession -ComputerName $Server -ErrorAction Stop; 
Invoke-Command -Session $rsession -ScriptBlock {...}
Run Code Online (Sandbox Code Playgroud)

脚本块非常小/简单(只有几个“Get-WBJob”命令)。一旦脚本到达遇到此问题的第一台服务器,它就会无限期挂起(同样,我已经等了 60 多分钟)。如果我重新启动该远程系统,它会继续运行,直到到达另一个遇到此问题的远程系统为止。如果不是脚本,我只是尝试这样的事情,我会遇到同样的结果(挂起):

Enter-PSSession -ComputerName Server2
Run Code Online (Sandbox Code Playgroud)

在遇到问题的系统上,我尝试通过以下方式从 cmd 启动 powershell 可执行文件,没有任何区别:

start PowerShell.exe -NoProfile
start PowerShell.exe -NoProfile -ExecutionPolicy Unrestricted
start PowerShell.exe -NoProfile -ExecutionPolicy Restricted …
Run Code Online (Sandbox Code Playgroud)

powershell troubleshooting hanging sysinternals

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

ansible/jinja2 拒绝具有特定属性的字典列表中的所有项目

我有一个这样的字典列表:

list_of_dicts:
  - name: Item1
  - name: Item2
    type: special
  - name: Item3
  - name: Item4
    type: small
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,并非所有项目都有属性type。上下文:如果没有type设置属性,则表示该项目是默认类型。

我想选择所有不属于类型的项目special

我试过这个:list_of_dicts | rejectattr('type', 'equalto', 'special')

不幸的是,这会失败并出现AnsibleUndefinedVariable: 'dict object' has no attribute 'type'错误,因为某些项目没有类型。

有什么好的方法可以解决这个问题呢?

ansible jinja2

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

如何管理以非 root 用户运行的容器的绑定挂载所有权和权限?

我们在 RHEL 主机上使用 Red Hat 容器映像,全部基于其 ubi7 或 ubi8 映像,默认情况下以默认用户 (uid 1001) 运行。

当容器需要对主机目录进行写访问(即写入日志或临时文件)时,这会带来挑战,因为容器中保存了主机的UID和GID,并且容器写入的文件将归UID所有容器用户的。

据我所知,这给我留下了两个选择:

  1. 在我的主机上创建一个 UID 1001 的用户,并将该用户设置为已安装卷的所有者。这可能会带来问题,因为 UID 1001 是在主机上添加新用户时将使用的第一个 UID,其中 UID 不强制为特定内容。因此,如果容器需要部署在多个服务器上,而这些服务器可能具有或不具有相同的一致 UID 映射,则管理可能会很困难。然而,据我所知,这是唯一的方法,容器写入的文件的所有者(UID 1001)与主机上所需的用户匹配,并且主机上写入的文件的所有者与现有的 UID 匹配。容器。
  2. 将挂载的主机目录设置为全局可写,这会带来许多安全隐患,其中之一是主机上的任何用户都有权删除容器写入的文件。如果 UID 1001 已分配给主机上的另一个用户,这些文件也可能显示为由另一个用户拥有。

通常,我只会在容器映像内创建一个匹配的用户:组组合,在需要时重置所有权和权限并重建它,但对于红帽创建的映像,这意味着大量的跑腿工作,因为一切都是如此使用 UID 1001 运行,并且有许多脚本(container-entrypoint fix-permissions、generate-container-user)强制以这种方式运行。

我是否正确理解了一切,或者是否有另一种(更好的)方法来做到这一点?

linux mount docker

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

在 Postfix 上启用 TLS/SSL

我正在使用仅发送邮件(时事通讯)的 Postfix 服务器。

我读过我应该在 Postfix 上启用 TLS 和/或 SSL 以提高邮件投递性能。这是真的吗?Postfix 下的 SSL 和 TLS 有区别吗?

我的 Postfix 安装中默认已经有这三行:

smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
Run Code Online (Sandbox Code Playgroud)

所以我想知道 SSL/TLS 是否已默认启用?这些自动生成的 pem 和密钥文件是什么?如何用我的 HTTPS 证书替换它们?我的域已经有一个 HTTPS 证书。我可以对 Postfix 和 Nginx 使用相同的证书吗?

postfix

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

强化文件服务 Windows Server 2019 实例

我正在为我工​​作的小公司重新配置和保护服务器。我们使用它与 Autodesk Vault 一起存储设计文件和其他数据。它在附近服务器提供商的 VPS 上运行。

我这样做的原因是我们的服务器提供商已经通知我们,他们收到关于我们的服务器在互联网上行为不当的投诉,表明它在某种程度上受到了损害。除此之外,我们没有发现任何问题。服务器最初是在我来公司之前设置的,我找不到有关其配置的任何文档。它还运行 Windows Server 2012,所以我决定重新开始使用运行 Windows Server 2019 的新 VPS。这是我第一次使用 Windows 作为服务器操作系统,但我有一些管理 Ubuntu 服务器的经验。

查看旧服务器上的事件查看器,有无数次“4625 审核失败”登录尝试到服务器,但也有不少成功登录不是来自我或我们的组织。4624 审计成功示例:

An account was successfully logged on.

Subject:
    Security ID:        NULL SID
    Account Name:       -
    Account Domain:     -
    Logon ID:       0x0

Logon Type:         3

Impersonation Level:        Impersonation

New Logon:
    Security ID:        ANONYMOUS LOGON
    Account Name:       ANONYMOUS LOGON
    Account Domain:     NT AUTHORITY
    Logon ID:       0x9ABEAB7
    Logon GUID:     {00000000-0000-0000-0000-000000000000}

Process Information:
    Process ID:     0x0
    Process Name:       -

Network Information:
    Workstation Name: …
Run Code Online (Sandbox Code Playgroud)

rdp https ntlm windows-firewall windows-server-2019

5
推荐指数
2
解决办法
514
查看次数

如何重写 url 到后端,同时在 nginx 入口中保留浏览器 url?

我正在尝试重写服务的路径,同时在 kubernetes 上使用 nginx 入口保留浏览器 URL。

我需要的是这样的:

  • http://example.com/path=>http://service
  • http://example.com/path/bar=>http://service/bar
  • http://example.com/path/file.css=>http://service/file.css

也就是说,使其/path成为上游服务器中的根(或某个不同的 url)。

从我在这里看到的,这是使用 proxy_pass 上的尾部斜杠来完成的,但 nginx ingress 似乎没有这个选项。

这可能是 nginx 入口吗?

nginx kubernetes nginx-ingress

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

自愈文件系统对一般用途有多大好处?

我最近研究了用于数据冗余和可用性的高级文件系统(Btrfs、ZFS),并对它们提供的附加功能感兴趣,尤其是它们针对数据损坏的“自我修复”功能。

但是,我认为我需要退后一步,尝试了解与传统的 mdadm-Raid1 + 相比,对于一般家庭/SMB 使用而言,这种好处是否超过了它们的缺点(Btrfs 错误和未解决的问题以及 ZFS 可用性和性能影响) Ext4 解决方案。无论哪种方式都可以使用镜像备份。

假设我有几个文件服务器用于存档目的并且资源有限,但是有 ECC 内存和稳定的电源。

  1. 我什至遇到实际数据损坏导致文件不可读的可能性有多大?如何?
  2. Ext4 或系统文件管理器是否可以在复制/移动操作中检测到​​数据错误,至少让我意识到问题所在?
  3. 如果其中一个 madam-Raid1 驱动器因一个驱动器有坏扇区而保存不同的数据,会发生什么情况?我是否仍然能够检索正确的文件,或者阵列是否无法确定哪个文件是正确的并完全丢失它?

raid filesystems mdadm software-raid data-integrity

34
推荐指数
3
解决办法
6616
查看次数

如何删除 helm 安装的软件包?

我正在使用 Helm 3 安装 kubernetes 软件包。现在我需要删除/清理已安装的内容,我尝试使用 unintall 但似乎 \xe2\x80\x99s 正在寻找一个版本(不确定它的含义)而不是一个包:

\n\n
$ helm install prometheus stable/prometheus-operator --namespace monit\n$ helm delete prometheus\nError: uninstall: Release not loaded: prometheus: release: not found\n
Run Code Online (Sandbox Code Playgroud)\n\n

当试图列出是否有任何版本时,我什么也没得到!

\n\n
$ helm list\nNAME    NAMESPACE   REVISION    UPDATED STATUS  CHART   APP VERSION\n
Run Code Online (Sandbox Code Playgroud)\n\n

在这种情况下删除普罗米修斯资源的正确方法是什么?

\n

kubernetes helm

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