问题列表 - 第5078页

服务与 shutdown.target 不冲突的影响

< TL;DR >
\n我正在基于当前的 Debian 10 Buster 和内核 ntfsd 调整仅限 NFSv4 的文件服务器;系统 v241。该nfs-kernel-server发行版中的软件包的 systemd 脚本让我觉得有点奇怪。根据 systemd.service(5),一些服务定义文件(包括其nfs-server.service本身)附带设置DefaultDependencies=no,以便该单元不会自动获取依赖项:Conflicts=shutdown.target

\n
\n

[使用DefaultDependencies=yes][s]服务单元将具有类型Conflicts=Before=上的依赖性[...] shutdown.target。这些确保在系统关闭之前正常服务单元被彻底终止。

\n
\n

与我在其他 systemd 自己的软件包中看到的不同,这些都没有明确提供。命令

\n
systemctl show nfs-server.service | egrep '^(Want|Requ|Bind|Bound|Before|After|Confl)'\n
Run Code Online (Sandbox Code Playgroud)\n

证实这实际上是正确的:不存在这样的依赖关系。手册继续,

\n
\n

只有涉及早期启动或延迟系统关闭的服务才应禁用此选项。

\n
\n

NFS 服务器恰恰不是这样,因为在网络完全启动之前它无法开始提供服务,并且一旦系统开始关闭,它就应该停止接受新请求并在负载下停止。

\n

这不是软件包中具有类似设置的单个服务,但这一项是我最担心的。我正在云设置中推出单一用途的虚拟机,文件服务器可能拥有大量的 RAM (64-128G),所有这些都被文件系统缓存塞满了,如 htop(1) 所示。由于这是一台文件存储机器,我无法用言语来表达我多么希望服务器,引用手册, \xe2\x80\x9c 在系统关闭之前干净地终止,\xe2\x80\x9d 特别是鉴于我用导出文件系统的 ext4 挂载选项data=writeback和\xc2\xb9牺牲了一点可靠性来换取性能nobarrier
\n</ TL;DR >

\n

所以我的问题归结为一句话是:

\n

当系统实际上关闭时,不具有Conflicts=和 …

systemd

5
推荐指数
0
解决办法
1164
查看次数

同一台服务器上有多少个 celery 和 Gunicorn 工作人员?

我有一台服务器运行由 Gunicorn 和 Celery 任务队列提供服务的 Django 应用程序。

Gunicorn文档建议(2 x $num_cores) + 1 作为默认的工作线程数。

Celery 文档显示 Celery 工作线程的数量默认为 1 x $num_cores。

两者都建议尝试找到合适的数字。

我的问题是,在同一台机器上运行 Gunicorn 和 Celery 的良好经验法则是什么?在八核机器上,我应该从 17 个 Gunicorn 和 8 个 Celery 工人开始吗?或者从 9 个 Gunicorn 和 4 个 Celery 工人开始有意义吗?

系统受 CPU 限制,如果有帮助的话。

multi-core gunicorn celery

7
推荐指数
0
解决办法
1427
查看次数

nginx 找不到 /etc/letsencrypt/options-ssl-ngin.conf 文件

我正在尝试使用 linux 盒子(运行 ubuntu 18.04)和 nginx、gunincorn、letsencrypt 和 docker 来提供 python-django web 应用程序。在学习了许多在线教程之后,我按照本教程http://pawamoy.github.io/2018/02/01/docker-compose-django-postgres-nginx 成功通过端口 80 通过 http 提供了应用程序服务。 html

然而,我现在真的很难通过端口 443 通过 https 进行部署。我想也许我不理解基本的 docker 概念。我运行时遇到的错误sudo docker-compose up如下。

NGINX 错误

nginx_1 | nginx: [emerg] open() "/etc/letsencrypt/options-ssl-nginx.conf" failed (2: No such file or directory) in /etc/nginx/conf.d/local_ssl.conf:28

我相信这是因为我没有链接 docker-compose.yml 文件中的 options-ssl-nginx.conf 文件,也许是通过卷?我不知道这是否正确。我的 docker-compose.yml 文件和 nginx.conf 文件的相关部分如下:

docker-compose.yml

version: '3'

services:

  # database containers
  database1:
    ...

  # web container
  djangoapp:
    ...

  # reverse proxy container (nginx)
  nginx:
    image: …
Run Code Online (Sandbox Code Playgroud)

nginx django docker lets-encrypt docker-compose

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

使用 2 个带有复制功能的 Hyper-v 服务器(无 AD)以提供无缝切换

我的预算非常有限,对此知之甚少,所以请耐心等待。

我们有一个主要的和备份的 Hyper-V 服务器。复制正在从主服务器运行到辅助服务器。我需要在不中断该虚拟机提供的服务的情况下将主虚拟机之一故障转移到辅助虚拟机。

这个虚拟机是一个网络服务器,有一个公共网站。

此 VM 的存储中不会写入任何数据更改 - 还有另一个托管数据库的 VM。网络服务器 VM 需要在 Windows 更新后重新启动,而辅助 Hyper-V 运行最新的复制映像。
在主虚拟机上重新启动后,主虚拟机上的虚拟机应该再次处于活动状态,然后 WindowsUpdates 复制到(再次休眠)辅助 Hyper-V。

