天天看點

linux篇-Linux邏輯卷詳解總結

   LVM是邏輯卷管理(Logical Volume Manager)的簡稱,它是建立在實體儲存設備之上的一個抽象層,允許你生成邏輯存儲卷,與直接使用實體存儲在管理上相比,提供了更好靈活性。

      LVM将存儲虛拟化,使用邏輯卷,你不會受限于實體磁盤的大小,另外,與硬體相關的存儲設定被其隐藏,你可以不用停止應用或解除安裝檔案系統來調整卷大小或資料遷移.這樣可以減少操作成本.

LVM與直接使用實體存儲相比,有以下優點:

1. 靈活的容量.

當使用邏輯卷時,檔案系統可以擴充到多個磁盤上,你可以聚合多個磁盤或磁盤分區成單一的邏輯卷.

2.可伸縮的存儲池.

你可以使用簡單的指令來擴大或縮小邏輯卷大小,不用重新格式化或分區磁盤裝置.

3.線上的資料再配置設定.

你可以線上移動資料,資料可以在磁盤線上的情況下重新配置設定.比如,你可以線上更換可熱插拔的磁盤.

4. 友善的裝置命名

邏輯卷可以按你覺得友善的方式來起任何名稱.

5.磁盤條塊化.

你可以生成一個邏輯盤,它的資料可以被條塊化存儲在2個或更多的磁盤上.這樣可以明顯提升資料吞吐量.

6.鏡像卷

邏輯卷提供友善的方法來鏡像你的資料.

7.卷快照

使用邏輯卷,你可以獲得裝置快照用來一緻性備份或者測試資料更新效果而不影響真實資料.

二、 LVM基本術語

前面談到,LVM是在實體存儲上添加的一個邏輯層,來為檔案系統屏蔽下面的硬體儲存設備,提供了一個抽象的盤卷,在盤卷上建立檔案系統。首先我們讨論以下幾個LVM術語:

* 實體存儲媒體(The Physical Media)

這裡指系統的儲存設備,如:/dev/hda1、/dev/sda等等,是存儲系統最低層的存儲單元。

* 實體卷(PV, Physical Volume)

實體卷就是指磁盤,磁盤分區或從邏輯上與磁盤分區具有同樣功能的裝置(如RAID),是LVM的基本存儲邏輯塊,但和基本的實體存儲媒體(如分區、磁盤等)比較,卻包含有與LVM相關的管理參數。目前LVM允許你在每個實體卷上儲存這個實體卷的0至2份中繼資料拷貝.預設為1,儲存在裝置的開始處.為2時,在裝置結束處儲存第二份備份.

* 卷組(VG, Volume Group)

LVM卷組類似于非LVM系統中的實體硬碟,其由實體卷組成。可以在卷組上建立一個或多個“LVM分區”(邏輯卷),LVM卷組由一個或多個實體卷組成。

* 邏輯卷(LV, Logical Volume)

LVM的邏輯卷類似于非LVM系統中的硬碟分區,在邏輯卷之上可以建立檔案系統(比如/home或者/usr等)。

*線性邏輯卷 (Linear Volumes)

一個線性邏輯卷聚合多個實體卷成為一個邏輯卷.比如,如果你有兩個60GB硬碟,你可以生成120GB的邏輯卷.

*條塊化的邏輯卷(Striped Logical Volumes)

當你寫資料到此邏輯卷中時,檔案系統可以将資料放置到多個實體卷中.對于大量連接配接讀寫操作,它能改善資料I/O效率.

*鏡像的邏輯卷(Mirrored Logical Volumes)

鏡像在不同的裝置上儲存一緻的資料.資料同時被寫入原裝置及鏡像裝置.它提供裝置之間的容錯。

*快照卷(Snapshot Volumes)

快照卷提供在特定瞬間的一個裝置虛拟映像,當快照開始時,它複制一份對目前資料區域的改變,由于它優先執行這些改變,是以它可以重構目前裝置的狀态。

* PE(physical extent)

每一個實體卷被劃分為稱為PE(Physical Extents)的基本單元,具有唯一編号的PE是可以被LVM尋址的最小單元。PE的大小是可配置的,預設為4MB。

* LE(logical extent)

邏輯卷也被劃分為被稱為LE(Logical Extents) 的可被尋址的基本機關。在同一個卷組中,LE的大小和PE是相同的,并且一一對應。

和非LVM系統将包含分區資訊的中繼資料儲存在位于分區的起始位置的分區表中一樣,邏輯卷以及卷組相關的中繼資料也是儲存在位于實體卷起始處的VGDA(卷組描述符區域)中。VGDA包括以下内容: PV描述符、VG描述符、LV描述符、和一些PE描述符 。系統啟動LVM時激活VG,并将VGDA加載至記憶體,來識别LV的實際實體存儲位置。當系統進行I/O操作時,就會根據VGDA建立的映射機制來通路實際的實體位置。

三、 安裝LVM

首先确定系統中是否安裝了lvm工具:

[root@test2 root]# rpm –qa|grep lvm

lvm-x-x-x

如果指令結果輸入類似于上例,那麼說明系統已經安裝了LVM管理工具;如果指令沒有輸出則說明沒有安裝LVM管理工具,則需要從網絡下載下傳或者從CD光牒裝LVM rpm工具包。

安裝了LVM的RPM軟體包以後,要使用LVM還需要配置核心支援LVM。RedHat預設核心是支援LVM的,如果需要重新編譯核心,則需要在配置核心時,進入Multi-device Support (RAID and LVM)子菜單,選中以選項:

·  Multiple devices driver support (RAID and LVM)

   Device mapper support 

     Snapshot target (EXPERIMENTAL) 

     Mirror target (EXPERIMENTAL)                                                           

然後重新編譯核心,即可将LVM的支援添加到新核心中。

為了使用LVM,要確定在系統啟動時激活LVM,在RedHa的版本中,系統啟動腳本已經具有對激活LVM的支援,在/etc/rc.d/rc.sysinit中有以下内容:

if [ -x /sbin/lvm.static ]; then

          action $'Setting up Logical Volume Management:' /sbin/lvm.static vgchange -a y --ignorelockingfailure

fi

vgchange -a y指令激活系統所有卷組。

四、 建立和管理LVM

要建立一個LVM系統,一般需要經過以下步驟:

1、 建立分區

使用分區工具(如:fdisk等)建立LVM分區,方法和建立其他一般分區的方式是一樣的,差別僅僅是LVM的分區類型為8e。

# fdisk -l /dev/sdb /dev/sdc

Disk /dev/sdb: 18.2 GB, 18200739840 bytes

255 heads, 63 sectors/track, 2212 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/sdc: 18.2 GB, 18200739840 bytes

255 heads, 63 sectors/track, 2212 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start         End      Blocks   Id  System

/dev/sdc1               1         200     1606468+  8e  Linux LVM

如果要将使用整塊盤,可以通過下面的指令來覆寫磁盤上的原有分區資訊:

#dd if=/dev/zero of=/dev/sdc bs=512 count=1

partprobe指令

你可以使用fdisk或者其他指令建立一個新的分區,然後使用partprobe指令重新讀取分區表。

這個指令執行完畢之後不會輸出任何傳回資訊,你可以使用mke2fs指令在新的分區上建立檔案系統。

2、 建立實體卷

建立實體卷的指令為pvcreate,利用該指令将希望添加到卷組的所有分區或者磁盤建立為實體卷。将整個磁盤建立為實體卷的指令為:

# pvcreate /dev/sdb

Physical volume '/dev/sdb' successfully created

将單個分區建立為實體卷的指令為:

# pvcreate /dev/sdc1

Physical volume '/dev/sdc1' successfully created

