标签: ext4

与 blkid 和une2fs 不同的 uuid

我将 /dev/sdb3 (GPT 分区)中的一个分区复制(dd)到 /dev/vg0/lv0_sys (lvm2 lv)

肯定需要调整其中之一的 uuid,我发现 blkid 向我显示了两者的两个不同的 uuid。令我惊讶的是,我寻找其他方式来显示 uuid,并来到了une2fs。une2fs 为我提供了相同的 uuid。这意味着,tune2fs 和 bklid 为 /dev/mapper/vg0-lv0_sys 处的副本提供了不同的 uuid

请注意,我使用符号链接 /dev/vg0/lv0_sys 来制作副本,但使用直接路径 /dev/mapper... 来获取 uuid。该符号链接不适用于 blkid。但它确实可以与tune2fs一起使用。

那么,blkid 在做什么呢?分区/lv 是否有自己的 uuid,与文件系统 uuid 不同,但可以相同吗?blkid 正在展示这个吗?

blkid的完整输出:

/dev/sda2: UUID="634cfda6-5ebd-4c12-9480-e9effb2c9c69" TYPE="ext2" 
/dev/sda3: UUID="69fa6b8a-4c53-409b-aec7-d72b1ca9463a" SEC_TYPE="ext2" TYPE="ext3" 
/dev/sda4: UUID="966c08c5-1588-4456-9d82-3c42d6a8e09c" SEC_TYPE="ext2" TYPE="ext3" 
/dev/sda5: UUID="414cef10-c56c-4b23-8508-698ed49360f9" SEC_TYPE="ext2" TYPE="ext3" 
/dev/sda6: UUID="MI8wFf-3wqr-fYR0-iVOk-1gAJ-mDuG-yaUpoK" TYPE="LVM2_member" 
/dev/sda7: UUID="RoZLP3-Owd8-5Fkm-Q33j-X6nS-Eju5-Bqw3Xr" TYPE="LVM2_member" 
/dev/sda8: UUID="fFStIK-Cvqy-kGYt-JDlx-JAAT-VcHb-apY50V" TYPE="LVM2_member" 
/dev/sda9: UUID="EImDQ9-UGI7-sUsM-ihar-vDuB-SSlb-wz7bhy" TYPE="LVM2_member" 
/dev/sdb2: UUID="83556c87-b5f5-44e9-be53-2ae46cab8931" TYPE="ext2" 
/dev/sdb3: UUID="25e6c972-e769-4216-bc18-8d2d1eefa6a1" TYPE="ext4" 
/dev/sdb4: UUID="D2wdPj-RiS1-7ea0-KUUE-NLuq-UZUa-Fe3FuY" TYPE="LVM2_member" 
/dev/mapper/vg0-lv0_sys: UUID="bc2de0a1-4de2-4e61-a19e-376409528fd9" TYPE="ext4" 
/dev/mapper/vg3-lv0_sys: UUID="e9131371-71af-4dcc-a0f6-83673da1330c" SEC_TYPE="ext2" TYPE="ext3" 
/dev/mapper/vg3-lv1_sys: …
Run Code Online (Sandbox Code Playgroud)

linux ext4

4
推荐指数
1
解决办法
2486
查看次数

rsync 在不同的文件系统之间复制未修改的文件

我尝试使用 rsync 在两台机器之间同步文件,但无论文件修改时间如何,它似乎都会复制所有文件。连续两次调用该命令产生相同的结果,所以它显然是坏的。

有问题的命令是:

rsync -r local/path user@host:/remote/path -v
Run Code Online (Sandbox Code Playgroud)

本地文件系统是 ext4,而远程文件系统是 ext3。我怀疑问题出在这里,因为当我尝试在同一个 ext3 系统和 NTFS 驱动器之间同步文件时,我遇到了类似的问题。将后者转换为 ext3 解决了这个问题。

这次我不能求助于转换。有谁知道问题的确切来源和任何可能的解决方案?

filesystems ext4 ext3 synchronization rsync

4
推荐指数
1
解决办法
3308
查看次数

Ext2:e2fsck “错误”是什么意思?

