注意:任何磁盘的操作有可能损坏里面数据,请提前备份数据,切记!切记!切记!

0x00:前言.

  在Linux使用过程中,发现一个文件很大,比如5G,但是有两块物理磁盘一个剩下4G,一个剩3G,磁盘空间不够,这样肯定不能放进去。如果把5G文件分割了是可以放进去,但是如果有很多文件呢!这时候就可以用LVM来帮我们来管理文件是放到哪个磁盘里。

  注意:LVM用于单块硬盘小于2TB的分区,如果超过2TB用part分区,不建议用LVM会识别不了。

0x01:文本对照。

  物理磁盘:即你购买来能拿在手里的那一块磁盘。

  PV:物理卷(physical volume)。物理磁盘创建成普通磁盘83后,将类型修改成8e时,其成为LVM磁盘系统,也就是我们说的PV。

  VG:逻辑卷组(Volume Group)。是将一个个的PV放到一个组里统一管理。

  LV:逻辑卷(logical volume)。也就是从VG中划分的逻辑分区,在这上我们可以当成普通磁盘去使用,新建一个文件或文件夹。

0x02:版本说明.

  1)VMware Workstation 12 Pro 12.5.7 build-5813279

  2)CentOS release 6.9 (Final)

0x03:实验环境搭建。

  1)安装VM虚拟机以及CentOS系统安装网上很多,略。

  2)在VM里创建模拟物理磁盘,虚拟机里会自动识别。

    

    dfce7b4fe004cc3a1fd17ec7266039a3.jpg-wh_

    257c40eec2197bbca2f162dc31af5603.jpg-wh_

    因为做实验节省时间,所以我们将3个磁盘只分了100M、200M、300M,

    从容量上我们也可以直观看到在操作的磁盘。

    0c6edb23609485286b331dba8c94d4eb.jpg-wh_

    注意文件名不要重复

    69ec7ee0264f695b8396bc93e78f3895.jpg-wh_

    另外2个创建是一样的,重复上面步骤即可。

    7a8713ce553f42e636899eb29be5bb5f.jpg-wh_

    在系统中用命令查看,多出几块未分配的磁盘。

     # fdisk -l

    

    728404152bdbb3d5a071cc56431ccccf.jpg-wh_

   3)首先,把磁盘格式化成普通磁盘。

    #fdisk /dev/sda

    

    8f9e661129ad132d80e6dac166942165.jpg-wh_

0x04:安装LVM,及创建。

    将一块普通磁盘类型修改成8e时,其已经成为LVM磁盘系统里,也就是我们说的PV。

    磁盘创建好了,但是LVM并不是系统自带的,尤其是2.6.9以下,需要我们自己安装。

    查看系统是否安装。

    rpm -qa | gre lvm

    并查看内核版本。

    uname -a

    系统显示没有安装,我们用命令安装。

    yum -y install lvm2

   

   1)创建PV。

   LVM提示已经安装完成,用pvscan命令提示没有发现PV(physical volumes)

   

   创建PV,并重新扫描,发现了一个新的PV。

   # pvcreate /dev/sdb1   # pvscan

   

   显示PV信息,因为只创建一个PV,所以只有一个。

   # pvdisplay

   

   好了,现在将一块普通磁盘改变成LVM里最基本物理磁盘。下面我们来创建VG(磁盘管理组)。

   2)创建VG(卷组),来管理PV。

   # vgscan  //因为之前没有创建过VG,所以扫描没有显示。   # vgcreate vgdata /dev/sdb1   //创建vgdata并将/dev/sdb1加入   #  vgcreate vgdata /dev/sdb1  -s 8M //-s是指定PE大小,默认是4M   # vgdisplay  //显示VG信息

   

   再次扫描,发现上面创建的“vgdata”卷组VG了。

   

   

   3)有了卷组我们就可以创建LV,LV是我们真正用来写数据的,比如新建一个文本等。

   # lvscan //扫描LV,之前没有建立过LV,什么也没显示   # lvcreate -L 100M -n lvData vgdata //创建LV,-L 指定LV大小为100M,-n LV名字方便区分,   vgdata 加入到vgdata组,上面创建的。   # lvdisplay

   

   4)格式化LV及挂载

   # mkfs.ext4 /dev/vgdata/lvData  //格式化lvData为ext4格式。   #  mkdir /LVM  //创建挂载点   #  mount /dev/vgdata/lvData  /LVM  //挂载到LVM下   #  df -h  显示挂载成功100M空间系统占用1.6M还要卷组占用一些,实际占用2%。

   

   好了,到此一个完整的LVM就创建完了。

   

0x05:开机自动挂载。

   挂载点的磁盘,在重启后就会丢失,需要将配置写入/etc/fstab,让系统自动挂载。

    # echo "/dev/vgdata/lvData  /LVM    ext4    defaults 0 0" >> /etc/fstab

   

   

   

参考文章: