问题列表 - 第5025页

在 ansible 列表变量中拒绝

我有这样一个变量:

apps:
 - {name: kapitalism, extension: .war}
 - {name: socialism, extension: .war}
 - {name: somethingelse, extension: .ear}
Run Code Online (Sandbox Code Playgroud)

我需要根据它制作另一张,其中不会包括某些列表。我正在尝试这个:

- name: Reject this please
  set_fact:
    apps: "{{ apps | map(attribute='name') | reject('search',item.name) | list }}"
  when: "item.name.find('socialism') != -1"
  with_items: "{{ apps }}"
Run Code Online (Sandbox Code Playgroud)

但在这里我遇到了这样一个问题,扩展参数丢失了,我得到了变量:

apps: [u'kapitalism', u'somethingelse']
Run Code Online (Sandbox Code Playgroud)

如何创建这样的变量:

apps:
 - {name: kapitalism, extension: .war}
 - {name: somethingelse, extension: .ear}
Run Code Online (Sandbox Code Playgroud)

ansible jinja

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

从 iSCSI 目标创建物理 SCSI 目标

我发现自己不得不为一些遗留应用程序维护一些旧硬件。这些计算机使用旧的并行 SCSI 驱动器,当这些驱动器失效时,我必须寻找新的,这变得越来越困难。

运行具有物理 SCSI 接口的现代计算机并将自身作为目标磁盘呈现给传统计算机是否可行,因此不是访问物理 SCSI 磁盘,而是访问 SAN 中的现代磁盘?

我查看了http://www.linux-iscsi.org/,看起来通常的操作模式就像物理磁盘中的 iSCSI 目标,而不是相反,远程 iSCSI 中的物理目标目标。但我对术语或技术不够熟悉,无法判断它是否受支持、可能或完全不可能。

storage iscsi legacy scsi

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

Linux SSD 作为 HDD 缓存

我在 SSD 和 HDD 上安装了一个 Linux 服务器系统,用于用户数据。由于 SSD 上有剩余空间,我想将其用作 HDD 的读取缓存。

查看可能性,我发现:

  • dm-cache:根据https://www.redhat.com/en/blog/improving-read-performance-dm-cache在缓存显示性能改进之前需要大量读取。我认为在我的用例中这不是一个好的策略。

  • lvmcache:建立在 dm-cache 之上,我需要将 SSD 和 HDD 放入一个 LV。我想保持缓存透明,这样我就可以轻松地将 HDD 放入另一个系统,而无需先执行 LVM 魔术。

  • Bcache:我需要为 Bcache 格式化硬盘。不是我想要的。

  • Flashcache:听起来像我想要的(只需打开它),但根据https://github.com/facebookarchive/flashcache不再积极维护。

  • EnhanceIO:建立在 Flashcache 上,但自 2015 年以来已失效。

有没有类似于 Flashcache 或 EnhanceIO 的东西,但仍然积极维护?

linux hard-drive ssd cache flashcache

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

使用 iptables 的 DNAT 仅适用于 eth0 上传入的流量

我有一台具有两个接口的计算机,这两个接口具有不同的可路由 IPv4 地址。为了在正确的接口上返回流量,我使用了这个答案和评论,它有效:我可以使用任一 IP 地址 ssh 进入机器。(我不知道这是否有任何影响,但可能有。)

现在我使用此答案添加了以下用于反向代理/DNAT 的 iptables 规则。我的启动脚本现在看起来像:

# eth0 is automatically brought up and gets 192.168.1.2 as IP

sudo ip link set eth1 up
sudo ip addr add 192.168.2.2/24 dev eth1
sudo ip rule add from 192.168.2.2 table frometh1
sudo ip route add default via 192.168.2.1 dev eth1 table frometh1

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 443 -j DNAT --to-destination 10.0.0.1:443
sudo iptables -t nat -A …
Run Code Online (Sandbox Code Playgroud)

iptables linux-networking dnat

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

在运行 RHEL 6.10 的 HP ProLiant DL360 G9 上丢包

我们有一台运行 RHEL 6.10 和 2 X 的 HP ProLiant DL360 G9 Intel 82599ES 10-Gigabit SFI/SFP+。HP 产品名称是HP Ethernet 10Gb 2-port 560SFP+ Adapter

eth5eth6显示大量数据包丢失 ( rx_missed_errors) 我禁用了 NIC 级别的流量控制,然后rx_missed_errors停止增加但rx_no_dma_resources开始每天增加。

  • 它们都是独立的接口,不是绑定的一部分。
  • Eth5 和 eth6 在不同的卡上
  • 两个卡都安装到 PCIe 3.0 X16 插槽
  • irqbalance 正在服务器上运行

更新 1

环参数eth5eth6处于最大值相同,已经。

Pre-set maximums:
RX:             4096
RX Mini:        0
RX Jumbo:       0
TX:             4096
Current hardware settings:
RX:             4096
RX Mini:        0
RX Jumbo:       0
TX: …
Run Code Online (Sandbox Code Playgroud)

linux performance-tuning linux-networking

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

安全的异地备份,即使在黑客 root 访问的情况下

我正在寻找一种方法来实现一种更安全的异地备份方式,这种方式还可以保护我的数据免受恶意黑客获得对我的服务器的 root 访问权限的情况。如果 SSH 和密码安全设置正确并且系统保持正确更新,即使发生这种情况的可能性比其他类型的风险小,但可以永久造成的损坏量确实很高,因此我想找到一个解决方案来限制它。

