Travou em "Um trabalho inicial está em execução para criar arquivos e diretórios voláteis" após reiniciar um servidor (Debian 9.5, 64 bits) e resolva por isso"boot-stuck-at-a-start-job-está-executando-para-criar-arquivos-e-diretórios-voláteis".
Eu não consigo descobrir qual é ocausa raizdeste assunto, embora pesquise muitas questões que não se referem aocausa raizmas apenas as soluções variadas que não me atendem.
Não atingimos o limite de arquivo ou (sub)diretório e definimos dir_nlink
for ext4
.
# sudo tune2fs -l /dev/debian-vg/root | grep dir_nlink
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent
64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
E são mais do que50%capacidade de inode
e disk
.
O diretório original /tmp
apenas pouco arquivo e diretório, apenas uso total do espaço em disco1G.
Algumas informações:
$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-4.9.0-7-amd64 root=/dev/mapper/debian--vg-root ro net.ifnames=0 biosdevname=0 console0=tty0 console=ttyS0,115200n8 quiet
$ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=4077900k,nr_inodes=1019475,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=817924k,mode=755)
/dev/mapper/debian--vg-root on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=36,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=9039)
mqueue on /dev/mqueue type mqueue (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=817920k,mode=700,uid=1000,gid=1000)
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 254:0 0 1000G 0 disk
└─vda1 254:1 0 1000G 0 part
└─debian--vg-root 253:0 0 3T 0 lvm /
vdb 254:16 0 4T 0 disk
vdc 254:32 0 2T 0 disk
└─debian--vg-root 253:0 0 3T 0 lvm /
$ blkid
/dev/vda1: UUID="ijfyeQ-***" TYPE="LVM2_member" PARTUUID="d6***"
/dev/mapper/debian--vg-root: UUID="2d2294a9-***" TYPE="ext4"
/dev/vdc: UUID="PXrGC9-***" TYPE="LVM2_member"
$ sudo find /tmp/ | wc -l
28905144
Responder1
Como você está mostrando com seu sudo find /tmp/ | wc -l
comando, você realmente tem cerca de 30 milhões de entradas em arquivos /tmp
. Você poderia começar com um novo /tmp
diretório, conforme indicado em outras respostas, e provavelmente deveria, mas como você adivinhou, a menos que chegue ao fundo disso, você terminará na mesma situação.
Infelizmente, pode haver todos os tipos de razões para esse problema. Por exemplo, um problema que experimentei pessoalmente foi atd
enlouquecer e começar a criar arquivos vazios em /tmp
um loop maluco (falando de milhares por segundo ou algo assim). Não estou dizendo que este seja o seu caso, pois at
não é uma ferramenta popular atualmente, mas você terá que olhar os nomes dos arquivos /tmp
e tentar adivinhar de onde eles vieram com base em seus nomes e talvez nos carimbos de data e hora.
Tente sudo find /tmp -ls | more
procurar por alguma pista. Esperamos que seja óbvio.
Responder2
Existem pelo menos duas causas para a sua situação:
- 1,
28905144
o resultado defind /tmp/ | wc -l
mostra que você tem toneladas de arquivos em/tmpdiretório. Obviamente,/tmp
diretório não foi limpo normalmentena inicialização ou no desligamento. - 2,
/
o diretório estava configurado para um valor grande cuja capacidade atingiu3T. Com mais espaço, o endereçamento do HDD (acho que não é SSD) será mais lento.
Conselho:
- 1, verifique os arquivos que estão no
/tmp
diretório, sejam criados normalmente ou não, e você descobrirá o motivo. - 2, faça o
/
diretório não mais do que2T, se possível, ou use mídia de alto desempenho, como SSD(NVMe).