热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

LVM磁盘管理技术案例讲解

LVM是什么?恩,全称就是逻辑盘卷管理英文全称是LogicalVolumeManager.干吗用的?恩,当我们硬盘空间不够时候,如C盘(举个通俗例子,linux没C,D概念
LVM是什么?
恩,全称就是"逻辑盘卷管理" 英文全称是"Logical Volume Manager".
干吗用的?
恩,当我们硬盘空间不够时候,如C盘(举个通俗例子,linux没C,D概念之说),如果没有LVM管理话,可能我们要备份数据,然后格式化,重新添加分区.岂不是很麻烦,不过如果有了LVM技术的话,就不存在这样的问题了.所以,用在服务器上是很方便的一门技术了.关键是,还不花钱.
网上有很多LVM知识解说的文章,说的比我详细多了,在此粘贴两经典文章的网址:
1:  [url]http://www.chinalinuxpub.com/read.php?wid=834[/url]
2:  [url]http://haka.sharera.com/blog/MyNetMark/954/0.htm[/url]
不过,鉴于实践是检验成果的唯一标准,我也就自己重新认真的操作了一遍,可比看人家文章更容易理解了.
先复习下LVM里面的基本必须记住的专业术语.偶会写上自己的理解的.FYI.
1: PV (Physical Volume) 中文名:物理卷 相关命令: pvcreate  pvdisplay pvscan
定义:  物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数
个人理解:  PV不是分区, 我们使用pvcreate来将一个或多个物理分区创造成PV.这是做LVM的第一步.
2: VG (volume group) 中文名: 卷组 相关命令: vgcreate vgdisplay  vgscan
定义: LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。
个人理解: 只有通过PV将分区变成物理卷后, 我们才能将这变成的一个或多个物理卷组合成一个卷组.就相当于,将几个班的教室合并成一个班样(vgcreate).以后,就可以随意分配学生了(LV).当然,前提就是将这些学生pvcreate成同一个年级(PV)了.
3:  LV (logical volume ) 中文名: 逻辑卷 相关命令: lvcreate lvdisplay lvscan
定义: LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)
个人理解:  我们可以通过lvcreate在VG中划分出某个区域.然后通过mount到某个文件夹中,这样,偶们就可以使用这个区域了.注意哦,是在这个卷组中划出一块地出来使用,当然了,如果这块的太少了,我们可以很轻松的把别人的地挪到自己这来.地里面的庄稼当然不会少了.如果觉得地太多了,割出部分出去,庄稼会自动腾到没割的地方去.这就是LVM的好处了.
 
OK,下面来看下我的操作过程了,其它的概念大家可以去看下别人写的文章.很详细的.
 
假设我有一块空闲硬盘,硬盘符是/dev/sdb,在里面分了三个分区,分别是 /dev/sdb1  /dev/sdb2  /dev/sdb3 三个都分别是100M.看下
[root@localhost /]# fdisk /dev/sdb
Command (m for help): p
Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1          13      104391   8e  Linux LVM    #看到Id是8e哦.
/dev/sdb2              14          26      104422+  8e  Linux LVM
/dev/sdb3              27          39      104422+  8e  Linux LVM
好得,下一步,建立物理卷PV
[root@localhost /]# pvcreate /dev/sdb1 /dev/sdb2 /dev/sdb3
  Physical volume "/dev/sdb1" successfully created
  Physical volume "/dev/sdb2" successfully created
  Physical volume "/dev/sdb3" successfully created

创建VG卷组
[root@localhost /]# vgscan   #一般我们初始建立卷组时都要先scan下.
  Reading all physical volumes.  This may take a while...
  Couldn't find device with uuid '6T3gUb-fFdj-MMUL-wUTN-qdXG-8iEP-KsWbgb'.
  Couldn't find all physical volumes for volume group VolGroup00.
  Couldn't find device with uuid '6T3gUb-fFdj-MMUL-wUTN-qdXG-8iEP-KsWbgb'.
  Couldn't find all physical volumes for volume group VolGroup00.
  Volume group "VolGroup00" not found
[root@localhost /]# vgcreate vg0 /dev/sdb1 /dev/sdb2  #建立卷组,名字叫:vg0
  Volume group "vg0" successfully created
[root@localhost /]#
[root@localhost /]# vgdisplay vg0  # 查看下卷组vg0得情况
  --- Volume group ---
  VG Name               vg0
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               200.00 MB
  PE Size               4.00 MB   #默认PE 都是4M, 通过 vgcreate -s 8M 可修改.
  Total PE              50
  Alloc PE / Size       0 / 0
  Free  PE / Size       50 / 200.00 MB
  VG UUID               WKRPJT-MI6G-vGk9-vne2-Gfg2-sAry-llsF7B
请输入内容
OK,下面是建立逻辑卷了,在这不我添加了名字为data 的逻辑卷了. 注意:-L 和-l的区别,前面是根据大小来的,后面的是根据块数来的,也就是几个PE.
[root@localhost /]# lvcreate -n data -L 10M vg0  #建立名为data,大小10M
  /dev/cdrom: open failed: Read-only file system
  Rounding up size to full physical extent 12.00 MB
  Logical volume "data" created
