首先解释几个基础概念
什么是LVM?
LVM的全名是Logical Volume Manager,中文可以翻译作逻辑卷管理器。它主要作用是:不损坏磁盘数据的情况下对磁盘空间进行增加、删除,LVM的作法是将几个物理分区(或磁盘)通过软件组合成一块看起来是对立的大磁盘(VG),然后将这块大磁盘再经过分成可使用的分区(LV),最终能够挂载使用。
什么是LVM:PV、VG、PE、LV的意义
Physical Volume,PV,物理卷
我们实际的分区需要调整系统标示符(system ID)成为8e(LVM的标示符),然后经过pvcreate的命令将它转换成LVM最底层的物理卷(PV),之后才能将这些PV加以利用
Volume Group,VG,卷用户组
所谓的LVM大磁盘就是将许多PV整合成这个VG,所以VG就是LVM组合起来的大磁盘。VG的大小是由PE大小决定的,VG最多能拥有65534个PE,而PE默认大小为4M,也就是说默认VG最大为250G
Physical Extend,PE,物理开展块
PE是整个LVM最小存储块,也就是说,其实我们的文件数据都是由写入PE来处理。简单地说,这个PE就有点像文件系统里面的block大小。调整PE的大小就可以调整VG的大小。
Logical Volume,LV,逻辑卷
最终的VG还会被切成LV,这个LV就是我们最终用来格式化、挂载、使用的分区。LV的大小与在此LV内的PE总数有关,划分LV的大小时最好是PE的倍数。所谓LVM可以调整空间大小,就是移进、移出PV中的PE来完成的。
实现流程
1、 使用fdisk将磁盘目标system ID转换为8e
2、 使用pvcreate、pvscan创建PV
3、 使用vgcreate、vgdisplay创建VG
4、 使用lvcreate、lvdisplay创建LV
5、 使用mkfs、mount格式化、挂载分区
数据在LV写入硬盘时有两种机制
线性模式(linear):简单的讲述下,该模式就是将数据写满第一个磁盘后在写入第二个磁盘。
交错模式(triped):该模式就是将一条数据拆成两部分,分别写着两块磁盘上。
理论上triped能够提升磁盘读写性能,但是,其中任意一块磁盘损坏,所用数据将不能恢复。请记住:LVM最主要的用处是在实现一个可以弹性调整容量的文件系统上,而不是在新建一个性能为主的磁盘
LVM命令
任务 |
PV阶段 |
VG阶段 |
LV阶段 |
查找(scan) |
Pvscan |
Vgscan |
Lvscan |
新建(create) |
Pvcreate |
Vgcreate |
Lvcreate |
显示(display) |
Pvdisplay |
Vgdisplay |
Lvdisplay |
增加(extend) |
|
Vgextend |
Lvextend |
减少(reduce) |
|
Vgreduce |
Lvreduce |
删除(remove) |
Pvremove |
Vgremove |
Lvremove |
改变容量(resize) |
|
|
Lvresize |
改变属性(attribute) |
Pvchange |
Vgchange |
Lvchange |