本文共 1923 字,大约阅读时间需要 6 分钟。
注意:任何磁盘的操作有可能损坏里面数据,请提前备份数据,切记!切记!切记!
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里创建模拟物理磁盘,虚拟机里会自动识别。
因为做实验节省时间,所以我们将3个磁盘只分了100M、200M、300M,
从容量上我们也可以直观看到在操作的磁盘。
注意文件名不要重复
另外2个创建是一样的,重复上面步骤即可。
在系统中用命令查看,多出几块未分配的磁盘。
1 | # fdisk -l |
3)首先,把磁盘格式化成普通磁盘。
1 | #fdisk /dev/sda |
0x04:安装LVM,及创建。
将一块普通磁盘类型修改成8e时,其已经成为LVM磁盘系统里,也就是我们说的PV。
磁盘创建好了,但是LVM并不是系统自带的,尤其是2.6.9以下,需要我们自己安装。
查看系统是否安装。
1 | rpm -qa | gre lvm |
并查看内核版本。
1 | uname -a |
系统显示没有安装,我们用命令安装。
1 | yum -y install lvm2 |
1)创建PV。
LVM提示已经安装完成,用pvscan命令提示没有发现PV(physical volumes)
创建PV,并重新扫描,发现了一个新的PV。
1 2 | # pvcreate /dev/sdb1 # pvscan |
显示PV信息,因为只创建一个PV,所以只有一个。
# pvdisplay
好了,现在将一块普通磁盘改变成LVM里最基本物理磁盘。下面我们来创建VG(磁盘管理组)。
2)创建VG(卷组),来管理PV。
1 2 3 4 | # 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是我们真正用来写数据的,比如新建一个文本等。
1 2 3 4 | # lvscan //扫描LV,之前没有建立过LV,什么也没显示 # lvcreate -L 100M -n lvData vgdata //创建LV,-L 指定LV大小为100M,-n LV名字方便区分, vgdata 加入到vgdata组,上面创建的。 # lvdisplay |
4)格式化LV及挂载
1 2 3 4 | # 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,让系统自动挂载。
1 | # echo "/dev/vgdata/lvData /LVM ext4 defaults 0 0" >> /etc/fstab |
参考文章:
转载地址:http://ezpxx.baihongyu.com/