Articles of 文件系统

如何缩小XFS文件系统?

我有一个有一些可用空间的xfs文件系统。 我可以缩小它吗? 我知道xfs_growfs 。 还有resize2fs和resize_reiserfs 。 侧面的问题:是不是一个良好的文件系统select散装长期文件存储?

“权限被拒绝”到我自己的文件?

我的用户,鲍勃,不能访问他(理论上拥有)的文件。 我正在运行Fedora Core 8.它可能比显示更容易显示: > 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 log/..: Permission denied […]

使用libvirt / qemu进行passthrough(9p)文件系统的读/写访问?

我最近开始尝试在最新版本的KVM / QEMU / libvirt中支持直通文件系统。 使文件系统可用于读访问已经“刚刚工作”,但是我对写访问应该如何工作有些困惑。 在客户机中安装文件系统之后: # mount -t 9p -o trans=virtio /fs/data /mnt 我可以修改现有的文件,如果它有模式o+w : # cd /mnt/work # ls -l foo -rw-rw-rw-. 1 root root 17 Dec 20 11:16 foo # cat foo this is line one # echo this is line two >> foo # cat foo this is line one […]

在具有障碍的SATA驱动器上写入caching的安全性

最近我一直在阅读有关SATA驱动器的写caching,NCQ,固件错误,障碍等问题,而且我不确定什么样的最佳设置可以让我的数据在发生电源故障的情况下安全。 据我所知,NCQ允许驱动器对写入进行重新sorting以优化性能,同时让内核知道哪些请求已经被物理写入。 写入caching使驱动器更快地提供请求,因为它不会等待将数据写入物理磁盘。 我不确定NCQ和写入caching如何在这里混合… 文件系统,特别是需要logging的文件系统,需要确定何时写下了一个特定的请求。 另外,用户空间进程使用fsync()强制刷新特定文件。 对fsync()的调用在文件系统确定数据写入磁盘之前不应该返回。 有一个function(FUA,强制单元访问),我只在SAS驱动器上看到过,它强制驱动器绕过caching并直接写入磁盘。 对于其他任何事情,都有写障碍,这是由内核提供的机制,可以触发驱动器上的caching刷新。 这迫使所有的caching被写下来,而不仅仅是关键数据,因此如果被滥用,则会减慢整个系统,例如使用fsync()。 那么存在固件缺陷的驱动器,或者故意在数据被物理写入时撒谎。 说了这个..有几种方法来设置驱动器/文件系统:A)NCQ和写caching禁用B)只是NCQ启用C)只写caching启用D)NCQ和写caching启用 我越来越障碍启用..顺便说一句,如何检查,如果他们实际上启用? 在断电的情况下,在积极写入磁盘的同时,我的猜测是选项B(NCQ,无caching)对于文件系统日志和数据都是安全的。 可能会有性能损失。 如果使用障碍或FUA,选项D(NCQ +高速caching)将对使用fsync()的文件系统日志和应用程序是安全的。 在caching中等待的数据是不好的,这取决于文件系统来检测它(校验),至less文件系统不会(希望)处于不稳定的状态。 在性能方面,应该会更好。 然而,我的问题是…我错过了什么? 还有其他的variables需要考虑吗? 有没有什么工具可以证实这一点,而我的驱动器的行为应该是他们应该的?

Vagrant共享文件夹和文件更改事件

我有通过Vagrant访问的Ubuntu虚拟机。 在我的主机(Mac OSX)上,有一个文件夹,里面有几个文件,我可以共享到虚拟机。 在那个虚拟机中,我想使用guard来监视文件的变化,如果这些文件中的任何一个发生了变化,请执行一些操作。 我正确地设置了警戒,并且在从虚拟机内改变共享文件时,它工作正常并运行适当的脚本。 但是,如果我尝试从我的主机更改共享文件,此文件更改事件不传播和防护不反应。 这是我的stream浪者共享文件夹的样子(很平常的东西) local_config.vm.share_folder "app", "/var/www/app/current", "../app" 我甚至尝试使用NFS共享( :nfs => true ),但没有帮助。 有没有办法让文件更改事件从主机传播到虚拟机? 还是这是stream浪/ VirtualBox的性质? 更新: 经过一些更多的试用后,我安装了ZenTest gem,其中包含了自动testing工具,允许关于文件更改事件的类似function。 在虚拟机中运行自动testing并更改来自主机的文件时,会传播这些更改并进行自动testing 。 基于此,文件转换事件传播似乎是一个守卫问题,而不是stream浪者或虚拟框。 尽pipe如此,我还没有看到守卫和自动testing之间的实施差异。 现在我知道可以从虚拟机中的主机捕获文件更改事件。 有谁有任何想法如何实现这个使用后卫? 我更喜欢守卫,因为它的DSL和通用可用性。

记者高使用率的原因

我想弄清楚为什么我的机器上疯了。 这是一个带有内存负载的8核心盒子。 它有~50%的CPU负载。 iotop似乎没有指向任何特定的进程 – 在这里和那里写一些突发(主要是cron开始,一些监控统计生成等)。当我使用sys/vm/block_dump收集写统计,我得到列表喜欢这个: kjournald(1352): 1909 sendmail(28934): 13 cron(28910): 12 cron(28912): 11 munin-node(29015): 3 cron(28913): 3 check_asterisk_(28917): 3 sh(28917): 2 munin-node(29022): 2 munin-node(29021): 2 在哪里被录制的动作只是WRITE。 为什么会这样呢? 我还应该看些什么来限制活跃的活动? 实际上写什么似乎不成比例。

在单个Linux服务器上运行不同文件系统的性能影响

这本书“HBase:权威指南”指出 不build议在一台服务器上安装不同的文件系统。 这可能会对性能产生不利影响,因为内核可能必须拆分缓冲区caching以支持不同的文件系统。 据报道,对于某些操作系统来说,这可能会造成破坏性的性能影响。 这是否真的适用于Linux? 我从来没有见过缓冲区caching大于300兆字节,大多数现代服务器都有千兆字节的内存,所以在不同文件系统之间分配缓冲区caching不应该成为问题。 我错过了别的吗?

ext3,ext4,ReiserFS有什么区别?

为什么我应该select一个而不是另一个?

GlusterFS vs Ceph,现在更适合生产用途了?

我正在评估GlusterFS和Ceph,似乎Gluster是基于FUSE的,这意味着它可能不如Ceph那么快。 但看起来像Gluster有一个非常友好的控制面板,并易于使用。 几天前Ceph被合并到了linux内核中,这表明它有更多的潜力,可能是未来的一个不错的select。 我想知道哪个(甚至两个?)是生产用途的更好的select? 如果你能分享你的实际经验,那将是很好的

在Linux中,有没有办法看到哪个用户更新了文件?

Linuxlogging谁最后更改了一个文件(而不是创build它)? 如果是这样,我怎么find这个呢? 如果没有,是否有某种监控文件的方式?