也可以同時生成多個卷:

#pvcreate /dev/sdb /dev/sdc1

3、掃描塊裝置

通過lvmdiskscan可以看到那些裝置成為了實體卷.

#lvmdiskscan

  /dev/ramdisk             [       16.00 MB] 

  /dev/sda                 [        4.00 GB] 

  /dev/root                [        2.88 GB] 

  /dev/ram                 [       16.00 MB] 

  /dev/sda1                [      101.94 MB] 

  /dev/VolGroup00/LogVol01 [        1.00 GB] 

  /dev/ram2                [       16.00 MB] 

  /dev/sda2                [        3.90 GB] LVM physical volume

  /dev/lvm_test/test       [      508.00 MB] 

  /dev/ram3                [       16.00 MB] 

  /dev/ram4                [       16.00 MB] 

  /dev/ram5                [       16.00 MB] 

  /dev/ram6                [       16.00 MB] 

  /dev/ram7                [       16.00 MB] 

  /dev/ram8                [       16.00 MB] 

  /dev/ram9                [       16.00 MB] 

  /dev/ram10               [       16.00 MB] 

  /dev/ram11               [       16.00 MB] 

  /dev/ram12               [       16.00 MB] 

  /dev/ram13               [       16.00 MB] 

  /dev/ram14               [       16.00 MB] 

  /dev/ram15               [       16.00 MB] 

  /dev/sdb                 [      512.00 MB] LVM physical volume

  /dev/sdc                 [      512.00 MB] LVM physical volume

  5 disks

  16 partitions

  2 LVM physical volume whole disks

  1 LVM physical volume

4、顯示實體卷

可以使用pvs,pvscan,pvdisplay來顯示目前系統中的實體卷.

#pvs

  PV         VG         Fmt  Attr PSize   PFree  

  /dev/sda2  VolGroup00 lvm2 a-     3.88G      0 

  /dev/sdb   lvm_test   lvm2 a-   508.00M      0 

  /dev/sdc              lvm2 --   512.00M 512.00M

#pvscan 

  PV /dev/sdb    VG lvm_test     lvm2 [508.00 MB / 0    free]

  PV /dev/sda2   VG VolGroup00   lvm2 [3.88 GB / 0    free]

  PV /dev/sdc                    lvm2 [512.00 MB]

  Total: 3 [4.87 GB] / in use: 2 [4.37 GB] / in no VG: 1 [512.00 MB]

#pvdisplay

  --- Physical volume ---

  PV Name               /dev/sdb

  VG Name               lvm_test

  PV Size               512.00 MB / not usable 4.00 MB

  Allocatable           yes (but full)

  PE Size (KByte)       4096

  Total PE              127

  Free PE               0

  Allocated PE          127

  PV UUID               Pkp5Cq-SD1w-ANw2-cDDe-BGtw-nmFS-jTxXFD

  --- NEW Physical volume ---

  PV Name               /dev/sdc

  VG Name               

  PV Size               512.00 MB

  Allocatable           NO

  PE Size (KByte)       0

  Total PE              0

  Free PE               0

  Allocated PE          0

  PV UUID               BNCVEE-YWlK-0mrV-LOcf-0tCY-WWNw-DeySk0

5、移除實體卷

#pvremove /dev/sdc

Labels on physical volume '/dev/sdc' successfully wiped

6、 建立卷組

建立卷組的指令為vgcreate,将使用pvcreate建立的實體卷建立為一個完整的卷組:

# vgcreate lvm_test /dev/sdc1 /dev/sdb

Volume group 'lvm_test' successfully created

vgcreate指令第一個參數是指定該卷組的邏輯名:lvm_test。後面參數是指定希望添加到該卷組的所有分區和磁盤。vgcreate在建立卷組 lvm_test 以外,還設定使用大小為4 MB的PE(預設為4MB),這表示卷組上建立的所有邏輯卷都以 4 MB 為增量機關來進行擴充或縮減。PE最小為1KB  ,并且必須總是1KB的 2^n 的倍數(使用-s指定,具體請參考man vgcreate)。

7、 激活卷組

卷組在建立時預設激活,也可以使用vgchange來激活卷組:

# vgchange -a y lvm_test

8、 添加新的實體卷到卷組中

當系統安裝了新的磁盤或建立分區并建立了新的實體卷,而要将其添加到已有卷組時,就需要使用vgextend指令:

#fdisk -l /dev/sdc

Disk /dev/sdc: 18.2 GB, 18200739840 bytes

255 heads, 63 sectors/track, 2212 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start         End      Blocks   Id  System

/dev/sdc1               1         200     1606468+  8e  Linux LVM

/dev/sdc2             201         400     1606500   8e  Linux LVM

#pvcreate /dev/sdc2

Physical volume '/dev/sdc2' successfully created

# vgextend lvm_test /dev/sdc2

Volume group 'lvm_test' successfully extended

這裡/dev/sdc2是新的實體卷。

9、顯示卷組

顯示卷組可以使用vgs和vgdisplay.

# vgs

  VG         #PV #LV #SN Attr   VSize   VFree

  VolGroup00   1   2   0 wz--n-   3.88G    0 

  lvm_test     1   1   0 wz--n- 508.00M    0 

# vgdisplay 

  --- Volume group ---

  VG Name               lvm_test

  System ID             

  Format                lvm2

  Metadata Areas        1

  Metadata Sequence No  10

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                1

  Open LV               1

  Max PV                0

  Cur PV                1

  Act PV                1

  VG Size               508.00 MB

  PE Size               4.00 MB

  Total PE              127

  Alloc PE / Size       127 / 508.00 MB

  Free  PE / Size       0 / 0   

  VG UUID               uJx24t-WWdY-vffu-97Of-mgFB-FEov-eRwzAf

10、掃描磁盤生成緩存檔案

#vgscan

  Reading all physical volumes.  This may take a while...

  Found volume group 'lvm_test' using metadata type lvm2

  Found volume group 'VolGroup00' using metadata type lvm2

11、 從卷組中删除一個實體卷

要從一個卷組中删除一個實體卷,首先要确認要删除的實體卷沒有被任何邏輯卷正在使用,就要使用pvdisplay指令察看一個該實體卷資訊:

#pvdisplay /dev/sdc2

--- Physical volume ---

PV Name               /dev/sdc2

VG Name               lvm_test

PV Size               1.53 GB / not usable 868.00 KB

Allocatable           yes 

PE Size (KByte)       4096

Total PE              392

Free PE               392

Allocated PE          0 (表示未被使用)

PV UUID               jAiils-1vRz-Td9k-1AiD-kIJs-191z-YMz09H

如果某個實體卷正在被邏輯卷所使用,就需要将該實體卷的資料備份到其他地方,然後再删除。删除實體卷的指令為vgreduce:

# vgreduce lvm_test /dev/sdc2

Removed '/dev/sdc2' from volume group 'lvm_test'

12、 建立邏輯卷

建立邏輯卷的指令為[size=+0]lvcreate:

#[size=+0]lvcreate -L 1500 –n test lvm_test

Logical volume 'test' created

該指令就在卷組lvm_test上建立名字為test,大小為1500M的邏輯卷,并且裝置入口為/dev/lvm_test/test (lvm_test為卷組名,test為邏輯卷名)。如果希望建立一個使用全部卷組的邏輯卷,則需要首先察看該卷組的PE數,然後在建立邏輯卷時指定:

# vgdisplay lvm_test| grep 'Total PE'

Total PE 4731

# [size=+0]lvcreate -l 4731 lvm_test -n test

Logical volume 'test' created

13、建立條塊化的邏輯卷