因此,我的硬盘驱动器运行缓慢,在检查我的系统日志后,我发现了所有这些错误。一些谷歌搜索使我尝试在驱动器上运行 e2fsck -c -c。所以,它现在已经进行了大约 2 天,并且似乎接近完成。但是,它是这样说的:

e2fsck 1.42 (29-Nov-2011)
Checking for bad blocks (non-destructive read-write test)
Testing with random pattern:  92.64% done, 43:38:19 elapsed. (97/0/0 errors)
Run Code Online (Sandbox Code Playgroud)

这很酷。但是,97/0/0 意味着什么?我预计会丢失多少数据?(这是一个 3TB 的硬盘)(我想我可以等……以这种速度,我想是 3 个半小时,但我不确定它是否会告诉我 97 的含义,所以我想我想问。)

谢谢!

linux ext4 fsck

4
推荐指数
1
解决办法
1183
查看次数

Linux 上的直接 I/O

我正在尝试在 Linux Mint 13 上的 /opt (/dev/sda6, ext4) 上启用直接 I/O。我正在尝试的是:

mount -o dio,rw /dev/sda6 /opt
Run Code Online (Sandbox Code Playgroud)

作为根。

系统响应如下:

mount: wrong fs type, bad option, bad superblock on /dev/hda2
Run Code Online (Sandbox Code Playgroud)

dmesg 正在报告:

EXT4-fs (sda6): Unrecognized mount option "dio" or missing value.
Run Code Online (Sandbox Code Playgroud)

我不知道要设置哪个参数来启用直接 I/O(即使 ext4 可以使用直接 I/O 进行安装)。除此之外,如果 ext4 不支持直接 I/O,有人可以指出在 Linux 上使用的文件系统吗?

linux filesystems ext4 io

4
推荐指数
1
解决办法
8569
查看次数

使用 rsync 复制数据会导致大小差异

我正在切换机器,并将旧硬盘 ( /dev/sda4) 连接到新机器。

720G与新机器 ( ) 相比,旧机器的硬盘驱动器 ( ) 稍小736G,因此我也创建了一个稍大的分区。

于是,我接着跑去rsync将所有数据复制到新分区,如下图:

linux-70e2:/ # time rsync -azprvl /mnt/external-disk/foo /media/sda4/

...
sent 169,237,139,987 bytes  received 24,529 bytes  24,419,185.41 bytes/sec
total size is 190,542,953,489  speedup is 1.13

real    115m30.297s
user    112m13.068s
sys     3m59.996s
Run Code Online (Sandbox Code Playgroud)

数据被复制且没有错误。

但是,当我这样做时:

du -h -m -s /mnt/external-disk/foo /media/sda4/foo
Run Code Online (Sandbox Code Playgroud)

我得到:

162414  /mnt/external-disk/foo
181721  /media/sda4/foo
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下这种巨大的差异吗?为什么我没有得到相同的结果?这几天让我发疯。还有一些其他分区,我也遇到了类似的差异。

两个分区都是ext4.

linux-70e2:/ # mount | grep sda4
/dev/nvme0n1p5 on /media/sda4 type ext4 (rw,relatime,data=ordered)
/dev/sda4 on /mnt/external-disk type …
Run Code Online (Sandbox Code Playgroud)

linux ext4 rsync opensuse

4
推荐指数
1
解决办法
4289
查看次数

写回模式下的 LVM 缓存相当于外部 ext4 日志?

我在 LVM 上运行 ext4 文件系统。我正在考虑的两个主要加速选项是 LVM 缓存和外部 ext4 日志。

听起来如果我为此使用单个 SSD,回写模式下的 LVM 缓存与在外部设备上拥有 ext4 日志是一样的......

这是正确的解释吗?

optimization ext4 lvm cache

4
推荐指数
1
解决办法
4770
查看次数

如何将多个选项传递给“tune2fs -E mount_opts”?

根据手册:

mount_opts=mount_option_string
                      Set  a  set  of  default mount options which will be used when the file
                      system is mounted.  Unlike  the  bitmask-based  default  mount  options
                      which  can  be  specified with the -o option, mount_option_string is an
                      arbitrary string with a maximum length of 63 bytes, which is stored  in
                      the superblock.
Run Code Online (Sandbox Code Playgroud)

如果我尝试设置单个选项,它会起作用:

$ tune2fs -E mount_opts=data=writeback /dev/sde2
tune2fs 1.43.5 (04-Aug-2017)
Setting extended default mount options to 'data=writeback'
Run Code Online (Sandbox Code Playgroud)

但如果我尝试设置多个选项,它似乎与tune2fs自己的解析机制冲突:

$ tune2fs -E mount_opts=data=writeback,noatime /dev/sde2 
tune2fs 1.43.5 (04-Aug-2017)

Bad options …
Run Code Online (Sandbox Code Playgroud)

linux filesystems ext4

4
推荐指数
1
解决办法
1492
查看次数

只能连接到 Linux 的外部驱动器的文件系统

我刚买了一个新的 500GB 外置硬盘。大多数时候我只在这些东西和一些电影上存储操作系统 ISO。无论如何,大文件有时会超过 4GiB,因此 FAT 是不可能的。

所以,我想知道。我的旧外置硬盘是 NTFS 格式的,因为它有时必须能够连接到 Windows boxen。这个新硬盘没有这个要求。NTFS 仍然是最佳选择吗?ext{2,3,4} 文件系统之一是否是可移动磁盘的不错选择?是否有我不知道的文件系统符合要求?

这里的“账单”将是一个稳定的文件系统,它能够在不干净的断开连接中幸存下来,速度快,可以处理超过 4GiB 的文件,并且至少可以在 2.6.28 及更高版本的内核上使用。

更新:我没有考虑 xfs,它的大文件系统支持很有趣。我将查看我使用的操作系统/内核(RHEL5、CentOS5、Ubuntu 9.04 和 8.04、Fedora11),看看这些内核是否支持 xfs。我想我记得其中一些(发行版)默认不支持它,但话说回来,也许我在这里将 jfs 误认为 xfs。

同步选项也很有趣,但这意味着在我的所有机器上为这个设备创建 UDEV 规则,这不是一个大问题,但仍然是我必须记住的事情。

最后,采用 xfs 和同步选项,我想知道 xfs 的性能提升和同步选项的性能下降是否会比 - 仍然相当有限 - USB 接口显着。

linux xfs filesystems ext4 ext3

3
推荐指数
3
解决办法
2386
查看次数

ext4 fs 断电后中断

我遇到了一个非常典型但奇怪的问题:我的服务器断电后硬盘坏了。我可以感觉到 fsck 在崩溃后在启动时完成了巨大的工作,然后我的 subversion 存储库失去了几个月的工作 - 这对我来说听起来很奇怪。服务器在该硬盘驱动器上运行 ext4,因此它应该是安全的 - 但事实并非如此。我开始怀疑是硬盘驱动器问题,但也许还有其他原因?

相关fstab行是

/dev/mapper/vg_data-LV_data /data ext4 默认为 1 2

系统是 Fedora 11 x86_64。

filesystems ext4 hard-drive fedora

3
推荐指数
1
解决办法
697
查看次数

是否真的有必要在非托管断电之前调用 /bin/sync 两次?

我的公司销售一种“嵌入式设备”,它是在内部 SSD 上实现为带有 ext4 的无头 Linux 机器。我们的一些用户习惯于在此框上执行“保存当前设置”,然后在设备报告保存完成后立即切断设备电源(即两秒钟后)。这会导致保存的文件偶尔损坏,因为在断电之前数据不会总是刷新到 SSD。所以我调整了我的软件以在写入文件后立即运行 /bin/sync (在关闭文件句柄之后但在通知用户保存完成之前)。这似乎解决了这个问题,但我的同事说对 /bin/sync 的一次调用是不够的,为了真正安全,我应该连续运行两次 /bin/sync。

对我来说,这听起来像是偏执狂......也许是早期版本的 Linux 或 unix 的习惯,它们的同步实用程序不能可靠地工作。他的建议是否有价值,还是只调用一次 /bin/sync 就足够了?

linux ext4 synchronization

3
推荐指数
1
解决办法
2919
查看次数

标签 统计

ext4 ×10

linux ×7

filesystems ×5

ext3 ×2

rsync ×2

synchronization ×2

cache ×1

fedora ×1

fsck ×1

hard-drive ×1

io ×1

lvm ×1

opensuse ×1

optimization ×1

xfs ×1