1. 程式人生 > >【Linux】邏輯卷 物理卷 快照

【Linux】邏輯卷 物理卷 快照

一、理解快照的含義

所謂快照就是照下來的那一刻保留起來作為檔案的訪問通道,將沒修改之前儲存在快照儲存空間中一份,訪問的是外面的資料,如果資料修改出現錯誤時,可以通過快照的訪問路徑把儲存在快照儲存空間中的資料放到被修改的資料中,快照儲存空間中只儲存沒修改前的資料,佔據空間比較小。

快照的主要作用是保留資料在你做快照那一刻的狀態,建立的快照檔案本身和你裝的作業系統所對應的那塊虛擬磁碟本身的大小不一樣,快照比原資料小很多,跟檔案軟連結一樣,自己本身不大,但自己所指的檔案是很大的。

預設情況下,訪問資料時只有一條路徑,給磁碟上對應的檔案系統做一快照以後,意味著在它之上安裝一條訪問路徑,但這個路徑不僅僅是路徑而已,它也可以用於使用者訪問對應的磁碟上的通路。

二、物理卷、邏輯卷、卷組、快照卷之間的聯絡

物理卷(Physical Volume,PV):就是指硬碟分割槽,也可以是整個硬碟或已建立的軟RAID,是LVM的基本儲存裝置。

卷組(Volume Group,VG):是由一個或多個物理卷所組成的儲存池,在卷組上能建立一個或多個邏輯卷。

邏輯卷(Logical Volume,LV):類似於非LVM系統中的硬碟分割槽,它建立在卷組之上,是一個標準的塊裝置,在邏輯卷之上可以建立檔案系統。

可以做這樣一個設想來理解以上三者的關係:如果把PV比作地球的一個板塊,VG則是一個地球,因為地球是由多個板塊組成的,那麼在地球上劃分一個區域並標記為亞洲,則亞洲就相當於一個LV。

相互聯絡:在建立卷組時一定要為邏輯捲進行快照預留出空間,而後快照訪問邏輯卷的另一個入口,只要把物理卷加到卷組之後,這個物理卷所提供的物理空間事先就被劃分好一個個塊,而這個塊在沒格式化之前叫做PE(Physical Extend)【物理盤區】,是邏輯儲存的一個小匣子,卷組的大小是由多個PE組成,而邏輯卷的大小是把卷組中的PE放到邏輯卷中,此時,PE不再叫做PE,而是叫做LE(Logical Extend)【邏輯盤區】,其實,邏輯卷中的LE也叫做PE,只是站在角度不同而已。

如果某個物理卷損壞後,儲存在邏輯卷中的LE也就會損壞,想讓資料不損壞,可以把物理卷中PE做成映象,這樣VG建立邏輯卷時,首先是建立物理卷,無論物理卷是磁碟還是塊裝置。

一LVM的基本概念 

LVM(logical volume manager) 邏輯卷管理器 

其中主要分為這幾個概念 
1物理卷-簡稱PV 
物理卷在邏輯卷管理器中屬於最底層的,任何的邏輯卷和卷組都必需依靠物理捲來建立,物理卷可以是一個完整的硬碟,也可以是硬碟中的莫一個分割槽 
2卷組-簡稱VG 
卷組是建立在物理卷之上,一個卷組中可以包含一個物理卷組或者多個物理卷 
3邏輯卷-簡稱LV 
邏輯卷是建立在卷組之上的,卷組中的空間可以建立多個邏輯卷,並且邏輯卷可以隨意從卷組的空閒空間中增減,邏輯卷可以屬於一個卷組,也可以屬於不同的多個卷組 
4 物理區域-簡稱PE 
物理區域是物理卷中最小的可分配儲存單元 
5 邏輯區域-簡稱-LE 
邏輯區域是邏輯卷中可用於分配的最小儲存單元 
6 卷組描述區域-簡稱VGDA 
用於描述物理卷,卷組,邏輯卷分配的所由資訊

一個建立邏輯卷的流程如下 
PV-VG-LV 
物理捲包含卷組,卷組包含邏輯卷 

二redhat9中使用邏輯卷管理器 

1使用vgscan生成預設的配置檔案,配置檔案在/etc下的lvmconf 和lvmtab 2個檔案 

2 為邏輯卷管理器分配物理卷 
我這裡使用一個分割槽來作/dev/hda9 
#fdisk hda 
>;t 
>;9 
>;8e (為LVM分割槽) 
>;w 
重起 
#pvcreate /dev/hda9 
使用 
#pvdisplay /dev/hda9檢視是否建立 
這樣就建立好了物理卷 

3在物理卷中建立卷組 
#vgcreate vg0 /dev/hda9 其中vg0為要建立的卷組名程.這裡的PE值我們使用預設的4M如需要增大可以使用-L 選想,記住一旦設定以後不可更改PE的值 
#vgdisplay 檢視是否建立成功 

4 在卷組中建立邏輯卷 
#lvcreate -L 100M -n vg1 vg0 
其中-L 選項表示你想的邏輯卷大小,以後可以用命令增減 -n指定邏輯卷的名程和卷組的名程,也可以使用絕對路徑來達到上述目的 
#lvdisplay /dev/vg0/vg1 
檢視是否建立成功 

5 為邏輯卷建立檔案系統 
#mkfs.ext3 /dev/vg0/vg0 
然後掛載嘗試是否建立成功 
#mount /dev/vg0/vg1 /home 
這樣一個邏輯卷就基本成型了 

三 邏輯卷的管理 

1增加新的物理捲到卷組 
當卷組中沒有足夠的空間分配給邏輯卷時,可以用給卷組增加物理卷的方法來增加捲組的空間 
# vgextend vg0 /dev/hda8 
這裡注意hda8必需為LVM分割槽 

2 擴充和減小邏輯卷的容量 
#e2fsadm -L +100M /dev/vg0/vg1 
-L 表示增減空間 +表示加 -表示建 
#e2fsadm -L -100M /dev/vg0/vg1 
這裡要注意檔案系統必需是ext2或ext3,而且需要解除安裝檔案系統來執行,減小的時候需要知道剪掉空間的大小,不然會造成丟失 
在reiserfs檔案系統中未作測試 

3 刪除邏輯卷-卷組-物理卷 (必需按照先後順序來執行刪除) 
#lvremove /dev/vg0/vg1 刪除邏輯卷 
#vgremove /dev/vg0 刪除卷組 
這裡有一個問題,如果建立的卷組是活動的,他就不能刪除 
這裡需要使用一個命令來是他變成固定的,以便刪除 
#vgchage -a n /dev/vg0 
-a 引數指定卷組是否是活動的,n表示固定,y表示活動 
#vgremove /dev/vg0 
成功 
物理卷的刪除,移除/etc下的lvmconf 和lvmtab的兩個檔案,然後將分割槽轉換為linux的就可以了 

四 檢查物理卷,卷組,邏輯卷 

分別使用3個命令 
1pvscan 檢查物理卷 
2vgscan 檢查卷組 
3lvscan 檢查邏輯卷 

這裡只是介紹了邏輯卷管理器的基本建立和刪除 
應為今天時間有限,明天積蓄補充,希望此文對你有所幫助 
五 為邏輯卷作備份 

1當你要備份你的卷組資訊是,你就需要為卷組作備份,使用vgcfgbackup來備份 
#vgcfgbackup vg0 
備份的資訊就是我們前面提到的VGDA備份到/etc/lwmconf/VG.conf 

2當你的卷組資訊意外丟失時,你可以使用這個檔案來恢復你的卷組資訊,前提是你要備份了的 
#vgcfgrestor -n vg0 /dev/hda8 
或者 
#vgcfgrestor -f /etc/lvmconf/XXX.conf 
重卷組vg0中恢復物理卷的VGDA資訊 -n引數指定卷組的名程 -f 制定備份檔案路徑 

3 恢復了物理卷及卷組的資訊後我們還要恢復原來的建立的卷組和邏輯卷的裝置檔案 
#vgmknods 
這樣如果物理卷,卷組,邏輯卷的資訊丟失或者裝置檔案被破壞是就可以用來及時恢復 