# [size=+0]lvcreate -L 500M -i2  -n test lvm_test

  Using default stripesize 64.00 KB

  Rounding size (125 extents) up to stripe boundary size (126 extents)

  Logical volume 'test' created

-i2指此邏輯卷在兩個實體卷中條塊化存放資料,預設一塊大小為64KB.

14、建立鏡像的邏輯卷。

#[size=+0]lvcreate -L 52M  -m1  -n test lvm_test /dev/sdb1 /dev/sdc1 /dev/sdb2 

  Logical volume 'test' created

-m1表示隻生成一個單一鏡像,鏡像分别放在/dev/sdb1和/dev/sdc1上,鏡像日志放在/dev/sdb2上.

15、建立快照卷。

#[size=+0]lvcreate --size 10 --snapshot --name snaptest /dev/lvm_test/test 

16、 建立檔案系統

如使用ext3檔案系統:

#mkfs.ext3 /dev/lvm_test/test

mke2fs 1.35 (28-Feb-2004)

max_blocks 4294967295, rsv_groups = 0, rsv_gdb = 1024

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

2424832 inodes, 4844544 blocks

242227 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=8388608

148 block groups

32768 blocks per group, 32768 fragments per group

16384 inodes per group

Superblock backups stored on blocks: 

32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 

4096000

Writing inode tables: done                            

inode.i_blocks = 90120, i_size = 4243456

Creating journal (8192 blocks): done

Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 25 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

建立了檔案系統以後,就可以加載并使用它:

# mkdir /mnt/test

# mount /dev/lvm_test/test /mnt/test

如果希望系統啟動時自動加載檔案系統,則還需要在/etc/fstab中添加内容:

/dev/lvm_test/test /mnt/test ext3 defaults 1 2

17、 删除一個邏輯卷

删除邏輯卷以前首先需要将其解除安裝,然後删除:

# umount /dev/lvm_test/test

# lvremove /dev/lvm_test/test

Do you really want to remove active logical volume 'test'? [y/n]: y

Logical volume 'test' successfully removed

18、 擴充邏輯卷大小

LVM提供了友善調整邏輯卷大小的能力,擴充邏輯卷大小的指令是lvextend:

# lvextend -L12G /dev/lvm_test/test

Extending logical volume test to 12.00 GB

Logical volume test successfully resized

  上面的指令就實作将邏輯卷test的大小擴大為12G。

# lvextend -L+1G /dev/lvm_test/test

Extending logical volume test to 13.00 GB

Logical volume test successfully resized

上面的指令就實作将邏輯卷test的大小增加1G。

增加了邏輯卷的容量以後,就需要修改檔案系統大小以實作利用擴充的空間。

對于希望調整被加載的檔案系統大小,使用ext2online(ext2resize) 或 resize2fs.

#df -h

# ext2online /dev/lvm_test/test

ext2online /dev/lvm_test/test

ext2online v1.1.18 - 2001/03/18 for EXT2FS 0.5b

#df -h

Filesystem            容量  已用 可用 已用% 挂載點

/dev/mapper/VolGroup00-LogVol01

         16G   11G  3.6G  76% /

/dev/sda1             494M   18M  451M   4% /boot

none                      506M     0  506M   0% /dev/shm

/dev/mapper/lvm_test-test

         13G   63M   13G   1% /mnt/test

一般建議最好将檔案系統解除安裝,調整大小,然後再加載:

# umount /dev/lvm_test/test

#resize2fs /dev/lvm_test/test

# mount  /dev/lvm_test/test /mnt/test

19、 減少邏輯卷大小

使用lvreduce即可實作對邏輯卷的容量,同樣需要首先将檔案系統解除安裝:

# umount /mnt/test

#e2fsck -f /dev/lvm_test/test

# resize2fs /dev/lvm_test/test  11G

# lvreduce -L -1.992G /dev/lvm_test/test (少2個PE的大小)

