AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 463940
Accepted
Ole Tange
Ole Tange
Asked: 2013-01-09 01:04:38 +0800 CST2013-01-09 01:04:38 +0800 CST 2013-01-09 01:04:38 +0800 CST

xfs:在第一个 1 TB 上查找文件

  • 772

我被xfs' No space left on device击中了。根据常见问题:

http://xfs.org/index.php/XFS_FAQ#Q:_Why_do_I_receive_No_space_left_on_device_after_xfs_growfs.3F

解决此问题的唯一方法是四处移动数据以释放 1TB 以下的空间。找到最旧的数据(即在第一次增长之前就已经存在)并将其从文件系统中移出(移动,而不是复制)。然后,如果您将其复制回去,数据块最终将超过 1TB,这应该为您留出足够的空间用于 1TB 以下的索引节点。

但是我如何识别要移动的数据呢?我不能按年龄分类,因为前 10 TB 是在同一天使用rsync.

我努力了:

xfs_db -r -c "blockget -i 1 -n -v" /dev/md3

但我似乎只得到文件的基本名称而不是文件的完整路径。而且由于我的很多文件都被称为相同的(但在不同的目录中),所以这不是很有用。而且它似乎给了我更多信息,只是 inode 1。

我有一种感觉,我可以使用xfs_db它来告诉我哪些文件正在使用前 1 TB 中的块,但我一直看不到如何使用。

(通过使用 mount 选项inode64,文件系统不会给出No space left on device,但是如果您以后忘记使用 mount 选项inode64,那么您将再次获得No space left on device。我想避免使用 mount 选项inode64,因为文件系统可能被其他人安装在其他系统上,他们会忘记这一点,因此会得到令人惊讶的No space left on device)。

xfs
  • 2 2 个回答
  • 1266 Views

2 个回答

  • Voted
  1. Sven
    2013-01-09T01:19:49+08:002013-01-09T01:19:49+08:00

    尝试使用该-o inode64选项(重新)安装您的文件系统,看看这是否已经解决了您的问题,但请注意man mount:

    inode64
     Indicates  that XFS is allowed to create inodes at any location in the filesystem, including those
     which will result in inode numbers occupying more than 32 bits of significance.  This is  provided
     for  backwards compatibility, but causes problems for backup applications that cannot handle large
     inode numbers.
    
    • 3
  2. Best Answer
    kupson
    2013-01-13T01:18:20+08:002013-01-13T01:18:20+08:00

    Quick & Dirty 示例(删除内联注释,调整数字):

    # select filesystem
    find / -xdev -type f -print0 | \
      xargs -0r -I{} \
        # execute xfs_bmap on every file (and prefix output with path for later processing)
        sh -c "xfs_bmap -v {} | awk '{gsub(/\.\./,\" \"); print \"{}: \" \$0}'" | \
        # remove some cruft
        awk -F: '$4 != ""{print $1 " " $4}' | \
        # print line if last block < 1TB/512B/block and size (in 512B blocks) > 100.
        awk '$3 < 1024*1024*1024*1024/512 && $7 > 100{print}'
    
    • 3

相关问题

  • Ubuntu 9.10 cron 脚本“ec2-consistent-snapshot”无法执行和访问文件

  • 向 SLES 10 服务器添加 60TB 存储

  • 仅连接到 Linux 的外部驱动器的文件系统

  • ZFS 与 XFS

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

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

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve