在文件系统上实现 fstrim 的方法之一,它使 cron.daily 任务运行fstrim /. -o discard很多人更喜欢(挂载选项),因为后者会使写入速度变慢,尤其是删除大量小文件时。
我的问题是,当我做这样的 cron 工作时,如果这被重新启动/停止或更糟糕的断电中断会发生什么?SSD 一开始就不喜欢功率损耗(甚至有一个 SMART 参数来计算它们),我可以想象 fstrim 期间的功率损耗更糟。
我正在尝试使用 ACL 在共享目录上设置适当的 ACL 权限模型,但我遇到了问题。即使我设置了默认的“user:user1:rwx”,由于掩码计算,user2 创建的文件不能被 user1 写入。它说有效是“r--”。
根据手册页,掩码是通过对所属组、其他命名组和命名用户进行并集来计算的。只有所有这些都拥有的权限才会在掩码(联合部分)中启用。
但为什么?如果这样做,我怎么能说“用户 user1 始终可以读写”?
另外,user1 不能写入 user2 创建的文件,但它可以删除它们......
编辑:澄清:
这是相关目录的当前 acl:
# file: NNHD/
# owner: user1
# group: user1
user::rwx
user:user1:rwx
user:user2:rwx
group::r-x
mask::rwx
other::---
default:user::rwx
default:user:user1:rwx
default:user:user2:rwx
default:group::rwx
default:mask::rwx
default:other::---
Run Code Online (Sandbox Code Playgroud)
这有适当的面具。
当 user2 在该目录中创建文件时,会给出以下信息:
# file: test
# owner: user2
# group: user2
user::rw-
user:user1:rwx #effective:r--
user:user2:rwx #effective:r--
group::rwx #effective:r--
mask::r--
other::---
Run Code Online (Sandbox Code Playgroud)
我不明白为什么会发生这种情况......我必须做什么才能使其对 user1 可写?
Nagios 可以进行 SSL 检查,但它实际上并不检查证书对于您使用的连接地址是否有效(通用名称匹配)。
在我们的一台服务器上,一个 postfix 配置文件被 Plesk 更新替换,没有通知,导致回归到蛇油证书。Nagios 检查 SSL,但没有看到它。为此,我想检查的不仅仅是到期日期,而是实际检查 CA 链。
我已经为 nagios 尝试了几个 SSL 插件,但没有一个可以做到。
有人有建议吗?
每当其中的一台服务器/etc/resolv.conf无法访问时,Linux/glibc/whatever 都不够智能,暂时无法重试。这导致许多服务变得不可用,因为其中许多服务对所有传入连接(如 SSH)进行反向查找,这将在第一次 DNS 服务器查询超时时挂起。
我怎样才能让我的 Ubuntu 机器对它使用的 DNS 服务器变得聪明?我可以破解一个每分钟运行一次的 bash 脚本,该脚本将拒绝规则插入到不响应挖掘查询的服务器的 iptables 中,但我宁愿不那样做...
我被告知 Windows 可以正确执行此操作,顺便说一句。
编辑:我通过将其放入/etc/resolv.conf(或/etc/resolvconf/resolv.conf.d/base)来解决它:
options timeout:2 rotate
Run Code Online (Sandbox Code Playgroud)
仍然不完美,但更可行。
我有一个磁盘可能损坏的系统,但磁盘通过了各种诊断。我一直无法确认磁盘是否损坏。我有哪些选择?
我可以只更换磁盘,但因为这种情况与我遇到的另一个更严重的情况非常相似(长话短说),我想实际做出正确的诊断,而不是随机装箱硬件。
问题和历史是这样的:
我想确认磁盘坏了,但我所做的一切都没有证实这一点:
smartctl -t long /dev/sda) 无错误完成。dd if=/dev/sda of=/dev/null bs=4096 以绚丽的色彩传递。我还能做些什么来评估驱动器的健康状况?
同样,这不是要让这个路由器再次完全正常运行,这是一个磁盘取证问题,因为碰巧我有另一台服务器可能有同样的问题,知道这个问题的答案可能会对我有很大帮助。
为了记录,以下是日志等。
这是smartctl -a输出:
smartctl 5.40 2010-07-12 r3124 [i686-pc-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF INFORMATION SECTION ===
Model Family: Seagate Barracuda 7200.7 and 7200.7 Plus …Run Code Online (Sandbox Code Playgroud) 本文指出 RAID 控制器对不可恢复的读取错误很聪明,并尝试使用组件驱动器的冗余来重写此类扇区。如果扇区坏了,磁盘的固件会透明地重新分配扇区。
Linux MD RAID 做类似的事情吗?也许我的 Google-Fu 不好,但我找不到任何关于它的信息。
我有一个非常奇怪的问题,某些数据包没有到达目标主机。当我们传输比 MTU 稍大的 POST 时,就会发生这种情况。我们可以用这个脚本重现它:
#!/usr/bin/python
import urllib2
magic_length = 2297
logurl = 'http://www.example.nl/'
data = (magic_length - len(logurl)) * 'X'
headers = {'content-type': 'application/x-www-form-urlencoded', 'User-Agent': 'Fake'}
request = urllib2.Request(logurl, data, headers)
handler = urllib2.build_opener(urllib2.HTTPHandler())
answer = handler.open(request, timeout=5)
Run Code Online (Sandbox Code Playgroud)
发送方没有收到 ACK 并进行重传。接收方永远不会看到它。
这取决于您运行脚本的位置以及 POST 的位置。我的家庭连接失败了(顺便说一句,几个月以来我遇到了 AJAX POST 无法通过的问题;因为我有一个新的调制解调器)。
如果我将发送机器的 MTU 减少 100,它会再次工作。但是,如果我也减少magic_length100,它会再次失败。第一个理论是我的 ADSL 层(如 PPPoA)添加了标头并导致数据包被错误地拆分,但当时似乎并非如此。
也许 MTU 发现出了问题。有些人可能会阻止所有ICMP?这是从我家到 google 的 traceroute 的第一部分:
traceroute to google.com (74.125.133.102), 30 hops max, 60 byte packets
1 dsldevice.lan (192.168.2.254) 0.453 ms 0.547 …Run Code Online (Sandbox Code Playgroud) 当您拥有 LVM 时,您将拥有一个用于/sys/block物理卷、每个单独逻辑卷和原始设备的调度程序条目。
我们有一个运行 Xen 管理程序 4.0(3Ware 9650 SE 硬件 RAID1)的 Debian 6 LTS x64、内核 2.6.32 系统。在每个逻辑卷上运行虚拟机时,如果您想影响操作系统如何调度它们,您需要在哪个逻辑卷上设置调度程序?如果将逻辑卷设置为deadline,那么当物理卷设置为 时,它还会做任何事情cfq吗?如果您确实将它设置为逻辑卷上的截止日期,即使由于其他 LV 上的 IO 设置为 IO 而导致磁盘速度变慢,这些截止日期也会得到遵守cfq吗?
问题与虚拟机上的 IO 导致其他虚拟机速度减慢有关。所有来宾都在内部使用 noop 作为调度程序。
编辑:根据this,在多路径环境中,只有DM的调度程序才会生效。因此,如果我想以某种deadline方式处理虚拟机之间的 IO ,我必须将物理卷的 DM 路径(在我的情况下为 dm-1)设置为deadline. 那正确吗?还有sdc的调度器,是我dm-1的原始块设备。为什么不应该这样做呢?
edit2:但是有人在评论中说 dm-0/1 在较新的内核中没有调度程序:
famzah@VBox:~$ cat /sys/block/dm-0/queue/scheduler
none
Run Code Online (Sandbox Code Playgroud)
在我的系统(Debian 6,内核 2.6.32)上,我有:
cat /sys/block/dm-1/queue/scheduler
noop anticipatory [deadline] cfq
Run Code Online (Sandbox Code Playgroud)
还有一个问题,我有多路径设置吗?pvs显示:
# pvs
PV VG Fmt Attr PSize PFree
/dev/dm-0 universe lvm2 …Run Code Online (Sandbox Code Playgroud) Ubuntu 22.04 在执行 apt 之后扫描正在运行的进程(以使用旧库)。它将显示“扫描进程”和“扫描候选者”:
我们的服务器(不幸的是)需要运行数以万计的进程。在这些服务器上,此过程大约需要 5 小时。
我明白这样做的原因,但是可以禁用它吗?到目前为止,我没有看到 apt 或 systemd 设置。
占用所有 CPU 的进程是systemd, 或/sbin/init(PID 1)。
该后缀手册页说,你可以指定一个动作unverified_recipient_tempfail_action。但我无法指定permit:
fatal: bad configuration: unverified_recipient_tempfail_action = permit
Run Code Online (Sandbox Code Playgroud)
所以我唯一的选择是拒绝、推迟或 defer_if_permit?
我对我的后备 MX 服务器使用收件人地址验证,它不应该延迟传入的邮件(因为如果我希望传入的邮件在主服务器宕机的情况下被延迟,我根本就没有备份 MX,所以消息是在传入的 SMTP 服务器延迟)。
但是现在,当验证缓存已过期或缓存还没有相关用户的条目时,它将推迟请求,从而违背备份 MX 服务器的目的。
那么我如何做到这一点,以便当主服务器宕机时,它会接受所有邮件?
更新:
我应该补充一点,该邮件服务器还充当 Plesk(控制面板)管理的 Web 托管服务器的传入邮件服务器。Plesk 没有垃圾邮件过滤(除了额外费用),所以我设置了另一个虚拟机来为该主机执行传入邮件和垃圾邮件过滤。我使用收件人地址验证来避免邮件队列被退回邮件填满(并在用户不存在时正确拒绝请求,并且稍后不接受并退回,避免反向散射邮件)。
但我也想使用该传入邮件服务器作为某些域的备份 MX(使用relay传输以避免传递循环)。我想对于这些域,我不需要reject_unverified_recipient。插入permit_mx_backup到smtpd_recipient_restrictions(之前reject_unverified_recipient)就足够了吗?
另一方面,我仍然认为在主主机未关闭期间使用收件人地址验证是有意义的:这可以避免反向散射邮件(由于向不存在的用户发送垃圾邮件,邮件被退回到(假)发件人)。
在任何情况下,对于传入邮件服务器的任何一种使用,都不可能创建收件人映射。一个原因是用户在 Plesk 机器上动态创建电子邮件地址,另一个原因是我们备份 MX 的域不在我们的控制之下,所以我们不知道有哪些用户。
我有一台带有 MD raid 的 Debian 服务器(2 个活动,一个备用):
Personalities : [raid1]
md1 : active raid1 sdc2[0] sdb2[1] sda2[2](S)
1068224 blocks [2/2] [UU]
md0 : active raid1 sdc1[2](S) sdb1[1] sda1[0]
487315584 blocks [2/2] [UU]
bitmap: 5/233 pages [20KB], 1024KB chunk
unused devices: <none>
Run Code Online (Sandbox Code Playgroud)
每当我启动此服务器时,阵列都会降级并开始同步备用磁盘。问题是,这似乎是因为它连接了一个 U 盘,目前是/dev/sdd. 当此磁盘不存在时,它可以正常启动。/dev/sdd1,唯一的分区,上面没有md超级块,分区类型是Linux,不是raid autodetect。
这是镜像设备的详细信息md0:
mdadm --detail /dev/md0
/dev/md0:
Version : 0.90
Creation Time : Sun Jun 8 04:10:39 2008
Raid Level : raid1
Array Size : 487315584 (464.74 GiB 499.01 GB) …Run Code Online (Sandbox Code Playgroud) 大家好,如果我犯了一个基本错误,我很抱歉,但我真的迷路了。
我已将 Ubuntu 16.04 服务器设置为 Nginx(不在 docker 容器中,在主机上运行)和 wordpress(在 docker 容器中)。
Docker Hub Wordpress 存储库:(我不能发布两个以上的链接,但它是官方的 Wordpress 存储库)
经过一些配置,我设法让 nginx 运行和 wordpress 容器。当我通过原始 IP 地址和端口访问 wordpress 网站时,它工作正常。但是,当我从 nginx 到容器执行 proxy_pass 时,我的 wordpress 网站似乎丢失了所有的 css。具有讽刺意味的是,该页面仍然有点加载。
这是一个示例:(指向图像的超链接)
http://[IP 地址]:51080/wp-admin/install.php
http://example.com/wp-admin/install.php
可用站点
upstream example.com {
server localhost:51080;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:51080;
}
}
Run Code Online (Sandbox Code Playgroud)
docker 运行命令
docker run --name example.com -d -v /docker/example.com:/var/www/html wordpress
Run Code Online (Sandbox Code Playgroud)
/etc/hosts(我已将以下行添加到文件中)
[IP address] example.com
Run Code Online (Sandbox Code Playgroud)
感谢您的任何帮助!
编辑:
日志条目:
<IP …Run Code Online (Sandbox Code Playgroud)