文档章节

LVM磁盘管理

leolan
 leolan
发布于 2016/10/24 23:03
字数 1682
阅读 2
收藏 0
点赞 0
评论 0
动态扩容
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中划分的逻辑分区
如下图所示PV、VG、LV三者关系:




扩容原理:用新磁盘创建PV,然后合并到现有的VG中,然后再扩容某个LV。
貌似全程都不用格式化新建分区

安装LVM
首先确定系统中是否安装了lvm工具:
yum install lvm2 apt-get install lvm2

df -h 和 fdisk -l 查看分区情况
开始分区:
fdisk /dev/sdb
n 新建
p 设定为主分区
回车 设定起始扇区
回车 设定结束扇区(直接回车默认用全部空间创建,也可以输入+500M设定为500M)

t 此时输入L能看到所有格式的代码,指定分区格式,8e为LVM
Partition number(1-4):1 指定分区 ,即为之后创建的sdb1-4(主分区只能4个)
8e 设定为LVM
p 查看当前分区情况
w 写入硬盘

partprobe 重读分区表,可能会提示无法只读。。。。不用理会

查看当前PV
pvdisplay 或 pvscan

创建PV(物理卷)
pvcreate /dev/sdb1 使用之前创建的sdb1的全部空间创建PV,不想使用全部空间,之前分区时就要注意了。

查看当前VG(卷组)
vgdisplay 或 vgscan

用/dev/sdb1创建VG并加到已存在的vg_bogon中
vgextend vg_bogon /dev/sdb1 [vg_bogon是本机正在使用的vg_name]

查看当前VG
vgdisplay

发现有9.99G的空间

扩容/分区所在的LV(逻辑卷)
【/dev/vg_bogon/LogVol01为正在使用的/分区】
lvextend -l +100%FREE /dev/vg_bogon/LogVol01 【路径用 /dev/vg_bogon/LogVol01 /dev/mapper/vg_bogon-LogVol01都是可以的 df -h就能查看】
lvextend -L +10G  /dev/vg_bogon/LogVol01 来增加10G空间。

查看当前VG
vgdisplay
已经扩容了,但df -h 显示没有扩容

重设逻辑卷大小,对于当前正在使用的LogVol01有效
resize2fs /dev/vg_bogon/LogVol01

***************************************************************************************************************************************************

缩小其他分区扩容根分区
1.首先查看磁盘使用情况
df -h
文件系统 容量  已用 可用  已用% 挂载点
Filesystem              Size  Used Avail Use% Mounted on  
/dev/mapper/VolGroup-lv_root 154G  7.9G  139G   6% /
tmpfs                  1.9G  100K  1.9G   1% /dev/shm
/dev/sda1              485M   69M  391M  15% /boot
/dev/mapper/VolGroup-lv_home 299G  984M  283G   1% /home
2、卸载/home 【这里缩小home,把扩容/分区】
umount /home
umount /home 如果 提示无法卸载,则是有进程占用/home, 使用如下命令来终止占用进程:
fuser -m /home
3、调整分区大小
resize2fs -p /dev/mapper/VolGroup-lv_home 20G 【此处缩小home分区到20G】
如果提示运行“e2fsck -f /dev/mapper/VolGroup-lv_home”,则执行相关命令: 
[root@localhost ~]# e2fsck -f /dev/mapper/VolGroup-lv_home 然后重新执行命令:
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 20G
注:resize2fs 为重新设定磁盘大小,只是重新指定一下大小,并不对结果有影响,需要下面lvreduce的配合
4、挂载上/home,查看磁盘使用情况
mount /home
df -h
 此时看/home分区只有20G了。

