LVM和灾难恢复

我理解LVM是什么以及它做了什么,但是我觉得我错过了一些东西。

假设我们有两个物理驱动器,sda和sdb。 两个都是100 Megs。 我把它们放到VolumeGroup1中,并创build一个200兆的LogicalVolume1。

如果我创build一个150兆文件会发生什么? 身体会在sda上达到100兆,在sdb上达到50吗? 如果是这样,告诉操作系统一个文件在一个驱动器上,另一个在另一个上?

怎么样的驱动器故障? 假设没有RAID,如果sdb失败,sda上的所有数据都会丢失吗? 无论如何要控制什么物理驱动器上的文件?

你通常如何pipe理LVM? 你创build一个或两个大的卷组,然后使分区,因为它是有意义的? 任何其他提示?

假设我们有两个物理驱动器,sda和sdb。 两个都是100 Megs。 我把它们放到VolumeGroup1中,并创build一个200兆的LogicalVolume1。
如果我创build一个150兆文件会发生什么? 身体会在sda上达到100兆,在sdb上达到50吗?

正确(假定在文件创build之前文件系统是空的)。

如果是这样,告诉操作系统一个文件在一个驱动器上,另一个在另一个上?

LVM告诉操作系统有一个单一的200MB磁盘。 内核的LVM部分(分为两部分,用户空间pipe理工具和内核驱动程序)会将操作系统看到的内容映射到磁盘上的物理位置/块。

怎么样的驱动器故障? 假设没有RAID,如果sdb失败,sda上的所有数据都会丢失吗? 无论如何要控制什么物理驱动器上的文件?

是的,考虑数据丢失。

如果创build更小的逻辑卷,则可以使用pvmove命令将它们从磁盘移动到磁盘。

你通常如何pipe理LVM? 你创build一个或两个大的卷组,然后使分区,因为它是有意义的? 任何其他提示?

我倾向于创build大卷组,然后根据需要创build逻辑卷。 没有必要完全分配卷组中的所有空间; 在需要时分配它。 增加逻辑卷的大小是很容易的,几乎所有的现代文件系统都可以很容易地增长。

让Linux中的LVM和Software Raid工作的基础是内核的设备映射器部分。 这是将物理设备的块地址抽象为您正在使用的虚拟块设备的块地址。

在涉及到数据时,像使用LVM一样使用LVM,您需要了解数据可用性的影响。 这并不是说实际使用正确的做法时LVM是危险的,它对可用性的影响很小。

在这种情况下,你build议在你的问题中,你的数据的可用性将与RAID0相同,如果任何驱动器出现故障,将导致数据丢失。

在实践中,我不会使用LVM而不在某种RAID上运行它。 我在一台30TB的文件服务器上使用了LVM,在一台VG上有大约20个硬件RAID5卷。 但是如果你有足够的免费的范围,你可以使用pvmove来迁移一个或多个PV的数据,如果它开始给你的问题。

但总是有一个不时testing的备份策略。

你通常如何pipe理LVM? 你创build一个或两个大的卷组,然后使分区,因为它是有意义的?

我的总体策略是将可能会被迁移到另一个系统的物理卷(作为整个集合)放入单独的卷组中。

如果您有外部存储,最好把它放在一个单独的卷组中。 将它从这台计算机上断开并连接到另一台计算机是非常容易的,因此从逻辑上来说,在LVM中导出/导入它应该同样简单,从而保持数据不变。

如果你已经在内部磁盘上安装了vg00,然后又为你的机器购买了另一个内置磁盘,那么问自己一个问题:新磁盘上的数据是否会被绑定到vg00上,数据到另一个系统? 在这种情况下,它应该是vg00的一部分。 否则,我会创buildvg01,因为它可以很容易地导出/导入。

如果你有两个驱动器作为这样一个组中的物理卷,那么你有一个JBOD(只是一堆磁盘)arrays。 如果其中一个驱动器出现故障,那么与驱动器安排在RAID0arrays中相比,将不会有更好的保护。

如果卷组中有一个逻辑卷,则不能直接控制两个驱动器上的位置(因为这将由卷中的文件系统控制,而不是LVM),但如果将卷组拆分为多个逻辑卷可以手动对其创build进行sorting,以使给定的逻辑卷位于给定的驱动器上。

我相信VG中的每个PV都有一个LV布局的副本,并且数据不会像RAID0那样被剥离,所以如果您的某个驱动器出现故障,您确实有更多恢复机会的机会,但是如果数据丢失是任何问题我不会考虑使用两个驱动器(通过LVM或RAID0)。

如果我创build一个150兆文件会发生什么? 身体会在sda上达到100兆,在sdb上达到50吗? 如果是这样,告诉操作系统一个文件在一个驱动器上,另一个在另一个上?

LVM(逻辑卷pipe理器)将物理卷收集到卷组中。 每个物理卷(驱动器本身)都有称为物理盘区的小块。 这些盘区在磁盘中有一个uniq标识符。 其实他们是序列号。 创build逻辑卷时,它是从与物理盘区配对的逻辑盘区build立的。 逻辑盘区在逻辑卷中具有uniq ID。 在HP-UX中,可以检查哪个逻辑盘区与哪个物理盘区配对。 在SLES11中,我无法弄清楚如何检查它。 lvdisplay --maps应该是好的,但不是lvdisplay --maps (对我来说)。