问题列表 - 第4911页

仅在 Linux 中为一个进程设置自定义 /etc/hosts 或解析器

在 Linux 上,我希望特定进程应将主机“xyz.com”解析为 IP“10.1.2.3”。这很简单:只需在/etc/hosts.

但是,我只想为一个进程执行此操作;我希望所有其他进程将“xyz.com”解析到 DNS。

有没有办法设置每个进程的 resolv.conf 或 /etc/hosts?我可以为例如共享库或变量执行此操作——我如何为 DNS 执行此操作?

domain-name-system linux hosts

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

GCP项目限制并立即删除

我有两个相关的问题。GCP 和一些项目的限制:

A) 每个组织允许的项目数量是否有硬性限制?我知道默认限制可以增加,只是好奇是否有上限。两个原因:

  • 我们正在将项目自动化,因此我们需要对此进行测试并更频繁地创建/删除项目。

  • 我们正在考虑使用每个客户的项目模型,我想知道这是否会限制我们将来。

B) 有没有办法立即强制删除项目?通常,这些项目会被关闭并计划在 30 天左右删除,但即使项目被关闭,也会会计入项目配额,并会阻止您创建新项目。

谢谢

cloud google google-cloud-platform

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

新的“S3提高请求率性能”公告是什么意思

2018 年 7 月 17 日,AWS 发布了一份官方公告,解释说不再需要随机化每个 S3 对象键的第一个字符来实现最佳性能:https : //aws.amazon.com/about-aws/whats-new /2018/07/amazon-s3-announces-increased-request-rate-performance/

Amazon S3 宣布提高请求率性能

发表于:2018 年 7 月 17 日

Amazon S3 现在提供更高的性能,以支持每秒至少 3,500 个添加数据的请求和每秒 5,500 个检索数据的请求,这可以节省大量处理时间而无需额外费用。每个 S3 前缀都可以支持这些请求率,从而可以轻松显着提高性能。

今天在 Amazon S3 上运行的应用程序无需更改即可享受这种性能改进,在 S3 上构建新应用程序的客户无需进行任何应用程序自定义即可实现此性能。Amazon S3 对并行请求的支持意味着您可以根据计算集群的系数扩展 S3 性能,而无需对应用程序进行任何自定义。性能按前缀扩展,因此您可以并行使用任意数量的前缀来实现所需的吞吐量。前缀的数量没有限制。

这种 S3 请求速率性能提升消除了任何先前的指导,即随机化对象前缀以实现更快的性能。这意味着您现在可以在 S3 对象命名中使用逻辑或顺序命名模式,而不会对性能产生任何影响。此改进现已在所有 AWS 区域推出。有关更多信息,请访问 Amazon S3 开发人员指南。

这很好,但也令人困惑。它说每个 S3前缀都可以支持这些请求率,从而可以轻松显着提高性能

但是由于前缀和分隔符只是GET Bucket (List Objects)列出存储桶内容时 API 的参数,所以谈论“每个前缀”的对象检索性能如何有意义。每次调用都GET Bucket (List Objects)可以选择它想要的任何前缀和分隔符,因此前缀不是预定义的实体。

例如,如果我的存储桶有这些对象:

a1/b-2
a1/c-3
Run Code Online (Sandbox Code Playgroud)

然后,每当我列出存储桶内容时,我都可以选择使用“/”或“-”作为分隔符,因此我可能会认为我的前缀是

a1/ 
Run Code Online (Sandbox Code Playgroud)

或者

a1/b-
a1/c-
Run Code Online (Sandbox Code Playgroud)

但由于GET ObjectAPI …

performance amazon-s3 amazon-web-services

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

linux系统时间暂时跳跃

我在某些(硬件)服务器中看到了一种奇怪的系统时间更改行为:在 /var/logs/syslog 中,每条日志消息之前的日期时间有时会更改为随机时间并在下一条消息中恢复正常,如下所示:

2018 年 2 月 22 日 09:09:30 ...
2018 年 2 月 22 日 09:09:32 ...
2610 年 1 月 13 日 15:37:42 ...
2018 年 2 月 22 日 09:09:33 ...
2018 年 2 月 22 日 09:09:34 ...

如示例中所示,日期时间的突然变化可能长达数百年。

我可以确认具有奇怪时间戳的日志消息不是来自任何特定进程 - 它可能对每个进程随机发生。