六 卷組的合併於拆分 

當你想合併2個卷組時可以使用一下命令 

這裡有2個前提條件 1 卷組的PE(物理區域)大小相等 2 2個卷組必需是非活動的,這個可以用前面提到的vgchange命令來更改,做到以上2個條件就可以了 

#vgmerge vg1 vg2 
其中vg1為原始卷組,vg2是你想合併到到vg1的卷組 


七 邏輯卷管理器管理命令(針對整個邏輯卷管理器,不針對物理卷,卷組,邏輯卷,是全域性命令)注:全域性命令都是以lvm開頭的 

1復位邏輯卷管理器(全域性命令) 
#lvmchange -R 
這個命令用來複位邏輯卷管理器,也就是reset,該命令會使所由的卷組和邏輯卷處於非活動狀態,也就是不能使用卷組和邏輯卷,所以使用時一定小心 

2 檢視邏輯卷管理器日誌 
# lvmsadc 
命令可以直接輸出到標準輸出,也就是螢幕上,也可輸出到檔案中 
# lvmsadc 1.txt 
使用lvmsar 命令可一檢視lvmsdac生成的日誌檔案 
#lnmsar 1.txt 
日誌檔案顯示邏輯卷管理器中裝置的讀寫統計資訊 
顯示如下 
total read :12   total write :222 

3 利用LVM作邏輯卷的映象卷或成快照卷 
快照卷不需要和父卷大小一致,我們假設不需要儲存太多的快照檔案,可以設定成10M 
#lvcreate -s -L 10M -n kuaizhao /dev/vg0/vg1 
這樣就從邏輯卷vg1中分出快照卷/dev/vg0/kuaizhao 
這裡又有一個問題,redhat9預設快照卷是以只讀方式掛載的,只讀方式的快照卷是不能和父卷同步資料的 
這裡需要使用lvchange命令使快照卷為讀寫方式掛載 
#lvchange -p rw /dev/vg0/kuaizhao 
然後 
#mount /dev/vg0/vg1 /home 
#mount /dev/vg0/kuaizhao /opt 
目錄隨便,我這裡只是測試 
#cd /home 
#touch test 
#cd /opt 
#ls 

恭喜你可以看到檔案資料已經同步了 

注:如快照卷不能容納超過自身設定的容量時,將被LVM管理器自動刪除 

解決的方法: 
1及時清理不必要的快照檔案 
2 設定邏輯快照卷和父邏輯卷大小一致.

物理卷->卷組->邏輯卷1,準備工作,分割槽,改分割槽[[email protected]~]# fdisk -lDisk /dev/hda: 6442 MB, 6442450944 bytes
255 heads, 63 sectors/track, 783 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes   Device Boot      Start         End      Blocks   Id System
/dev/hda1   *           1          13      104391   83 Linux
/dev/hda2              14         395     3068415   83 Linux
/dev/hda3             396         460      522112+ 82 Linux swap / Solaris
/dev/hda4             461         783     2594497+   5 Extended
[[email protected]~]# fdisk /dev/hdaCommand (m for help): n
First cylinder (461-783, default 461): 
Using default value 461
Last cylinder or +size or +sizeM or +sizeK (461-783, default 783): +50MCommand (m for help): n
First cylinder (468-783, default 468): 
Using default value 468
Last cylinder or +size or +sizeM or +sizeK (468-783, default 783): +50MCommand (m for help): n
First cylinder (475-783, default 475): 
Using default value 475
Last cylinder or +size or +sizeM or +sizeK (475-783, default 783): +50MCommand (m for help): p   Disk /dev/hda: 6442 MB, 6442450944 bytes
255 heads, 63 sectors/track, 783 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes   Device Boot      Start         End      Blocks   Id System
/dev/hda1   *           1          13      104391   83 Linux
/dev/hda2              14         395     3068415   83 Linux
/dev/hda3             396         460      522112+ 82 Linux swap / Solaris
/dev/hda4             461         783     2594497+   5 Extended
/dev/hda5             461         467       56196   83 Linux
/dev/hda6             468         474       56196   83 Linux
/dev/hda7             475         481       56196   83 LinuxCommand (m for help): t
Partition number (1-7): 5    
Hex code (type L to list codes): 8e
Changed system type of partition 5 to 8e (Linux LVM)Command (m for help): t
Partition number (1-7): 6
Hex code (type L to list codes): 8e
Changed system type of partition 6 to 8e (Linux LVM)Command (m for help): t
Partition number (1-7): 7
Hex code (type L to list codes): 8e
Changed system type of partition 7 to 8e (Linux LVM)Command (m for help): pDisk /dev/hda: 6442 MB, 6442450944 bytes
255 heads, 63 sectors/track, 783 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes   Device Boot      Start         End      Blocks   Id System
/dev/hda1   *           1          13      104391   83 Linux
/dev/hda2              14         395     3068415   83 Linux
/dev/hda3             396         460      522112+ 82 Linux swap / Solaris
/dev/hda4             461         783     2594497+   5 Extended
/dev/hda5             461         467       56196   8e Linux LVM
/dev/hda6             468         474       56196   8e Linux LVM
/dev/hda7             475         481       56196   8e Linux LVMCommand (m for help): w
The partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
[[email protected]~]# partprobe 
Warning: Unable to open /dev/fd0 read-write (Read-only file system). /dev/fd0 has been opened read-only.
[[email protected]~]#

2,建立物理卷的操作
[[email protected]~]# pvcreate /dev/hda[5-7]
Physical volume "/dev/hda5" successfully created
Physical volume "/dev/hda6" successfully created
Physical volume "/dev/hda7" successfully created
[[email protected]~]# pvdisplay 
--- NEW Physical volume ---
PV Name               /dev/hda5
VG Name               
PV Size               54.88 MB
Allocatable           NO
PE Size (KByte)       0
Total PE              0
Free PE               0
Allocated PE          0
PV UUID               0iXPtr-ZkQp-9PRI-J31I-HL2t-SaBx-Vr2I8H

--- NEW Physical volume ---
PV Name               /dev/hda6
VG Name               
PV Size               54.88 MB
Allocatable           NO
PE Size (KByte)       0
Total PE              0
Free PE               0
Allocated PE          0
PV UUID               4cjydb-ndfI-R0jh-HF2e-l2vS-hx8r-lGR9di

--- NEW Physical volume ---
PV Name               /dev/hda7
VG Name               
PV Size               54.88 MB
Allocatable           NO
PE Size (KByte)       0
Total PE              0
Free PE               0
Allocated PE          0
PV UUID               1vhH3I-OwS3-I0IJ-P5Va-alKF-XxCR-EGy22R
[[email protected]~]# pvs
PV         VG   Fmt Attr PSize PFree 
/dev/hda5       lvm2 --   54.88M 54.88M
/dev/hda6       lvm2 --   54.88M 54.88M
/dev/hda7       lvm2 --   54.88M 54.88M
3.將/dev/hda7 移除
[[email protected]~]# pvremove /dev/hda7
Labels on physical volume "/dev/hda7" successfully wiped
[[email protected]~]# pvs
PV         VG   Fmt Attr PSize PFree 
/dev/hda5       lvm2 --   54.88M 54.88M
/dev/hda6       lvm2 --   54.88M 54.88M
[[email protected]~]# pvcreate /dev/hda7
Physical volume "/dev/hda7" successfully created
4.改變一個物理卷可用容量的大小,暫時沒有發現意義
[[email protected]~]# pvresize --setphysicalvolumesize 20M /dev/hda7 
Physical volume "/dev/hda7" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
[[email protected]~]# pvs
PV         VG   Fmt Attr PSize PFree 
/dev/hda5       lvm2 --   54.88M 54.88M
/dev/hda6       lvm2 --   54.88M 54.88M
/dev/hda7       lvm2 --   20.00M 20.00M
[[email protected]~]# pvresize /dev/hda7
Physical volume "/dev/hda7" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
[[email protected]~]# pvs
PV         VG   Fmt Attr PSize PFree 
/dev/hda5       lvm2 --   54.88M 54.88M
/dev/hda6       lvm2 --   54.88M 54.88M
/dev/hda7       lvm2 --   54.88M 54.88M

