centos7中通过LVM挂载新硬盘
系统环境:centos7需求:虚机中新增加了两块硬盘如下:使用fdisk -l 查看当前系统新增的硬盘信息:需求是:先将 /dev/sdb 硬盘挂载到 /test 目录中,后期如果不够用再将 /dev/sdc 硬盘扩容到 /test 目录下一、LVMLVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现。LV
系统环境:centos7
需求:虚机中新增加了两块硬盘如下:
使用fdisk -l 查看当前系统新增的硬盘信息:
需求是:先将 /dev/sdb 硬盘挂载到 /test 目录中,后期如果不够用再将 /dev/sdc 硬盘扩容到 /test 目录下
一、LVM
LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。
LVM基本术语
LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。首先我们讨论以下几个LVM术语:
物理存储介质(The physical media):这里指系统的存储设备:硬盘,如:/dev/hda1、/dev/sda等等,是存储系统最低层的存储单元。
物理卷(physical volume):物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
卷组(Volume Group):LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。
逻辑卷(logical volume):LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。
PE(physical extent):每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。
LE(logical extent):逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
简单来说就是:
PV:是物理的磁盘分区
VG:LVM中的物理的磁盘分区,也就是PV,必须加入VG,可以将VG理解为一个仓库或者是几个大的硬盘。
LV:也就是从VG中划分的逻辑分区
二、安装LVM
首先确定系统中是否安装了lvm工具:
rpm -qa|grep lvm
如果命令结果类似于上例,那么说明系统已经安装了LVM管理工具;如果命令没有输出则说明没有安装LVM管理工具,则需要从网络下载或者从光盘装LVM rpm工具包。
三、创建和管理LVM
1. 创建分区(也可以不用分区)
使用分区工具(如:fdisk等)创建LVM分区,方法和创建其他一般分区的方式是一样的,区别仅仅是LVM的分区类型为8e。如下列图所示:
先挂载硬盘 /dev/sdb ,创建新硬盘分区(此步骤貌似非必须步骤,也可以不用分区):
首先进入磁盘:
fdisk /dev/sdb
1)选择分区号,linux基本分区和扩展分区之和不能大于4,所以在1-4直接选择,一般是从大到小按编号选:输入命令n,然后输入1。
2)输入命令t,然后输入分区类型,输入8e表示虚拟逻辑卷分区,后期硬盘分区空间不足可以在线扩容。
3)输入命令w,重写分区表。
查看创建的分区:
1)使用fdisk –l查看创建的分区,有时候会看不到创建的新分区,此时使用fdisk命令看不到新建的分区信息。
2)partprobe 是一个可以修改kernel中分区表的工具,可以使kernel重新读取分区表而不用重启系统。命令:
partprobe /dev/sdb
2. 创建PV:
pvcreate /dev/sdb1
3. 创建卷组(VG)和逻辑卷(LV)并格式化
创建VG:
# vgcreate [自定义vg名称] [硬盘分区]
vgcreate test_vg /dev/sdb1
创建完成VG之后,才能从VG中划分一个LV。
创建LV:
# lvcreate -l[自定义分区大小] -n[自定义分区名称] [vg名称]
# 分区大小不能超过硬盘容量总和
如创建一个10G的分区:
lvcreate -l10.0G -n test_lv test_vg
如果将vg所有的空闲空间划至/dev/test_vg/test_lv中,可以使用以下方式:
lvcreate -l 100%VG -n test_lv test_vg
或者:
lvcreate -l +100%FREE -n test_lv test_vg
lvdisplay: 查看系统中已经创建好的逻辑卷
4. 格式化逻辑卷
# mkfs -t [文件系统] [分区位置]
mkfs -t ext4 /dev/test_vg/test_lv
5. 创建目录并将新的分区挂载到创建的目录
mkdir /test
mount /dev/test_vg/test_lv /test
6.设置开机自动挂载
# 在/etc/fstab文件末尾添加如下行:
/dev/test_vg/test_lv /test ext4 defaults 0 0
# 使用UUID
# 执行 blkid 可查看硬盘的uuid ,如 /dev/test_vg/test_lv 的UUID为UUID="986d6e2d-c41b-48a3-bab7-971b88f7cb60",则上面也可以指定UUID
UUID=986d6e2d-c41b-48a3-bab7-971b88f7cb60 /test ext4 defaults 0 0
四、扩展VG,将新增加的第二块硬盘(/dev/sdc)挂载到/test目录中,实现/test的扩容
1.创建分区 /dev/sdc1
2.创建PV
pvcreate /dev/sdc1
3.查看现有的VG
4.将新创建的PV: /dev/sdc1 添加到VG:test_vg中
查看VG,发现VG的大小增加了,且有空余空间
5.扩容LV:添加lv所在的vg剩下的空余空间
lvextend -l +100%FREE /dev/test_vg/test_lv
查看文件系统大小,发现/test空间并未发生改变:
6.同步文件系统:
resize2fs /dev/test_vg/test_lv
注:resize2fs 是针对 ext 文件系统格式;
如果是centos7的默认文件系统XFS,需要使用 xfs_growfs /dev/test_vg/test_lv
扩容成功。
lsblk: 列出所有的块设备,而且还能显示他们之间的依赖关系
五、附LVM操作的相关命令
命令 | 含义 |
---|---|
pvs | 查看PV |
lvs | 查看LV |
vgs | 查看VG |
pvdisplay | 查看系统中已经创建好的物理卷 |
pvcreate | 创建一个新的物理卷 |
pvremove | 删除一个物理卷(也就是从物理卷中删除一个LVM标签) |
vgdisplay | 查看系统中的卷组 |
vgcreate | 创建一个新的卷组 |
vgreduce | 从卷组中删除一个物理卷(也就是缩小卷组) |
vgremove | 删除一个卷组 |
lvdisplay | 查看系统中已经创建好的逻辑卷 |
lvcreate | 创建一个新的逻辑卷 |
lvreduce | 缩小逻辑卷(也就是从一个逻辑卷中减少一些LE) |
lvremove | 从系统中删除一个逻辑卷 |
更多推荐
所有评论(0)