并且两次异常时间更改之间的持续时间从几分钟到几小时不等(但是,我怀疑异常时间更改可能会更频繁地发生,但其中许多未在系统日志中显示,因为它不是每秒写入日志)。

此外,由于它发生在不止一台服务器上,我认为这不是硬件问题。

关于服务器的更多信息:它们是一个带有一个控制器和几个计算节点的 openstack 安装。每个服务器都有运行的 ntp 服务。控制器配置为从其自己的硬件时钟中获取时间,并且计算节点服务器从控制器同步时间。请注意,每个服务器都有自己的异常时间变化 - 看起来“错误的时间”不是从控制器通过 ntp 同步的。

我怀疑计算节点上的来宾系统(虚拟机)可能会影响它们的主机系统时间。但这并不能解释为什么控制器在没有运行任何虚拟机的情况下会出现同样的问题。

我需要一种方法来检测:谁更改了系统时间以及它是如何发生的?

linux time time-synchronization timestamp

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

绑定从属接口在 LACP 上没有获得相同的聚合器 ID

我在某些 LACP ( 802.3ad) 不工作的服务器上有一个错误。我在所有服务器上都有一个bond0带有两个eth从属设备的绑定设备,每个接口都插入不同的交换机,并且两个交换机都配置了 LACP。

似乎一切正常,但网络工程师检测到某些 MLAG(Arista LACP 实施)在物理设备启动时无法正常工作。

当我查看/proc/net/bonding/bond0受影响的服务器时,我发现每个界面都有不同的Aggregator ID. 在名义服务器上Aggregator ID是一样的。

该问题可以通过关闭和打开交换机上的端口来重现,然后我们可以观察到尽管物理链路已启动,MLAG 已关闭。该错误存在于 RHEL 6 和 7 上(但并非所有服务器都受到影响)。

配置

#/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
MACADDR=14:02:ec:44:e9:80
IPADDR=xxx.xxx.xxx.xxx
NETMASK=xxx.xxx.xxx.xxx
BONDING_OPTS="mode=802.3ad lacp_rate=slow xmit_hash_policy=layer3+4"
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
NM_CONTROLLED=no
PEERDNS=no

# /etc/sysconfig/network-scripts/ifcfg-eno49 (same for other interface)
HWADDR=14:02:ec:44:e9:80
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
NM_CONTROLLED=no
PEERDNS=no
Run Code Online (Sandbox Code Playgroud)

我们现在有一个解决方法 -eth在服务器上设置和打开界面 - 但这并不理想。

要检查 LACP 协议,我做了

tcpdump -i eno49 -tt -vv -nnn ether host 01:80:c2:00:00:02
Run Code Online (Sandbox Code Playgroud)

我可以在一个接口上每 30 …

networking high-availability lacp rhel6 rhel7

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

SCP 在文件传输开始前挂起

我正在尝试使用非常基本的 scp 命令将文件从本地系统上的虚拟机(Ubuntu 18.04)移动到远程服务器。此问题仅存在于一台特定服务器上,其他服务器工作正常,因此这不是一个普遍问题。

scp <file name> <user>@<complete_hostname>:~/
Run Code Online (Sandbox Code Playgroud)

但此命令不会在身份验证成功后继续进行。

