我读到,在镜像逻辑卷时,会使用某种日志来保持文件同步。您可以设置它,使该日志位于单独的物理卷或内存中。我还读到,如果日志位于内存中,系统必须重新同步卷。
使用内存中的日志是否会影响性能?例如,启动机器需要更长的时间吗?重新同步时数据是否面临风险?
在本例中我使用的是 Ubuntu 10.04。我相信这是lvm2。我发现的最清晰的文档是CentOS 文档在这里。我也在看这个描述。
答案1
您可以添加您引用的链接吗?因为仅仅镜像是不需要日志的。当您使用日志文件系统时,通常会涉及日志(在相同或额外的设备上) - 如果您在下面的层(即块层)上使用或不使用镜像。
更新:好的,有了链接,现在事情就更清楚了。 LVM镜像似乎与linux md(RAID 1)镜像有很大不同。
引用自lvcreate 手册页:
指定可选参数“--corelog”将创建带有内存日志而不是基于磁盘(持久)日志的镜像。虽然这消除了对额外日志设备的需要,并且可能稍微快一点,它要求整个镜像在每次实例化时重新同步(例如重新启动)。
因此,使用基于内存的日志,您会在启动时受到显着的性能影响,并且当日志物理卷位于同一硬件磁盘上时,性能也会受到影响。
谷歌搜索了一下,使用 Linux 进行镜像mdadm
似乎是 ATM 更好的方法。 (您可以使用 md 设备作为某些 lvm 设置的物理设备。)
首先,它不需要额外的日志(并且不会在每次启动时进行昂贵的重新同步)。
其次,lvm镜像似乎不支持并行读取,即md镜像应该有更好的读取性能:
https://serverfault.com/questions/97845/lvm-mirroring-vs-raid1
https://serverfault.com/questions/126851/linux-lvm-mirror-vs-md-mirror