5.建立卷組
[[email protected]~]# vgcreate vg0 /dev/hda5 /dev/hda6
Volume group "vg0" successfully created
[[email protected]~]# vgs
VG   #PV #LV #SN Attr   VSize   VFree 
vg0    2   0   0 wz--n- 104.00M 104.00M
[[email protected]~]# vgdisplay 
--- 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               104.00 MB
PE Size               4.00 MB
Total PE              26
Alloc PE / Size       0 / 0   
Free PE / Size       26 / 104.00 MB
VG UUID               ulEBV2-l4Af-kOTx-UPSq-vHXa-3dWR-hVFuce
6.擴展卷組
[[email protected]~]# vgextend vg0 /dev/hda7
Volume group "vg0" successfully extended
[[email protected]~]# vgdisplay 
--- Volume group ---
VG Name               vg0
System ID             
Format                lvm2
Metadata Areas        3
Metadata Sequence No 2
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                0
Open LV               0
Max PV                0
Cur PV                3
Act PV                3
VG Size               156.00 MB
PE Size               4.00 MB
Total PE              39
Alloc PE / Size       0 / 0   
Free PE / Size       39 / 156.00 MB
VG UUID               ulEBV2-l4Af-kOTx-UPSq-vHXa-3dWR-hVFuce
7.去除新加的物理卷/dev/hda7
[[email protected]~]# vgreduce vg0 /dev/hda7
Removed "/dev/hda7" from volume group "vg0"
[[email protected]~]# vgdisplay 
--- Volume group ---
VG Name               vg0
System ID             
Format                lvm2
Metadata Areas        2
Metadata Sequence No 3
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               104.00 MB
PE Size               4.00 MB
Total PE              26
Alloc PE / Size       0 / 0   
Free PE / Size       26 / 104.00 MB
VG UUID               ulEBV2-l4Af-kOTx-UPSq-vHXa-3dWR-hVFuce
8.卷組改名

相關推薦

Linux邏輯 物理 快照

一、理解快照的含義 所謂快照就是照下來的那一刻保留起來作為檔案的訪問通道,將沒修改之前儲存在快照儲存空間中一份,訪問的是外面的資料,如果資料修改出現錯誤時,可以通過快照的訪問路徑把儲存在快照儲存空間中的資料放到被修改的資料中,快照儲存空間中只儲存沒修改前的資料,佔據空間

Linux建立邏輯管理(LVM)

LVM是對磁碟進行分割槽管理的機制。LVM有很多優點:線上擴容,跨磁碟分割槽......,缺點:管理相對麻煩。建立LVM的過程如下:   LVM是基於普通分割槽或者整塊硬碟來進行的。我們首先把這些儲存

Linux先添加一塊磁盤制作LVM並進行分區掛載

分區類型 nbsp mount -a 之前 檢查 開機 說明 分區掛載 and linux服務器新添加一塊硬盤,可以直接將盤格式化掛載就能用,比如掛載在/usr/local目錄,但是這樣有一個弊端,就是如果這一塊磁盤滿了,後續想要擴容的話,不能繼續掛載這個/usr/loca

Linux LVM-刪除邏輯物理

檢視卷組相關資訊 [[email protected] /]# vgscan     Reading all physical volumes.  This may take a while...     Found volume group "VolGr

論文解讀|Densenet密集連線的積網路(附Pytorch程式碼講解)

@[t oc] 1 簡單介紹 論文題目:Densely Connected Convolutional Networks 發表機構:康奈爾大學,清華大學,Facebook AI 發表時間:2018年1月 論文程式碼:https://github.com/Wang

CentOS 7 刪除LV VG邏輯物理

ins mov defaults scan 選擇 done 沒有 lock mkfs 很多用戶在XenSystem的默認模版CentOS7默認掛載到/home,無法掛載/www 按如下操作 查看卷組相關信息 [root@MyCloudServer ~]# vgscan

Linux 分割槽初始化為物理,把物理加入

