【问题标题】:cannot create temp file for here-document: No space left on device无法为此处文档创建临时文件:设备上没有剩余空间
【发布时间】:2018-02-18 13:49:08
【问题描述】:

我有一个数字海洋 Ubuntu 服务器,两天前我网站的每个页面都给我错误 500,

在 ssh 中我收到此错误消息“设备上没有剩余空间”,

For more info please check this SSH screenshot

所以我恢复备份,服务器和网站现在工作正常,但不久的将来会再次发生

这是当前服务器状态

root@****:~# df -k
Filesystem     1K-blocks     Used Available Use% Mounted on
udev             4077544        4   4077540   1% /dev
tmpfs             817680      340    817340   1% /run
/dev/vda1       82436784 34630128  43596088  45% /
none                   4        0         4   0% /sys/fs/cgroup
none                5120        0      5120   0% /run/lock
none             4088392        0   4088392   0% /run/shm
none              102400        0    102400   0% /run/user
root@****:~# df -i
Filesystem      Inodes   IUsed   IFree IUse% Mounted on
udev           1019386     402 1018984    1% /dev
tmpfs          1022098     319 1021779    1% /run
/dev/vda1      5242880 5014058  228822   96% /
none           1022098       2 1022096    1% /sys/fs/cgroup
none           1022098       5 1022093    1% /run/lock
none           1022098       1 1022097    1% /run/shm
none           1022098       2 1022096    1% /run/user
root@****:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G  4.0K  3.9G   1% /dev
tmpfs           799M  340K  799M   1% /run
/dev/vda1        79G   34G   42G  45% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            5.0M     0  5.0M   0% /run/lock
none            3.9G     0  3.9G   0% /run/shm
none            100M     0  100M   0% /run/user
root@****:~# ls /tmp/
root@****:~# fdisk -l

WARNING: GPT (GUID Partition Table) detected on '/dev/vda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/vda: 85.9 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders, total 167772160 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1               1   167772159    83886079+  ee  GPT

提前致谢

【问题讨论】:

  • 您收到的错误消息对我来说似乎很清楚。你到底在这里要求什么?

标签: ubuntu cloud partitioning digital-ocean


【解决方案1】:

你可以试试这个,它对我有用:

sudo apt-get autoclean

【讨论】:

    【解决方案2】:

    请尝试使用命令解决您的问题:

    root@****:~# lsblk
    

    名称 MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    xvda 202:0 0 150G 0 磁盘
    └─xvda1 202:1 0 8G 0部分/

    root@****:~# df -h
    
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/xvda1      7.8G  4.5G  2.9G  61% /
    tmpfs            32G     0   32G   0% /dev/shm
    

    从上面看,EBS 似乎有 150 GB,但根分区只有 8 GB。

    所以要调整 EBS 根卷的大小

    root@****:~# sudo growpart /dev/xvda 1
    

    要安装“growpart”,请使用

    root@****:~# sudo yum install -y cloud-init dracut-modules-growroot
    

    然后重新启动引擎。

    【讨论】:

    • 非常感谢您的帮助,这里是日志,我做了什么,我得到了什么paste.ubuntu.com/p/pG9Gt5GSyD 请检查我认为问题仍然存在,是吗?
    【解决方案3】:

    我刚刚遇到了类似的问题。

    不用重启就解决了两个命令:

    这是由于安装 ubuntu 时默认创建的 LV。 1. 用 lvdisplay 查找 LV 名称。 2. lvextend -rL +1G LVNAME (或者你可以在下一个命令中调整大小而不是“-r”)

    【讨论】:

      【解决方案4】:

      ECB 上面给出的答案对我有用,但它需要在答案的第二部分中插入 LV 名称的 LV 路径。

      一位同事建议的替代方法是调整大小以使用 100% 的磁盘。

      sudo lvm
      lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
      exit
      
      sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
      

      【讨论】:

        【解决方案5】:

        您的根文件系统已满,因此您的临时目录(/tmp 和 /var/tmp)也已满。许多脚本和程序需要一些空间来存放工作文件,甚至是锁定文件。当 /tmp 不可写时,坏事就会发生。

        你需要弄清楚你是如何填充文件系统的。通常会发生这种情况的地方是 /var/log (检查您是否正在循环日志文件)。或者 /tmp 可能已满。但是,磁盘可以通过许多其他方式填满。

        du -hs /tmp /var/log

        您可能希望重新分区以给 /tmp 它自己的分区(这是老式的做法,但如果您有足够的磁盘就可以了),或者将其映射到内存中(这将使其非常快但如果你过度使用临时文件,就会开始导致交换问题)。

        或者尝试卸载溢出分区:

        卸载 /tmp

        umount 溢出

        【讨论】:

        猜你喜欢
        • 2017-04-28
        • 1970-01-01
        • 2015-06-18
        • 1970-01-01
        • 2014-09-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多