重新启动服务器( Debian 9.5, 64bit )后卡在“正在运行创建易失性文件和目录的启动作业” ,并通过此“boot-stuck-at-a-start-job-is-running-for-create”解决-易失性文件和目录”。
我无法弄清楚这个问题的根本原因是什么,尽管从许多不是指根本原因的问题中进行搜索,而只是不符合我的各种解决方案。
我们没有达到文件或(子)目录的限制,并设置了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
和的容量超过50%。inode
disk
原来的/tmp
目录只有很少的文件和目录,总的磁盘空间使用量只有1G。
一些信息:
$ 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
正如您使用
sudo find /tmp/ | wc -l
命令显示的那样,您确实有近 3000 万个/tmp
. 您可以从/tmp
其他答案中指出的新目录开始,您可能应该这样做,但正如您所猜测的那样,除非您深入了解,否则您最终会遇到同样的情况。不幸的是,这个问题可能有各种各样的原因。例如,我亲身经历的一个问题是
atd
发疯并开始/tmp
在一个疯狂的循环中创建空文件(每秒数千或类似的东西)。我并不是说这是你的情况,因为at
这不是一个流行的工具,但你必须查看其中的文件名/tmp
并尝试根据它们的名称猜测它们来自哪里,也许还有时间戳。尝试
sudo find /tmp -ls | more
寻找任何线索。这将是显而易见的。你的情况至少有两个原因:
28905144
结果find /tmp/ | wc -l
显示/tmp目录中有大量文件。显然,目录在启动或关机/tmp
时没有正常清除。/
目录设置大,容量达到3T。有了更多空间,HDD(我猜那不是 SSD)寻址会变慢。建议:
/tmp
文件是否创建正常,你就知道原因了。/
目录不超过2T,或者使用SSD(NVMe)等高性能介质。