我有一个文件服务器,其中 df 报告 94% 的 / 已满。但是根据 du 的说法,使用的要少得多:
# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 270G 240G 17G 94% /
# du -hxs /
124G /
Run Code Online (Sandbox Code Playgroud)
我读到打开但删除的文件可能对此负责,但重新启动并没有解决这个问题。
这是Linux,ext3。
问候
最近,由于一致性问题,我看到远程数据中心机器的根文件系统被重新挂载为只读。
重新启动时,显示此错误:
UNEXPECTED INCONSISTENCY: RUN fsck MANUALLY (i.e., without -a or -p options)
Run Code Online (Sandbox Code Playgroud)
按照建议运行 fsck 并使用 手动接受更正后Y,错误已更正,系统现在正常。
现在,我认为如果将 fsck 配置为自动运行和修复所有内容会很有趣,因为在某些情况下(例如这种情况)唯一的选择是亲自前往远程数据中心并将控制台连接到受影响的机器。
我的问题是:为什么 fsck 默认要求人工干预?此类程序执行的更正如何以及何时不安全?在哪些情况下,系统管理员可能希望将建议的更正搁置一段时间(以执行其他一些操作)或完全中止它?
我使用的是 Ubuntu 12.04,无法写入任何文件,即使是 root,也无法执行任何其他需要写入的操作。任何需要写入的进程都不能,所以它们都失败了。df说我有足够的空间:
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 30G 14G 15G 48% /
udev 984M 4.0K 984M 1% /dev
tmpfs 399M 668K 399M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 997M 0 997M 0% /run/shm
Run Code Online (Sandbox Code Playgroud)
我发现的所有“无法写入磁盘”的结果都与合法完整的磁盘有关。我什至不知道从哪里开始。今天早上突然出现了这个问题。
PHP 的最后一个日志条目是:
失败:设备上没有剩余空间 (28)
Vim 说:
无法打开(文件)进行写入
其他应用程序会出现类似的错误。
删除 ~1gb 后只是为了确定,问题仍然存在。我也重启了。
df -i 说
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/xvda1 1966080 1966080 0 100% /
udev 251890 378 251512 1% /dev
tmpfs 255153 296 …Run Code Online (Sandbox Code Playgroud) 我的理解是,rm在文件上运行只是取消链接,将文件系统中的空间标记为空闲。然后应该遵循的是,删除一个文件总是需要大致相同的时间(即删除速度与文件数量成正比,而不是文件大小)。
那么为什么删除一个 15 GB 的文件会花费一分钟的时间rm file.tar.gz呢?
我最近研究了用于数据冗余和可用性的高级文件系统(Btrfs、ZFS),并对它们提供的附加功能感兴趣,尤其是它们针对数据损坏的“自我修复”功能。
但是,我认为我需要退后一步,尝试了解与传统的 mdadm-Raid1 + 相比,对于一般家庭/SMB 使用而言,这种好处是否超过了它们的缺点(Btrfs 错误和未解决的问题以及 ZFS 可用性和性能影响) Ext4 解决方案。无论哪种方式都可以使用镜像备份。
假设我有几个文件服务器用于存档目的并且资源有限,但是有 ECC 内存和稳定的电源。
有没有人有一个工具或脚本可以递归地纠正目录上的文件权限?
在一台 Ubuntu Linux 机器上,一堆文件被错误地复制到一个具有完整 777 权限(用户、组、其他 - 读取、写入、执行)的 USB 磁盘。我想将它们放回已更正的用户目录中。
目录应该是775,所有其他文件可以是664。所有文件都是图像、文档或MP3,所以它们都不需要可执行。如果设置了目录位,则它需要执行,否则它只需要用户和组,读取和写入。
我认为在编写 shell 脚本之前检查是否存在这样的实用程序是值得的:)
我有一台 Linux 服务器,它正在执行大量的磁盘 io。有一个进程在执行大部分磁盘写入。我发现了这一点iotop,它显示了正在执行磁盘 I/O 的进程。是否有一个等效程序(在 debian lenny apt 存储库中)可以显示正在写入哪些文件?像“顶部”这样的界面会很棒吗?这甚至可能吗?
每当我从 OSX 10.5 访问 Windows 共享时,它都会在远程文件系统上留下 .DS_Store 文件。它们用于什么,它们是否必要,并且可以防止它们被创建?
任何处理过文件服务器权限的人都知道,NTFS 有一个有趣的设计特性/缺陷,称为移动/复制问题。
正如这篇 MS KB 文章中所述,如果文件夹或文件被移动并且源和目标位于同一个 NTFS 卷上,则该文件夹或文件的权限不会自动从父级继承。如果文件夹被复制或者源和目标位于不同的卷上,则权限将被继承。
这是一个快速示例:
您在同一个 NTFS 卷上有两个共享文件夹,名为“Technicians”和“Managers”。Technicians 组对 Technicians 文件夹具有 RW 访问权限,Managers 组对“Managers”文件夹具有 RW 访问权限。如果有人对两者都具有访问权限,并且他们将子文件夹从“Managers”文件夹移动到“Technicians”文件夹,则移动的文件夹仍然只能由“Managers”组中的用户访问。“技术人员”组无法访问子文件夹,即使它位于“技术人员”文件夹下并且应该从顶部继承权限。
可以想象,这会导致解决这些最终用户问题的支持电话、票证和浪费的周期,更不用说如果用户经常在不同的安全文件夹/区域之间移动文件夹,您最终可能会遇到的大量权限。相同的音量。
问题是:
解决此 NTFS 设计缺陷的最佳方法是什么,您如何在您的环境中处理它?
我知道链接的 KB 文章谈到了一些注册表项来更改 Windows 资源管理器的默认行为,但它们是客户端,并且要求用户能够更改权限,我认为在大多数环境中,如果您想要控制您的文件服务器权限(以及您作为系统管理员的理智)。
在 Windows 中,使用 NTFS 格式化非常快。我有一台低功耗的 Linux 机器,内存很少。将 2TB 卷格式化为 ext4 需要很长时间。
我可以做些什么来加快格式?我无法想象什么需要这么长时间?(什么需要这么长时间)
filesystems ×10
linux ×6
ext4 ×2
permissions ×2
debian ×1
df ×1
du ×1
fsck ×1
hard-drive ×1
mac-osx ×1
mdadm ×1
mount ×1
networking ×1
ntfs ×1
performance ×1
raid ×1
shell ×1
ubuntu ×1
windows ×1