5、设置空闲空间
使用lvreduce指令用于减少LVM逻辑卷占用的空间大小。可能会删除逻辑卷上已有的数据,所以在操作前必须进行确认。记得输入 “y”
lvreduce -L 20G /dev/mapper/VolGroup-lv_home 【刚才只是把/home多余的空间标记为不使用,这一步开始真正分割lv,把/home的lv分割为刚刚设定的大小,只能比20G大,比20G小,多分割出来的地方数据会丢失(上面已经设定了为20G了)】
注:lvreduce -L 20G的意思为设置当前文件系统为20G,如果lvreduce -l 20G是指从当前文件系统上减少20G 【-L设定为指定大小,-l减小指定大小】
使用lvreduce减小逻辑卷的大小。注意:减小后的大小不能小于文件的大小,否则会丢失数据。 
 
可以使用 vgdisplay 命令等查看一下可以操作的大小。也可以是用 fdisk -l 命令查看详细信息。
[root@localhost ~]#  vgdisplay
注:vgdisplay为显示LVM卷组的元数据信息 此时可以看到有free空间。
  1. 6
6.把闲置空间挂在到根目录下
lvextend -l +100%FREE /dev/mapper/VolGroup-lv_root 【把free空间全部分给/分区】
注:如果使用 lvextend -L +283G 则为在文件系统上增加283G
resize2fs -p /dev/mapper/VolGroup-lv_root 【重设磁盘大小】
  1. 7
7、检查调整结果
df -h
OK扩容完成

***************************************************************************************************************************************************
其他命令:
移除lv逻辑卷:
lvdisplay
lvremove -f /dev/vg_bogon/LogVol02 移除该lv逻辑卷

lv逻辑卷重命名:
lvrename /dev/vg_bogon/LogVol02 /dev/vg_bogon/lv_root

如果无法修改可能是因为激活原因,激活VG就可以修改LV名了
lvchange -an /dev/vg_bogon/LogVol02

VG重命名
vgrename vg_bogon vg_new


若不是用于扩容,只是用来做磁盘存储文件,则要挂载分区,开机自动挂载修改/etc/fastab文件。

如果改名的lv卷是启动分区的话,再修改/etc/grub.conf文件


个人学习笔记,不当之处还请指正。
----------不定期更新------------











本文转载自:http://blog.csdn.net/lan842632/article/details/52843155

共有 人打赏支持
leolan
粉丝 1
博文 42
码字总数 42
作品 0
梅州
Linx卷管理详解 VG LV PV

原创链接:http://blog.csdn.net/wuweilong/article/details/7565530 一. 前言 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,他是磁盘管理的一种工具,就目前基本上所有操作系统均支...

kekeAlice ⋅ 2017/05/07 ⋅ 0

Linux LVM硬盘管理及LVM扩容

LVM磁盘管理 一、LVM简介 二、 LVM基本术语 三、 安装LVM 四、 创建和管理LVM 2、 创建PV 3、 创建VG 4、 创建LV 5、LV格式化及挂载 一、LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)...

yl497103815 ⋅ 2017/01/17 ⋅ 0

Linux LVM硬盘管理及LVM扩容

近日一台日志服务器硬盘空间不足,想扩容一下磁盘容量,增加4块磁盘 方法1:做raid0 优点:硬件效率高 ,实施易操作。 缺点:需要重启服务器 方法2: LVM 优点:不需要重启服务器 缺点:操作有...

syomi ⋅ 2013/11/18 ⋅ 0

Linux LVM硬盘管理及LVM扩容

LVM磁盘管理 一、LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写,LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它...

庆沉 ⋅ 2015/07/01 ⋅ 0

LVM(逻辑盘卷管理)

【一】LVM原理:     LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的...

西安老男孩 ⋅ 2017/11/21 ⋅ 0

Linux手动挂载LVM分区

转自:http://www.itwhy.org/2011/08-08/793.html#3 LVM是什么 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之...

小卒过河 ⋅ 2011/08/10 ⋅ 1

LVM详解

1.LVM是什么 LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过...

LavenDer7n ⋅ 2017/11/06 ⋅ 0

一张图让你学会LVM

导读 随着科技的进步,人们不知不觉的就进入了大数据的时代,数据的不断增加我们发现我们的磁盘越来越不够用了,接下来就是令人头疼的事情--加硬盘,数据的备份与还原。LVM就是Linux下专门针...