简而言之 - 拥有 2 个 Hyper-V 服务器(非集群 - 没有 Active Directory),如何让虚拟机在辅助服务器上运行(没有提供服务的停机时间),并在主服务器上重新启动虚拟机,并切换所有用户' 会话返回到主虚拟机上?

virtual-machines windows-server-2016 hyper-v-server-2016

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

使用 aws clisync 包含和排除删除选项

aws s3 sync /WordProcessing/DOCUMENTS s3://mybigbucket --delete --include "*" --exclude ".DS_Store"
Run Code Online (Sandbox Code Playgroud)

如果 .DS_Store 以某种方式到达 AWS S3 mybigbucket(从之前的备份),则使用上述命令不会从目标中删除 .DS_Store 文件,即使我手动执行:

rm /WordProcessing/DOCUMENTS/.DS_Store
Run Code Online (Sandbox Code Playgroud)

在文件服务器上。

我是否缺少 aws s3 同步工作原理的逻辑?在我看来,如果 .DS_Store 已从文件服务器上的源中删除,则应该从 S3 存储桶上的目标中删除它。

如果我取消 --exclude 并再次运行该命令,当 .DS_Store 从文件服务器中删除时,它会从目标中删除它。这似乎不对。

我采取了错误的方法吗?我想要做的是每晚同步文件服务器,并让它不将数千个 .DS_Store 文件传输到 S3 存储桶。

amazon-s3 aws-cli

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

App Engine Standard Auto Scaling - 如何在部署时停止以前的版本?

问题:

我正在部署一个 appengine 标准服务 - nodejsv10。但是,在将流量迁移到新版本后,旧版本仍在运行,实例计数被列为 2 或 1。对于过去一周内未收到流量超过 24 次的多次部署,情况仍然如此小时(所以我认为这不是控制台延迟刷新问题)。

我不想为这些实例付费,因为我不需要它们。手动删除这些旧版本似乎是一种愚蠢的用户体验。

部署命令: gcloud beta app deploy

应用程序.yaml

env: standard
instance_class: F4
inbound_services:
  - warmup
automatic_scaling:
  min_idle_instances: 1
  max_idle_instances: 1
  min_pending_latency: automatic
  max_pending_latency: automatic
  max_concurrent_requests: 15
  min_instances: 1
Run Code Online (Sandbox Code Playgroud)

google-app-engine google-app-engine-standard

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

macOS 上的 SMB 速度非常慢

由于我最近买了一台新的 Mac Pro(运行 Catalina 10.15.2),我使用 10 GBit 以太网将它连接到我的 Debian 10 / Proxmox 服务器。

但是,当连接到共享时,我只能获得 150-300 MB/s 的读/写性能。

这是我当前的 smb.conf:

[global]         
    netbios name = server         
    realm = MY.DOMAIN         
    security = ADS
    workgroup = MYDOMAIN

    wins server = my.domain.test

    winbind enum users = Yes
    winbind enum groups = Yes
    winbind use default domain = Yes
    winbind refresh tickets = Yes
    winbind nested groups = No


    idmap config MYDOMAIN:backend = ad
    idmap config MYDOMAIN:schema_mode = rfc2307
    idmap config MYDOMAIN:range = 10000-20000

    log file …
Run Code Online (Sandbox Code Playgroud)

linux debian samba mac-osx

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

为什么 MariaDB 10.2 或 10.3 没有字符集客户端握手 RDS 参数?

MariaDB 有一个参数--character-set-client-handshake,它可以允许您指定服务器应忽略客户端连接指定的字符集。

在RDS上,当您为MariaDB v10.1实例创建参数组时,该参数可供自定义。但在 v10.2 和 v10.3 参数组上,它不存在。

MariaDB 不支持的 MariaDB 参数的 RDS 列表中也不存在此参数。

对此的搜索没有产生任何信息..我可以成为唯一一个在 RDS 上寻找 MariaDB v10.2 的字符集客户端握手参数的人吗?

mariadb amazon-rds

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

aws 实例会失败吗?我需要备份吗?

我有一个托管在 aws EC2 上的网站。如果实例失败,我是否需要备份,或者亚马逊方面是否已经有足够的冗余?

amazon-ec2 amazon-web-services

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

为什么我可以使用 sudo vi 更新 root 拥有的文件,但不能使用 sudo echo "Thing" &gt;&gt; file 向其附加一行?

我想让正在从另一个网站自动迁移网站的脚本能够将 Includes 附加到 /etc/httpd/conf.d/vhosts.conf 文件。

但是,当我尝试使用 echo 将字符串附加到文件末尾时,我得到了这个:

$ sudo echo "Include thing" >> /etc/httpd/conf.d/vhosts.conf
-bash: /etc/httpd/conf.d/vhosts.conf: Permission denied
Run Code Online (Sandbox Code Playgroud)

但我可以 vi /etc/httpd/conf.d/vhosts.conf,添加该行和 :wq 文件以保存并关闭它。

我错过了什么?

sudo redirection file-permissions

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