lvm
v LVM(Logical Volume Manager,逻辑卷管理器)
v LVM最早源于IBM的AIX系统
v LVM是建立在磁盘和分区之上的一个逻辑层,用来提高磁盘分区管理的灵活性
v LVM可以对磁盘分区按照组的方式进行命名、管理和分配
v 物理存储介质
v 物理卷(PV)物理卷可以是一个完整的硬盘,也可以是硬盘中的莫一个分区,只有变成PV后,才能被LVM使用。
v PE物理卷中最小的可分配储存单元,默认的4M,一旦设定以后不可更改PE的值
v 卷组(VG)是把分割�^利用一�N抽象的�M�B建立, 可能一��VG代表的是一��硬碟, 也可能是三��硬碟, 也可能是���硬碟外加某��硬碟的一部分, �\用的��性最大.
v 逻辑卷(LV)
v LE逻辑卷中可用于分配的最小储存单元在同一个卷组中,LE的大小和PE是相等的,并且一一对应。
hda1 hdc (PV:s on partitions or a disk)
\ /
\ /
diskvg (VG)
/ | \
/ | \
usrlv rootlv varlv (LV:s)
| | |
ext2 reiserfs xfs (filesystems)
v 步骤:
v 创建分区
v 创建物理卷
pvcreate /dev/sdb1
v 创建卷组
vgcreate -s 4M newvg /dev/sdb1 /dev/sdc1
v 激活卷组
vgchange -a y newvg
v 创建逻辑卷
lvcreate –L 200M –n lv01 newvg
v 创建文件系统
mkfs.ext3 /dev/newvg/lv01
v pvdisplay /dev/sde
v ---
Tota PE 25
Free PE 25
v
若其中的“TotalPE”与“ FreePE”相等,表明该物理卷没有被使用
v 扩展卷组
# vgextend newvg /dev/hdb1
v 增大逻辑卷的大小
# lvextend -L +200M /dev/newvg/lv01
# resize2fs /dev/newvg/lv01
v 减小逻辑卷的大小
# resize2fs -f /dev/newvg/lv01 25600
# lvreduce -L -400M /dev/newvg/lv01
v 其它的相关的命令
§ pvcreate /dev/sdc 将整个磁盘创建为物理卷
§ vgextend newvg /dev/sdc 将物理卷sdc加入到newvg卷组中
§ vgreduce newvg /dev/sdc 从卷组newvg中删除一个物理卷pv
§ lvcreate –l 5 –n /dev/ newvg/lv01 也可以这样创建lv
§ lvcreate –l 5 –n lv01 newvg 小写的l代表pe/le的个数5*4=20M
§ lvremove /dev/newvg/lv01 删除一个逻辑卷(先卸载,再删除)
§ vgremove newvg 删除一个的卷组
§ lvdisplay /dev/newvg/lv01 显示一个具体的LV
§ vgdisplay –v newvg 显示一个具体的卷组
§ pvscan vgscan lvscan
v root@web4 lvtest]# pvmove -v /dev/sda1 /dev/sdd
v 备份PV的数据从/dev/sda1移动到/dev/sdd上。将某一个物理卷中的数据转移到同卷组的其他物理卷中(能够move的pv必须是在同一个卷组之内)
v 将某一个物理卷中的数据转移到同卷组的其他物理卷中。多用于更换卷组中的硬盘。
v 能够move的pv必须是在同一个卷组之内
让LV开机后自动挂载
v more /etc/fstab
v /dev/newvg/lv01 /disk6 ext3 defaults 0 0
/dev/newvg/lv02 /disk7 ext3 defaults 0 0
v 在使用 LVM2 时,对于每个 PV/LV 的最大区段数量并没有限制。默认的区段大小是4MB,对于大多数配置不需要修改这个设置,因为区段的大小并不影响 I/O 性能。但是,区段数量太多会降低 LVM工具的效率,所以可以使用比较大的区段,从而降低区段数量。但是注意,在一个 VG 中不能混用不同的区段大小,而且用 LVM修改区段大小是一种不安全的操作,会破坏数据。所以建议在初始设置时选择一个区段大小,以后不再修改。
v 不同的区段大小意味着不同的 VG 粒度。例如,如果选择的区段大小是 4GB,那么只能以 4GB 的整数倍缩小或扩展 LV。
为一致性备份做快照
这是更加难以置信的一个可能性。假设你有一个非常繁忙的服务器,有许多东西运行。为了一个有用的备份,你需要停止大量的程序,否则,你将以数据不一致告终。
一个规范的例子是从/tmp移动一个文件到/root下,而且/root将先备份。当/root被读的时候,这个文件还不在那里。当/tmp被备份时,这个文件已经不在了。
另一个事例是保存数据库或目录。如果一个文件在使用状态,我们就没有任何线索了,除非我们给应用程序时间做一个清除的关闭。
这样的话,新的问题又出现了。我们关闭程序,做我们的备份,接着重新启动它们。如果备份只花几分钟这是很好的,但是,如果它要花数小时,或者你根本不确定它到底要花多久的时候,事情就真的痛苦了。
LVM可以营救。
使用LVM,我们可以做一个LV瞬间的快照,然后mount它,再备份它。
让我们试验一下:
# mount /dev/test/HOWTO /mnt
# echo >; /mnt/a.test.file
# ls /mnt/
a.test.file lost+found
# ls -l /mnt/
total 13
-rw-r--r-- 1 root root 1 Apr 2 00:28 a.test.file
drwxr-xr-x 2 root root 12288 Apr 2 00:28 lost+found
Ok,我们现在有些事情要用它一起做。让我们产生这个快照:
本文出自 “上善若水威加海内” 博客,转载请与作者联系!