LVM與其在Linux上的實現


參考資料:

LVM詳解-駿馬金龍-博客園

How to reduce the size of an LVM partition formatted with xfs filesystem on CentOS7?

駿馬兄的博文會相對深入一點,並且他是基於ext系列文件系統來演示擴容與縮容,而我使用的是xfs文件系統。

基本概念

傳統的磁盤分區,在分區完之后,分區的大小無法改變,無法動態增加或減小分區的大小。

為了解決這個問題,就誕生了LVM(Logical Volume Management)這種方法。

在Linux中的LVM實現是基於Linux內核的設備映射(device mapper,dm)框架來實現的,該框架同時也是軟RAID以及LVM快照的基礎。對應的軟件名稱也叫LVM(Logical Volume Manager)。

接下來介紹幾個關於LVM的術語:

  • PV:Physical Volume,物理卷。即我們所熟知的磁盤分區,與普通的分區的最大不同點在於,作為PV的磁盤分區的類型必須是ID為8e的Linux LVM分區。
  • VG:Volume Group,卷組。由多個PV組合而成,類似於多個分區組合起來的“虛擬磁盤”(自稱)。在創建VG的同時,也確定了該VG中的PE大小。
  • PE:Physical Extent,可以理解為物理存儲單元。類似於文件系統中的block、chunk或者簇的概念。一般來說,創建完VG確定了PE大小后,就無法再修改了。默認為4MB。
  • LV:Logical Volume,邏輯卷。VG相當於虛擬磁盤,而LV則是基於虛擬磁盤所划分出的“虛擬分區”(自稱),在創建LV的時候,可基於分區大小或者VG中的PE個數。LV創建好之后就像傳統的分區那樣可以格式化並使用了。
  • LE:Logical Extent,可以理解為邏輯存儲單元。本質上是等同於PE的概念,當PV加入VG后,就被划分成多個PE。從VG中划分LV的過程,就是一個划分PE的過程,LV創建好之后,PE就被稱之為LE了。PV中的PE和LV中的LE的映射關系,可通過“pvdisplay -m”來查看。

LV的路徑

LV創建完畢后,其塊設備路徑為/dev/dm-N(N為一個數字),有2個字符鏈接文件指向它。

/dev/mapper/VG_NAME-LV_NAME --> /dev/dm-N
/dev/VG_NAME/LV_NAME --> /dev/dm-N

圖示

圖片來自網絡,侵權請聯系。

 

 

實現

環境

CentOS 7.5

系統自帶lvm2程序包

 

初步使用LVM

首先為虛擬機添加一塊磁盤,大小為7GB。創建3個分區類型為LVM的分區,分別是3GB、2GB和1GB。

注意:磁盤的大小大於分區之和的大小,主要是擔心可能因為換算等問題導致磁盤划分分區容量的時候出現不足的情況。

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     6293503     3145728   8e  Linux LVM
/dev/sdb2         6293504    10487807     2097152   8e  Linux LVM
/dev/sdb3        10487808    12584959     1048576   8e  Linux LVM

將/dev/sdb1和/dev/sdb2這兩個LVM格式創建為PV。/dev/sdb3保留,放在后面做擴容。

[root@C7 ~]# pvcreate /dev/sdb{1,2}
  Physical volume "/dev/sdb1" successfully created.
  Physical volume "/dev/sdb2" successfully created.

可通過pvs命令查看系統上已有PV的簡要信息。

