Questions tagged «filesystems»

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

10
子目录的数量如何影响Linux上的读写性能?
我在Linux CentOS服务器上有一个EXT3格式化的驱动器。这是一个Web应用程序数据驱动器,其中包含每个用户帐户(有25,000个用户)的目录。每个文件夹都包含该用户已上传的文件。总体而言,该驱动器上大约有250GB的数据。 用所有这些目录构造驱动器是否会影响驱动器的读写性能?它会影响我不了解的其他性能方面吗? 以这种方式构造事物有天生的错误或坏处吗?也许只是错误选择文件系统? 我最近尝试合并两个数据驱动器,并意识到EXT3限于32,000个子目录。这让我想知道为什么。考虑到每个文件都有一个唯一的ID(对应于数据库中的ID),我以这种方式构建它似乎很愚蠢。las ...


5
通过Internet挂载文件系统
我为一个客户构建了一个在虚拟服务器上运行的Web应用程序。它包括供他们上传文件的工具,但现在他们希望将这些文件存储在办公室中的服务器上。 最简单的方法是通过Internet将其文件系统直接安装到虚拟服务器上。我有在内部网络上安装NFS的经验,但是我不清楚在这种情况下它是否可以工作。 有什么想法吗?我总是可以编写新的软件来传输文件,但这很容易解决! 注意:办公室中的服务器是在Windows hyper-v环境中的虚拟服务器上运行的Ubuntu 12服务器。带有Web应用程序的VPS是Ubuntu 11.04


6
AWS ElasticBeanstalk docker-thin-pool变满并导致将文件系统重新挂载为只读吗?
我无法弄清楚AWS如何在ElasticBeanstalk上设置其Docker``瘦池''以及如何填充它。我的docker精简池正在以某种方式填满并导致我的应用程序尝试写入磁盘时崩溃。 这是来自容器内部的: >df -h > /dev/xvda1 25G 1.4G 24G 6% 实际上,EBS确实分配了25GB的磁盘。1.6 GB是du -sh /返回的内容。 在EC2的外部,它足够无害地启动了...(通过lvs) LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert docker-pool docker twi-aot--- 11.86g 37.50 14.65 但是,文件系统将很快重新安装为只读。通过dmesg: [2077620.433382] Buffer I/O error on device dm-4, logical block 2501385 [2077620.437372] EXT4-fs warning (device dm-4): ext4_end_bio:329: …

1
数百万个小文件的块大小
我在Debian Wheezy的硬件RAID1中有2个4TB磁盘(可能是LSI MegaRaid)。物理块大小为4kB。我将存储150-200百万个小文件(3到10kB之间)。我并不是在要求性能,而是在寻求最佳文件系统和块大小以节省存储空间。我已经将8200字节的文件复制到块大小为4kB的ext4上。这占用了32kB的磁盘!是记日记的原因吗?那么,有哪些选项可以为此类小文件节省大部分存储空间?


3
如何找到zfs克隆的父快照?
我克隆了具有多个快照的zfs文件系统。我也有文件系统的几个复制副本。 如何找到克隆附加到的文件系统/快照? (似乎应该在docs / googlable中出现,但我还没有找到任何东西)
10 filesystems  zfs 

1
在具有许多小文件的系统上,EXT4的性能确实变得很差
我有一个只有128MB RAM的小型嵌入式设备 连接到此设备的是2TB USB2硬盘 直到最近,当文件数量超过磁盘容量阈值时,我一直对设备的性能感到满意(我不确定哪个) 磁盘上有许多小文件,由于编写应用程序文件的性质,它们是以非常平衡的方式组织的-叶子节点目录中没有超过200个文件,而只有80万个文件。 我希望在调查方面取得领先。磁盘性能大幅下降,设备运行良好,然后突然性能下降。 我的假设是,我在磁盘上为我的文件选择的组织结构在某种程度上损害了inode缓存保持zippy的能力。 作为实验,我卸下了磁盘(刷新缓存,免费验证)。然后,从命令提示符下,我导航至目录结构。所有人都知道该目录(及其子目录)下仅包含大约3200个文件,此时“免费”显示了超过117MB的可用内存 此时,我键入命令“ find”,然后键入“ free” 'find'显示了大约3000个文件,但内存使用量从〜117MB增至〜2MB 我了解了缓存与可用内存之间的平衡,以及内核如何将一个空页视为一个坏页-但是,从3000个文件的目录中缓存的115MB内容在我的理解上存在严重差距。我希望有人能帮助我了解发生了什么 我可以假设平衡树是拥有大量文件的方法吗?

