Ubuntu的Linux逻辑卷管理-LVM快速⼊门
LVM(逻辑卷)管理系统可以将多个物理磁盘组装为⼀个⼤的逻辑磁盘进⾏使⽤,尤其是管理⼤⽂件时⾮常⽅便。LVM可以减少多个磁盘的部分空间闲置的情况,集中使⽤提⾼磁盘利⽤率。LVM的卷可以动态伸缩,⽅便使⽤。
LVM由PV(物理卷)、VG(卷组)、LV(逻辑卷)组成,其中PV对应到物理磁盘的⼀个物理分区,LV相当于⼀个逻辑分区,VG建⽴起逻辑卷和物理卷之间的对应关系。
1、将物理磁盘转换为PV
注意:备份您的所有数据!
查看物理磁盘信息
df -h
创建物理卷
如果要将物理分区/dev/sdb2转为物理卷:
sudo pvcreate /dev/sdb2
将把LVM的标志符写⼊到磁盘之中。
查看物理卷
sudo pvs
2、建⽴逻辑卷组-VG
2.1 创建逻辑卷组
以上⾯添加的第⼀个物理盘为基础,创建逻辑卷组
vgcreate vgdata /dev/sdb2
2.2 激活VG
在被激活之前,VG与LV是⽆法访问的,这时可⽤命令:
sudo vgchange -a y vgdata
激活所要使⽤的卷组。
2.3 卸载VG
当不再使⽤VG时,可⽤vgchange使之不再可⽤。
sudo vgchange -a n vgdata
3、建⽴逻辑卷-LV
3.1 命令lvcreate⽤于创建逻辑卷
语法如下:
lvcreate [options] -n 逻辑卷名卷组名 [PV1 ... ]
其中的常⽤可选项有:
-i Stripes :采⽤交错(striped)⽅式创建LV,其中Stripes指卷组中PV的数量。
-I Stripe_size :采⽤交错⽅式时采⽤的块⼤⼩(单位为KB),Stripe_size必须为2的指数:2N ,N=9。
-l LEs :指定LV的逻辑块数。
-L size :指定LV的⼤⼩,其后可以⽤K、M、G表⽰KB、MB、GB。
-s :创建⼀已存在LV的snapshot卷。
-n name :为LV指定名称。
3.2 将整个物理卷指定为逻辑卷
如果需要LV使⽤整个VG,可⾸先⽤vgdisplay 查 Total PE 值,然后在运⾏lvcreate时指定,如:
# sudo vgdisplay vgdata | grep "Total PE"
Total PE 10230
# sudo lvcreate -l 10230 vgdata -n data
这时创建了⼀个逻辑卷,名称为data。
3.3 创建⽂件系统
创建出的逻辑卷相当于系统的⼀个“裸磁盘分区”,需要进⼀步创建⽂件系统和进⾏格式化。
sudo mke2fs /dev/vgdata/data
3.4 伸缩逻辑卷
为逻辑卷增加容量可⽤使⽤lvextend,即可以指定要增加的尺⼨也可以指定扩容后的尺⼨,如
# lvextend -L12G /dev/vgdata/data
lvextend -- extending logical volume "/dev/testvg/testlv" to 12 GB
lvextend -- doing automatic backup of volume group "testvg"
lvextend -- logical volume "/dev/testvg/testlv" successfully extended
将扩⼤逻辑卷data的容量为12GB。
# lvextend -L+1G /dev/testvg/testlv
lvextend -- extending logical volume "/dev/testvg/testlv" to 13 GB
lvextend -- doing automatic backup of volume group "testvg"
lvextend -- logical volume "/dev/testvg/testlv" successfully extended
将为LV testlv再增⼤容量1GB⾄13GB。
为LV扩容的⼀个前提是:LV所在的VG有⾜够的空闲存储空间可⽤。 在为LV扩容之后,应同时为LV之上的⽂件系统扩容,使⼆者相匹配。对不同的⽂件系统有相对应的扩容⽅法。
ext2/ext3 除⾮内核已有ext2online 补丁,否则在改变ext2/ext3⽂件系统的⼤⼩时应卸载它:
# umount /dev/testvg/testlv
# resize2fs /dev/testvg/testlv
# mount /dev/testvg/testlv /home
这⾥假设testlv安装点为/home。在es2fsprogs-1.19或以上版本中包含resize2fs命令。
在LVM发⾏包中有⼀个称为e2fsadm的⼯具,它同时包含了lvextend与resize2fs的功能,如:
# e2fsadm -L+1G /dev/testvg/testlv
等价于下⾯两条命令:
# lvextend -L+1G /dev/testvg/testlv
# resize2fs /dev/testvg/testlv
但⽤户仍需⾸先卸载⽂件系统。
reiserfs 与ext2不同,Reiserfs不必卸载⽂件系统,如:
# resize_reiserfs -f /dev/testvg/testvl
xfs SGI XFS⽂件系统必须在安装的情况下才可改变⼤⼩,并且要使⽤安装点⽽不是块设备,如:# xfs_growfs /home
4、格式化逻辑卷
ubuntu使用入门教程此时,操作系统中应该已经可以看到这个逻辑卷了,与普通磁盘没有任何区别。
按照普通磁盘格式化⽅法,进⾏格式化、赋予卷标,就可以正常使⽤了。
5、添加新物理盘
当卷组空间不⾜时,可以加⼊新的物理卷来扩⼤容量,这时可⽤命令vgextend,如:
# vgextend vgdata /dev/sdb2
其中/dev/sdb2是新的PV(物理卷,使⽤pvcreate从物理盘创建)。
需要以下⼏个步骤(/dev/sdb2是需要加⼊的物理磁盘,通过df -h获取磁盘标识):
A、使⽤pvcreate初始化物理磁盘。
sudo pvcreate /dev/sdb2
输⼊sudo pvs可以看到创建的物理卷。
B、使⽤vgextend加⼊PV到VG中。
sudo vgextend vgdata /dev/sdb2
输⼊sudo vgs可以看到vg中的物理卷列表。
C、使⽤lvextend扩展虚拟卷的⼤⼩。
#476899为增加的空闲空间,通过vgdisplay命令显⽰的Free PE值来确定。
lvextend -l+476899 /dev/vgdata/appdata
再执⾏sudo vgs可以看到空闲空间被分配到了vgdata中,但这时⽂件系统中仍然⽆法使⽤。
Resize 逻辑卷LV的尺⼨。 再次,扩⼤⽂件系统到整个逻辑卷。 ⾸先df -h查看逻辑卷的名称,然后调⽤resize2fs。
sudo resize2fs /dev/mapper/vgdata-appdata
#将全部的剩余空间赋给虚拟卷appdata的⽂件系统。
这时候在操作系统中,点击⽂件夹的“属性”,可以看到整个磁盘空间已经扩⼤了。
6、系统启动/关闭
为使系统启动时可⾃动激活并使⽤LVM,可将以下⼏⾏添加到启动 rc 脚本中:
/sbin/vgscan
/sbin/vgchange -a y
这些⾏将浏览所有可⽤的卷组并激活它们。要注意的是,它们应在安装卷组上的⽂件系统操作之前被执⾏,否则将⽆法正常安装⽂件系统。在系统关机时,要关闭LVM,这可将以下这⾏添加到关机 rc 脚本中,并确保它在卸装了所有⽂件系统后执⾏:
/sbin/vgchange -a n
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论