linuxprobe16 ⋅ 2016/11/08 ⋅ 0

LVM逻辑卷的创建与使用

LVM(Logical volume Manager)是逻辑卷管理的简称。它是Linux环境下对磁盘分区进行管理的一种机制。现在不仅仅是Linux系统上可以使用LVM这种磁盘管理机制,对于其它的类UNIX操作系统,以及win...

BatmanLinux ⋅ 01/02 ⋅ 0

Linux两块磁盘挂载指向一个文件夹LVM磁盘管理(一)

注意:任何磁盘的操作有可能损坏里面数据,请提前备份数据,切记!切记!切记! 0x00:前言. 在Linux使用过程中,发现一个文件很大,比如5G,但是有两块物理磁盘一个剩下4G,一个剩3G,磁盘空...

piazini ⋅ 2017/11/11 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

volatile和synchronized的区别

volatile和synchronized的区别 在讲这个之前需要先了解下JMM(Java memory Model :java内存模型):并发过程中如何处理可见性、原子性、有序性的问题--建立JMM模型 详情请看:https://baike.b...

MarinJ_Shao ⋅ 36分钟前 ⋅ 0

深入分析Kubernetes Critical Pod(一)

Author: xidianwangtao@gmail.com 摘要:大家在部署Kubernetes集群AddOn组件的时候,经常会看到Annotation scheduler.alpha.kubernetes.io/critical-pod"="",以表示这是一个关键服务,那你知...

WaltonWang ⋅ 43分钟前 ⋅ 0

原子性 - synchronized关键词

原子性概念 原子性提供了程序的互斥操作,同一时刻只能有一个线程能对某块代码进行操作。 原子性的实现方式 在jdk中,原子性的实现方式主要分为: synchronized:关键词,它依赖于JVM,保证了同...

dotleo ⋅ 50分钟前 ⋅ 0

【2018.06.22学习笔记】【linux高级知识 14.4-15.3】

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

lgsxp ⋅ 今天 ⋅ 0

JeeSite 4.0 功能权限管理基础(Shiro)

Shiro是Apache的一个开源框架,是一个权限管理的框架,实现用户认证、用户授权等。 只要有用户参与一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户...

ThinkGem ⋅ 昨天 ⋅ 0

python f-string 字符串格式化

主要内容 从Python 3.6开始,f-string是格式化字符串的一种很好的新方法。与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快! 在本文的最后,您将了解如何以及为什么今...

阿豪boy ⋅ 昨天 ⋅ 0

Python实现自动登录站点

如果我们想要实现自动登录,那么我们就需要能够驱动浏览器(比如谷歌浏览器)来实现操作,ChromeDriver 刚好能够帮助我们这一点(非谷歌浏览器的驱动有所不同)。 一、确认软件版本 首先我们...

blackfoxya ⋅ 昨天 ⋅ 0

线性回归原理和实现基本认识

一:介绍 定义:线性回归在假设特证满足线性关系,根据给定的训练数据训练一个模型,并用此模型进行预测。为了了解这个定义,我们先举个简单的例子;我们假设一个线性方程 Y=2x+1, x变量为商...

wangxuwei ⋅ 昨天 ⋅ 0

容器之查看minikue的environment——minikube的环境信息

执行如下命令 mjduan@mjduandeMacBook-Pro:~/Docker % minikube docker-envexport DOCKER_TLS_VERIFY="1"export DOCKER_HOST="tcp://192.168.99.100:2376"export DOCKER_CERT_PATH="/U......

汉斯-冯-拉特 ⋅ 昨天 ⋅ 0

mysql远程连接不上

设置了root所有hosts远程登录,可是远程登录还是失败,原因可能如下: 登录本地数据库 mysql -uroot -p123456 查询用户表 mysql> select user,host,password from mysql.user; 删除密码为空的...

冰公子 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部