2
旋转一直打开并正在写入的文件
我有一个Linux应用程序,该应用程序不断将日志记录信息写入日志文件,例如。/var/log/application.log。由于应用程序不会自动旋转文件,因此该日志文件可能在几周内达到GB的大小,因此我希望能够正确旋转该文件 我这里主要关心的是,要旋转一个由应用程序始终打开的文件,我可能需要: 将文件移动到旋转形式 /var/log/application.log -> /var/log/application.log.2013-01-28 创建一个空的/var/log/application.log。Obs:至此,应用程序过程仍在写入/var/log/application.log.2013-01-28 更改应用程序进程的文件描述符以再次指向 /var/log/application.log 所以,对吗?如果是这样,我该怎么做?(主要是更改文件描述符部分) 如果我不是,正确的方法是什么,怎么做?

5
从Ubuntu 12.04开始,为什么/ dev / urandom仅可由root读取,我如何“修复”它?
我曾经在许多服务器上使用Ubuntu 10.04模板。自从更改为12.04以来,我遇到了一些孤立的问题。 / dev / urandom设备只能由root用户访问。 至少在PHP中,这导致SSL引擎失败,例如file_get_contents(https://...。 它也破坏了redmine。 在chmod 644之后,它可以正常工作,但是重新启动后不会消失。 所以我的问题。 为什么是这样?我认为没有安全风险,因为...我的意思是..想窃取一些随机数据吗? 我该如何“修复”它?服务器被隔离并且仅由一个应用程序使用,这就是为什么我使用openvz的原因。我考虑过类似运行级脚本之类的东西...但是如何有效地做到这一点?Maby用dpkg还是apt? / dev / shm也是如此。在这种情况下,我完全理解为什么它不可访问,但是我想我可以用相同的方法“修复”它来修复/ dev / urandom

3
Linux:读取一个文件需要多少个磁盘I / O?如何将其最小化?[重复]
这个问题已经在这里有了答案: Linux:读取一个文件需要多少个磁盘I / O?如何将其最小化? (5个答案) 5个月前关闭。 根据Facebook的Haystack上的这篇论文: “ 由于NAS设备管理目录元数据的方式,在目录中放置数千个文件效率极低,因为目录的框图太大,无法被设备有效地缓存。因此,通常需要进行10多个磁盘操作来检索目录文件。在将目录大小减少到每个目录数百个图像之后,生成的系统通常仍然需要进行3个磁盘操作来获取图像:一个将目录元数据读取到内存中,第二个将inode加载到内存中,第三个读取文件内容。 ” 我以为文件系统目录元数据和索引节点将始终由操作系统缓存在RAM中,并且读取文件通常仅需要1个磁盘IO。 那是NAS设备独有的“多磁盘IO读取单个文件”问题,还是Linux也有同样的问题? 我打算运行Linux服务器来提供图像。以任何方式可以减少磁盘IO的数量-理想情况下,确保操作系统将所有目录和inode数据缓存在RAM中,并且读取每个文件只需要不超过1个磁盘IO?


4
我如何找出文件在磁盘上的物理位置(块编号)?
我知道这是一个晦涩的问题。我正在尝试对Linux机器上的某些磁盘进行性能测试。在同一磁盘上运行相同的测试时,结果不一致。我知道磁盘具有不同的性能,具体取决于正在访问磁盘的哪一部分。特别地,由于接近恒定的数据密度和恒定的旋转速度,对磁盘外部的读写比对磁盘内部的读写具有更高的吞吐量。 我想看看我的不一致是否可以归因于这种几何形状导致的吞吐量差异。是否可以使用现有工具找出文件在磁盘上的放置位置? 如果没有,我想我可以写一些东西来直接查找,读取和写入设备文件本身,从而绕过(并销毁)文件系统,但是我希望避免这种情况。我目前在3.0内核(Arch Linux,如果有关系)上使用ext4,但是我也对其他文件系统的技术感兴趣。

6
什么是开发人员构建最快的文件系统?
我正在组装一个Linux盒子,它将充当持续集成构建服务器。我们将主要构建Java东西,但是我认为这个问题适用于任何编译语言。 我应该使用什么文件系统和配置设置?(例如,我知道我不需要花时间!)构建服务器将花费大量时间读取和写入小文件,并扫描目录以查看哪些文件已被修改。 更新:在这种情况下,数据完整性是低优先级;这只是一台构建机器……最终的工件将被压缩并存档在其他地方。如果构建机器上的文件系统损坏并丢失了所有数据,我们可以擦除并重新映像;构建将继续像以前一样运行。

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.