扩容磁盘
简介:
- LVM是逻辑盘卷管理(Logical Volume
Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。 - LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上层服务的是以逻辑卷的方式。
- LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。如果我们新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。
基本的逻辑卷管理概念:
-
PV(Physical Volume)- 物理卷
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。
-
VG(Volumne Group)- 卷组
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。
- LV(Logical Volume)- 逻辑卷
逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。
关系图如下:
- PE(Physical Extent)- 物理块
LVM 默认使用4MB的PE区块,而LVM的LV最多仅能含有65534个PE (lvm1 的格式),因此默认的LVM的LV最大容量为4M*65534/(1024M/G)=256G。PE是整个LVM 最小的储存区块,也就是说,其实我们的资料都是由写入PE 来处理的。简单的说,这个PE 就有点像文件系统里面的block 大小。所以调整PE 会影响到LVM 的最大容量!不过,在 CentOS 6.x 以后,由于直接使用 lvm2 的各项格式功能,因此这个限制已经不存在了。
一. 第一种情况,物理磁盘不足,新加一个磁盘,进行扩容
或者fdisk –l 看到,有磁盘还有空闲存储,直接开始分区,例如:/dev/sda2这种
1. 物理加盘
一般来说,当我们在服务上插入新的磁盘时,服务器是会对磁盘进行识别的。但是,有的时候服务器并没有对这些新插入的磁盘进行识别。这时,我们可以通过重启服务器,来使服务器重新加载硬盘。
在生产环境中我们的服务器上都存在着重要的服务,并不可以对服务器进行重启。下面介绍的就是无需重启服务器,使其识别新磁盘的方法。
- 利用剩余空间
利用剩下的自由空间 创建一个物理分区–>将这个物理分区装换为物理卷–>把这个物理卷添加到要扩展的卷组中–>然后才能用extend命令扩展此卷组中的逻辑卷
查看磁盘
fdisk -l
【2】查看主机总线号
ls /sys/class/scsi_host/
【3】重新扫描SCSI总线添加设备
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan
....
echo "- - -" > /sys/class/scsi_host/host9/scan
注意: 有几个总线,就扫描几个。
- 分区,格式化
需要root账号身份。
1.1【fdisk -l】 有分区为/dev/sda,说明新创建的分区将会是sdb(根据实际情况)
1.2 输入【fdisk /dev/sda】
1.2.1命令行提示下输入【m】
1.2.2输入命令【n】添加新分区。
1.2.3输入命令【p】创建主分区。
1.2.4输入【回车】,选择默认大小,这样不浪费空间
1.2.5输入【回车】,选择默认的start cylinder。
1.2.6输入【w】,保持修改
2.【mkfs.ext4 /dev/sda3】格式化
mkfs -t ext4 /dev/sda3
3 .扩容
输入df –h 查看分区
假设这里的磁盘使用率不足。进行扩容操作
(1)创建物理卷 pv
[root@enmoedu1 ~]# pvcreate /dev/sdb1
pvs 查看物理卷情况
(2)扩容卷组 vg
[root@enmoedu1 ~]# vgextend /dev/mapper/vg_enmoedu1 /dev/sdb1
vgs 查看卷组剩余空间
vgs 成功有两个PV,100G
(3)扩容逻辑卷 lv
这里需要扩容的值是自己定的,也有的库可能会出现有剩余的情况,可以vgs或pvs查看剩余逻辑卷,如果还有剩余,可以输入命令lvdisplay
查看各个逻辑卷路径再次进行以下操作。
[root@enmoedu1 ~]# lvresize -L +5G /dev/vg_enmoedu1/lv_u01
lvs查看逻辑卷
(4)文件系统扩容
因为我们的系统还不认识刚刚添加进来的磁盘的文件系统,所以还需要对文件系统进行扩容。
键入:xfs_growfs 加上要扩展的分区名 或者 resize2fs – f 加 上要扩展的分区名
[root@enmoedu1 ~]# resize2fs /dev/vg_enmoedu1/lv_u01
df -h查看成功
第二种情况 使用软链接
假设之前我们有一个挂载点为 /data ,此时 /data 已经写满,但依然想在 /data 下添加新的数据,这时可以使用软链接将 /data 软链接到一个新挂载的磁盘分区上以实现扩容。具体步骤如下所示。
(1)创建一个目录,以便稍后作为挂载点:
[root@localhost ~]# mkdir /newdata
(2)将 /dev/sdb1 分区挂载到 /newdata 下:
[root@localhost ~]# mount /dev/sdb1 /newdata
(3)创建 /data 到 /newdata 的软链接:
[root@localhost ~]# ln -s /newdata /data
此时在 /data 目录下会有一个软链接文件 newdata 指向 /newdata/ ,即 newdata -> /newdata/ 。这样一来,只要我们向 /data/newdata 下写文件,实际就写入了 /newdata/ 目录下,相当于我们为原 /data 挂载点新增加了一部分使用空间。也可以手动指定该软链接文件的名称:
[root@localhost ~]# ln -s /newdata /data/customed_name
这样就有 /data/customed_name -> /newdata 。
注:我们也可以利用软链接的这一用途,将比较大的日志文件链接到存储空间充足的磁盘分区的挂载点上。举例来说,如果 /opt/tomcat/logs/catalina.out 日志文件输入很多,占用空间很大,而 /opt 挂载点中所剩空间已经不多,存在溢出风险,通过下面两步就可以将该日志文件软链接到另一个磁盘分区的挂载点上:
[root@localhost ~]# `touch /newdata/catalina_link.out`
[root@localhost ~]# ln -sf /newdata/catalina_link.out /opt/tomcat/logs/catalina.out
这里还需要注意三点,一是必须先创建一个被链接的文件,否则软链接后失败;二是强制软链接会清空之前 /opt/tomcat/logs/catalina.out 日志文件中的全部内容清空;三是需要重启 tomcat 目录后才能继续向 /opt/tomcat/logs/catalina.out 写入。
转载自原文链接, 如需删除请联系管理员。
原文链接:扩容磁盘,转载请注明来源!