逻辑管卷理器
我们作为一个linux系统运维师,在我们工作的单位,由于时间的推移业务的增加,我们的数据库会越来越庞大,而我们的硬盘会感觉不够用,那我们应该怎样解决这个问题呢?
我们可以添加一个新的硬盘,将原来的数据cp过去,但此种做法难免会出现一些错误,造成我们数据的丢失,且在我们cp的时候,我们将暂停我们的一些业务,也许就是这一段时间,就会给我们造成很大的损失。
为了解决这个问题,我们就要学会使用LVM(Logical Volume Manager)——逻辑卷管理器,他的功能很强大。
LVM—逻辑卷管理器的介绍:
组成的LVM的过程:pv—vg—lv
PV:它是一个物理卷,相当于我们的硬盘,物理卷的ID是8e,不能格式化
VG:物理卷组,由多个物理卷组成,它是把那些物理卷像炼铁一样融为了一体,这只是一个形象上的比喻,但其实它们还没有还不是在一块,后面说一些命令的时候就要指出这点。
LV:逻辑卷,可以格式化成各种模式,是由vg划分出来的,它支持快照
快照的工作原理:
当系统快照之后,快照记录了一下当前文件的状态,之后当系统改变一些文件的时候,快照就记录下来系统改变的原文件的信息,那些没有改变的就只是记录了其路径,所以快照所占的空间并不是很大。
PV中的命令:
#pvcreate /dev/sda 将某个磁盘创建成物理卷
#pvdisplay 显示物理卷详细信息 默认查看所有,也可以指定某一个
#pvs 简单查看
#pvscan 也是查看pv的信息
#pvremove -f pv名 删除某个pv
#pvmove pv源 pv目的 将一个pv上的数据移动到另一个pv上
VG中的命令:
#vgcreate 名字 设备
-s 定义PE大小,单位是{k|M|G|T|}默认是4
-l 最大几个逻辑卷
-p 最大几个物理卷
#vgremove -f 名字 删除某个vg
#vgextend vg名字 pv 在某个vg中加入物理卷
#vgreduce vg名字 pv 在某个vg中移除物理卷,但必须进行pvmove,因为你的一些数据可能在你要移除的物理卷中,所以要进行此命令,这也就是我问什么说VG没有把PV真正的熔在一块。
它的查看命令同PV一样,只是将pv换成vg
LV中的命令:
#lvcreate - l 可以指定le的个数
- L 指定大小{k|M|G|T|}
- n LVname 指定名字
- p 权限 r|rw
- s 指定是快照卷
#lvcreate -L 1G -n 名字 -p 权限vgname
#lvextend -L #(+#)lv路径
#lvremove lv路径 移除逻辑卷
它的查看命令同PV一样,只是将pv换成lv
创建逻辑卷的过程:
1.先创建一些分区,并把ID改为8e然后执行下面的命令
[root@fengjunfei ~]# partprobe 同步一下分区
2.创建PV
[root@fengjunfei ~]# pvcreate /dev/sda{10,11}
3.创建GV
[root@fengjunfei ~]# vgcreate vgfeng /dev/sda{10,11}
/dev/cdrom: open failed: Read-only file system
/dev/cdrom: open failed: Read-only file system
Attempt to close device '/dev/cdrom' which is not open.
Volume group "vgfeng" successfully created GV创建成功
4.创建LV
[root@fengjunfei ~]# lvcreate -L 2G -n lvfeng -p rw vgfeng
Logical volume "lvfeng" create LV创建成功
[root@fengjunfei ~]# mke2fs -j /dev/vgfeng/lvfeng 对创建的LV进行格式化
[root@fengjunfei ~]# mount /dev/vgfeng/lvfeng /hehe/ 挂载LV到某个目录下
[root@fengjunfei hehe]# ls 进入挂载目录,查看可说明挂载成功
lost+found
4.扩展逻辑卷
[root@fengjunfei ~]# lvextend -L 4G /dev/vgfeng/lvfeng
Extending logical volume lvfeng to 4.00 GB
Logical volume lvfeng successfully resized 扩展物理边界成功,扩展时不用卸载
[root@fengjunfei ~]#resize2fs /dev/vgfeng/lvfeng 扩展逻辑边界
5.缩减逻辑卷
[root@fengjunfei ~]# umount /dev/vgfeng/lvfeng 缩减逻辑卷时,要先卸载
[root@fengjunfei ~]# e2fsck -f /dev/vgfeng/lvfeng 对逻辑卷进行强行检测
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vgfeng/lvfeng: 11/524288 files (9.1% non-contiguous), 33888/1048576 blocks
[root@fengjunfei ~]#resize2fs /dev/vgfeng/lvfeng 1G 进行缩减物理边界
[root@fengjunfei ~]# lvreduce -L 1G /dev/vgfeng/lvfeng进行缩减逻辑边界
[root@fengjunfei ~]# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
lvfeng vgfeng -wi-a- 1.00G 查看一下逻辑卷,证明缩减成功
[root@fengjunfei ~]#mount /dev/vgfeng/lvfeng /hehe/ 重新挂载
[root@fengjunfei hehe]# lvcreate -s -L 100M -p r -n snap_feng /dev/vgfeng/lvfeng
Logical volume "snap_feng" created 对逻辑卷创建快照
6.移除一个逻辑卷
[root@fengjunfei ~]# lvremove /dev/vgfeng/snap_feng
Do you really want to remove active logical volume snap_feng? [y/n]: y
Logical volume "snap_feng" successfully removed