热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

实战Linux下逻辑卷LVM详细配置之创建、删除、修改

逻辑卷管理与配置在配置之前我们想一个问题,Linux我们都知道是一个多用户的模式,当我们前期规划导致我们的硬盘空间不够用的时候,我们一般的

逻辑卷管理与配置

在配置之前我们想一个问题,Linux我们都知道是一个多用户的模式,当我们前期规划导致我们的硬盘空间不够用的时候,我们一般的情况下是新增加硬盘,然后分区、格式化、然后将规划不合理的磁盘的数据复制过来,然后再重新挂载生效。如果我们多次这样的时候对我们系统管理人员来说是特别麻烦的一件事情。在这样的情况下,LVM就诞生了。

什么是LVM?

LVM中文翻译逻辑卷管理,LVM最大的好处在于可以将多个硬盘整合到一起,让多个硬盘看起来像一个独立的硬盘(VG),然后我们把这个独立的硬盘(VG)可以分割成一小块一小块(LV)这样我们在添加删除硬盘的时候,是不会影响数据的完整性的。

LVM的工作流程:

首先我们先要准备物理介质,底层我们用硬盘、RAID都可以,然后我们在把这些介质硬盘转换成LVM的实体卷轴(PV),然后我们格式化这些PV并且调整他的ID,LVM的ID是“8e”。在fdisk的时候可以通过“t”来查看。我们在创建好PV之后然后来创建VG,什么是VG简单的理解就是把多个PV组合到一起。LVM使用的是4MB的PE区块LVM的LV最多能包含64435区块,我们需要记住的是PE区块是是LVM最小的存储区块。我们把PV创建成VG组之后,然后我们来怎么使用呢?

我们需要把VG组切割成一小块,那么LV是不是随便可以指定大小呢?肯定是不可以的,我们可以通过PE来指定大小,因此LV的大小与PE有关。

LVM的两种工作机制:

线型模式:

线型模式的工作状态是这样的,假如我们我们的VG有两个磁盘A和磁盘B,当磁盘A使用完的时候才会使用磁盘B,线型就是一个使用完在使用另一个磁盘。LVM默认使用的读取方式就是线型模式。

交错模式:

交错模式简单的可以这样理解,一个数据分成两份,一份写入磁盘A一份写入磁盘B,这样的特点速度快,但是没有安全性,一个磁盘坏掉了,另一个磁盘就无法正常工作了。所有这中模式一般在LVM中使用的是不多的,如果要这种特点那么建议使用RAID。

一、实战LVM操作流程;

1、 首先我们新添加磁盘/dev/sdb,然后创建4个1G大的磁盘,并且ID为8e,

clip_image002

2、 磁盘满足了我们来做PV;首先我们使用pvscan来查看系统有没有LVM磁盘,我们使用pvcreate来创建磁盘。Pvdisplay是查看PV的状态,pvremove是移出pv的属性。具体配置如图;

clip_image004

3、 配置完PV我们来创建VG,vgcreate主要是创建VG的命令。Vgscan是查看系统上面是否有VG的存在。Vgdisplay显示系统上VG的状态,vgextend是增加VG内额外的PV,vgreduce是移出VG内的PV,vgchange是设定VG是否激活,vgremove是删除一个VG。图中使用到的命令做过详细介绍,具体操作配置如图:

clip_image006

4、 我们创建了四块PV,然后只要三块PV做成VG了还有一块没有做成VG,下面我们来添加下,使用到的的命令,vgextend,具体如图:

clip_image007

5、 PV和VG创建完成我们来创建LV。

Lvcreate:建立LV分区,lvscan查看系统上的LV,lvdisplay:查看LV状态,lvextend增加LV的容量,lvreduce减少LV的容量,lvremove删除一个lv。Lvrsize调整LV容量大小。

clip_image009

6、 创建完LV之后,我们肯定是无法使用LV文件系统的,那么我们怎么使用呢?首先格式化LV然后在mount挂载,然后看看是否完成,如图所示:

clip_image011

7、 然后整个LVM的逻辑就配置完成了,我们来测试如何增加硬盘,首先增加一个硬盘/dev/sdb10修改成ID8e的格式,首先我们还是先创建PV然后在创建VG,如图所示:

clip_image013

8、 在图中我们能看出来剩余290M,那么我们接下来直接添加290M即可。

clip_image014

9、 如图是我们添加的硬盘的容量,

clip_image015

10、 然后将lv的容量扩展到文件系统中,如图。

clip_image017

11、 查看当前的PV情况,然后我们来卸载硬盘。

clip_image019

12、 然后我们来先设置LV的容量,我们在这里去掉/dev/sdb6的硬盘容量,计算的放是很简单,992*4就可以。需要我们注意的是,不能出现小数点。然后在卸载,正在使用的文件是不能在线移出的。Umount之后我们在线做检查即可”e2fsck”;

clip_image021

13、 然后我们在使用resize2fs来加载到lv里面。然后我们挂载查看,具体如图:

clip_image023

14、 然后我们来降低LV的容量,这里面的-62指的是PV的PE的块(可以通过pvdisplay来查看),然后指定我们的vg和lv的路径。这里会有警告提示,我们按Y就可以。然后我们lvdisplay来查看,LV的大小就是我们刚设置的大小,如图:

clip_image025

15、 第一步:我们把/dev/sdb6上面的数据移动到/dev/sdb10里面。第二步:我们从VG组里面移出/dev/sdb6;第三步:我们从pv里面移出/dev/sdb6,具体如图:

clip_image027

16、 查看测试是否移出。结果如下:

clip_image029



本文转自devilangel 51CTO博客,原文链接:http://blog.51cto.com/devliangel/1091930,如需转载请自行联系原作者





推荐阅读
  • 本章主要列举服务器程序的各种网络模型,示例程序以及性能对比后面再写。一、分类依据。服务器的网络模型分类主要依据以下几点(1)是否阻塞方式处 ... [详细]
  • centos 6.5 mysql 集群_CentOS 6下安装部署Galera Cluster for MySQL集群
    GaleraClusterforMySQL是一套基于同步复制的多主MySQL集群解决方案,使用简单,没有单点故障,可用性高, ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 好东西,负载均衡LVS
    理论知识点一,集群的含义1,多台主机构成,对外表现是这个整体,提供一个访问入口,多台主机组成集群,2,分类①、负载均衡群集②、高可用群集③、高性能运算群集3,负载均衡集群提高系统的 ... [详细]
  • fdisk,sfdisk,partfdisk ... [详细]
  • 配置Linux—LVS(DR)第一部分:DR模式配置OS:RedhatAS4U4内核:2.6.9-42Server1:192.168.1. ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 【2021Java最新学习路线】开启mysql远程连接
    前言面试技巧另外开篇再说,先上面试干货吧。面试的题目并不一定有严格的顺序关系,有的是从前一个问题延伸而来,(探究的是一个知 ... [详细]
  • Nginx的TCP/UDP负载均衡是应用Stream代理模块(ngx_stream_proxy_module)和Stream上游模块(ngx_stream_upstream_mod ... [详细]
  • 2.2Kubernetes网络通讯
    k8s的网络模型假定了所有的Pod都在一个可以直接连通的扁平的网络空间中,这在GCE(GoogleComputeEngine)里面是线程的网络模型,Kubernetes假定这个网络 ... [详细]
author-avatar
无奈中有几多Rudy
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有