Questions tagged «ext4»

ext4或第四个扩展文件系统是linux / * nix的日记文件系统,是ext3的后继文件系统。

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

5
ext4准备好用于生产了吗?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 您如何在生产环境中考虑ext4文件系统?我们非常接近启动我们的项目,该项目将使用数千万个经常更新而不是很大的文件,因此我们需要确定要使用哪个FS。 一段时间以来,我们对其他Linux FS的考虑是: Ext3具有岩石稳定性,但不适用于处理数百万个小文件 XFS看起来非常不错,也许我们会用它 ReiserFS ...嗯...模糊的未来,谁将最终修复bug?

2
fsck.ext4:如何强制检查整个文件系统?
看来fsck.ext4很快就退出了,我想它只会检查日志日志,如果日志是干净的,则什么也不做。是吗?如何强制它检查整个文件系统?我已经尝试过该-f选项,但再次退出说它非常干净。
10 ext4  fsck 

1
Linux ext4的“范围”属性
我注意到eext4文件系统上安装的Linux机器上的几个文件/目录上的属性。 [kelly@p2820887.pubip.serverbeach.com ~]$ lsattr -d /bin -------------e- /bin 根据chattr(1): “ e”属性表示文件正在使用扩展数据块来映射磁盘上的块。不能使用chattr(1)将其删除。 此细节有何不同之处,更重要的是,此细节有何重要意义-特别是为什么此细节如此重要以至于可以作为文件属性报告?在什么情况下我应该基于该文件“正在使用扩展数据块来映射磁盘上的块”的知识来更改我的行为?大概这是我需要知道的,否则它不会变得那么明显,对吧?

1
每天写入5.5GB到1.2GB根卷-以前的水平的4倍
问题: 我最近对我的一台服务器进行了改造,在使用之前对其进行了测试,并且运行良好,但是几天前,我注意到对根卷的写入量约为通常的4倍。这不是性能问题-服务器运行正常。 我的改版相当广泛(全面重建),因此就事业而言,我没有太多事情要做。简要地说,我的更改包括: 升级Amazon的Linux(从2011.02到2011.09)-这也导致根卷从ext3更改为ext4 从php-fcgi移到php-fpm(当前使用tcp) 从反向代理(nginx-> Apache)设置转移到仅Nginx 用纯FTPD替换vsftpd 用opendkim代替dkim-proxy 用ispconfig替换webmin 添加清漆作为动态文件的缓存层(这些网站获得的点击量过高,但这是一个实验) 添加交换分区 基本设置: 我的交换空间安装自己的EBS卷上-在写入到交换卷忽略不计-我已经基本上打折以此为原因(有充足的可用内存-无一不free和iostat显示最小的交换使用)。 我的数据(mysql数据库,用户文件(网站),所有日志(来自/ var / log),邮件和清漆文件)都位于其自己的EBS卷上(使用mount --bind)。/mnt/data 我剩下的文件-操作系统和核心服务器应用程序(例如nginx,postfix,dovecot等)-是根卷上唯一的文件-总计1.2GB。 新设置比旧系统运行“更流畅”(速度更快,内存更少等),并且已经稳定了20天(10月中旬),据我所知,这段时间内一直存在较高的写入量。 与我的预期相反,我的读取量很低(就根卷的块和字节而言,我的读取量约为写入量的1.5%)。在过去几天中,我没有更改根卷上的任何内容(例如,新安装的软件等),但是写入量仍然远远高于预期。 目标:确定增加对根卷的写入的原因(本质上,确定它是一个进程(以及哪个进程),不同的(ext4)文件系统还是另一个问题(例如内存))。 系统信息: 平台:亚马逊的EC2(t1.micro) 操作系统:Amazon Linux 2011.09(源自CentOS / RHEL) Linux内核:2.6.35.14-97.44.amzn1.i686 架构:32位/ i686 磁盘:3个EBS卷: xvdap1,root,ext4文件系统(通过noatime挂载) xvdf,数据,xfs文件系统(已安装noatime,usrquota,grpquota) xvdg,交换 根和数据卷每天快照一次-但是,这应该是“读”操作,而不是写操作。(此外,在先前的服务器上使用了相同的做法-先前的服务器也是t1.micro。) 导致我查看I / O的数据包含在我上次AWS账单的详细信息中(该账单高于正常I / O,这并不出乎意料,因为我正在设置此服务器,并在一开始就安装了很多东西月份),然后按附加的EBS卷的CloudWatch指标。我通过推算11月份(当我没有更换服务器时)的I / O活动来估算每月价值,并将其与过去几个月不工作时的I / O进行比较,得出“正常4倍”的数字。在我以前的服务器上。(我没有来自先前服务器的确切iostat数据)。相同的写入量一直持续到11月,为170-330MB /小时。 诊断信息(以下输出的正常运行时间为20.6天): Cloudwatch指标: …

6
如何使用Ubuntu压缩VHD文件?
我使用Windows Server 2008r2和Hyper-V角色。来宾系统是Ubuntu 12.04 LTC。它位于动态虚拟硬盘上。 我要压缩此VHD(实际大小为50 GB,磁盘上为360 GB)。但是我不能这样做,因为Ubuntu文件系统不是NTFS。 解决此问题需要什么(gparted,sdelete等)? 主要问题是文件系统不是NTFS,而是ext4。 答案: 1)下载systemrescuecd http://sourceforge.net/projects/systemrescuecd/files/sysresccd-x86/3.8.1/systemrescuecd-x86-3.8.1.iso/download 2)将此.iso添加到任务OS Ubuntu中 3)启动这个虚拟机 4)使用zerofree zerofree /dev/sda1 5)关闭该虚拟机 6)使用Hyper-V管理器(编辑->碎片整理) 此vhd为360 Gb。现在70 GB。

1
您如何在AWS的Linux上创建大型的,可扩展的共享文件系统?
在AWS上提供作为单个文件系统公开的大型,可增长的共享存储的可接受/合理/最佳方式是什么? 我们目前大约每两周制作1TB EBS卷,并使用no_subtree_check和nohide导出NFS。在此设置中,客户端上的单个安装下会出现不同的导出。这种安排不能很好地扩展。 我们考虑过的选项: 具有ext4的LVM2。resize2fs太慢。 Linux上的Btrfs。显然还没有准备好黄金时间。 Linux上的ZFS。显然还没有准备好迎接黄金时段(尽管LLNL使用了它) Solaris上的ZFS。这个组合的未来(对我而言)不确定,并且新操作系统混合在一起 glusterfs。听到的大部分都是好故事,但有两个令人恐惧的故事(也许是古老的故事)。 理想的解决方案将提供共享,单个fs视图,轻松的可扩展性,快照和复制。 感谢您分享想法和经验。

3
突然大量文件系统损坏的原因?(“根索引节点不是目录”)
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为服务器故障的主题。 5年前关闭。 我有一台笔记本电脑运行Maverick(很高兴直到昨天),并带有Patriot Torx SSD。整个分区的LUKS加密;最重要的是一个LVM物理卷;然后在此基础上将根目录和根目录放在ext4逻辑卷中。 昨天我尝试引导它时,它抱怨无法安装根文件系统。运行fsck,基本上每个inode似乎都是错误的。起始文件系统和根文件系统都显示类似的问题。检查备份超级块无济于事。 e2fsck 1.41.12 (17-May-2010) lithe_root was not cleanly unmounted, check forced. Resize inode not valid. Recreate? no Pass 1: Checking inodes, blocks, and sizes Root inode is not a directory. Clear? no Root inode has dtime set (probably due to old mke2fs). Fix? …
8 linux  ssd  corruption  fsck  ext4 

3
将文件系统格式从xfs更改为ext4,而不会丢失数据
我在笔记本电脑上运行了一个新鲜的Lucid Lynx(Ubuntu 10.04)。我将文件系统定义为: 安装点/ ext4(46 Gb) jfs上的挂载点/ home(63 GB) 交换为3 Gb 我整夜离开机器去做一些任务,没有交流电源。第二天早上,我发现它处于待命状态,任务已完成,但是文件系统无法访问。它给了我I / O错误 看来jfs和Standby有问题。 无论如何,为了避免麻烦,我想将此挂载点从jfs格式移至ext4。 我可以做到这一点而又不会丢失数据,也不需要在完成转换之前将数据放置在临时位置吗? 遗憾的是,但是我回想起Windows时代,我们将FAT16更改为FAT32或将FAT32更改为NTFS,而不必丢失数据。我希望这在Linux上可用。 更新 / home文件系统是xfs而不是jfs,并且由于某种原因该文件系统似乎存在错误,我不得不重新安装操作系统两次,直到整个/ 但是,结论是,似乎没有办法进行转换
8 linux  ubuntu  xfs  ext4  jfs 

1
我可以在lvextend之后lvreduce而不会丢失其中的ext4分区吗?
在将根分区从一个磁盘移动到另一个磁盘的拙劣尝试中,我做了以下工作: 添加新磁盘 用parted分区(第3部分现在几乎完全填满了磁盘) 初始化物理卷 $ pvcreate /dev/sdb3 Physical volume "/dev/sdb3" successfully created 扩展了卷组以包括此新的物理磁盘 $ vgextend myvg /dev/sdb3 Volume group "myvg" successfully extended 扩展了逻辑卷(我认为这是我的专长:我认为我应该将pvmove的内容添加到该组中的新pv中-有人可以确认吗?) $ lvextend /dev/mapper/myvg-root /dev/sdb3 我现在想撤消lvextend,然后继续执行将旧物理卷的内容移到新物理卷的原始计划。我是否可以减小逻辑卷(我还没有用resizefs之类的东西触及/ dev / mapper / myvg-root中的ext4分区)而不必担心会损坏ext4文件系统?如果是这样,我如何告诉它减少正确的数量? $ lvreduce --by-exactly-the-amount-occupied-by-PV /ev/sdb3 /dev/mapper/myvg-root
1 lvm  ext4 
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.