博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux挂载LVM分区的方法【转】
阅读量:7040 次
发布时间:2019-06-28

本文共 4938 字,大约阅读时间需要 16 分钟。

hot3.png

Linux挂载LVM分区的方法

这几天在折腾服务器 遇到需要挂载第二块硬盘的问题 第二块硬盘做了LVM

经过查找 找到了解决办法 备忘一下

#fdisk -l

[root /]# fdisk -l
Disk /dev/sda: 36.7 GB, 36778545152 bytes
255 heads, 63 sectors/track, 4471 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2463    19679625   83  Linux
/dev/sda3            2464        3949    11936295   83  Linux
/dev/sda4            3950        4471     4192965    5  Extended
/dev/sda5            3950        4471     4192933+  82  Linux swap / Solaris
Disk /dev/sdb: 73.4 GB, 73407868928 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1        8924    71681998+  8e  Linux LVM
Disk /dev/sdc: 36.7 GB, 36703934464 bytes
255 heads, 63 sectors/track, 4462 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1   *           1          13      104391   83  Linux
/dev/sdc2              14        4462    35736592+  8e  Linux LVM
[root /]# pvs
  PV         VG         Fmt  Attr PSize  PFree 
  /dev/sdb1             lvm2 --   68.36G 68.36G
  /dev/sdc2  VolGroup00 lvm2 a-   34.06G 32.00M

sdc2就是我要挂接的

[root /]# vgscan
  Reading all physical volumes.  This may take a while...
  Found volume group "VolGroup00" using metadata type lvm2

[root /]# lvscan

  inactive            '/dev/VolGroup00/LogVol00' [32.09 GB] inherit
  inactive           '/dev/VolGroup00/LogVol01' [1.94 GB] inherit
可以看到新修改的VolGroup00是inactive状态

[root /]# vgchange -a y 

  2 logical volume(s) in volume group "VolGroup00" now active
[root@localhost /]# lvscan
  ACTIVE            '/dev/VolGroup00/LogVol00' [32.09 GB] inherit
  ACTIVE            '/dev/VolGroup00/LogVol01' [1.94 GB] inherit
好了,现在可以挂载了

[root@localhost /]# mount  -t ext3 /dev/VolGroup00/LogVol00 /d1

 

 

 

 

 

 

如果lvm两个卷同名,则需要对另一个进行重命名

