我想了解 systemd-journald 和 rsyslog 如何协同工作。日志是否存储在 /var/logs 中?
du -h /var/log/journal/
满足我的需要吗?
我想了解 systemd-journald 和 rsyslog 如何协同工作。日志是否存储在 /var/logs 中?
du -h /var/log/journal/
满足我的需要吗?
dnf
使用 Leapp 实用程序将某些服务器从 RHEL8 升级到 RHEL9 后,升级后会出现一些警告rpm
:警告:不支持签名。哈希算法 SHA1 不可用。
每次运行任何这些命令时,我都会收到以下警告:
[root@web ~]# rpm -q kernel
warning: Signature not supported. Hash algorithm SHA1 not available.
warning: Signature not supported. Hash algorithm SHA1 not available.
kernel-5.14.0-362.18.1.el9_3.x86_64
kernel-5.14.0-427.18.1.el9_4.x86_64
kernel-5.14.0-427.20.1.el9_4.x86_64
[root@web ~]# dnf repolist
warning: Signature not supported. Hash algorithm SHA1 not available.
warning: Signature not supported. Hash algorithm SHA1 not available.
Updating Subscription Management repositories.
repo id repo name
rhel-9-for-x86_64-appstream-rpms Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs)
rhel-9-for-x86_64-baseos-rpms Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs)
我不知道哪个软件包或什么触发了这个问题。网络上提供的大部分解决方案都涉及重新启用 SHA1,但这并不是有效的解决方案。
el9
除某些软件包外,所有软件包均带有标签gpg-pubkey
,因此我认为 RHEL9 中没有任何内容。
[root@web ~]# rpm -qa | grep -v el9
warning: Signature not supported. Hash algorithm SHA1 not available.
warning: Signature not supported. Hash algorithm SHA1 not available.
gpg-pubkey-fd431d51-4ae0493b
gpg-pubkey-a14fe591-578876fd
gpg-pubkey-d4082792-5b32db75
我如何才能追踪真正的问题以摆脱这些警告?
我们有 8 台 Cisco 服务器,其中 12 个用于数据的旋转磁盘和 2 个用于操作系统的 SSD。这 2 个 SSD 位于 Linux 软件 raid 1 中。这些 SSD 的磨损指示器均为个位数,其中一些达到 1 的值已发生故障。我正在将它们全部从备件中更换(这是一个漫长而烦人的过程),但我注意到磨损指标每周下降 1% 或 2%(我没有进行精确测量)。这些服务器上运行着一个应用程序,供应商给了我一些模糊的想法,但我确实需要找到它正在写入的目录。这样我就可以真正突出问题并敦促供应商进行修复。我搜索了一些,但没能找到太多。例如,iotop 显示完整磁盘吞吐量,包括 12 个旋转磁盘。操作系统是Redhat 7.9
回答一些问题:
我们正在运行 Rocky Linux 8.9(本质上是 RHEL 8.9)商店,我的任务是调查通过 NFS 挂载的文件系统上的 ACL。我们也使用 FreeIPA/IdM。
我已经设置了一台测试机器,将其注册到 IdM,导出 NFS 共享,并将其安装在本地,但 ACL 部分似乎缺少:
[root@example ~]# cat /etc/exports
/export/ *(rw,acl,no_root_squash)
[root@example ~]# mount | grep /export
localhost:/export on /mnt type nfs4 (rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp6,timeo=600,retrans=2,sec=sys,clientaddr=::1,local_lock=none,addr=::1)
[root@example ~]# cd /mnt/
[root@example mnt]# touch testfile
[root@example mnt]# getfacl testfile
# file: testfile
# owner: root
# group: root
user::rw-
group::r--
other::r--
[root@example mnt]# setfacl -m u:user:r testfile
setfacl: testfile: Operation not supported
有几个问题:
getfacl
andsetfacl
而不是 nfs4_ 等效项,这是否正确理解?sec=sys
应该替换的地方。seckrb5
更新:
我进行了更多研究,并取得了一个小小的突破:nfsv4_set*acl
只要使用数字 UID 或 GID,NFS 共享就可以正常工作。造成问题的是 IdM/Kerberos 的耦合。
我有一台 7.9 Redhat 服务器,大约有 30 个用户、64 个内核和 512 Go RAM。我有几个僵尸进程,我不知道用户到底是什么创建了这些进程,但我在阅读互联网上的内容后有一种感觉,当他们的会话被终止时,它将杀死所有僵尸进程,因为“父”进程将被终止。
所以让我们想象一下,如果一个用户在其会话期间创建大约 30 个僵尸进程,那么最多可以有 900 个僵尸进程,这只是一个近似值,因为一个用户的会话持续时间越长,僵尸进程数就越高。我是否需要监控这个数字以避免服务器崩溃或类似的情况?
我知道僵尸进程不占用任何资源(RAM、CPU 等),但这也是该值不能高于限制的证据......
我还知道有时用户会断开连接,然后清理僵尸进程,因此僵尸进程的数量可能会减少......
我在使用 proftpd 1.3.8a 的 RHEL 8.6 上遇到此问题
我有一个 proftpd 服务器设置,用户名为 IFTPTEST。在其主目录中,该用户有 2 个目录,in/ 和 out/。我的目标是:我将文件放在 out/ 目录中,用户连接到服务器(使用用户名/密码)来获取文件。
当用户连接时,它可以进入out/目录,列出该目录的内容并将文件放入该目录中。但是,当它尝试获取文件时,出现权限被拒绝错误:
sftp> ls -al
drwxrwxr-x 3 IFTPTEST 1000 4096 Nov 9 10:02 .
drwxrwxr-x 3 IFTPTEST 1000 4096 Nov 9 10:02 ..
drwxrwxr-x 2 IFTPTEST 1000 4096 Nov 9 10:08 in
drwxrwxrwx 2 IFTPTEST 1000 4096 Nov 9 10:05 out
sftp> cd out
sftp> ls -al
drwxrwxrwx 2 IFTPTEST 1000 4096 Nov 9 10:05 .
drwxrwxr-x 3 IFTPTEST 1000 4096 Nov 9 10:02 ..
-rwxrwxrwx 1 IFTPTEST 1000 13 Nov 9 10:05 test
sftp> get test test.txt
Fetching /out/test to test.txt
remote open("/out/test"): Permission denied
即使使用 out/ 目录和具有 777 权限的测试文件,我也会收到Permission returned。
在 sftp.log 中,我可以看到:
OPEN command for '/out/test' blocked by 'RETR' handler
在 /var/log/messages 中:
RETR /appli_var/XFRF/xfrf_files/ftpusers/IFTPTEST/out/test denied by <Limit> configuration
我不明白,因为我在 proftpd.conf 中有 out/ 目录的 RETR 设置(见下文)。
这是一个已知问题吗?我的配置有问题吗?
proftpd.conf 的内容(我没有放置整个文件):
# Proftpd server configuration
[...]
LoadModule mod_vroot.c
<Global>
VRootEngine on
VRootLog /appli_var/XFRF/proftpd/vroot.log
VRootOptions allowSymlinks
DefaultRoot ~
</Global>
[...]
# Directory limits
<Global>
<Directory />
<Limit ALL>
DenyAll
</Limit>
<Limit CDUP CWD LIST MDTM MLSD MLST NLST PWD STAT XCUP XPWD OPENDIR READDIR REALPATH LSTAT FSTAT SETSTAT STOR SITE_CHMOD>
AllowAll
</Limit>
</Directory>
<Directory /in>
<Limit ALL>
DenyAll
</Limit>
<Limit CDUP CWD LIST MDTM MLSD MLST NLST PWD STAT XCUP XPWD RETR SIZE APPE DELE RNFR RNTO STOR STOU SITE_CHMOD SETSTAT FSETSTAT LSTAT FSTAT READ>
AllowAll
</Limit>
</Directory>
<Directory /out>
<Limit ALL>
DenyAll
</Limit>
<Limit CDUP CWD LIST MDTM MLSD MLST NLST PWD STAT XCUP XPWD RETR SIZE DELE SITE_CHMOD SETSTAT FSETSTAT LSTAT FSTAT READ>
AllowAll
</Limit>
</Directory>
</Global>
[...]
LoadModule mod_sftp.c
# SFTP virtual server (user/password authentication)
# ----------------------------------------------------
<VirtualHost 10.19.xx.xxx>
<Limit LOGIN>
AllowAll
</Limit>
ServerName "SFTP Server"
Port 20022
AccessGrantMsg "Welcome to SFTP %u"
SFTPEngine on
SFTPHostKey /appli/XFRF/proftpd/etc/ssh/proftpd_dsa_key
SFTPHostKey /appli/XFRF/proftpd/etc/ssh/proftpd_rsa_key
SFTPHostKey /appli/XFRF/proftpd/etc/ssh/proftpd_ecdsa_key
SFTPAuthMethods password
SFTPCompression delayed
SFTPLog /appli_var/XFRF/proftpd/sftp.log
ExtendedLog /appli_var/XFRF/proftpd/sftp_extended.log
TransferLog /appli_var/XFRF/proftpd/sftp_transfer.log
ServerLog /appli_var/XFRF/proftpd/sftp_server.log
</VirtualHost>
[...]
如果有必要,我可以在 /var/log/messages 中看到更多内容:
dispatching PRE_CMD command 'LSTAT /out/test' to mod_tls
dispatching PRE_CMD command 'LSTAT /out/test' to mod_exec
dispatching PRE_CMD command 'LSTAT /out/test' to mod_core
dispatching PRE_CMD command 'LSTAT /out/test' to mod_core
in dir_check(): setting umask to 0022 (was 0022)
dispatching POST_CMD command 'LSTAT /out/test' to mod_exec
dispatching LOG_CMD command 'LSTAT /out/test' to mod_log
dispatching PRE_CMD command 'STAT /out/test' to mod_tls
dispatching PRE_CMD command 'STAT /out/test' to mod_exec
dispatching PRE_CMD command 'STAT /out/test' to mod_core
dispatching PRE_CMD command 'STAT /out/test' to mod_core
in dir_check(): setting umask to 0022 (was 0022)
dispatching POST_CMD command 'STAT /out/test' to mod_exec
dispatching LOG_CMD command 'STAT /out/test' to mod_log
dispatching PRE_CMD command 'RETR /out/test' to mod_tls
dispatching PRE_CMD command 'RETR /out/test' to mod_exec
dispatching PRE_CMD command 'RETR /out/test' to mod_core
dispatching PRE_CMD command 'RETR /out/test' to mod_core
dispatching PRE_CMD command 'RETR /out/test' to mod_vroot
dispatching PRE_CMD command 'RETR /out/test' to mod_vroot
dispatching PRE_CMD command 'RETR /out/test' to mod_auth
dispatching PRE_CMD command 'RETR /out/test' to mod_xfer
in dir_check_full(): path = '/appli_var/XFRF/xfrf_files/ftpusers/IFTPTEST/out/test', fullpath = '/appli_var/XFRF/xfrf_files/ftpusers/IFTPTEST/out/test'
RETR /appli_var/XFRF/xfrf_files/ftpusers/IFTPTEST/out/test denied by <Limit> configuration
dispatching POST_CMD_ERR command 'RETR /out/test' to mod_exec
dispatching POST_CMD_ERR command 'RETR /out/test' to mod_vroot
dispatching POST_CMD_ERR command 'RETR /out/test' to mod_auth
dispatching LOG_CMD_ERR command 'RETR /out/test' to mod_log
dispatching LOG_CMD_ERR command 'RETR /out/test' to mod_xfer
dispatching POST_CMD_ERR command 'OPEN /out/test' to mod_exec
dispatching LOG_CMD_ERR command 'OPEN /out/test' to mod_log
我们有 254 台物理服务器,所有机器都是 DELL 服务器 R740。
服务器是 Hadoop 集群的一部分。其中大多数拥有HDFS文件系统和数据节点和节点管理器服务,其中一部分是Kafka机器。
物理服务器上安装的操作系统是RHEL 7.9
现在我们要向集群添加额外的 52 台物理服务器。但我们只能添加R760
必须安装的DELL 服务器RHEL 8.6
每台物理服务器包括256G和64个核心。
问题是我们无法使用 RHEL 8.6 版本,因为 Hadoop 版本。不适合 RHEL 8.6
因此,我们需要保留 RHEL 7.9 版本,但另一方面 DELL 服务器 R760 无法与 RHEL 7.9 保持一致
所以,我们正在考虑使用VM机器而不是DELL R760物理机。
我们很清楚虚拟机的性能与物理机的性能不同。
但我们可以这么说。如果我们将虚拟机上的默认内存从 256G 增加到 384G,并将核心数从 64 增加到 80 个核心
因此,如果我们将 VM 机器设置为具有更多内存和 CPU 的上述规格
那么添加额外的虚拟机有意义吗?到Hadoop集群而不担心性能问题?
我们有一台 RHEL 7.9 服务器,充当为多个子网提供服务的 DHCP/TFTP (PXE) 服务器。以下是 dhcpd.conf 文件的副本(DHCP/PXE 服务器是 XY145.98):
allow bootp;
allow booting;
max-lease-time 1200;
default-lease-time 900;
subnet X.Y.145.96 netmask 255.255.255.224 {
option routers X.Y.145.126;
range X.Y.145.100 X.Y.145.105;
next-server X.Y.145.98;
filename "pxelinux.0"
}
subnet X.Y.145.144 netmask 255.255.255.248 {
option routers X.Y.145.145;
range X.Y.145.146 X.Y.145.150;
next-server X.Y.145.98;
filename "pxelinux.0"
}
我们看到的问题是 grub.cfg 正在抓取options router
变量的参数IP pxe_default_server
,而不是next-server
参数。然后使用此 ( pxe_default_server
) 定义变量net_default_server
参数,我们的 PXE 失败,因为它指向网关 IP 而不是 DHCP/PXE 服务器 IP。如果我们编辑 grub.cfg 文件以将参数硬编码pxe_default_server
为等于 DHCP/PXE 服务器的 IP...我们可以正常启动并下载映像。我应该使用不同的参数吗?
我目前在 Redhat 8 机器上配置了带有 SSL 证书的 Web 服务器。我无法正常运行apachectl configtest
返回Invalid command 'SSLCertificateFile', perhaps misspelled or defined by a module not included in the server configuration
我发现该模块mod_ssl
丢失了。因为我只是简单地绑定了yum install mod_ssl
与 redhat 8 中没有存储库匹配的内容。然后我在https://pkgs.org/search/?q=mod_ssl上搜索可以获得该包。我以为certwatch-mod_ssl-1.2-1.el8.x86_64.rpm
可以完成这项工作,但它也需要mod_ssl
返回nothing provides mod_ssl needed by certwatch-mod_ssl-1.2-1.el8.x86_64
我剩下的选项是为 Raven Modular x86_64 的 ssl 模块安装第三方存储库。我无法想象 RH8 没有为 apache 服务器提供任何自己的 ssl 模块。依赖第三方来完成如此基本而关键的任务感觉是不正确的。
我有一个非常奇怪的问题。我已经设置了我的私人 yum 存储库,它提供的 rpm 很好,除了 1 rpm。
假设我已经构建并复制了所有 rpm 到我的自定义存储库目录,大致如下:
postgresql-myStuff11-11.7-2.el8.x86_64.rpm
postgresql-myStuff11-libs-11.7-2.el8.x86_64.rpm
postgresql-myStuff11-devel.7-2.el8.x86_64.rpm
postgresql-myStuff11-docs-11.7-2.el8.x86_64.rpm
...
所有这些都在那里,我已经清除了我的 yum 缓存,使用重建了我的 yum 存储库,createrepo --update
甚至删除了整个repodata
文件夹并重新创建它等。但无论我做什么,当我运行yum search myStuff
(或myStuff11 等)。
它只会返回除主包之外的所有其他内容。
Searching Packages:
==========================================================================================
Name Matched: myStuff11
==========================================================================================
postgresql-myStuff11-libs.x86_64 : The shared libraries required for any PostgreSQL clients
Repo : @System
Matched from:
Provide : postgresql-myStuff11-libs = 11.7-2.el8
...
起初,我认为这可能是因为Name:
我的规范文件内部使用了定义的变量,但即使在我将其更改为字符串之后,它仍然是完全相同的东西......
问题:
yum
看到包裹postgresql-myStuff11-11.7-2.el8.x86_64.rpm
?