Eu tenho um VPS. É gerenciado com os notórios paralelos plesk.
hoje comecei a ver mensagens (via wordpress a princípio, mas também no shell da linha de comando), dizendo: "Quota de disco excedida".
user@machine:~$ echo aaa > /tmp/aaa
-bash: /tmp/aaa: Disk quota exceeded
mas há muito espaço na máquina e apenas 1 partição.
user@machine:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vzfs 100G 24G 77G 24% /
Eu apaguei todos os arquivos de / tmp / *, mas ainda assim.
Não sei nada sobre "vzfs", talvez seja o culpado?
O que poderia ter dado errado? e como consertar isso?
Solução!
(se você NÃO usar o Parallels Plesk, consulte a resposta de @ Adalee)
Veja a solução da @deltik, relevante para o sistema da Parallel, como no meu caso.
O df -i imediatamente forneceu um número ridículo de inodes: 18.446.744.069.620.218.961, o que é insano para um site wordpress.
Eu explorei e encontrei a fila do qmail cheia de inodes (cheia de tentativas de alguns hackers de usar minha máquina para enviar spam e responder a falhas)
corrigir qmail não é relevante aqui, mas minha solução alternativa é relevante:
- parou o serviço do qmail
- não consegui baixar o qmhandle no sistema de cotas excessivas, então tive que
- extrair e fazer upload do script para outro site,
- exclua a fila com este comando:
- Perl <(wget -O - http://link.to.my/script.pl ) -D
Dessa forma, o script está sendo executado diretamente da Web (o que não é uma prática segura, mas eu coloquei o script sozinho), com opções de linha de comando.
obrigado @deltik por conhecer e reconhecer prontamente essa configuração peculiar no local e fornecer meios para diagnosticar ainda mais !!!
vzfs
(o sistema de arquivos "virtual" do OpenVZ) pode ser a causa. Eu já vi muitos provedores de OpenVZ que vendem servidores incrivelmente baratos, mas estabelecem limites impossivelmente estúpidos para eles.Respostas:
Você possui um sistema de arquivos VZFS, o que significa que seu VPS é uma máquina virtual Parallels Virtuozzo. No Virtuozzo, o provedor de hospedagem pode definir limites para muitos parâmetros, incluindo quais alocações você obtém com o VZFS.
Causa: Fora de Inodes (Mais Comum)
Depois de anos trabalhando com centenas de clientes do Virtuozzo VPS que tiveram o problema de não conseguir criar arquivos, mesmo que parecesse haver muito espaço livre, a grande maioria deles atingiu o limite de inodos. Execute este comando para ver a alocação de inode (
Inodes
), inodes usados (IUsed
), inodes restantes (IFree
) e a porcentagem de inodes usados (IUse%
):Ter 100% de uso de inode acontece muito. Causas comuns em minha experiência:
session.gc_maxlifetime
) para mais de cem anosSolução de problemas
Se você achar que está com pouco ou nenhum inode, mas não sabe onde está a maioria deles, eu tenho este liner do Bash que pesquisa o diretório atual e conta os inodes com uma profundidade de pasta de 1:
Você pode continuar alterando o diretório de trabalho atual a partir de
/
até encontrar o culpado usando sua alocação de inode.Explicação
Seu VPS está em um sistema de arquivos VZFS, que faz parte do Parallels Virtuozzo (não o OpenVZ, que é semelhante e baseado na mesma tecnologia, mas o OpenVZ não usaria o VZFS).
Devido à maneira como o Virtuozzo armazena arquivos no VZFS, os inodes geralmente são limitados mais do que seriam em outros sistemas de arquivos como ext4 ou XFS. O host rastreia todos esses arquivos e seria vantajoso para o provedor de hospedagem não permitir que um único VPS ocupasse centenas de milhões de inodes. Como resultado, o provedor de hospedagem pode definir o limite de inodes como baixo, como 1.000.000 de inodes.
Depois de anos trabalhando com centenas de clientes que esgotaram sua alocação de inodes no Virtuozzo, esses problemas de quota de disco "misteriosos" não me surpreendem mais.
Causa: Outros limites do Virtuozzo
Uma porcentagem muito pequena dos clientes do Virtuozzo VPS com quem trabalhei tiveram problemas no sistema de arquivos porque atingiram outros limites. Você pode ver alguns (mas não todos) dos limites com este comando:
Solução de problemas
Se a
failcnt
coluna tiver um valor maior que 0 ou se oheld
valor da coluna for igual aolimit
valor correspondente , você atingiu um limite.Você pode procurar o que cada parâmetro está no wiki do OpenVZ aqui . Um parâmetro pode ser "primário", "secundário" ou "auxiliar".
Você deve entrar em contato com o seu provedor de hospedagem para obter mais assistência, se achar que não pode diminuir a
held
contagem para um limite que seu VPS atingiu.Essa resposta pode ser muito expandida, dependendo de quais beans foram atingidos no máximo, pois limites diferentes atingidos causam sintomas diferentes.
Causa: o (s) limite (s) diminuiu após ser atingido
Em relação
/proc/user_beancounters
oudf -i
, às vezes, um administrador do sistema Virtuozzo pode diminuir olimit
de um parâmetro abaixo doheld
valor.Por exemplo, se o limite original do
diskinodes
parâmetro fosse 1.500.000 e você atingir o limite, alguém no seu provedor de hospedagem definir seu limite de inode para 1.000.000, você verá um relatório bizarro de inodedf -i
que não faz sentido.Do seu lado, você pode ver um número excessivamente grande, como 18.446.744.069.620.218.961 .
Considero que este é um comportamento sinistro do provedor de hospedagem, especialmente se eles não o informarem, porque os valores incomuns que você vê são contrários ao conhecimento de superusuários que não têm experiência com o Virtuozzo / OpenVZ, o que leva a erros. conselho ( exemplo , outro exemplo ).
Solução de problemas
Entre em contato com seu provedor de hospedagem. Mostre a eles o que encontrou e trabalhe com eles para manter seus grãos abaixo do limite.
Se eles se recusarem a ajudá-lo, abandone seu provedor de hospedagem e encontre outro que não use a virtualização Virtuozzo / OpenVZ. Os servidores de virtualização KVM, VMware, Xen ou bare metal estariam sujeitos a muito menos limites do que o Virtuozzo / OpenVZ.
Explicação
Seu provedor de hospedagem pode ter auditado ou respondido a um alerta e constatado que seu VPS estava usando muito de um recurso específico (quase sempre o limite de inodes, que é o
diskinodes
parâmetro no final).Um administrador inexperiente do Virtuozzo no provedor de hospedagem acredita que pode resolver o problema reduzindo o limite para algo menor do que o uso real dos recursos. No caso de inodes, você pode ter uma alocação mais baixa, como 1.000.000, mesmo que o uso atual real possa ser maior, como 1.500.000.
O administrador do Virtuozzo em seu painel de controle veria seu uso real e o novo limite, mas você veria números falsos que são possivelmente muito excessivamente altos devido à maneira como o Virtuozzo se virtualiza.
Um administrador negligente do Virtuozzo não informaria sobre essa alteração, e é por isso que você deve entrar em contato com o seu provedor de hospedagem se isso acontecer.
fonte
"Cota de disco excedida" não significa que não há espaço disponível no disco, mas que você não tem permissão para usar tanto espaço.
Em geral, as cotas são alguns limites definidos pelo administrador - número máximo de processos que você pode executar, quanto espaço você pode ocupar, quantos arquivos você pode ter, etc. As cotas de disco podem ser definidas para o número máximo de inodes e blocos de disco.
Tente executar
quota
equota -g
(alternativamente, você pode executarrepquota -u
erepqouta -g
) para ver se seu usuário está restrito dessa maneira e como. Se sim, você pode editar essas cotasedquota
ou desativá-las com oquotaoff
comando Pode ser necessário fazer login como root para isso, dependendo das suas configurações.Este site abrange alguns exemplos de como trabalhar com cotas e também contém links para páginas de manual e comandos úteis.
fonte