Linux掛載LVM分區的方法【轉】

Linux掛載LVM分區的方法node

這幾天在折騰服務器 遇到須要掛載第二塊硬盤的問題 第二塊硬盤作了LVM
通過查找 找到了解決辦法 備忘一下服務器

#fdisk -l
[root@localhost /]# 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@localhost /]# 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@localhost /]# vgscan
  Reading all physical volumes.  This may take a while...
  Found volume group "VolGroup00" using metadata type lvm2oop

[root@localhost /]# lvscan
  inactive            '/dev/VolGroup00/LogVol00' [32.09 GB] inherit
  inactive           '/dev/VolGroup00/LogVol01' [1.94 GB] inherit
能夠看到新修改的VolGroup00是inactive狀態ui

[root@localhost /]# 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
好了,如今能夠掛載了.net

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

 

 

 

 

 

 

若是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.00Mrest

兩個VG名稱竟然同樣,orm

[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/sda一、/dev/sda2之類的分區

  這些分區能夠直接用mount命令掛載到目錄來使用

  當應用了LVM後,磁盤分區/dev/sda一、/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/VolHehe00一、/dev/VolHehe002等

相關文章
相關標籤/搜索