一:查看磁盘和挂载情况
1)查看磁盘个数,以及挂载情况
lsblk -d
可以看到我这里有五块磁盘,类型都是disk,以及他们各自的大小
lsblk
如下图,lsblk会以树状结构的形式,将磁盘的分区以及挂载信息显示出来,可以看到这些磁盘各自的挂载情况。
如,xvdb被分区成了一个区,xvdb1,这个xvdb1又被做成了逻辑卷main-lv_data,然后以逻辑卷的形式挂载到了data下,此时data目录有120G的空间,但是看上图fdisk -l的信息,发现并没有120G的磁盘,因此可以看大xvdf这块盘,没有被分区,直接以lvm的形式挂载到了data下,xvdb是40G,xvdf是80G,刚好120G。
再看xvda这块盘,他被分区成了xvda1和xvda2两个区,其中xvd1这个分区没有被做成lvm,直接挂载在了boot下,而xvda2这个分区,被扩展成了两个lvm,分别挂载到了根目录下和swap分区下,最下面的xvdc这块盘没有被挂载到任何地方。
2)查看分区信息
df -h
如下图,可以看到VolGroup-lv_root这个逻辑卷共19G,挂载到了根目录下,而没有被做成逻辑卷的xvda1挂载到了boot下,main-lv_data这个逻辑卷共119G,挂在到了data下。
二:逻辑卷解释
1)LVM(Logical Volume Manager)
按照一般的理解,如windows中的磁盘,C,D,E盘,一般我们都是一块完整的磁盘,将这块磁盘进行分区从而得到若干个分区,linux中的磁盘,同样如此,当我们仅有一块磁盘的时候,他所挂载的目录的空间满了,此时我们再加入一块新的磁盘的话就不能再挂载在之前那个已经满地目录了,因此,逻辑卷应运而生。
逻辑卷并不是一个物理意义上的磁盘,他是一个逻辑分区,通过软件层面上的操作,将若干个物理盘集合在一起,是他们可以挂载在同一个目录上,当空间满的时候,可以将一块新的磁盘加入卷组中,从而实现目录的扩容。
2)重要概念
PV:就是物理空间的意思,其实就是指一个分区,比如/dev/sdb1 也可以是一个盘/dev/sdb。可以将一个物理空间添加到一个VG(可以理解这个是多个PV组成的Pool)。
VG:就是一个Pool,有多个PV组成,可以动态向VG中添加PV,使整个VG空间增大,也可以缩小这个VG。
LV:就是linux用来建立一个文件系统的空间,这个空间来源于VG,大小随意,可以扩展。比如/dev/mapper/rhel-root这个目录其实是一个文件系统挂载点,这个点就是承载在一个LV上,这个文件系统的大小就是这个LV的大小。
其三者的关系如下图所示
3)使用方法
查看到一块10G的新的磁盘,如下/dev/sdb
将磁盘分区,你可以分区成若干个分区,将其中一个分区或者多个分区进行LVM挂载,不过一般都是只分一个区,我这里演示的是分一个区。
n:添加一个新分区
p:选择主分区
一路回车
t:选择分区系统类型,我们选择8e,即LVM
w:保存退出
为分区创建PV
将分区划分到一个新的vg(ln)中
查看创建的VG
创建LV(user),大小为3G
格式化分区,这里注意不同的文件系统格式化方式不一样,同样进行lv扩容的时候,所用到的命令也是不一样的,我这里是xfs,所以演示的就是xfs的方式(ext3,ext4则为mkfs.exts和mkfs.ext4),格式化完后,编译分区表信息/etc/fstab,然后nount -a,我这里将分区挂载到了/data下
mount -a后,查看挂载情况
扩展lv,由于我们10G的盘,刚才只用了3G,现在进行扩展,注意这里的-L是扩展到6G,而不是增加6G,若是想增加6G则,命令为lvextend -L+6G /dev/ln/user,扩展完后,需要更新文件系统(更新文件系统,参考下图)才会生效,更新后,我们再查看,可以看到,data目录,已经由3G增加到6G了。