[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree

/dev/hda2 VolGroup00 lvm2 a- 76.22G 32.00M

/dev/hdc2 VolGroup00 lvm2 a- 74.38G 32.00M

两个VG名称居然一样,

[root@localhost ~]# vgrename VolGroup00 VolGroup88

Found more than one VG called VolGroup00. Please supply VG uuid.

[root@localhost ~]#vgrename 0iHE6T-dGIa-zkG2-Hn6f-heiH-OOwD-OzRmEt VolGroup88

 Volume group “VolGroup00″ still has active LVs

卸载

vgchange -a n /dev/Volxxx

kpartx -d /dev/loopx

losetup -d /dev/loopx

 

 

[root@shmym dev]# vgscan
  Reading all physical volumes.  This may take a while...
  Found volume group "VolGroup00" using metadata type lvm2
  Found volume group "VolGroup00" using metadata type lvm2

[root@shmym dev]# pvscan

  PV /dev/sda2   VG VolGroup00   lvm2 [68.25 GB / 64.00 MB free]
  PV /dev/hda2   VG VolGroup00   lvm2 [232.78 GB / 160.00 MB free]
  Total: 2 [301.03 GB] / in use: 2 [301.03 GB] / in no VG: 0 [0   ]

[root@shmym dev]# pvs
  PV         VG         Fmt  Attr PSize   PFree
  /dev/hda2  VolGroup00 lvm2 a-   232.78G 160.00M
  /dev/sda2  VolGroup00 lvm2 a-    68.25G  64.00M

[root@shmym dev]# vg
vgcfgbackup   vgconvert     vgextend      vgreduce      vgscan
vgcfgrestore  vgcreate      vgimport      vgremove      vgsplit
vgchange      vgdisplay     vgmerge       vgrename
vgck          vgexport      vgmknodes     vgs

 

[root@shmym dev]# vgrename -h
  vgrename: Rename a volume group

vgrename

        [-A|--autobackup y|n]
        [-d|--debug]
        [-h|--help]
        [-t|--test]
        [-v|--verbose]
        [--version]
        OldVolumeGroupPath NewVolumeGroupPath |
        OldVolumeGroupName NewVolumeGroupName

[root@shmym dev]# vgrename VolGroup00 VolGroup01
  Found more than one VG called VolGroup00. Please supply VG uuid.
解释:找到一个以上的卷组名为VolGroup00 。请提供卷组的UUID 。

[root@shmym dev]# vgdisplay
  --- Volume group ---
  VG Name               VolGroup00
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               68.25 GB
  PE Size               32.00 MB
  Total PE              2184
  Alloc PE / Size       2182 / 68.19 GB
  Free  PE / Size       2 / 64.00 MB
  VG UUID               0iHE6T-dGIa-zkG2-Hn6f-heiH-OOwD-OzRmEt

  --- Volume group ---

  VG Name               VolGroup00
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               232.78 GB
  PE Size               32.00 MB
  Total PE              7449
  Alloc PE / Size       7444 / 232.62 GB
  Free  PE / Size       5 / 160.00 MB
  VG UUID               5QwszM-BM1o-oG9i-sI8Y-T3Yw-sp0X-v6U2Pn

 

 

使用LVM逻辑卷管理的利弊

       解决方案

  在以往的Linux系统中(比Redhat AS4更早的版本),默认是不支持LVM逻辑卷管理的

  当磁盘连接到服务器后,使用fdisk将其划分为主分区和扩展分区

  随后直接把分区进行格式化,生成诸如/dev/sda1、/dev/sda2之类的分区

  这些分区可以直接用mount命令挂载到目录来使用

  当应用了LVM后,磁盘分区/dev/sda1、/dev/sda2这样的分区会被LVM认为是一整个VG,即卷组

  这样的卷组是不能直接挂载的

  要由LVM转换成/dev/VolGroup01这样的VG卷组

  然后每个卷组又包含/dev/VolGroup01/LogVol01这样的LV,即逻辑卷

  当使用他们的时候,需要将/dev/VolGroup01/LogVol01挂载到目录

  因此,LVM虽然提供了可调节分区(卷)大小的能力

  但是由于其PV->VG-LV三层架构的存在,在后期数据迁移和恢复上比较复杂

  例如,当前磁盘使用了/dev/VolGroup00/LogVol01这样的名称

  把这块磁盘挂载到其他服务器上后,如果存在另外一块硬盘名称也是由LVM管理

  并且默认也使用了“/dev/VolGroup00/LogVol01”的名称

  那么两个硬盘的VG名称冲突,就无法继续挂载LV读取数据了

  这种冲突,在两个硬盘都是数据磁盘的时候,还可以修改名称来解决

  但是,如果冲突双方中的一块是系统硬盘,那么则LVM拒绝对磁盘做卸载、改名等处理

  此时第二块硬盘里边的数据就恢复不出来了

  唯一的解决方法是把这个硬盘挂载到其他没有使用LVM的服务器上

  或者找一个使用了LVM但是VG卷组名称不一样的服务器上

  这是LVM设计应用中的一个无法解决的bug

  因此,在服务器上,为了保证尽可能好的后期灾难恢复,不推荐用LVM

  最好使用简单直接使用磁盘分区格式化,以便恢复数据

  如果非要用LVM,请注意,在安装系统分区之初,就给自己磁盘的LVM起一个不容易冲突的唯一的名字

  例如/dev/VolHehe001、/dev/VolHehe002等

转载于:https://my.oschina.net/u/144160/blog/758757

你可能感兴趣的文章
轻量级Web渗透测试工具jSQL
查看>>
本地web访问linux虚拟机服务器报403错误
查看>>
varnish 页面跳转
查看>>
CentOS7.5安装Gitlab11.0及汉化
查看>>
C#程序代码中常用的快捷键
查看>>
进程控制(学习笔记)
查看>>
hibernate中sorted collection和ordered collection区别
查看>>
“***”眼中云计算的“五大漏洞”
查看>>
网页练习
查看>>
JAVA继承和组合
查看>>
编写一个c语言程序 将一串字符串倒叙存放后输出
查看>>
网页设计师和网页前端开发我该选择哪一个
查看>>
我的友情链接
查看>>
推荐自己做的在线流程图、UML、架构图绘制网站
查看>>
用Sublime Text2和MinGW 搭建c编程环境 cc1plus.exe报错
查看>>
八皇后问题--递归与非递归的实现
查看>>
JAVA系列之JVM加载
查看>>
[LeetCode] replace into a Cyclic Sorted List
查看>>
$.each 和$(selector).each()的区别
查看>>
Synology 搭建双机冗余High Availability服务
查看>>