[root@localhost /]# lvdisplay  #查看下逻辑卷情况
  --- Logical volume ---
  LV Name                /dev/vg0/data
  VG Name                vg0
  LV UUID                qrC9H4-iHWi-Si4m-hN7G-x6Cm-yupr-aXRBVi
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                12.00 MB #为什么是12M呢?我不是输入10M大小的吗?
  Current LE             3           就当是个问题考考大家了,
  Segments               1
  Allocation             inherit
  Read ahead sectors     0
  Block device           253:2
  Couldn't find device with uuid '6T3gUb-fFdj-MMUL-wUTN-qdXG-8iEP-KsWbgb'.
  Couldn't find all physical volumes for volume group VolGroup00.
  Couldn't find device with uuid '6T3gUb-fFdj-MMUL-wUTN-qdXG-8iEP-KsWbgb'.
  Couldn't find all physical volumes for volume group VolGroup00.
  Volume group "VolGroup00" not found
[root@localhost /]# mkfs.ext3 /dev/vg0/data #格式化成ext3格式.
mke2fs 1.35 (28-Feb-2004)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
3072 inodes, 12288 blocks
614 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=12582912
2 block groups
8192 blocks per group, 8192 fragments per group
1536 inodes per group
Superblock backups stored on blocks:
        8193
Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 35 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@localhost /]# mount /dev/vg0/data /mnt/  #mount到/mnt文件夹
[root@localhost /]# cp /etc/services /mnt/  #拷贝个文件进去试下
[root@localhost /]# ls /mnt/  #看下,里面已经有个services文件了.成功.
lost+found  services
[root@localhost /]# umount /mnt/  
[root@localhost /]# lvextend -L +10M /dev/vg0/data  #扩展逻辑卷大小
  /dev/cdrom: open failed: Read-only file system
  Rounding up size to full physical extent 12.00 MB
  Extending logical volume data to 24.00 MB
  Logical volume data successfully resized

OK,试验就做到这了,是不是很容易啊,其它比如物理卷扩展大小,删除等操作其实已经大同小异了.



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





推荐阅读
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • linux分区文件信息,Linux中国 文件分区
    在这篇文章中,我们来了解一些用来检查你的系统分区的一些命令,这些命令将检查每个磁盘的分区情况和其它细节,例如总空间容量,已用 ... [详细]
  • 高可用架构_MySQL高可用架构设计
    文章来自于https:www.jianshu.compd3107bda2963PHP进阶学习交流QQ群:983229225Mysql复制功能介绍Mysql的复制功能提 ... [详细]
  • ext2ext3ext4文件系统的区别:ext2为非日志文件系统,即在文件系统的运行期间不会记录写操作的日志,这就 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 超级简单加解密工具的方案和功能
    本文介绍了一个超级简单的加解密工具的方案和功能。该工具可以读取文件头,并根据特定长度进行加密,加密后将加密部分写入源文件。同时,该工具也支持解密操作。加密和解密过程是可逆的。本文还提到了一些相关的功能和使用方法,并给出了Python代码示例。 ... [详细]
  • 本文详细介绍了使用C#实现Word模版打印的方案。包括添加COM引用、新建Word操作类、开启Word进程、加载模版文件等步骤。通过该方案可以实现C#对Word文档的打印功能。 ... [详细]
  • JAVA调用存储过程CallableStatement对象的方法及使用示例
    本文介绍了使用JAVA调用存储过程CallableStatement对象的方法,包括创建CallableStatement对象、传入IN参数、注册OUT参数、传入INOUT参数、检索结果和OUT参数、处理NULL值等。通过示例代码演示了具体的调用过程。 ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
  • 引号快捷键_首选项和设置——自定义快捷键
    3.3自定义快捷键(CustomizingHotkeys)ChemDraw快捷键由一个XML文件定义,我们可以根据自己的需要, ... [详细]
  • 感谢大家对IT十八掌大数据的支持,今天的作业如下:1.实践PreparedStament的CRUD操作。2.对比Statement和PreparedStatement的大批量操作耗时?(1 ... [详细]
  • MySQL锁--(深入浅出读书笔记)
    MySQL锁的概述1.针对不同的引擎,采用不同的锁机制;(表锁,页面锁,行锁)myisam和memory存储引擎:表级锁;BOB存储引擎:页面锁,表级 ... [详细]
  • (七)k8s集群调度
    一、调度说明1.1、简介Scheduler ... [详细]
  • yumyum其实相当于是对rpm格式的软件包进行管理,yum仓库中有一个数据库,通过该数据库可以解决软件包安装的依赖关系,显示当前yum仓 ... [详细]
  • springcloud:微服务涉及哪些技术、有哪些核心组件(二)
    0.引言上一期我们介绍了什么是微服务,微服务的基础概念,那么本期我们来介绍一下微服务涉及的技术点以及所需要的组件1.微服务涉及哪些技术1.1、基础 ... [详细]
author-avatar
花琦1979
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有