如何找出lvm镜像写入是asynchronous的还是同步的?

我用一个lvm镜像使用redhat 5.8,用以下命令创build:

lvcreate -m1 --mirrorlog mirrored -n mirrorvol -L 10G myvg /dev/vdb /dev/vdc 

我想知道,当我写的时候,我是否需要等待写入这两个设备,或者只是一个?

从我所了解的lvm镜像是同步的:

 [root@02srv004x9 ~]# dmsetup ls mpath2 (253, 2) foo (253, 3) vgmirror-oracle_BD2_mirrorlogAvol (253, 4) VolGroup00-LogVol01 (253, 1) VolGroup00-LogVol00 (253, 0) vgmirror-oracle_BD2_mirrorlogAvol_mimage_1 (253, 6) vgmirror-oracle_BD2_mirrorlogAvol_mimage_0 (253, 5) dmsetup suspend /dev/mapper/vgmirror-oracle_BD2_mirrorlogAvol_mimage_1 Name: vgmirror-oracle_BD2_mirrorlogAvol_mimage_1 State: SUSPENDED Read Ahead: 256 Tables present: LIVE Open count: 1 Event number: 0 Major, minor: 253, 6 Number of targets: 1 UUID: LVM-c8xfdstj4tTpfV3LSIYat0wbKXpfb7kDefFId05lIJR2QV1ws7CBfkbC0Oc813d9 

现在,我有一个处于挂起状态的辅助映像,我将尝试挂载文件系统:

  mount /dev/mapper/vgmirror-oracle_BD2_mirrorlogAvol /mnt 

这里mount命令被locking,并保持在状态D.

如果你写,写入将发生在你的内存中的块caching。 从那里它将被同步,当它是最佳的。

如果您执行sync命令或fsync()系统调用,则会写出整个写入caching。 接下来,ext2-3-4文件系统试图尽可能频繁地写入写入caching,其他文件系统有更好的启发式。

日志文件系统也会定期执行部分同步。

如果mirrorvol发生写操作,它将通过两个写操作传递给vdb和vdc上的逻辑子卷。 不能保证它们会在同一时间被实际执行,除非有人这么说(可以是周期性写入caching同步,日志logging或ext2-3-4文件系统精彩同步function)。


暂停不用于模拟LVM物理卷中的错误。 暂停是做非primefaces的变化,这对于实际的用户来说似乎是primefaces的。 在暂停期间,使用给定逻辑卷的每个命令都将处于D状态,但是对于写入caching不需要执行任何操作,这是LVMfunction。

如果要模拟镜像LVM卷中的硬件错误,则必须find其他解决scheme。 如果您使用SMARTclosures物理硬盘,我认为这是第一个。