Questions tagged «filesystems»

文件系统(或文件系统)是一种通过提供存储,检索和更新数据的过程以及管理包含该数据的设备上的可用空间来组织程序在程序终止后将保留的数据的方法。

2
在单个Linux服务器上运行不同文件系统的性能影响
这本书“的HBase权威指南”指出, 不建议在单个服务器上安装不同的文件系统。这可能对性能产生不利影响,因为内核可能必须拆分缓冲区高速缓存以支持不同的文件系统。据报道,对于某些操作系统,这可能会造成毁灭性的性能影响。 这真的适用于Linux吗?我从未见过缓冲区缓存大于300 MB,并且大多数现代服务器都具有GB的RAM,因此在不同文件系统之间分配缓冲区缓存应该不是问题。我还有其他东西吗?

2
带有屏障的SATA驱动器上的写缓存的安全性
最近,我一直在阅读有关SATA驱动器的写缓存,NCQ,固件错误,障碍等信息,但我不确定在电源故障的情况下哪种最佳设置可以确保数据安全。 据我了解,NCQ允许驱动器对写入进行重新排序以优化性能,同时让内核了解已物理写入了哪些请求。 写入缓存使驱动器更快地处理请求,因为它不等待将数据写入物理磁盘。 我不确定这里的NCQ和Write缓存如何混合使用... 文件系统,特别是日记系统,需要确定何时记录了特定请求。同样,用户空间进程使用fsync()强制刷新特定文件。在文件系统确定数据已写入磁盘之前,对fsync()的调用不应返回。 有一个功能(FUA,强制单位访问),我仅在SAS驱动器上看到过,该功能强制驱动器绕过缓存并直接写入磁盘。对于其他所有方面,都有写障碍,这是内核提供的一种机制,可以触发驱动器上的缓存刷新。这将强制记录所有缓存,而不仅仅是关键数据,从而在滥用时减慢了整个系统的速度,例如使用fsync()。 然后,存在带有固件错误的驱动器,或者故意谎称何时物理写入数据。 话虽这么说..有几种方法可以设置驱动器/文件系统:A)禁用NCQ和写入缓存B)启用NCQ仅C)启用写入缓存D)启用NCQ和写入缓存 我正在假设启用了障碍。顺便说一句,如何检查它们是否真正启用? 如果断电,则在主动写入磁盘时,我的猜测是,对于文件系统日志和数据,选项B(NCQ,无高速缓存)都是安全的。可能会有性能损失。 如果使用障碍或FUA,则选项D(NCQ + cache)对于使用fsync()的文件系统日志和应用程序将是安全的。这对于在缓存中等待的数据将是不好的,并且要由文件系统来检测它(校验和),并且至少文件系统不会(希望)处于不稳定状态。性能方面,它应该更好。 但是,我的问题仍然存在……我是否想念任何东西?还有其他变量要考虑吗?是否有任何工具可以确认这一点,并且我的驱动器运行正常?

2
SSD驱动器的ext3分区上的突然掉电后文件系统损坏是“预期行为”吗?
我公司制造了一个嵌入式Debian Linux设备,该设备从内部SSD驱动器上的ext3分区启动。因为该设备是嵌入式“黑匣子”,所以通常通过简单地通过外部开关切断设备电源来粗鲁地关闭它。 这通常是可以的,因为ext3的日志记录可以使事情井井有条,因此,除了偶尔丢失部分日志文件外,事情还可以继续进行。 但是,我们最近看到了许多单元,在经过多次硬重启之后,ext3分区开始出现结构性问题-特别是,我们在ext3分区上运行e2fsck,它发现了许多类似的问题显示在此问题底部的输出清单中。运行e2fsck直到停止报告错误(或重新格式化分区),都可以解决问题。 我的问题是...在遭受大量突然/意外关机的ext3 / SSD系统上看到类似问题的含义是什么? 我的感觉是这可能是我们系统中软件或硬件问题的迹象,因为我的理解是ext3的日记功能(除非存在错误或硬件问题)被认为可以防止这类文件系统完整性错误。(注意:我了解用户数据未记录日志,因此用户文件可能被蒙蒙/丢失/截断;我在这里专门谈论文件系统元数据错误,如下所示) 另一方面,我的同事说这是已知的/预期的行为,因为SSD控制器有时会重新排序写命令,这可能会使ext3日志感到困惑。特别是,他认为,即使给定了正常运行的硬件和无错误的软件,ext3日志也只会减少文件系统损坏的可能性,这并非不可能,因此我们不时看到这样的问题也不会感到惊讶。 我们哪个是对的? Embedded-PC-failsafe:~# ls Embedded-PC-failsafe:~# umount /mnt/unionfs Embedded-PC-failsafe:~# e2fsck /dev/sda3 e2fsck 1.41.3 (12-Oct-2008) embeddedrootwrite contains a file system with errors, check forced. Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Invalid inode number for '.' in directory inode …

4
如何在随机断电的机器上存储数据
我有一个在物理机主机上运行的虚拟机(Debian)。虚拟机充当其在本地网络上频繁接收的数据的缓冲区(该数据的周期为0.5s,因此吞吐量相当高)。接收到的所有数据都存储在虚拟机上,并通过UDP反复转发到外部服务器。外部服务器确认(通过UDP)它已接收到数据包后,原始数据将从虚拟机中删除,然后不再发送到外部服务器。连接虚拟机和外部服务器的Internet连接不可靠,这意味着一次可能会断开几天。 托管VM的物理机每天随机几次断电。无法判断何时会发生这种情况,并且无法在系统中添加UPS,电池或类似解决方案。 最初,数据存储在虚拟机上基于文件的HSQLDB数据库中。但是,频繁的断电最终会导致数据库脚本文件损坏(不是在文件系统级别,即可读,但HSQLDB无法理解),这引发了我的问题: 数据应该如何存储在经常断电且经常发生的环境中? 我可以想到的一种选择是使用平面文件,将每个数据包另存为文件系统上的文件。这样,如果由于断电而损坏了文件,则可以忽略该文件,其余数据保持不变。但是,这带来了一些问题,主要与可能存储在虚拟机上的数据量有关。每条数据之间的间隔为0.5s,将在10天内生成1,728,000个文件。这至少意味着使用具有增加的inode数量的文件系统来存储此数据(当前文件系统设置用尽了大约250,000条消息和30%的磁盘空间使用了inode)。而且,很难(不是不可能)进行管理。 还有其他选择吗?是否有在Debian上运行且不会因断电而损坏的数据库引擎?此外,应为此使用什么文件系统?ext3是目前使用的。 虚拟机上运行的软件是使用Java 6编写的,因此希望该解决方案不会兼容。

8
在Shell中按扩展名计算文件总大小
我们有一组包含Lucene索引的目录。每个索引是不同文件类型(按扩展名区分)的混合,例如: 0/index/_2z6.frq 0/index/_2z6.fnm .. 1/index/_1sq.frq 1/index/_1sq.fnm .. (大约有10个不同的扩展名) 我们希望通过文件扩展名获得总计,例如: .frq 21234 .fnm 34757 .. 我已经尝试过du / awk / xargs的各种组合,但是很难做到这一点。



1
如何缩小XFS文件系统?
我有一个具有一些可用空间的xfs文件系统。我可以收缩吗?我知道xfs_growfs。并且有resize2fs和resize_reiserfs。 附带问题:对于批量长期文件存储,xfs是否不是一个好的文件系统选择?
13 filesystems  xfs 

6
如何在Linux上列出文件的数据块?
据我了解,类Unix操作系统上的每个文件都有一个索引节点号(可以用“ ls -i”查看),每个索引节点是一个磁盘块列表,其中包含文件的实际数据。 是否有Linux命令以文件名作为参数并打印出该文件的inode指向的磁盘块列表? PS该文件系统是ext3。
13 linux  unix  filesystems  ext3 

8
对我拥有的文件“权限被拒绝”?
我的用户bob无法访问他(理论上拥有)的文件。我正在运行Fedora Core8。它可能比显示起来更容易显示: > ls -al . total 32 drwxrwxr-x 7 bob bob 4096 May 18 14:33 . drwxrwxr-x 4 bob bob 4096 May 12 15:44 .. drwxr-xr-x 2 bob bob 4096 June 1 14:22 log > cd ./log -bash: cd: log/: Permission denied > ls -al ./log ls: cannot access …

4
Linux中的命令行递归/深层目录复制?
在大多数情况下,在Linux中制作递归/深层目录副本的最佳通用方法是什么?我用过一些简单的东西,例如cp -R精心制作的cpio咒语。是否有任何明显的优点或缺点使您偏爱另一种?您最常使用哪一个?

5
跨几个服务器的镜像文件系统
我正在寻找一种在多个Linux服务器上镜像或复制一个目录(或一个文件系统)的解决方案。理想的解决方案是允许所有服务器进行读写访问的解决方案。我还希望它具有弹性,如果其中一台服务器出现故障,其余服务器仍然可以正常工作,而不会丢失任何数据。 我一直在寻找一些解决方案: DRBD:块级复制,似乎有点过大; lsyncd:看起来很简单,但是我对性能有疑问; GlusterFS:看起来这将是一个不错的选择,但尚未弄清楚复制模式的工作原理。它会具有我要求的特性吗? 欢迎其他任何建议。


7
还有其他原因导致“设备上没有剩余空间”吗?
我在Ubuntu服务器系统上使用Dirvish将HD备份到外部USB 3.0驱动器。直到几天前,一切工作都很好,但是现在每个备份都失败,并且“设备(28)上没有剩余空间”和“文件系统已满”。不幸的是,事情并非如此简单:设备上有超过500 GB的可用空间。 细节: rsync_error: rsync: write "/mnt/backupsys/shd/gesichert1/20130223_213242/tree/<SomeFilename1>.eDJiD9": No space left on device (28) rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32) rsync: write "/mnt/backupsys/shd/gesichert1/20130223_213242/tree/<SomeFilename2>.RHuUAJ": No space left on device (28) rsync: write "/mnt/backupsys/shd/gesichert1/20130223_213242/tree/<SomeFilename3>.9tVK8Z": No space left on device (28) rsync: write "/mnt/backupsys/shd/gesichert1/20130223_213242/tree/<SomeFilename4>.t3ARSV": No space …

2
Linux如何处理并发磁盘IO?
当Linux服务器正在处理许多并发请求以读取许多不同的文件时,请执行以下操作: 搜索到File_1,读取整个文件,然后搜索File_2,读取整个文件,然后搜索File_3,依此类推 寻求File_1,读取它的一部分(最大为readahead值?),然后寻找File_2,读取它的一部分,然后回溯到File_1停止的地方,再读取它,然后寻找File_3,依此类推,等等 如果是第二种情况,则服务器执行的寻道操作比必要的要多得多,这将大大降低速度。在那种情况下,我可以做任何调整吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.