[root@C7 ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <19.00g    0 
  /dev/sdb1         lvm2 ---    3.00g 3.00g
  /dev/sdb2         lvm2 ---    2.00g 2.00g

留意,/dev/sda2這個PV是CentOS 7系列系統默認安裝時候的創建的。

可通過pvdisplay命令查看系統上已有PV的詳細信息,默認顯示所有,可以基於PV名稱查看特定的PV。PV名稱就是分區的路徑名,例如“/dev/sdb1”這樣。

[root@C7 ~]# pvdisplay /dev/sdb{1,2}
  "/dev/sdb2" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb2
  VG Name               # 由於我們還未將PV加入VG,因此該字段為空。
  PV Size               2.00 GiB
  Allocatable           NO # 未加入VG,不可分配。
  PE Size               0 # PV中的PE的大小,是在加入VG之后決定的,並且在VG創建后該VG的PE大小就無法修改了。同理,未加入VG,因此PE為0。
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               OlFvnr-rarx-ebCa-pG3L-qJBe-V8d1-aYkXB2
   
  "/dev/sdb1" is a new physical volume of "3.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               3.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               o7uiiy-kXEr-eZee-e0aP-cFKQ-dyjf-oQRvB9

創建好PV之后,我們就可以創建VG,並將剛創建的兩個PV加入該VG。

[root@C7 ~]# vgcreate myvg /dev/sdb{1,2}
  Volume group "myvg" successfully created

查看VG的簡要和詳細信息。

[root@C7 ~]# vgs myvg
  VG   #PV #LV #SN Attr   VSize VFree
  myvg   2   0   0 wz--n- 4.99g 4.99g
[root@C7 ~]# vgdisplay myvg
  --- Volume group ---
  VG Name               myvg
  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               4.99 GiB
  PE Size               4.00 MiB # 默認的PE大小為4MB。
  Total PE              1278 # VG中總PE的個數,在划分LV的時候,可基於PE個數。
  Alloc PE / Size       0 / 0   
  Free  PE / Size       1278 / 4.99 GiB
  VG UUID               XKP0mV-zWAx-nscs-jXiT-jLxm-5MgE-aDU8fU

當PV加入VG之后,再次查看PV的信息。

[root@C7 ~]# pvs /dev/sdb{1,2}
  PV         VG   Fmt  Attr PSize  PFree 
  /dev/sdb1  myvg lvm2 a--  <3.00g <3.00g # PV加入VG后,應該會在PV中創建了一些元數據(metadata),因此這里的size都加上了小於號。
  /dev/sdb2  myvg lvm2 a--  <2.00g <2.00g
[root@C7 ~]# pvdisplay /dev/sdb{1,2}
  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               myvg
  PV Size               3.00 GiB / not usable 4.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB # PV加入VG后就有了PE的概念。
  Total PE              767
  Free PE               767
  Allocated PE          0
  PV UUID               o7uiiy-kXEr-eZee-e0aP-cFKQ-dyjf-oQRvB9
   
  --- Physical volume ---
  PV Name               /dev/sdb2
  VG Name               myvg
  PV Size               2.00 GiB / not usable 4.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              511
  Free PE               511
  Allocated PE          0
  PV UUID               OlFvnr-rarx-ebCa-pG3L-qJBe-V8d1-aYkXB2

將目前的VG的所有空間都創建為一個LV。

[root@C7 ~]# lvcreate -L 5GB -n mylv myvg
  Volume group "myvg" has insufficient free space (1278 extents): 1280 required.

基於size來創建LV失敗,因為創建5GB的容量需要1280個PE(默認4MB),這個計算方式是1024進率。

但是我們在創建分區時創建的這5GB,可能是按照1000進率的。這就像市面上銷售的硬盤或者U盤,幾乎都是按照1000進率來表示一樣。

在Linux的工具的使用中,當你使用5GB、5gb、5G和5g,它們可能有的表示1000進率,有的表示1024進率,這個就需要用戶具體去查看每個工具的man手冊了。

而且分區/文件系統一般都會保留一部分空間給元數據存放。因此一般情況下,容量差不多即可,不需要太過於糾結。

PS:網上也有說是“1024進制”,但是我覺得說“1024進率”可能更准確。

既然無法基於size來創建,那我們就基於VG中的PE個數來創建了,使用全部的PE去創建一個LV。

[root@C7 ~]# lvcreate -l 1278 -n mylv myvg
  Logical volume "mylv" created.

查看LV信息。注意:查看LV的信息的時候,lvs和lvdisplay的命令參數應該是LV的路徑(/dev/mapper/myvg-mylv或者/dev/myvg/mylv)或者VG的名稱,而不是LV名稱。

[root@C7 ~]# lvs myvg
  LV   VG   Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  mylv myvg -wi-a----- 4.99g                                                    
[root@C7 ~]# lvdisplay myvg
  --- Logical volume ---
  LV Path                /dev/myvg/mylv
  LV Name                mylv
  VG Name                myvg
  LV UUID                43nlG8-EGra-1jfQ-2K2n-3kxA-s5SW-aR1R3I
  LV Write Access        read/write
  LV Creation host, time C7, 2019-04-10 17:25:26 +0800
  LV Status              available
  # open                 0
  LV Size                4.99 GiB
  Current LE             1278 # 原本在VG中的PE,在分配給LV之后,就換了個名字叫LE了。
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

LV創建完畢后,通過“pvdisplay -m”查看PV中的PE和LV中的LE之間的映射關系。

[root@C7 ~]# pvdisplay -m /dev/sdb{1,2}
  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               myvg
  PV Size               3.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              767
  Free PE               0
  Allocated PE          767
  PV UUID               o7uiiy-kXEr-eZee-e0aP-cFKQ-dyjf-oQRvB9
   
  --- Physical Segments ---
  Physical extent 0 to 766:
    Logical volume    /dev/myvg/mylv
    Logical extents    0 to 766
   
  --- Physical volume ---
  PV Name               /dev/sdb2
  VG Name               myvg
  PV Size               2.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              511
  Free PE               0
  Allocated PE          511
  PV UUID               OlFvnr-rarx-ebCa-pG3L-qJBe-V8d1-aYkXB2
   
  --- Physical Segments ---
  Physical extent 0 to 510:
    Logical volume    /dev/myvg/mylv
    Logical extents    767 to 1277

LVM設備路徑查看。

[root@C7 ~]# ls -l /dev/mapper/myvg-mylv 
lrwxrwxrwx 1 root root 7 Apr 10 17:25 /dev/mapper/myvg-mylv -> ../dm-2
[root@C7 ~]# ls -l /dev/myvg/mylv 
lrwxrwxrwx 1 root root 7 Apr 10 17:25 /dev/myvg/mylv -> ../dm-2
[root@C7 ~]# ls -l /dev/dm-2 
brw-rw---- 1 root disk 253, 2 Apr 10 17:25 /dev/dm-2
[root@C7 ~]# file /dev/dm-2
/dev/dm-2: block special

接下來,就可以將其格式化、掛載並使用、加入開機掛載了。

[root@C7 ~]# mkfs -t xfs /dev/myvg/mylv
...
省略
...
[root@C7 ~]# mount /dev/myvg/mylv /lvm_mount_point/
[root@C7 ~]# cat /etc/fstab
...
/dev/mapper/myvg-mylv    /lvm_mount_point    xfs    defaults    0 0

 

使用LVM擴容

擴容是LVM中最常見的用法,也是為了解決傳統磁盤分區容量耗盡的問題。

擴容的原理是將VG中空閑的PE划分給LV,或者通過增加PV的方式增加VG中的空閑PE而后划分給LV。

將此前剩余的分區/dev/sdb3創建為PV並加入VG。

[root@C7 ~]# pvcreate /dev/sdb3
  Physical volume "/dev/sdb3" successfully created.
[root@C7 ~]# vgextend myvg /dev/sdb3
  Volume group "myvg" successfully extended

查看VG新增出的PE個數。

[root@C7 ~]# vgdisplay myvg
  --- Volume group ---
  VG Name               myvg
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               <5.99 GiB
  PE Size               4.00 MiB
  Total PE              1533
  Alloc PE / Size       1278 / 4.99 GiB
  Free PE / Size 255 / 1020.00 MiB
  VG UUID               XKP0mV-zWAx-nscs-jXiT-jLxm-5MgE-aDU8fU

將增加的PE全部擴展給此前創建的LV,即mylv。

[root@C7 ~]# lvextend -l +255 /dev/myvg/mylv
  Size of logical volume myvg/mylv changed from 4.99 GiB (1278 extents) to <5.99 GiB (1533 extents).
  Logical volume myvg/mylv successfully resized.

查看擴容后的LV。

[root@C7 ~]# lvdisplay /dev/myvg/mylv 
  --- Logical volume ---
  LV Path                /dev/myvg/mylv
  LV Name                mylv
  VG Name                myvg
  LV UUID                43nlG8-EGra-1jfQ-2K2n-3kxA-s5SW-aR1R3I
  LV Write Access        read/write
  LV Creation host, time C7, 2019-04-10 17:25:26 +0800
  LV Status              available
  # open                 1 LV Size <5.99 GiB Current LE 1533
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

雖然LV已經擴容成功,但其實文件系統並沒有擴容,即便是重新掛載。

[root@C7 ~]# df -hT | grep "mylv"
/dev/mapper/myvg-mylv   xfs       5.0G   33M  5.0G   1% /lvm_mount_point

原因在於文件系統還未擴容,ext系列文件系統使用resize2fs命令,此處使用xfs文件系統,因此使用xfs_growfs。

[root@C7 ~]# xfs_growfs /dev/mapper/myvg-mylv
...
省略
...
[root@C7 ~]# df -hT | grep "mylv"
/dev/mapper/myvg-mylv   xfs       6.0G   33M  6.0G   1% /lvm_mount_point

擴容除了可以使用原磁盤的剩余空間,也可以使用新的磁盤。

后來我又創建了一塊1GB的虛擬磁盤,整盤創建一個LVM分區,創建PV,加入VG,而后擴展LV,也是可以的。

[root@C7 ~]# pvcreate /dev/sdc1
[root@C7 ~]# vgextend myvg /dev/sdc1
[root@C7 ~]# lvextend -l +255 /dev/myvg/mylv
[root@C7 ~]# xfs_growfs /dev/myvg/mylv
[root@C7 ~]# df -hT
...
/dev/mapper/myvg-mylv   xfs       7.0G   33M  7.0G   1% /lvm_mount_point
...

 

使用LVM縮容

首先查看縮容前的LV的大小,方便之后對比。

[root@C7 ~]# lvdisplay /dev/myvg/mylv 
  --- Logical volume ---
  LV Path                /dev/myvg/mylv
  LV Name                mylv
  VG Name                myvg
  LV UUID                43nlG8-EGra-1jfQ-2K2n-3kxA-s5SW-aR1R3I
  LV Write Access        read/write
  LV Creation host, time C7, 2019-04-10 17:25:26 +0800
  LV Status              available
  # open                 1
  LV Size                6.98 GiB
  Current LE             1788
  Segments               4
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

確認承載於LV上的需要的文件的大小。在實驗環境中只有一個521字節的文件(不足一個PE),因此只要縮容后的LV只要還有1個PE,那么文件就還是可用的。

[root@C7 ~]# ls -lh /lvm_mount_point/fstab
-rw-r--r-- 1 root root 521 Apr 10 17:35 /lvm_mount_point/fstab

假設我們要縮容的容量剛好是/dev/sdb3和/dev/sdc1,查看其PV的PE數。

[root@C7 ~]# pvdisplay /dev/sd{b3,c1} | grep -iE "pv name|pe"
  PV Name               /dev/sdb3
  PE Size               4.00 MiB
  Total PE              255
  Free PE               0
  Allocated PE          255
  PV Name               /dev/sdc1
  PE Size               4.00 MiB
  Total PE              255
  Free PE               0
  Allocated PE          255

縮容與擴容的過程正好是相反的,我們首先需要對文件系統進行縮容操作。

如果是ext系列的文件系統:

  1. 停止需要卸載的文件系統所提供的服務(例如nginx、MySQL等)。
  2. 使用umount命令卸載文件系統。
  3. 使用“e2fsck -f”強制檢測文件系統。
  4. 使用resize2fs命令調整文件系統的容量。
  5. 使用lvreduce命令縮容LV的容量。其實到這里,LV的縮容就已經完成了,如果縮容的容量大於等於某個/某幾個PV的話,可以考慮將PV從VG中釋放出來。
  6. 使用pvdisplay命令查看PV中的PE是否完全為空閑狀態。若否則使用pvmove命令將非空閑PE移出。
  7. 使用vgreduce命令將全空閑的PV移出VG,並使用pvremove命令刪除其PV狀態。

本文所使用的文件系統是XFS。

xfs文件系統不支持縮容(XFS文件系統的缺點),想實現類似縮容的功能,可以通過備份(xfsdump)和還原(xfsrestore)的方式。

備份XFS文件系統。需要用戶輸入2個label,填寫test即可。

[root@C7 ~]# xfsdump -f /tmp/lvm_mount_point.xfsdump /lvm_mount_point
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control

 ============================= dump label dialog ==============================

please enter label for this dump session (timeout in 300 sec)
 -> test
session label entered: "test"

 --------------------------------- end dialog ---------------------------------

xfsdump: level 0 dump of C7:/lvm_mount_point
xfsdump: dump date: Wed Apr 17 14:19:47 2019
xfsdump: session id: e2cfa0fa-d73d-4e94-8f55-cb3f2c581c08
xfsdump: session label: "test"
xfsdump: ino map phase 1: constructing initial dump list
xfsdump: ino map phase 2: skipping (no pruning necessary)
xfsdump: ino map phase 3: skipping (only one dump stream)
xfsdump: ino map construction complete
xfsdump: estimated dump size: 25216 bytes

 ============================= media label dialog =============================

please enter label for media in drive 0 (timeout in 300 sec)
 -> test
media label entered: "test"

 --------------------------------- end dialog ---------------------------------

xfsdump: creating dump session media file 0 (media 0, file 0)
xfsdump: dumping ino map
xfsdump: dumping directories
xfsdump: dumping non-directory files
xfsdump: ending media file
xfsdump: media file size 22384 bytes
xfsdump: dump size (non-dir files) : 1056 bytes
xfsdump: dump complete: 58 seconds elapsed
xfsdump: Dump Summary:
xfsdump:   stream 0 /tmp/lvm_mount_point.xfsdump OK (success)
xfsdump: Dump Status: SUCCESS

在備份XFS文件系統的時候,必須保持掛載狀態,如果先卸載再備份,會報錯。

xfsdump: ERROR: /dev/{dm-2,mapper/myvg-mylv,myvg/mylv} does not identify a file system

如果備份的命令參數填寫的是掛載點,並且在掛載點末尾加上了斜線的話,也會報這個錯誤,即“/lvm_mount_point/”會報錯而“/lvm_mount_point”不會。

備份完成后,卸載文件系統。

[root@C7 ~]# umount /lvm_mount_point/

縮容LV。

[root@C7 ~]# lvreduce -l -510 /dev/myvg/mylv
  WARNING: Reducing active logical volume to 4.99 GiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce myvg/mylv? [y/n]: y
  Size of logical volume myvg/mylv changed from 6.98 GiB (1788 extents) to 4.99 GiB (1278 extents).
  Logical volume myvg/mylv successfully resized.

產生警告,意思就是說縮容可能會摧毀數據,由於縮容后的容量大於我們的數據容量,因此不會影響到我們的數據,這就是LVM縮容的優點。但是前提條件是文件系統有事先縮容,由於我們使用的是XFS文件系統,無法實現文件系統的縮容,所以其實這個操作,應該是破壞了數據了,后面也會看到。

縮容完畢后,再次查看LV大小。

[root@C7 ~]# lvdisplay /dev/myvg/mylv 
  --- Logical volume ---
  LV Path                /dev/myvg/mylv
  LV Name                mylv
  VG Name                myvg
  LV UUID                43nlG8-EGra-1jfQ-2K2n-3kxA-s5SW-aR1R3I
  LV Write Access        read/write
  LV Creation host, time C7, 2019-04-10 17:25:26 +0800
  LV Status              available
  # open                 0
  LV Size                4.99 GiB
  Current LE             1278
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

由於我們縮容的容量剛好為2個PV的PE數,並且這2個PV是最后兩個加入VG的。因此縮容的PE正好是我們想要移除的2個PV,大大降低了縮容的難度。

[root@C7 ~]# pvdisplay /dev/sd{b3,c1}
  --- Physical volume ---
  PV Name               /dev/sdb3
  VG Name               myvg
  PV Size               1.00 GiB / not usable 4.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              255
  Free PE               255
  Allocated PE          0
  PV UUID               yazajZ-jt1o-rqLY-L0RB-ASzf-gBxT-smDm4j
   
  --- Physical volume ---
  PV Name               /dev/sdc1
  VG Name               myvg
  PV Size               1023.00 MiB / not usable 3.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              255
  Free PE               255
  Allocated PE          0
  PV UUID               DURMQf-UVgh-Mjtz-MKqY-emaY-zWFl-QSWFKh

注意:PV中的PE是否處於空閑狀態,看的是PE是否被划入LV中,而不是看PE是否存儲了數據。

如果不是剛好的話,就需要用戶使用pvmove命令將待移除的PV中的非空閑的PE移動到其他PV上去。

現在就可以將這2個不要的PV移出VG,並刪除PV。

[root@C7 ~]# vgreduce myvg /dev/sdb3 /dev/sdc1
  Removed "/dev/sdb3" from volume group "myvg"
  Removed "/dev/sdc1" from volume group "myvg"
[root@C7 ~]# pvremove /dev/sdb3 /dev/sdc1
  Labels on physical volume "/dev/sdb3" successfully wiped.
  Labels on physical volume "/dev/sdc1" successfully wiped.
[root@C7 ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <19.00g    0 
  /dev/sdb1  myvg   lvm2 a--   <3.00g    0 
  /dev/sdb2  myvg   lvm2 a--   <2.00g    0

既然LV已經縮容成功,那么就可以掛載使用了。

由於我們使用的是XFS文件系統,該文件系統無法縮容,因此在縮容LV的時候,該文件系統的元數據已經受到破壞。

[root@C7 ~]# mount /dev/myvg/mylv /lvm_mount_point/
mount: /dev/mapper/myvg-mylv: can't read superblock

不過上文也說了,我們是使用備份還原的機制來變相實現“縮容”。

我們只需要重新格式化LV為XFS文件系統,掛載並使用文件系統備份文件還原即可。

[root@C7 ~]# mkfs -t xfs /dev/myvg/mylv
mkfs.xfs: /dev/myvg/mylv appears to contain an existing filesystem (xfs).
mkfs.xfs: Use the -f option to force overwrite.
[root@C7 ~]# mkfs -t xfs -f /dev/myvg/mylv
...
省略
...
[root@C7 ~]# mount /dev/myvg/mylv /lvm_mount_point/
[root@C7 ~]# xfsrestore -f /tmp/lvm_mount_point.xfsdump /lvm_mount_point/
xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.7 (dump format 3.0) - type ^C for status and control
xfsrestore: searching media for dump
xfsrestore: examining media file 0
xfsrestore: dump description: 
xfsrestore: hostname: C7
xfsrestore: mount point: /lvm_mount_point
xfsrestore: volume: /dev/mapper/myvg-mylv
xfsrestore: session time: Wed Apr 17 14:19:47 2019
xfsrestore: level: 0
xfsrestore: session label: "test"
xfsrestore: media label: "test"
xfsrestore: file system id: b7c9c46e-0d54-4ee3-a3e0-e1964799f47d
xfsrestore: session id: e2cfa0fa-d73d-4e94-8f55-cb3f2c581c08
xfsrestore: media id: 57ba6b11-c688-486c-9a73-0e09a1ecd287
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
xfsrestore: 1 directories and 1 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: 0 seconds elapsed
xfsrestore: Restore Summary:
xfsrestore:   stream 0 /tmp/lvm_mount_point.xfsdump OK (success)
xfsrestore: Restore Status: SUCCESS
[root@C7 ~]# ls -l /lvm_mount_point/
total 4
-rw-r--r-- 1 root root 521 Apr 10 17:35 fstab
[root@C7 ~]# cat /lvm_mount_point/fstab 

#
# /etc/fstab
# Created by anaconda on Thu Sep 27 15:49:45 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=9d2e5bb3-799f-4056-a6bd-6ff2d7f55254 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/dev/mapper/myvg-mylv    /lvm_mount_point    xfs    defaults    0 0

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM