Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1132092
  • 博文数量: 113
  • 博客积分: 2422
  • 博客等级: 大尉
  • 技术积分: 1393
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-25 17:54
文章分类
文章存档

2016年(1)

2014年(8)

2013年(7)

2012年(13)

2011年(42)

2010年(26)

2009年(6)

2008年(6)

2007年(4)

我的朋友

分类: LINUX

2011-01-13 09:57:29

lvm使用详解

一、 前言

LVM是逻辑卷管理(Logical Volume Manager)的简称,它是建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,与直接使用物理存储在管理上相比,提供了更好灵活性。

LVM将存储虚拟化,使用逻辑卷,你不会受限于物理磁盘的大小,另外,与硬件相关的存储设置被其隐藏,你可以不用停止应用或卸载文件系统来调整卷大小或数据迁移.这样可以减少操作成本.

LVM与直接使用物理存储相比,有以下优点:

1. 灵活的容量.

当使用逻辑卷时,文件系统可以扩展到多个磁盘上,你可以聚合多个磁盘或磁盘分区成单一的逻辑卷.

2.可伸缩的存储池.

你可以使用简单的命令来扩大或缩小逻辑卷大小,不用重新格式化或分区磁盘设备.

3.在线的数据再分配.

你可以在线移动数据,数据可以在磁盘在线的情况下重新分配.比如,你可以在线更换可热插拔的磁盘.

4. 方便的设备命名

逻辑卷可以按你觉得方便的方式来起任何名称.

5.磁盘条块化.

你可以生成一个逻辑盘,它的数据可以被条块化存储在2个或更多的磁盘上.这样可以明显提升数据吞吐量.

6.镜像卷

逻辑卷提供方便的方法来镜像你的数据.

7.卷快照

使用逻辑卷,你可以获得设备快照用来一致性备份或者测试数据更新效果而不影响真实数据.

二、 LVM基本术语

前面谈到,LVM是在物理存储上添加的一个逻辑层,来为文件系统屏蔽下面的硬件存储设备,提供了一个抽象的盘卷,在盘卷上建立文件系统。首先我们讨论以下几个LVM术语:

* 物理存储介质(The Physical Media

这里指系统的存储设备,如:/dev/hda1/dev/sda等等,是存储系统最低层的存储单元。

* 物理卷(PV, Physical Volume

物理卷就是指磁盘,磁盘分区或从逻辑上与磁盘分区具有同样功能的设备( RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。当前LVM允许你在每个物理卷上保存这个物理卷的02份元数据拷贝.默认为1,保存在设备的开始处.2,在设备结束处保存第二份备份.

* 卷组(VG, Volume Group

LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。

* 逻辑卷(LV, Logical Volume

LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr)

*线性逻辑卷 (Linear Volumes)

一个线性逻辑卷聚合多个物理卷成为一个逻辑卷.比如,如果你有两个60GB硬盘,你可以生成120GB的逻辑卷.

*条块化的逻辑卷(Striped Logical Volumes)

当你写数据到此逻辑卷中时,文件系统可以将数据放置到多个物理卷中.对于大量连接读写操作,它能改善数据I/O效率.

*镜像的逻辑卷(Mirrored Logical Volumes)

镜像在不同的设备上保存一致的数据.数据同时被写入原设备及镜像设备.它提供设备之间的容错。

*快照卷(Snapshot Volumes)

快照卷提供在特定瞬间的一个设备虚拟映像,当快照开始时,它复制一份对当前数据区域的改变,由于它优先执行这些改变,所以它可以重构当前设备的状态。

* PEphysical extent

每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB

* LElogical extent

逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

和非LVM系统将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于物理卷起始处的 VGDA(卷组描述符区域)中。VGDA包括以下内容: PV描述符、VG描述符、LV描述符、和一些PE描述符。系统启动LVM时激活VG,并将VGDA加载至内存,来识别LV的实际物理存储位置。当系统进行I/O操作时,就会根据VGDA建立的映射机制来访问实际的物理位置。

三、 安装LVM

首先确定系统中是否安装了lvm工具:

[root@tmp2 root]# rpm –qa|grep lvm

lvm-x-x-x

如果命令结果输入类似于上例,那么说明系统已经安装了LVM管理工具;如果命令没有输出则说明没有安装LVM管理工具,则需要从网络下载或者从光盘装LVM rpm工具包。

安装了LVMRPM软件包以后,要使用LVM还需要配置内核支持LVMRedHat默认内核是支持LVM的,如果需要重新编译内核,则需要在配置内核时,进入Multi-device Support (RAID and LVM)子菜单,选中以选项:

[*] Multiple devices driver support (RAID and LVM)

Device mapper support

Snapshot target (EXPERIMENTAL)

Mirror target (EXPERIMENTAL)

然后重新编译内核,即可将LVM的支持添加到新内核中。

为了使用LVM,要确保在系统启动时激活LVM,在RedHa的版本中,系统启动脚本已经具有对激活LVM的支持,在/etc/rc.d/rc.sysinit中有以下内容:

if [ -x /sbin/lvm.static ]; then

action $"Setting up Logical Volume Management:" /sbin/lvm.static vgchange -a y --ignorelockingfailure

fi

vgchange -a y命令激活系统所有卷组。

四、 创建和管理LVM

要创建一个LVM系统,一般需要经过以下步骤:

1、 创建分区

使用分区工具(如:fdisk等)创建LVM分区,方法和创建其他一般分区的方式是一样的,区别仅仅是LVM的分区类型为8e

# fdisk -l /dev/sdb /dev/sdc /dev/sdd /dev/sde

 

Disk /dev/sdb: 7384 MB, 7384596480 bytes

228 heads, 62 sectors/track, 1020 cylinders

Units = cylinders of 14136 * 512 = 7237632 bytes

 

Disk /dev/sdb doesn't contain a valid partition table

 

Disk /dev/sdc: 7384 MB, 7384596480 bytes

228 heads, 62 sectors/track, 1020 cylinders

Units = cylinders of 14136 * 512 = 7237632 bytes

 

Disk /dev/sdc doesn't contain a valid partition table

 

Disk /dev/sdd: 7384 MB, 7384596480 bytes

228 heads, 62 sectors/track, 1020 cylinders

Units = cylinders of 14136 * 512 = 7237632 bytes

 

Disk /dev/sdd doesn't contain a valid partition table

 

Disk /dev/sde: 7384 MB, 7384596480 bytes

228 heads, 62 sectors/track, 1020 cylinders

Units = cylinders of 14136 * 512 = 7237632 bytes

 

Disk /dev/sde doesn't contain a valid partition table

#

如果要将使用整块盘,可以通过下面的命令来覆盖磁盘上的原有分区信息:

#dd if=/dev/zero of=/dev/sdc bs=512 count=1

2、 创建物理卷

创建物理卷的命令为pvcreate,利用该命令将希望添加到卷组的所有分区或者磁盘创建为物理卷。将整个磁盘创建为物理卷的命令为:

# pvcreate /dev/sdb

Physical volume "/dev/sdb" successfully created

将单个分区创建为物理卷的命令为:

# pvcreate /dev/sdc1

Physical volume "/dev/sdc1" successfully created

也可以同时生成多个卷:

#pvcreate /dev/sdb /dev/sdc1

3、扫描块设备

通过lvmdiskscan可以看到那些设备成为了物理卷.

# lvmdiskscan

  /dev/ramdisk [       16.00 MB]

  /dev/ram     [       16.00 MB]

  /dev/sda1    [      494.16 MB]

  /dev/ram2    [       16.00 MB]

  /dev/sda2    [       15.99 GB]

  /dev/ram3    [       16.00 MB]

  /dev/root    [      541.27 GB]

  /dev/ram4    [       16.00 MB]

  /dev/ram5    [       16.00 MB]

  /dev/ram6    [       16.00 MB]

  /dev/ram7    [       16.00 MB]

  /dev/ram8    [       16.00 MB]

  /dev/ram9    [       16.00 MB]

  /dev/ram10   [       16.00 MB]

  /dev/ram11   [       16.00 MB]

  /dev/ram12   [       16.00 MB]

  /dev/ram13   [       16.00 MB]

  /dev/ram14   [       16.00 MB]

  /dev/ram15   [       16.00 MB]

  /dev/sdb     [        6.88 GB] LVM physical volume

  /dev/sdc     [        6.88 GB] LVM physical volume

  /dev/sdd     [        6.88 GB] LVM physical volume

  /dev/sde     [        6.88 GB] LVM physical volume

  3 disks

  16 partitions

  4 LVM physical volume whole disks

  0 LVM physical volumes

#

4、显示物理卷

可以使用pvs,pvscan,pvdisplay来显示当前系统中的物理卷.

# pvs

  PV         VG   Fmt  Attr PSize PFree

  /dev/sdb        lvm2 --   6.88G 6.88G

  /dev/sdc        lvm2 --   6.88G 6.88G

  /dev/sdd        lvm2 --   6.88G 6.88G

  /dev/sde        lvm2 --   6.88G 6.88G

#

# pvscan

  PV /dev/sdb                      lvm2 [6.88 GB]

  PV /dev/sdc                      lvm2 [6.88 GB]

  PV /dev/sdd                      lvm2 [6.88 GB]

  PV /dev/sde                      lvm2 [6.88 GB]

  Total: 4 [27.51 GB] / in use: 0 [0   ] / in no VG: 4 [27.51 GB]

# pvdisplay

  "/dev/sdb" is a new physical volume of "6.88 GB"

  --- NEW Physical volume ---

  PV Name               /dev/sdb

  VG Name              

  PV Size               6.88 GB

  Allocatable           NO

  PE Size (KByte)       0

  Total PE              0

  Free PE               0

  Allocated PE          0

  PV UUID               yUDkt1-4mRH-diQr-idrH-3aac-p5U6-1WKpOJ

  

  "/dev/sdc" is a new physical volume of "6.88 GB"

  --- NEW Physical volume ---

  PV Name               /dev/sdc

  VG Name              

  PV Size               6.88 GB

  Allocatable           NO

  PE Size (KByte)       0

  Total PE              0

  Free PE               0

  Allocated PE          0

  PV UUID               C04TGK-kxuh-LEHB-mGiu-3ycj-8c5V-cPhBxB

  

  "/dev/sdd" is a new physical volume of "6.88 GB"

  --- NEW Physical volume ---

  PV Name               /dev/sdd

  VG Name              

  PV Size               6.88 GB

  Allocatable           NO

  PE Size (KByte)       0

  Total PE              0

  Free PE               0

  Allocated PE          0

  PV UUID               BFTXzf-sqmS-Af3b-RP31-Xdqp-1CFJ-pGXejm

  

  "/dev/sde" is a new physical volume of "6.88 GB"

  --- NEW Physical volume ---

  PV Name               /dev/sde

  VG Name              

  PV Size               6.88 GB

  Allocatable           NO

  PE Size (KByte)       0

  Total PE              0

  Free PE               0

  Allocated PE          0

  PV UUID               0GvXuS-cg40-aUiz-8UrY-1F8K-laPW-fkevwa

  

#

5、移除物理卷

#pvremove /dev/sdc

Labels on physical volume "/dev/sdc" successfully wiped

6、 创建卷组

创建卷组的命令为vgcreate,将使用pvcreate建立的物理卷创建为一个完整的卷组:

# vgcreate lvm_tmp /dev/sdc1 /dev/sdb

Volume group "lvm_tmp" successfully created

vgcreate命令第一个参数是指定该卷组的逻辑名:lvm_tmp。后面参数是指定希望添加到该卷组的所有分区和磁盘。vgcreate 在创建卷组 lvm_tmp 以外,还设置使用大小为4 MBPE(默认为4MB),这表示卷组上创建的所有逻辑卷都以 4 MB 为增量单位来进行扩充或缩减。PE最小为1KB ,并且必须总是1KB 2^n 的倍数(使用-s指定,具体请参考man vgcreate)。

7、 激活卷组

卷组在创建时默认激活,也可以使用vgchange来激活卷组:

# vgchange -a y lvm_tmp

8、 添加新的物理卷到卷组中

当系统安装了新的磁盘或新建分区并创建了新的物理卷,而要将其添加到已有卷组时,就需要使用vgextend命令:

# fdisk -l /dev/sdb

 

Disk /dev/sdb: 7384 MB, 7384596480 bytes

228 heads, 62 sectors/track, 1020 cylinders

Units = cylinders of 14136 * 512 = 7237632 bytes

 

Disk /dev/sdb doesn't contain a valid partition table

#pvcreate /dev/sdb2

Physical volume "/dev/sdb2" successfully created

# vgextend lvm_tmp /dev/sdb2

Volume group "lvm_tmp " successfully extended

这里/dev/sdb2是新的物理卷。

9、显示卷组

显示卷组可以使用vgsvgdisplay.

# vgs

VG #PV #LV #SN Attr VSize VFree

VolGroup00 1 2 0 wz--n- 3.88G 0

lvm_tmp 1 1 0 wz--n- 508.00M 0

# vgdisplay

--- Volume group ---

VG Name lvm_tmp

System ID

Format lvm2

Metadata Areas 1

Metadata Sequence No 10

VG Access read/write

VG Status resizable

MAX LV 0

Cur LV 1

Open LV 1

Max PV 0

Cur PV 1

Act PV 1

VG Size 508.00 MB

PE Size 4.00 MB

Total PE 127

Alloc PE / Size 127 / 508.00 MB

Free PE / Size 0 / 0

VG UUID uJx24t-WWdY-vffu-97Of-mgFB-FEov-eRwzAf

10、扫描磁盘生成缓存文件

#vgscan

Reading all physical volumes. This may take a while...

Found volume group "lvm_tmp" using metadata type lvm2

Found volume group "VolGroup00" using metadata type lvm2

11、 从卷组中删除一个物理卷

要从一个卷组中删除一个物理卷,首先要确认要删除的物理卷没有被任何逻辑卷正在使用,就要使用pvdisplay命令察看一个该物理卷信息:

#pvdisplay /dev/sdb2

--- Physical volume ---

PV Name /dev/sdb2

VG Name lvm_tmp

PV Size 1.53 GB / not usable 868.00 KB

Allocatable yes

PE Size (KByte) 4096

Total PE 392

Free PE 392

Allocated PE 0 (表示未被使用)

PV UUID jAiils-1vRz-Td9k-1AiD-kIJs-191z-YMz09H

如果某个物理卷正在被逻辑卷所使用,就需要将该物理卷的数据备份到其他地方,然后再删除。删除物理卷的命令为vgreduce

# vgreduce lvm_tmp /dev/sdb2

Removed "/dev/sdb2" from volume group "lvm_tmp"

12、 创建逻辑卷

创建逻辑卷的命令为lvcreate

# lvcreate -L 1500 –n tmp lvm_tmp

Logical volume "tmp" created

该命令就在卷组lvm_tmp上创建名字为tmp,大小为1500M的逻辑卷,并且设备入口为/dev/lvm_tmp/tmp lvm_tmp为卷组名,tmp为逻辑卷名)。如果希望创建一个使用全部卷组的逻辑卷,则需要首先察看该卷组的PE数,然后在创建逻辑卷时指定:

# vgdisplay lvm_tmp| grep "Total PE"

Total PE 4731

# lvcreate -l 4731 lvm_tmp -n tmp

Logical volume "tmp" created

13、创建条块化的逻辑卷

# lvcreate -L 500M -i2 -n tmp lvm_tmp

Using default stripesize 64.00 KB

Rounding size (125 extents) up to stripe boundary size (126 extents)

Logical volume "tmp" created

-i2指此逻辑卷在两个物理卷中条块化存放数据,默认一块大小为64KB.

14、创建镜像的逻辑卷。

#lvcreate -L 52M -m1 -n tmp lvm_tmp /dev/sdb1 /dev/sdc1 /dev/sdb2

Logical volume "tmp" created

-m1表示只生成一个单一镜像,镜像分别放在/dev/sdb1/dev/sdc1上,镜像日志放在/dev/sdb2.

15、创建快照卷。

#lvcreate --size 10 --snapshot --name snaptmp /dev/lvm_tmp/tmp

16、 创建文件系统

如使用ext3文件系统:

#mkfs.ext3 /dev/lvm_tmp/tmp

mke2fs 1.35 (28-Feb-2004)

max_blocks 4294967295, rsv_groups = 0, rsv_gdb = 1024

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

2424832 inodes, 4844544 blocks

242227 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=8388608

148 block groups

32768 blocks per group, 32768 fragments per group

16384 inodes per group

Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,

4096000

Writing inode tables: done

inode.i_blocks = 90120, i_size = 4243456

Creating journal (8192 blocks): done

Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 25 mounts or

180 days, whichever comes first. Use tune2fs -c or -i to override.

创建了文件系统以后,就可以加载并使用它:

# mkdir /mnt/tmp

# mount /dev/lvm_tmp/tmp /mnt/tmp

如果希望系统启动时自动加载文件系统,则还需要在/etc/fstab中添加内容:

/dev/lvm_tmp/tmp /mnt/tmp ext3 defaults 1 2

17、 删除一个逻辑卷

删除逻辑卷以前首先需要将其卸载,然后删除:

# umount /dev/lvm_tmp/tmp

# lvremove /dev/lvm_tmp/tmp

Do you really want to remove active logical volume "tmp"? [y/n]: y

Logical volume "tmp" successfully removed

18、 扩展逻辑卷大小

LVM提供了方便调整逻辑卷大小的能力,扩展逻辑卷大小的命令是lvextend

# lvextend -L12G /dev/lvm_tmp/tmp

Extending logical volume tmp to 12.00 GB

Logical volume tmp successfully resized

上面的命令就实现将逻辑卷tmp的大小扩大为12G

# lvextend -L+1G /dev/lvm_tmp/tmp

Extending logical volume tmp to 13.00 GB

Logical volume tmp successfully resized

上面的命令就实现将逻辑卷tmp的大小增加1G

增加了逻辑卷的容量以后,就需要修改文件系统大小以实现利用扩充的空间。

对于希望调整被加载的文件系统大小,使用ext2online(ext2resize) resize2fs.

#df -h

# ext2online /dev/lvm_tmp/tmp

ext2online /dev/lvm_tmp/tmp

ext2online v1.1.18 - 2001/03/18 for EXT2FS 0.5b

#df -h

Filesystem 容量 已用 可用 已用% 挂载点

/dev/mapper/VolGroup00-LogVol01

16G 11G 3.6G 76% /

/dev/sda1 494M 18M 451M 4% /boot

none 506M 0 506M 0% /dev/shm

/dev/mapper/lvm_tmp-tmp

13G 63M 13G 1% /mnt/tmp

一般建议最好将文件系统卸载,调整大小,然后再加载:

# umount /dev/lvm_tmp/tmp

#resize2fs /dev/lvm_tmp/tmp

# mount /dev/lvm_tmp/tmp /mnt/tmp

19、 减少逻辑卷大小

使用lvreduce即可实现对逻辑卷的容量,同样需要首先将文件系统卸载:

# umount /mnt/tmp

#e2fsck -f /dev/lvm_tmp/tmp

# resize2fs /dev/lvm_tmp/tmp 11G

# lvreduce -L -1.992G /dev/lvm_tmp/tmp (少2PE的大小)

# resize2fs /dev/lvm_tmp/tmp (通过此命令确认是否文件系统大小与收缩后的逻辑卷大小匹配)

# mount /dev/lvm_tmp/tmp /mnt/tmp

20、显示逻辑卷

通过lvscan,lvslvdisplay可以察看当前系统中存在的逻辑卷。

# lvdisplay

--- Logical volume ---

LV Name /dev/VolGroup00/LogVol00

VG Name VolGroup00

LV UUID sPmLMD-6xq4-wStB-uSAP-jlQc-YKTm-3bt8Pc

LV Write Access read/write

LV Status available

# open 1

LV Size 2.88 GB

Current LE 92

Segments 1

Allocation inherit

Read ahead sectors 0

Block device 253:0

#lvscan

lvscan

ACTIVE '/dev/VolGroup00/LogVol00' [2.88 GB] inherit

ACTIVE '/dev/VolGroup00/LogVol01' [1.00 GB] inherit

#lvs -o +devices

LV VG Attr LSize Origin Snap% Move Log Copy% Devices

LogVol00 VolGroup00 -wi-ao 2.88G /dev/sda2(0)

LogVol01 VolGroup00 -wi-ao 1.00G /dev/sda2(92)

21、使用过滤控制LVM的设备扫描

通过编辑/etc/lvm/lvm.conf 中的filter段,来定义过滤那些设备要扫描。

filter =[ "a|/dev/sd.*|", "a|/dev/hd.*|", "r|.*|" ]

上面对scsiide设备扫描,对其它设备均不扫描。

22、在线数据迁移

通过pvmove可以将一个PV上的数据迁移到新的PV上,也可以将PV上的某个LV迁移到另一个PV上。

#lvs -o +devices

LV VG Attr LSize Origin Snap% Move Log Copy% Devices

LogVol00 VolGroup00 -wi-ao 2.88G /dev/sda2(0)

LogVol01 VolGroup00 -wi-ao 1.00G /dev/sda2(92)

tmp lvm_tmp -wi-ao 52.00M /dev/sdb1(0)

#pvmove -n tmp /dev/sdb1 /dev/sdc1

#lvs -o +devices

LV VG Attr LSize Origin Snap% Move Log Copy% Devices

LogVol00 VolGroup00 -wi-ao 2.88G /dev/sda2(0)

LogVol01 VolGroup00 -wi-ao 1.00G /dev/sda2(92)

tmp lvm_tmp -wi-ao 52.00M /dev/sdc1(0)

23、删除卷组

按照顺序卸载文件系统,删除逻辑卷,然后删除卷组。

#umount /mnt/tmp

# lvremove /dev/lvm_tmp/tmp

Do you really want to remove active logical volume "tmp"? [y/n]: y

Logical volume "tmp" successfully removed

#vgremove lvm_tmp

Volume group "lvm_tmp" successfully removed

24、故障排查

通过在命令后加 -v,-vv,-vvv-vvvv来获得更详细的命令输出。

通过在lvs,vgs后加-P可以更好的查看失败设备.

#vgs -a -o +devices -P

Partial mode. Incomplete volume groups will be activated read-only.

VG #PV #LV #SN Attr VSize VFree Devices

VolGroup00 1 2 0 wz--n- 3.88G 0 /dev/sda2(0)

VolGroup00 1 2 0 wz--n- 3.88G 0 /dev/sda2(92)

lvm_tmp 2 2 0 wz--n- 1016.00M 896.00M pvmove0(0)

lvm_tmp 2 2 0 wz--n- 1016.00M 896.00M /dev/sdb(0),/dev/sdc(0)

#lvs -a -o +devices -P

Partial mode. Incomplete volume groups will be activated read-only.

Failure parsing mirror status fraction: 1 core

Failure parsing mirror status fraction: 1 core

LV VG Attr LSize Origin Snap% Move Log Copy% Devices

LogVol00 VolGroup00 -wi-ao 2.88G /dev/sda2(0)

LogVol01 VolGroup00 -wi-ao 1.00G /dev/sda2(92)

[pvmove0] lvm_tmp p-C-ao 60.00M /dev/sdb /dev/sdb(0),/dev/sdc(0)

tmp lvm_tmp -wI-a- 60.00M pvmove0(0)

五、 总结

根据上面的讨论可以看到,LVM具有很好的可伸缩性,使用起来非常方便。可以方便地对卷组、逻辑卷的大小进行调整,更进一步调整文件系统的大小,还能方便的进行数据迁移,数据完整性保护。如果希望了解更多信息,请参考LVM-HOWTO

 

阅读(4729) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

chinaunix网友2011-03-08 16:10:16

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com