SCP Log: (from local machine, Ubuntu 18.04)
==========
debug1: Next authentication method: publickey
debug1: Offering public key: 
RSA SHA256:<key> /home/username/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 279 
debug1: Authentication succeeded (publickey).
Authenticated to 'HOSTNAME' ([10.6.26.145]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: pledge: network
debug1: Sending environment.
debug1: Sending env LANG = en_IN
debug1: Sending command: scp -v -r -d -t ~/received/


Form another …
Run Code Online (Sandbox Code Playgroud)

file-sharing file-transfer scp

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

Supervisord 发送 SIGKILL 而不是 SIGTERM

我正在运行 Supervisor 3.2.0-2ubuntu0.2 Ubuntu 16.04。我想更改我的一个进程使用的命令,但我需要确保主管向它发送正确的信号,以便进程可以结束;不幸的是,即使我已经请求了 TERM,主管仍然会发送 SIGKILL。

[program:my-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /home/worker/job --param=a,b,c
autostart=true
autorestart=true
stopwaitsecs=10
user=worker
stopsignal=TERM
numprocs=1
stdout_logfile=/var/log/supervisor/worker.log
stderr_logfile=/var/log/supervisor/worker-error.log
Run Code Online (Sandbox Code Playgroud)

如果我遵循Supervisor 在更改“命令”后未加载新的配置文件(例如:),php /home/worker/job --param=a,b,c,d我会在日志中看到以下内容:

2018-08-08 09:05:21,514 INFO waiting for worker_00 to stop
2018-08-08 09:05:21,533 INFO stopped: worker_00 (terminated by (9) SIGKILL)
Run Code Online (Sandbox Code Playgroud)

我特别需要确保发送 SIGTERM - 我已经深入研究了代码,但我没有看到任何明显的迹象表明我的配置不正确。我调用了错误的命令吗?service supervisord restart触发相同。

supervisord

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

删除 openvpn ubuntu 客户端密码提示

我试图将 openvpn 客户端的用户名和密码保存在.secret.txt中,但在尝试连接或请求密码时收到错误,而不是从.secret.txt读取。

这是我的配置文件:

resolv-retry infinite
nobind
persist-key
persist-tun
key-direction 1
remote-cert-tls server
tls-version-min 1.2
verify-x509-name server_4EBX2EpXPZasiTv1 name
cipher AES-256-CBC
auth SHA256
comp-lzo
verb 3
<ca>
auth-user-pass //root/.secret.txt
Run Code Online (Sandbox Code Playgroud)

尝试连接时,系统仍然提示我输入密码:

Wed Aug  8 07:44:22 2018 OpenVPN 2.4.3 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Jul  3 2017
Wed Aug  8 07:44:22 2018 library versions: OpenSSL 1.0.2g  1 Mar 2016, LZO 2.08
Enter Private Key Password:
Run Code Online (Sandbox Code Playgroud)

ubuntu vpn nginx openvpn apache-2.2

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

为什么当我将 XFS 文件系统放在上面时,我的 SSD 读取延迟基准会明显变差?

我正在对基于SuperMicro E300-8D的小型服务器盒进行基准测试。我已经安装了带有最新更新的最新 CentOS 7.5、64GB DDR4-2100 RAM 和三星 970 EVO 1TB NVMe SSD。操作系统安装在 USB 记忆棒上的内部 USB 端口中,因此除了在我的基准测试期间,SSD 完全没有使用。

ScyllaDB使用的基准测试方法的启发,我的测试目标是找到此 SSD 的最佳并发级别。为此,我使用了diskplorer,它在内部用于fio探索并发与 IOPS 和延迟之间的关系。它会生成如下所示的方便图表。在所有情况下,我都使用 4K 随机读取工作负载。

问题是我得到的结果毫无意义。这是第一个结果:

生的 /dev/nvme0n1

$ sudo ./diskplorer.py --device=/dev/nvme0n1 --filesize=256G 
Run Code Online (Sandbox Code Playgroud)

赢了!

这是太棒了!三星自己的规格表声称读取 IOPS 为 500K,20 次并发读取时,我得到了近 600K。右边的轴是以纳秒为单位的读取延迟,红线是平均延迟,误差线是 5% 和 95% 的延迟。所以看起来这个 SSD 的理想并发级别是大约 20 次并发读取,产生极好的延迟 < 100us。

那只是原始SSD。我会将 XFS 放在上面,它针对异步 I/O 进行了优化,而且我确信它不会增加任何显着的开销......

使用新的 XFS 文件系统 /dev/nvme0n1

$ sudo mkfs.xfs /dev/nvme0n1
$ sudo mount /dev/nvme0n1 /mnt
$ sudo ./diskplorer.py --mountpoint=/mnt --filesize=256G 
Run Code Online (Sandbox Code Playgroud)

威士忌酒。 探戈。 狐步。

什么!?这是 …

performance xfs ssd

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

获取 systemd 的实际状态

我们如何知道 systemd 是否已完成引导系统?

如果由于缺少网络连接,系统实际上处于启动过程中,我不想在 cron 作业上执行。我的由 cron 启动的脚本会在上面进行测试,如果启动过程没有完成,它会退出

#!/bin/sh
$STATE=`HERE ADD THE MISSING PART`
if [ $STATE != "active" ]; then
  exit
fi
# Actions to do on next cron after booting
Run Code Online (Sandbox Code Playgroud)

如果它也可以向我提供有关关闭过程的信息,因为问题可能是相同的..;

我使用运行级别命令使用 SystemV 执行此操作,但 Systemd 在启动结束时不会更改运行级别。

谢谢

debian boot systemd

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