我已经尝试过两种异地备份方式:

  • 一个简单的 root 可写 webdav 挂载(并在 fstab 中配置),备份数据被复制到其中。问题:不是真正的异地备份,因为对异地位置的连接 - 以及访问 - 一直作为文件系统中的文件夹打开。如果挂载具有有限的访问权限(只读 root 访问权限),这足以防止多种攻击,但不能防止具有 root 访问权限的恶意人员。

  • 通过 SSH 进行 Borg 备份并使用密钥身份验证。问题:如果恶意用户对主机具有 root 访问权限,则可以使用存储在主机上的密钥连接到该异地服务器。

作为解决方案,我正在考虑这些潜在的方式,但我不知道如何以及用什么:

  • 备份只能写入或附加到目标,但不能删除。
  • 使用处理异地备份且不支持从第一台主机批量删除异地备份的备份软件。

在我的情况下并不真正有趣的解决方案:

  • 异地主机上的额外备份作业,将它们传输到第一个主机无法访问的位置(由于技术限制)。

任何人都可以就如何为我的案例实施适当的异地备份提供建议吗?

backup offsite-backup

25
推荐指数
4
解决办法
3569
查看次数

socat tun 设备吞吐量非常低

我正在摆弄 socat,并尝试使用 socat 创建一个 TUN 设备,用于在两个 debianstretch 服务器之间建立隧道。然而,吞吐量似乎非常低,与本地主机上的 TCP/TCP-Listen 的 iperf 相比,TUN 的吞吐量大约低 5 个数量级。

这是一个“最小工作示例”,显示速度如何受到影响。

socat 与 TUN 设备

服务器端:

# socat
socat TUN:10.10.0.2/16,iff-up TCP4-LISTEN:54321,bind=192.168.1.2,fork
# iperf service
iperf -s -p 15001 -B 10.10.0.2
Run Code Online (Sandbox Code Playgroud)

客户端:

# socat
socat TUN:10.10.0.1/16,iff-up TCP4:192.168.1.2:54321
# iperf
iperf -c 10.10.0.2 -p 15001 -t 30
Run Code Online (Sandbox Code Playgroud)

socat 与 TCP/TCP-LISTEN

服务器端:

# socat
socat TCP4-LISTEN:12345,bind=192.168.1.2,fork TCP4:127.0.0.1:15001
# iperf service
iperf -s -p 15001 -B 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

客户端:

# socat
socat TCP4-LISTEN:54321,bind=127.0.0.1,fork TCP4:192.168.1.2:12345
# iperf
iperf -c 127.0.0.1 -p …
Run Code Online (Sandbox Code Playgroud)

iperf tcp tun network-speed socat

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

通配符 dns 无法正常工作

我最初在我的 cpanel 帐户上添加了一个通配符子域,如下所示,它工作正常(所有级别的子域都有效):

  1. *.example.com

但是当我添加以下第二个通配符子域来显式安装 ssl 时:

  1. *.co.uk.example.com

任何以 .uk.example.com 结尾的域名都不再有效(例如 uk.example.com 或 test.net.uk.example.com ...等)

dns 服务器绑定有什么问题还是这是设计使然?

domain-name-system bind wildcard

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

在 AWS 中,如何使用 REST API 为特定 VM 附加卷列表

如何使用 REST API 获取特定实例\VM 的附加卷列表?

IE:与此 AWS CLI 命令等效的 REST API 是什么:

aws ec2 describe-volumes --region us-west --filters Name=attachment.instance-id,values=i-eeh33heue3
Run Code Online (Sandbox Code Playgroud)

amazon-ec2 amazon-web-services aws-cli

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

是什么导致通过 SSH 产生大量网络流量?

我有一台运行 Ubuntu 18.04 的虚拟服务器,来自一家知名托管公司。今天早上,我们的 Fortigate Firewall 日志显示,我的 Win10 计算机通过 SSH 在 13 小时内(昨晚)向虚拟服务器传输了 3.5TB 和 6.5TB。

这有几个问题;首先,我们知道 Fortigate Firewall 引用的数字是不正确的,因为 a) 连接速度不够快,无法在该时间段内完成此操作,可能是所需速度的十分之一,并且 b) VPS 日志显示它收到 35GB 并发送 65GB……比 Fortigate 报告少很多倍。其次,唯一可以使用 SSH 打开的东西是 Putty 和 WinSCP。Putty 没有做任何事情,bash 历史记录显示唯一的命令与启动和停止 Kestrel(点网核心服务器)有关,它什么都不做。据我所知,WinSCP 也没有做任何事情。白天我移动了几个文件夹。

在我的本地机器上没有进行病毒扫描,服务器日志中没有任何错误,并且服务器除了 Microsoft .net 核心存储库设置之外没有第三方软件包。

虽然老板没问题,没有发生任何险恶的事情,但我不高兴发生了一些我什至无法开始回答的事情。

我对此有很多问题,但现在我会解决:

  • 这可能是什么原因造成的?
  • 是否只是 Fortigate 的问题,因为我们知道它错误地报告了数据传输,或者可能是 WinSCP 循环?
  • 有没有人遇到过这种情况?

任何线索都感激地收到。

windows ssh winscp ubuntu-18.04

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