AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-22333

Bastien974's questions

Martin Hope
Bastien974
Asked: 2024-07-30 00:59:40 +0800 CST

Chamadas para php mail() não estão na fila no postfix

  • 5

Estou executando CentOS7, PHP 8.0.30, postfix 2.10.1-9.el7 Às vezes, e-mails que tentamos enviar através da função php mail() não são enviados e após ativar o log detalhado para coleta, limpeza, qmgr, smtp do postfix, notamos nada está sendo captado.

captador unix n - n 60 1 captador -v

O email é perdido entre mail() (cuja chamada é registrada no syslog) e postfix.

Sendmail está definido corretamente no php.ini

sendmail_path = /usr/sbin/sendmail -t -i

Nosso mesmo código funciona perfeitamente em outro servidor do pool, mas não neste servidor em particular. Alguma ideia?

php
  • 2 respostas
  • 104 Views
Martin Hope
Bastien974
Asked: 2023-05-04 21:34:39 +0800 CST

Combine milhares de instâncias do logger

  • 5

Temos a configuração do Apache 2.4 com mais de 1000 vhosts e várias instâncias do logger em cada:

CustomLog "|/usr/bin/logger -t apache-access -p local6.notice -n xxxx" access_log

Reiniciar o httpd leva mais de 90 segundos porque está abrindo milhares de conexões com o servidor rsyslog.

Algum conselho sobre como torná-lo mais eficiente?

apache-2.4
  • 1 respostas
  • 15 Views
Martin Hope
Bastien974
Asked: 2020-09-26 07:33:54 +0800 CST

Aumente o espaço aumentando o mdadm RAID10 de 4 para 6 (e mais)

  • 0

Estou executando o Centos 7.8 com mdadm v4.1

Eu tenho 4 NVMe (3,2 TB cada) configurados em um RAID 10, portanto, 50% de espaço útil (6,4 TB):

Personalidades: [raid10] md0: raid10 ativo nvme5n1p16 nvme4n1p15 nvme0n1p1[4] nvme3n1p1[3] nvme2n1p1[2] nvme1n1p1 1 6250967040 blocos super 1.2 512K pedaços 2 cópias próximas [4/4] [UUUU] bitmap: 0KB], bloco de 65536KB

Estou tentando aumentar o espaço utilizável adicionando mais 2 NVMe para este resultado: insira a descrição da imagem aqui

Depois de executar o comando grow, tenho isso:

/dev/md0:
Versão: 1.2
Tempo de criação: qua Sep 23 15:51:45 2020
Raid Level: raid10
Array Size: 6250967040 (5961,39 GiB 6400,99 GB)
Usado Dev Size: 3125483520 (2980,69 GiB 3200,50 GB) Raid
Devices
Dispositivos: 6
Persistência: Superblock é persistente

 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

Política de consistência: bitmap

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

O tamanho da matriz ainda é 6,4 TB e não 9,6 TB. Parece que está fazendo 3 cópias dos dados.

mdadm software-raid raid10
  • 1 respostas
  • 83 Views
Martin Hope
Bastien974
Asked: 2016-08-27 08:08:31 +0800 CST

Canalize o resultado do grep para o awk com ":" como separador de campo

  • 2

Gostaria de filtrar o resultado de um comando grep, por exemplo:

myRepo/path/to/my/file.php:123:                             error_log(' - myError');

Se eu fizer o seguinte, funciona.

echo " meuRepo/caminho/para/meu/arquivo.php:123: error_log(' - meuErro');" | awk -F': ' '{print $1}'

Mas quando é o resultado de um comando grep, ele gera a linha inteira, por quê?

grep -rn "meuErro" | awk -F': ' '{print $1}'

Eu tenho CentOS 6 com Awk 3.1.7, bash 4.1.2

grep awk
  • 2 respostas
  • 4772 Views
Martin Hope
Bastien974
Asked: 2016-04-22 12:24:21 +0800 CST

Instale o rsync 3.1.1 no systemd

  • 2

Eu tenho CentOS 7 e vem com Rsync 3.0.9. Baixei o 3.1.1 el7 rpm e instalei com rpm -Uvh.

Agora o daemon se recusa a iniciar. tentei criar:

/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

Sem sorte:

/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)

Observe que esses arquivos referenciados na configuração existem:

-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
rsync systemd
  • 2 respostas
  • 9143 Views
Martin Hope
Bastien974
Asked: 2016-02-18 08:45:22 +0800 CST

Misture HDD e SSD na mesma matriz RAID 1

  • 2

Eu tenho um Dell Poweredge R410 com controlador Perc H200.

Gostaria de atualizar meus arrays de 15k RPM com SSD. Ambos os discos são SAS 6 Gbps.

  • Funcionará se eu remover 1 dos 2 discos, substituir pelo SSD, aguardar a sincronização e substituir o outro?

  • HDD=600GB, SSD=800GB ou 400GB. Se o HDD tiver apenas 100GB usados, o controlador será inteligente o suficiente e permitirá a sincronização com um SDD de 400GB?

raid
  • 1 respostas
  • 3730 Views
Martin Hope
Bastien974
Asked: 2015-07-08 12:12:08 +0800 CST

Limitar solicitações máximas/segundo para um caminho específico no HAProxy

  • 2

Estou tentando alcançar este cenário:

Apenas em um caminho específico, recebo 9 solicitações/s constantes no front-end. Está tudo bem, use o Backend regular. Agora recebo 11 req/s, quero rejeitar qualquer solicitação acima de 10. Mas ainda quero continuar respondendo no máximo 10 req/s.

Tudo o que encontrei e tentei implementar (como este: https://blog.codecentric.de/en/2014/12/haproxy-http-header-rate-limiting/ ), é uma solução preta ou branca, descarta tudo uma vez que o taxa é atingida. Portanto, é uma proteção contra DDOS, abusador, mas não uma solução de limitação de taxa real.

Existe alguma maneira de conseguir isso?
PS: usando HAproxy 1.5.8

haproxy
  • 1 respostas
  • 10171 Views
Martin Hope
Bastien974
Asked: 2015-07-04 11:47:00 +0800 CST

Handshake SSL com CentOS, curl e ECDHE

  • 1

Como limitei minhas cifras a ECDHE por causa das vulnerabilidades do Logjam, não consigo mais fazer um curl a partir de uma máquina Centos. (funciona no 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).

Abrindo com o openssl funciona:

$ openssl s_client -connect mysite.mydomain.com:443 
   SSL-Session:
     Protocol  : TLSv1.2
     Cipher    : ECDHE-RSA-AES256-GCM-SHA384

Eu tentei com cifra explícita, --insecure e --tlsv1.2, sem sorte

$ 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

Editar: tentei com o nome de cifra NSS correto e menos de 384 bits:

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

Encontrei este bug https://bugzilla.redhat.com/show_bug.cgi?id=1185708 mas não me ajuda a passar por isso.

Os SSLLabs relatam essas cifras como suportadas:

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
centos
  • 1 respostas
  • 17633 Views
Martin Hope
Bastien974
Asked: 2015-02-27 07:44:31 +0800 CST

Nginx não para com conexão websocket

  • 0

Eu tenho o nginx 1.6.2 com configuração para atualizar a conexão com o websocket.

 proxy_set_header Upgrade $http_upgrade;
 proxy_set_header Connection "upgrade";

Quando nenhuma conexão de websocket é aberta, o "service nginx stop" funciona, os processos mestre e de trabalho são interrompidos normalmente.

    killproc $prog -QUIT

Mas quando eu tenho um websocket aberto, o nginx não pode ser interrompido, mesmo que eu receba:

Stopping nginx:                                            [  OK  ]

Eu tentei :

killproc $prog -KILL

mas, como esperado, ele mata com força o mestre na primeira vez que executo o comando e o trabalhador se eu executar novamente.

O que você recomenda para forçar um desligamento no nginx? Estou pensando em substituir killproc por:

pkill $prog

nginx
  • 1 respostas
  • 1307 Views
Martin Hope
Bastien974
Asked: 2015-02-10 11:51:21 +0800 CST

Manipular JSON no bash

  • 6

Eu tenho um arquivo JSON que preciso atualizar um valor específico.

{
  "Comment": "comment",
  "test": {
    "enabled": true
  },
  "enabled": true,
  "otherStuff": blah,
  "otherStuff2": blah,
  "otherStuff3": blah,
}

Gostaria de mudar o valor do segundo "enabled" para false. Com o JQ Parser, posso recuperá-lo facilmente com jq '.enabled ', mas não tenho certeza de qual é a melhor maneira de manipular o JSON.

O JSON é uma resposta que recebo de uma API e pode mudar no futuro, não posso confiar na linha ou valor antes/depois.

bash
  • 2 respostas
  • 18323 Views
Martin Hope
Bastien974
Asked: 2014-11-18 08:13:03 +0800 CST

Keepalived transição indesejada para mestre

  • 1

Estou iniciando 2 instâncias do EC2 na Amazon com Cloudformation, a segunda instância inicia cerca de 30 segundos após a primeira.

A configuração fica assim:

Instância 2

    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 100
    unicast_peer {
        172.17.16.10
    }

Instância 1

    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    unicast_peer {
        172.17.16.11
    }

Ambos são configurados com a mesma verificação de integridade bem-sucedida.

Eu defino a mesma prioridade para não ter um problema de flapping (se o MASTER cair, faça a transição do BACKUP como novo MASTER, mas se o OLD MASTER voltar, fique como está).

O problema está acontecendo durante o início inicial:

  • Inicialização da primeira instância e entra no MASTER STATE
  • A segunda instância começa cerca de 30 segundos depois, inicialmente entra em BACKUP STATE, mas por algum motivo faz a transição para MASTER depois.

Ambos devem ter a mesma prioridade, então por quê?

Percebi que as mensagens de log sobre IPVS do kernel e o cálculo da impressão digital do host são impressas apenas após o início do keepalived. Isso me faz pensar que o keepalived é o primeiro software no sistema que faz com que o sistema troque pacotes na interface de rede e, de alguma forma, acione um failover indesejado.

Além disso, a instância 2 entra em BACKUP STATE assim que o keepalived começa:

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)]

