PV,VG,LV构成了一种易于管理拥有一个或多个硬盘的主机的文件系统,这些硬盘可能只有一个分区也可能有多个。通过将这些物理存在的分区(或称为卷)PV(physical volume)进行整合,组成一个分区(卷)组VG(volume group),进而再次进行分配形成逻辑分区(卷)LV(logical volume)。创建成功的逻辑分区对于操作系统来说会想普通分区无异,其好处是可以动态调整分区大小。管理PV,VG,LV的工具称为逻辑卷管理器LVM(logical volume manager)。其关系如下图所示:
需要指出的是,在某个物理卷在加入卷组时,会将物理卷的最小存储单元设定为一个固定的值,这个值称为PE(physical extent)。这个值的创建,是为了保证用统一的最小分配单元来创建逻辑卷,不至于因为分配单元大小不同而造成空间浪费。举个例子:用于远洋运输的集装箱的设计是是有着统一标准的,最重要一点是集装箱大小完全相同,这样做的好处是集装箱相互堆叠在一起不会留下多余的空隙,完全利用了空间,且便于管理。设定PE的原因也与此相同。LVM以最小分配单元来创建逻辑卷,该最小分配单元的值称为LE(logical extent)。一般来说PE=LE,且大小为2n。
现以xenserver上的PV,VG,LV操作为例进行描述:
对物理分区PV的操作有:
对卷组VG的操作有:
对逻辑卷LV的操作有:
根据命令名字可判断操作内容。
接下来是具体操作过程:
1. 创建物理卷
2. 查看物理卷状态
3. 创建卷组
创建一个名为volume_group的卷组,包含物理卷/dev/sda3
4. 查看卷组状态
卷组创建时,物理卷会被LVM以最小存储单元,也就是PE,分为一个个大小一样存储块。后面创建逻辑卷时,也会以LE为最小分配单元。由于内核限制,一个逻辑卷只会包含216个LE,如PE=LE=1MB,则一个LV最大容量为63356MB。PE,LE大小在卷组创建时确定,默认值为4MB。如果需要更改为1MB,则命令这样写:
5. 创建逻辑卷
在卷组volume_group上创建名为iso_image的逻辑卷。逻辑卷大小有两种指定方法:用-L参数显示指定大小;用-l参数指定该逻辑卷包含LE的数量。LE取默认值4MB,上面两个命令创建的逻辑卷iso_image大小都是30GB。
6. 查看逻辑卷状态
7. 在逻辑卷上创建文件系统
该命令创建是EXT3文件系统。这样逻辑卷iso_image就像一个实实在在的物理区分一样使用了。通过挂载命令将该逻辑卷挂在到某个目录即可。
8. 挂载逻辑卷到某个目录
如此,进入iso_image目录即进入了逻辑卷iso_image。
9. 编辑/etc/rc.d/rc.sysinit文件,大概487行,取消掉下面的注释内容,即去掉每行前面的“#”
10. 编辑/etc/fstab文件,在文件最后添加这样一行内容:
第9、10步是为了保证在计算机重启后逻辑卷可以自动启动挂载。
11. 若不需要该逻辑卷,可用下面的命令删除
12. 可以在此基础上创建ISO库和本地存储库,具体内容请参考我的另一篇博客《Xenserver上创建ISO库和本地存储库》的内容。