# resize2fs /dev/lvm_test/test  (通過此指令确認是否檔案系統大小與收縮後的邏輯卷大小比對)

# mount /dev/lvm_test/test /mnt/test

20、顯示邏輯卷

通過lvscan,lvs及lvdisplay可以察看目前系統中存在的邏輯卷。

# lvdisplay 

  --- Logical volume ---

  LV Name                /dev/VolGroup00/LogVol00

  VG Name                VolGroup00

  LV UUID                sPmLMD-6xq4-wStB-uSAP-jlQc-YKTm-3bt8Pc

  LV Write Access        read/write

  LV Status              available

  # open                 1

  LV Size                2.88 GB

  Current LE             92

  Segments               1

  Allocation             inherit

  Read ahead sectors     0

  Block device           253:0

#lvscan 

lvscan

  ACTIVE            '/dev/VolGroup00/LogVol00' [2.88 GB] inherit

  ACTIVE            '/dev/VolGroup00/LogVol01' [1.00 GB] inherit

#lvs -o +devices

  LV       VG         Attr   LSize Origin Snap%  Move Log Copy%  Devices      

  LogVol00 VolGroup00 -wi-ao 2.88G                               /dev/sda2(0) 

  LogVol01 VolGroup00 -wi-ao 1.00G                               /dev/sda2(92)  

21、使用過濾控制LVM的裝置掃描

通過編輯/etc/lvm/lvm.conf 中的filter段,來定義過濾那些裝置要掃描。

filter =[ 'a|/dev/sd.*|', 'a|/dev/hd.*|', 'r|.*|' ] 

上面對scsi及ide裝置掃描,對其它裝置均不掃描。

22、線上資料遷移

通過pvmove可以将一個PV上的資料遷移到新的PV上,也可以将PV上的某個LV遷移到另一個PV上。

#lvs -o +devices

  LV       VG         Attr   LSize  Origin Snap%  Move Log Copy%  Devices      

  LogVol00 VolGroup00 -wi-ao  2.88G                               /dev/sda2(0) 

  LogVol01 VolGroup00 -wi-ao  1.00G                               /dev/sda2(92)

  test     lvm_test   -wi-ao 52.00M                               /dev/sdb1(0) 

#pvmove -n test /dev/sdb1 /dev/sdc1

#lvs -o +devices

  LV       VG         Attr   LSize  Origin Snap%  Move Log Copy%  Devices      

  LogVol00 VolGroup00 -wi-ao  2.88G                               /dev/sda2(0) 

  LogVol01 VolGroup00 -wi-ao  1.00G                               /dev/sda2(92)

  test     lvm_test   -wi-ao 52.00M                               /dev/sdc1(0) 

23、删除卷組

按照順序解除安裝檔案系統,删除邏輯卷,然後删除卷組。

#umount /mnt/test

# lvremove /dev/lvm_test/test

Do you really want to remove active logical volume 'test'? [y/n]: y

  Logical volume 'test' successfully removed

#vgremove lvm_test

  Volume group 'lvm_test' successfully removed

24、故障排查

通過在指令後加 -v,-vv,-vvv或-vvvv來獲得更詳細的指令輸出。

通過在lvs,vgs後加-P可以更好的檢視失敗裝置.

#vgs -a -o +devices -P

  Partial mode. Incomplete volume groups will be activated read-only.

  VG         #PV #LV #SN Attr   VSize    VFree   Devices                

  VolGroup00   1   2   0 wz--n-    3.88G      0  /dev/sda2(0)           

  VolGroup00   1   2   0 wz--n-    3.88G      0  /dev/sda2(92)          

  lvm_test     2   2   0 wz--n- 1016.00M 896.00M pvmove0(0)             

  lvm_test     2   2   0 wz--n- 1016.00M 896.00M /dev/sdb(0),/dev/sdc(0)

#lvs -a -o +devices -P

  Partial mode. Incomplete volume groups will be activated read-only.

  Failure parsing mirror status fraction: 1 core

  Failure parsing mirror status fraction: 1 core

  LV        VG         Attr   LSize  Origin Snap%  Move     Log Copy%  Devices                

  LogVol00  VolGroup00 -wi-ao  2.88G                                   /dev/sda2(0)           

  LogVol01  VolGroup00 -wi-ao  1.00G                                   /dev/sda2(92)          

  [pvmove0] lvm_test   p-C-ao 60.00M               /dev/sdb            /dev/sdb(0),/dev/sdc(0)

  test      lvm_test   -wI-a- 60.00M                                   pvmove0(0)             

五、 總結

根據上面的讨論可以看到,LVM具有很好的可伸縮性,使用起來非常友善。可以友善地對卷組、邏輯卷的大小進行調整,更進一步調整檔案系統的大小,還能友善的進行資料遷移,資料完整性保護。如果希望了解更多資訊,請參考LVM-HOWTO。

ps:

關于卷遷移的整理

最近在學習HP UNIX,發現HP UNIX中卷的遷移過程和其它的如LINUX,AIX有些不同,是以抽空将三種作業系統的操作步驟做了個整理:

###

linux

###

在redhat Linux中LVM資訊是同時儲存在磁盤上和/etc/lvm.conf裡,可以通過vgexport指令來實作vg的遷移。

vgexport隻是把/etc/lvm.conf中關于這個VG的資訊删除,而不會更改磁盤上的任何資料。磁盤挂到新的機器

上後,隻需要修改/etc/lvmconf,這個可以通過vgimport完成。

源端:

1,将源端檔案系統umount

umount /test

2,将lv和lv inactive

lvchange -an /dev/vg_test/lv_test

vgchange -an vg_test

3,導出vg

vgexport vg_test

目标端:

1,用kudzu檢測新的盤

2,導入vg

vgimport vg_test

3,激活vg

vgchange -ay vg_test

4,mount檔案系統

###

HP UNIX

###

在HP UNIX上,vgexport隻是在/etc/lvmtab裡把相關vg的entry删除,重新vgimport就會重新生成,map檔案除了能記錄

原來lv的名字之外沒有任何用處,如果不用map,vgimport後所有lv會使用預設值如:lvol1,lvol2…但不會影響vg中的資料。

源端:

1,将源端檔案系統umount

umount /test

2,将vg inactive

vgchange –a n vg_test

3,在源端産生map檔案

vgexport -p -s -m /tmp/vg_exp_bak/vg_test.map /dev/vg_test

4,将map檔案拷貝到目标端

可以通過在源端export vg 前後通過 strings /etc/lvmtab觀察發生的變化.

目标端:

1,用ioscan檢測新的盤并識别

ioscan -fnCdisk

insf -e

2,建立vg的相關資訊

mkdir /dev/vg_test

mknod /dev/vg_test/group c 64 0×100000

3,import vg

vgimport -s -m /tmp/vg_exp_bak/vg_test.map /dev/vg_test

4,激活vg

vgchange -a y /dev/vg_test

5,挂載檔案系統

###

AIX

###

在AIX中,exportvg就是在系統中把這個vg的定義從ODM中删除,在vg上的lv、fs、pv的定義也都從系統中删除

了.這些資訊都儲存這個vg的VGDA中.importvg就是系統從這個vg的VGDA中讀取這個vg的資訊,把它們加入到系

統當中,這樣系統就可以正常使用這個vg了.兩個指令都不對VG做操作的而是對ODM庫的操作.

源端:

1,将vg inactive

varyoff testvg

2,導出vg(從ODM中導出vg)

exportvg testvg

目标端:

1,用cfgmgr檢測新的盤并識别

lspv

lsdev –Cc disk

cfgmgr

2,導入vg

importvg testvg

3,挂載檔案系統

最後記住,在确認目标端正常後,将源端将磁盤的資訊清除掉。