用到的命令有   1、pvcreate  (physical volume create)   2、vgcreate  (volume group create) 例子1:建立物理卷   pvcreate /dev/sdb1 -- /dev/sdb1 是一個分割槽!

unpunix網路程式設計1-->環境搭建(ubuntu14.04)

學習unp網路程式設計,樹上的例子均存在#include "unp.h",故需要對環境進行配置。 2. 解壓並將unpv13e 移動到相應的資料夾下 3. 編譯 >$ cd unpv13e

一篇關於積的通俗易懂的文章

作者用最通俗的語言詮釋了卷積,覺得不錯,公式太抽象,這樣解釋就易懂很多。原文出處不詳。最近總是和卷積打交道,工作需要,每天都要碰到它好幾次,不勝煩惱,因為在大學時候學訊號與系統的時候就沒學會,我於是心想一定要把卷積完全搞明白。正好同辦公室的同學也問我什麼是卷積,師姐昨天也告訴

dockerDocker 容器資料掛載小結

為了更直觀瞭解資料卷掛載的操作,做個實驗一一驗證資料卷掛載的各種情況。 情況一、本地不存在檔案掛載到容器存在檔案 首先是當本地不存在該檔案,而容器記憶體在該檔案的情況,嘗試把不存在的檔案掛載到存在該檔案的容器中。以一個 Alpine 映象為例,這裡把一個修改後的

UOJ 348 WC2018州區劃分——子集

題目:http://uoj.ac/problem/348 參考:https://www.cnblogs.com/NaVi-Awson/p/9242645.html#%E5%AD%90%E9%9B%86%E5%8D%B7%E7%A7%AF FMT就是快速莫比烏斯變換/反演,解決或卷積的問題,和 FWT 時間

翻譯使用Docker RBD外掛

原文作者 Sébastien Han 原文地址 http://www.sebastien-han.fr/blog/categories/presentation/ 發表時間 08/17/2015 譯文作者 Younger Liu 翻

TensorFlow第三課 積神經網路與影象應用

一,Image classification popeline 一般來說想要使用純程式設計的方式來讓機器識別一張圖片中的東西是非常困難的,常用的方法就是使用一些運算元來獲取影象中的很多的特徵,然後使用

Linux CentOS6.5安裝Python2.7以及pip等工具

自己 lin 存在 lean prefix nbsp ase 路徑 details 原文地址http://blog.csdn.net/u012538536/article/details/47360929。 CentOS6.5下是原來就有python的,我的鏡像裏面自帶的

Linux 用戶管理

文件夾 通過 useradd 遠程登錄 日期 賬號 改變自己 shell類型 查看 Linux用戶管理 ■  查看用戶整體情況   cat /etc/passwd可以查看用戶的一些基本信息。用finger <user>似乎更加方便   查看某一個特定的

Linux系統管理

kcon status gcc 不知道 切換 all usr make entos 軟件包管理 一 軟件包分類  源碼包: .tar.gz .tar.bz2   二進制包: .rpm 二 二進制包安裝   (一) rpm命令手動管理二進制包 (掛載光盤)

LinuxLAMP環境搭建(簡易版)

freetype 軟件 系統 解壓縮 net done .gz 輔助 one 一. 輔助軟件包安裝 準備工作:1.Linux系統準備 恢復快照(初始化安裝) 設置IP 關閉SELINUX 配置yum源 2.yum -y install gcc

Linuxnginx服務配置

網站目錄 write timeout per dex 修改 header www val 一. 部署LNMP環境 準備工作 Linux系統準備 設置IP 關閉防火墻

LinuxLinux下統計當前文件夾下的文件個數、目錄個數

article logs 過濾 ref bash 輸出 子文件夾 http 輸出信息 統計當前文件夾下文件的個數,包括子文件夾裏的 ls -lR|grep "^-"|wc -l 統計文件夾下目錄的個數,包括子文件夾裏的 ls -lR|grep "^d"

LInux查看Linux系統版本信息

phi 2.6.32 block smp lsb 適合 home utc desc 一、查看Linux內核版本命令(兩種方法): 1、cat /proc/version [root@S-CentOS home]# cat /proc/versionLinux versio