我有一堆在 Linux 系统上使用的外部和内部 HDD。我只有 Linux 系统,所以使用 Linux 文件系统才有意义,对吧?但是,我目前在任何地方都使用 NTFS,因为它为我提供了硬盘驱动器中最可用的空间。
不过,我现在想切换到 Linux 文件系统,主要是因为权限和兼容性(例如,我无法让我的 LUKS 加密 NTFS 分区在 Linux 下调整大小,一直告诉我在 Windows 下使用 chkdsk)。
然而,当我格式化这些硬盘时,我尝试了一堆不同的文件系统和每个 Linux 文件系统,甚至据我所知没有日志的 ext2,为自己使用了大量空间。我不记得确切的值,但是 NTFS 在 2TB HDD 上为我提供了超过 100GB 的容量,这已经很多了。
所以我的问题是:有没有办法让 ext 文件系统为自己使用更少的空间?或者是否有另一个文件系统(我尝试过 ext2、ext3、ext4、NTFS 和 vfat - 它们都没有接近 NTFS 为我提供的可用空间)具有完美的 Linux 支持和巨大的可用空间?
我很想知道文件系统(尤其是没有日志的 ext2)如何以及为什么使用比 NTFS 多得多的空间,我不知道还能在哪里问。如果可能的话,我最喜欢使用 ext4 而不使用日志和其他任何占用这么多空间的方法。
有什么办法可以在 Windows 7 上使用ext3分区吗?
我尝试安装http://www.fs-driver.org,但它似乎无法在 Windows 7 上运行。
我知道如何使用 MacFUSE 和 fuse-ext2在 OS X 中挂载 ext3 文件系统。但是如何挂载加密的 ext3 卷?
我运行的是 Mac OS X 10.6“Snow Leopard”。
我跑出空位的/home/data需要,并转移/home/data/repo至/home/data2。
/home/data/repo包含 1M 个目录,每个目录包含 11 个目录和 10 个文件。总共 2TB。
/home/data在启用 dir_index 的 ext3 上。
/home/data2在 ext4 上。运行 CentOS 6.4。
我认为这些方法很慢,因为repo/它下面有 100 万个目录。
mv速度快但被打断如果这已经完成,我可以做到:
/home/data> mv repo ../data2
Run Code Online (Sandbox Code Playgroud)
但是在传输了1.5TB之后就中断了。它以大约 1GB/分钟的速度写入。
rsync在构建文件列表 8 小时后爬行/home/data> rsync --ignore-existing -rv repo ../data2
Run Code Online (Sandbox Code Playgroud)
构建“增量文件列表”需要几个小时,然后以 100MB/分钟的速度传输。
我取消它以尝试更快的方法。
mv抱怨在子目录上测试它:
/home/data/repo> mv -f foobar ../../data2/repo/
mv: inter-device move failed: '(foobar)' to '../../data2/repo/foobar'; unable …Run Code Online (Sandbox Code Playgroud) 昨天,我删除了家庭/媒体服务器上的 71 GB 文件。
之前的可用空间:117 GB
之后的可用空间:126 GB
因此,我没有 71 GB 的额外可用空间,而是只有 9 GB。我仔细检查过没有打开任何文件,我真的删除了 71 GB,可用空间只增加了 9 GB。
我也尝试过同步,但没有效果。
这不是第一次发生。事实上,多年来我时不时地看到这种行为。首先是 ext3,现在是 ext4。
发生这种情况时,我可以通过卸载然后重新安装文件系统来回收可用空间。在这些情况下,卸载最多需要 2 分钟而不是几乎没有时间。
现在,我无法轻松卸载和重新安装文件系统,因为它一直在忙于我的录像机软件、我家人的 owncloud 服务器以及一些我目前还没有的服务。而且我不想在晚上3点钟起床只是为了卸载和重新安装。
不,'at' 实用程序不会这样做,因为其中一个服务执行不可恢复的长时间运行任务,因此需要手动状态检查以找到可以关闭的好时机,即任务刚刚完成。
但是今天早上,我注意到这个空间一夜之间被释放了。在我看来好像进行了某种清理,这可能与卸载时需要额外的时间相同。
到目前为止,我只在删除大量数据时注意到这种行为。另一方面,我不确定它是否经常发生,而且差异太小而无法注意到。
文件系统创建时为 root ( mkfs -m 0)保留了 0% 。根据fsck -f(我总是在卸载和重新安装之间这样做),文件系统没有损坏,并且根据 SMART 诊断扩展测试,硬件也正常。
[编辑]
tune2fs 1.42 (29-Nov-2011)
Filesystem volume name: bigdata
Last mounted on: /bigdata
Filesystem UUID: 6aebd17a-e064-41dc-9c68-c9a3acbe4f66
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery …Run Code Online (Sandbox Code Playgroud) fsck不久前,我在有问题的(未安装的)分区上运行了-c。该过程无人值守,结果未存储在任何地方(坏块 inode 除外)。
现在我想获取坏块信息,以了解硬盘驱动器是否有任何问题。不幸的是,分区是在生产系统中使用的,无法卸载。
我看到了两种获得我想要的东西的方法:
运行badblocks在只读模式。这可能会花费大量时间,并对系统造成不必要的负担。
以某种方式从文件系统本身提取有关坏块的信息。
如何查看已挂载的文件系统中注册的已知坏块?
在 linux 中,给定原始磁盘设备的偏移量,是否可以映射回分区 + inode?
例如,假设我知道字符串“xyz”包含在 /dev/sda 上的字节偏移量 1000000 处:(例如 xxd -l 100 -s 1000000 /dev/sda 显示以“xyz”开头的转储)
1)如何确定偏移量 1000000 位于哪个分区(如果有)?(我想这很容易,但为了完整起见,我将其包括在内)
2) 假设偏移量位于分区中,我该如何查找它属于哪个 inode(或确定它是空闲空间的一部分)?大概这是特定于文件系统的,在这种情况下,有人知道如何为 ext4 和 ext3 执行此操作吗?
我必须将 USB 硬盘格式化为 ext3 才能与 Linksys nas 盒一起使用。现在,当我从 nas 上拔下它并将其直接插入我的 Windows 7 计算机时,我无法读取高清。(电脑通过无线连接访问nas,所以我喜欢在传输大文件时将高清直接插入我的电脑。)
当我将它直接插入我的电脑时,如何让高清格式保留为 ext3,但仍然能够访问(读/写)?
我有一个自制的 NAS,我需要稍微重新配置一些驱动器的使用。
我有一个由两个 3TB 驱动器组成的 mdadm RAID1。每个驱动器都有一个使用整个驱动器的 ext3 分区。我需要缩小两个驱动器上的 ext3 分区,并将第二个 8GB 左右的 ext3 分区添加到一个,并将大小相同的交换分区与另一个。我想我已经弄清楚了步骤,但想要一些确认。
resize2fs /dev/md0 [size]大小,其中大小略大于驱动器上当前使用的空间mdadm /dev/md0 --fail /dev/sda1mdadm -a /dev/md0 /dev/sda1mdadm --grow /dev/md0 -z max有什么我错过或没有考虑过的吗?
我正在安装 Ubuntu 11.10,但在选择要使用的文件系统时遇到了困难。
ext3和ext4;哪个更适合个人桌面?
如果 ext4 更好,它会在我的旧电脑(3 年前买的)上运行良好,还是 ext4 实际上与旧硬盘不兼容?