Tuesday, December 22, 2009

新硬盘使用LVM

新硬盘终于到手。硬盘其实不大, 才250G. 但是对于80G都用不满的本人, 还是觉得很多的(人心怎么会满足,80G用不满是因为没有存放的必要罢了)

为了不为硬盘空间的分配折腾(比如root要多大才最好, /要多大才最优, 有这个必要吗?不就是空间嘛。), 上lvm

lvm分三层:
1. PV层, 对应于硬件, 如/dev/sdb。 PV也可以是硬盘的一个分区, 如/dev/sda1
2. VG层,使用多个pv创建一个组(也可以称为池),把N个硬件抽象成一个连续的大硬件。
3. LV层,对应于分区这个概念。但不是传统的分区概念。

还有一个概念:PE,一个PV(硬件)被处理成N个PE, 每单位个PE其实就是chunk of data,数据的一部分。这样数据就可能分配在不是同一个硬盘上的PE。从而实现了数据分配在不同的硬盘上。加上pv, vg, lv等等抽象,PE对用户和程序是透明的, 实现了抽象的大硬盘。

刚使用LVM时, 常有个问题:为什么可以在一个分区上虚拟另一个分区的? linux下的设备就是个"玄"的概念

平时使用传统分区时, 都是这样使用的:
# mount /dev/sda1 /mnt/usb

但是使用LVM后, 不是直接对传统分区操作, 而是对LV:
# mount /dev/mapper/sg250-data  /mnt/usb

好比使用 mount.davfs 去使用webdav一样。 设备的来源成了URL

使用LVM是需要kernel的支持:
jessinio@jessinio-laptop:/dev$ cat /proc/devices |grep map
252 device-mapper

需要mount LVM分区时, 需要lvm工具的支持, 也就是说需要把boot分区创建在LVM上时, 需要在initrd.img里包含lvm工具才行


lvm操作简单, 细节慢慢吸收

先把数据copy到新空间再说。

BTW: 带来空间管理方便的同时,也带来了新的数据安全问题。

使用得好就是效率, 使用得不好就是慢性自杀



No comments:

Post a Comment

Note: Only a member of this blog may post a comment.