我们有超过 1000 个虚拟主机的 Apache 2.4 设置,每个虚拟主机都有多个记录器实例:
CustomLog "|/usr/bin/logger -t apache-access -p local6.notice -n xxxx" access_log
重新启动 httpd 需要 90 多秒,因为它打开了数千个到 rsyslog 服务器的连接。
关于如何提高效率的任何建议?
我们有超过 1000 个虚拟主机的 Apache 2.4 设置,每个虚拟主机都有多个记录器实例:
CustomLog "|/usr/bin/logger -t apache-access -p local6.notice -n xxxx" access_log
重新启动 httpd 需要 90 多秒,因为它打开了数千个到 rsyslog 服务器的连接。
关于如何提高效率的任何建议?
我正在使用 mdadm v4.1 运行 Centos 7.8
我在 RAID 10 中配置了 4 个 NVMe(每个 3.2TB),因此可用空间为 50%(6.4TB):
个性 : [raid10] md0 : active raid10 nvme5n1p16 nvme4n1p15 nvme0n1p1[4] nvme3n1p1[3] nvme2n1p1[2] nvme1n1p1 1 6250967040 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU] 位图 [UUUU] 0/4 页0KB],65536KB 块
我试图通过为此结果再添加 2 个 NVMe 来增加可用空间:
执行增长命令后,我有这个:
/dev/md0:
版本:1.2
创建时间:2020 年 9 月 23 日星期三 15:51:45
突袭级别:raid10
阵列大小:6250967040 (5961.39 GiB 6400.99 GB)
使用的开发大小:3125483520 (2980.69 GiB 3200.50 GB)
突袭设备
总数:6设备:6
持久性:超级块是持久的Intent Bitmap : Internal Update Time : Fri Sep 25 11:03:05 2020 State : clean, reshaping Active Devices : 6 Working Devices : 6 Failed Devices : 0 Spare Devices : 0 Layout : near=2 Chunk Size : 512K
一致性策略:位图
Reshape Status : 5% complete Delta Devices : 2, (4->6) Name : db04:0 (local to host db04) UUID : a0d10c0a:fd5fb830:e986407d:5dca539b Events : 7983 Number Major Minor RaidDevice State 4 259 7 0 active sync set-A /dev/nvme0n1p1 1 259 6 1 active sync set-B /dev/nvme1n1p1 2 259 5 2 active sync set-A /dev/nvme2n1p1 3 259 2 3 active sync set-B /dev/nvme3n1p1 6 259 11 4 active sync set-A /dev/nvme5n1p1 5 259 10 5 active sync set-B /dev/nvme4n1p1
阵列大小仍然是 6.4TB 而不是 9.6TB。似乎它正在复制 3 个数据副本。
我有 CentOS 7,它带有 Rsync 3.0.9。我下载了 3.1.1 el7 rpm 并使用 rpm -Uvh 安装。
现在守护进程拒绝启动。我试图创建:
/usr/lib/systemd/system/rsyncd.service
[Unit]
Description=A program for synchronizing files over a network
After=syslog.target network.target
ConditionPathExists=/etc/rsyncd.conf
[Service]
EnvironmentFile=-/etc/sysconfig/rsyncd
ExecStart=/usr/bin/rsync --daemon --no-detach "$OPTIONS"
[Install]
WantedBy=multi-user.target
没运气 :
/bin/systemctl status rsyncd.service
● rsyncd.service
Loaded: not-found (Reason: No such file or directory)
Active: failed (Result: exit-code) since Thu 2016-04-21 15:27:00 EDT; 56min ago
Main PID: 1452 (code=exited, status=20)
请注意配置中存在的那些引用文件:
-rw-r--r-- 1 root root 1699 Feb 4 14:27 /etc/rsyncd.conf
-rw-r--r-- 1 root root 11 Apr 21 16:09 /etc/sysconfig/rsyncd
我有一台带 Perc H200 控制器的 Dell Poweredge R410。
我想用 SSD 升级我的 15k RPM 阵列。两个磁盘都是 SAS 6Gbps。
如果我删除 2 个磁盘中的 1 个,用 SSD 替换,等待同步然后替换另一个磁盘,它会起作用吗?
HDD=600GB,SSD=800GB 或 400GB。如果 HDD 仅使用 100GB,控制器是否足够智能并允许与 400GB SDD 同步?
由于 Logjam 漏洞,我将我的密码限制为 ECDHE,我无法再从 Centos 机器上进行 curl。(来自 Ubuntu 的作品)
$ curl -v https://mysite.mydomain.com
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none
* NSS error -12286 (SSL_ERROR_NO_CYPHER_OVERLAP)
* Cannot communicate securely with peer: no common encryption algorithm(s).
使用 openssl 打开:
$ openssl s_client -connect mysite.mydomain.com:443
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES256-GCM-SHA384
我尝试使用显式密码--insecure 和--tlsv1.2,但没有运气
$ curl --ciphers TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 -v https://mysite.mydomain.com
curl: (59) Unknown cipher in list: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
编辑:尝试使用正确的 NSS 密码名称,并且小于 384 位:
curl --ciphers ecdhe_rsa_aes_128_sha_256 https://mysite.mydomain.com
* Connected to xxx (xxx) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* Unknown cipher in list: ecdhe_rsa_aes_128_sha_256
* Closing connection 0
curl: (59) Unknown cipher in list: ecdhe_rsa_aes_128_sha_256
发现了这个错误https://bugzilla.redhat.com/show_bug.cgi?id=1185708但并没有帮助我通过它。
SSLLabs 报告支持这些密码:
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030) ECDH 256 bits (eq. 3072 bits RSA) FS 256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f) ECDH 256 bits (eq. 3072 bits RSA) FS 128
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028) ECDH 256 bits (eq. 3072 bits RSA) FS 256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027) ECDH 256 bits (eq. 3072 bits RSA) FS 128
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014) ECDH 256 bits (eq. 3072 bits RSA) FS 256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013) ECDH 256 bits (eq. 3072 bits RSA) FS 128
我有 nginx 1.6.2 配置来升级到 websocket 的连接。
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
当没有打开 websocket 连接时,“service nginx stop”起作用,master 和 worker 进程都被优雅地停止。
killproc $prog -QUIT
但是当我打开 websocket 时,nginx 无法停止,即使我得到:
Stopping nginx: [ OK ]
我试过了 :
杀进程 $prog -KILL
但正如预期的那样,它会在我第一次运行命令时强行杀死主人,如果我重新执行,它会强制杀死工人。
您建议在 nginx 上强制关闭什么?我正在考虑将 killproc 替换为:
杀戮 $prog
我有一个 JSON 文件,我需要更新一个特定的值。
{
"Comment": "comment",
"test": {
"enabled": true
},
"enabled": true,
"otherStuff": blah,
"otherStuff2": blah,
"otherStuff3": blah,
}
我想将第二个“启用”的值更改为 false。使用 JQ Parser,我可以使用jq '.enabled '轻松检索它,但我不确定操作 JSON 的最佳方法是什么。
JSON 是我从 API 获得的响应,将来可能会发生变化,我不能依赖之前/之后的行或值。
我正在使用 Cloudformation 在 Amazon 中启动 2 个 EC2 实例,第二个实例在第一个实例之后大约 30 秒启动。
配置如下所示:
实例 2
state BACKUP
interface eth0
virtual_router_id 51
priority 100
unicast_peer {
172.17.16.10
}
实例 1
state MASTER
interface eth0
virtual_router_id 51
priority 100
unicast_peer {
172.17.16.11
}
两者都配置了成功的相同健康检查。
我设置了相同的优先级,这样就不会出现抖动问题(如果 MASTER 关闭,则将 BACKUP 转换为新的 MASTER,但如果 OLD MASTER 重新启动,则保持原样)。
问题发生在初始启动期间:
两者应该具有相同的优先级,那为什么呢?
我注意到有关内核 IPVS 和主机指纹计算的日志消息仅在 keepalived 启动后才会打印。这让我认为keepalived是系统上第一个使系统在网络接口上交换数据包并以某种方式触发不必要的故障转移的软件。
此外,实例 2 在 keepalived 启动后立即进入 BACKUP STATE :
Nov 17 17:43:58 ip-172-17-16-11 Keepalived_vrrp[2403]: Using LinkWatch kernel netlink reflector...
Nov 17 17:43:58 ip-172-17-16-11 Keepalived_vrrp[2403]: VRRP_Instance(VI_1) Entering BACKUP STATE
Nov 17 17:43:58 ip-172-17-16-11 Keepalived_vrrp[2403]: VRRP sockpool: [ifindex(2), proto(112), unicast(1), fd(15,16)]
而实例 1 仅在内核 IPVS 消息和指纹之后才成为 MASTER:
Nov 17 17:44:28 ip-172-17-16-10 kernel: [ 157.650360] IPVS: Registered protocols (TCP, UDP, SCTP, AH, ESP)
Nov 17 17:44:28 ip-172-17-16-10 kernel: [ 157.654035] IPVS: Connection hash table configured (size=4096, memory=64Kbytes)
Nov 17 17:44:28 ip-172-17-16-10 kernel: [ 157.658356] IPVS: Creating netns size=2048 id=0
Nov 17 17:44:28 ip-172-17-16-10 kernel: [ 157.661163] IPVS: ipvs loaded.
Nov 17 17:44:28 ip-172-17-16-10 Keepalived_healthcheckers[2391]: Opening file '/etc/keepalived/keepalived.conf'.
Nov 17 17:44:28 ip-172-17-16-10 Keepalived_healthcheckers[2391]: Configuration is using : 5174 Bytes
Nov 17 17:44:28 ip-172-17-16-10 Keepalived_healthcheckers[2391]: Using LinkWatch kernel netlink reflector...
Nov 17 17:44:28 ip-172-17-16-10 Keepalived_vrrp[2392]: VRRP_Script(chk_haproxy) succeeded
Nov 17 17:44:29 ip-172-17-16-10 ec2:
Nov 17 17:44:29 ip-172-17-16-10 ec2: #############################################################
Nov 17 17:44:29 ip-172-17-16-10 ec2: -----BEGIN SSH HOST KEY FINGERPRINTS-----
Nov 17 17:44:29 ip-172-17-16-10 ec2: -----END SSH HOST KEY FINGERPRINTS-----
Nov 17 17:44:29 ip-172-17-16-10 ec2: #############################################################
Nov 17 17:44:29 ip-172-17-16-10 Keepalived_vrrp[2392]: VRRP_Instance(VI_1) Transition to MASTER STATE
-- 测试配置:
所以一切看起来都很好。
我有一个 JSON 文件,其中包含多次出现的replaceme
.
我只想根据上面几行找到的特定字符串替换一个事件。
例如,
[...]
"title" : {
"Propertie1" : "xxxx",
"Propertie2: "replaceme"
}
"title2" : {
"Propertie1" : "xxxx",
"Propertie2: "replaceme"
}
"title" : {
"Propertie1" : "xxxx",
"Propertie2: "replaceme"
}
"title2" : {
"Propertie1" : "xxxx",
"Propertie2: "replaceme"
}
[...]
在此示例中,我只想replaceme
替换title2
.
我awk 'title2/,/replaceme/' myFile
能够找到我的 JSON 文件的一部分。我是否也需要执行 sed 命令,但我不知道如何,或者是否有可能这样做?
我们正在尝试设计一种能够处理超过 64k 个 websocket 的架构。
我们首先尝试使用 Amazon ELB,但它的设计不允许意外的流量峰值和 websocket。(TCP 模式意外超时 websockets)
使用 HAProxy,这些限制不适用,但我们将限制在 HA 和后端服务器之间维护的 ~64k websockets。
想到的多种解决方案:
有一个更好的方法吗 ?
我已经设置了一个 Cloudformation 模板来启动一个安装了 Logstash 和 Elasticsearch(未嵌入)的实例。
我在 Logstash 上配置了标准 tcp 输入并将其输出到 Elasticsearch 集群。
当我启动多个实例时,所有的 Elasticsearch 实例都会找到彼此,选出一个 Master,同步等等。问题是当我这样做时:
curl -XGET 'http://localhost:9200/_cluster/nodes?pretty=1'
主节点,只有主节点向我展示了一个额外的节点:
“8kLMLhP-RHGdgcYGlt3dEQ”:{
“名称”:“Bling”,
“transport_address”:“inet[/10.226.186.84:9301]”,
“主机名”:“ip-10-226-186-84”,
“版本” :“0.90.9”,
“属性”:{
“客户端”:“真”,
“数据”:“假”
}
这是在 9301 上运行的 logstash 实例。我不明白它为什么这样做。
我有一个 Exchange 2003,它对我唯一的一个域具有权威性。它在我的 DMZ 和 NAT 中。
我是一个开放的中继,发送成千上万的垃圾邮件。我想停止它,但我仍然想接收来自任何域的电子邮件,但仅限于我的域。
所以我必须让匿名身份验证检查并且不能使用中继“仅允许来自”白名单 IP,因为如果请求来自外部或内部,源 IP 是相同的(由于 NAT'ed 架构)
我有什么选择?
我有多个 apache 重写不同的 Query_String 转换为 nginx:
ServerName oldsite.com
RewriteCond %{QUERY_STRING} ^ubb=showflat&Number=662213$
RewriteRule ^/ubbthreads/ubbthreads.php$ http://newsite.com/1/? [R=301,NC,L]
RewriteCond %{QUERY_STRING} ^ubb=showflat&Number=662214$
RewriteRule ^/ubbthreads/ubbthreads.php$ http://newsite.com/2/? [R=301,NC,L]
-->
server {
listen 80;
server_name oldsite.com;
location ~ /ubbthreads/{
if ($arg = "ubb=showflat&Number=662213"{
rewrite ^ubbthreads/ubbthreads.php http://newsite.com/1/? permanent;
}
if ($arg = "ubb=showflat&Number=662214"{
rewrite ^ubbthreads/ubbthreads.php http://newsite.com/2/? permanent;
}
}
那是正确的方法吗?如果没有 if ,还有另一种方法可以做到这一点吗?
我有一个通过 mrepo / createrepo 更新的本地 yum 存储库,我所有的服务器都针对这个本地存储库进行更新,但它总是安装最后一个版本,这对生产环境不利。
我想实施一个程序来控制哪些版本的软件包被授权由客户提取。所以我需要有多个版本的包。
我在 /etc/mrepo.conf 中尝试了以下参数,但在“ mrepo -uvvg ”期间我仍然看到由于更新版本而删除的包
mirrordir-cleanup = no
reposync-cleanup = no
reposync-newest-only = no
rhnget-cleanup = no
rhnget-download-all = yes
rsync-cleanup = no
/etc/mrepo.d/centos.conf :
[centos6]
name = CentOS Repo $release ($arch)
release = 6
arch = x86_64
metadata = repomd repoview yum
### Additional repositories
centos6 = http://mirror.csclub.uwaterloo.ca/centos/$release/os/$arch/
centos6-updates=http://mirror.csclub.uwaterloo.ca/centos/$release/updates/$arch/
在我的 SBS 08 (AD, exchange) 中,是否可以更改用户的姓名、电子邮件地址,因为他要离开,我想将所有帐户和凭据转移给替换他的新员工。
为这个用户设置了很多东西,如果我可以转移这样的帐户,它将为我节省很多时间。
谢谢你的帮助 !
我正在尝试在我的 IIS 上配置第二个网站。第一个在端口 80 上运行良好。我不需要任何 DNS,所以我使用http://public_ip_address访问它,仅此而已。
我创建了一个新网站,给它端口 8080,文件夹路径。当我尝试http://localhost:8080时,它在本地有效,但是当我从外部尝试http://public_ip_address:8080时,没有任何响应。
我启用了匿名身份验证,但仍然没有。
我错过了什么?
谢谢你的帮助!
我有 SBS 08 和 XP/Vista/7 的用户。我想知道是否可以在 AD 用户登录域时向他们广播消息(例如告诉用户将完成重启,类似的事情) 我没有使用终端服务器。
我在计算机管理 -> 共享文件夹 -> 右键单击所有任务中找不到“发送消息”。
谢谢你的帮助。