enquanto a instância 1 torna-se MASTER somente após as mensagens e impressões digitais do IPVS do kernel:

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

-- Para testar a configuração:

  • Eu paro ambos keepalived
  • Começo o keepalived na instância 1, ele vai para MASTER.
  • Começo o keepalived na instância 2, ele vai para BACKUP e não aciona um failover.

Então tudo parece ok.

amazon-web-services
  • 1 respostas
  • 2633 Views
Martin Hope
Bastien974
Asked: 2014-11-15 06:49:45 +0800 CST

Como substituir uma string de um resultado awk?

  • 1

Eu tenho um arquivo JSON que contém várias ocorrências de replaceme.

Eu só quero substituir uma ocorrência com base em uma string específica encontrada algumas linhas acima.

Por exemplo,

[...]
    "title" : {
      "Propertie1" : "xxxx",
      "Propertie2: "replaceme"
    }

    "title2" : {
      "Propertie1" : "xxxx",
      "Propertie2: "replaceme"
    }
    "title" : {
      "Propertie1" : "xxxx",
      "Propertie2: "replaceme"
    }

    "title2" : {
      "Propertie1" : "xxxx",
      "Propertie2: "replaceme"
    }
[...]

Neste exemplo, quero substituir replacemeapenas por title2.

Com awk 'title2/,/replaceme/' myFileisso, consigo localizar a parte do meu arquivo JSON. Preciso executar um comando sed também, mas não sei como, ou se é possível dessa forma?

sed
  • 1 respostas
  • 665 Views
Martin Hope
Bastien974
Asked: 2014-11-06 08:21:24 +0800 CST

Escale HAProxy para mais de 64k websockets

  • 9

Estamos tentando projetar uma arquitetura que seja capaz de lidar com mais de 64k websockets.

Tentamos primeiro com o Amazon ELB, mas seu design não permite picos inesperados de tráfego nem websocket. (O modo TCP atinge o tempo limite dos websockets inesperadamente)

Com o HAProxy, esses limites não se aplicam, mas estaremos limitados a aproximadamente 64k websockets mantidos entre o HA e os servidores de back-end.

Várias soluções que me vieram à mente:

  • Múltiplas instâncias HAProxy, balanceamento de carga com DNS (Route53 tem uma opção ponderada)
  • Duas instâncias HAProxy com Keepalived, vários endereços IP internos (não tenho certeza se é possível)

Existe uma maneira melhor de fazer isso ?

domain-name-system
  • 2 respostas
  • 1824 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve