LVM磁碟管理
LVM是Logical Volume
Manager(邏輯卷管理器)的簡寫,它為主機提供了更高層次的磁碟儲存管理能力。LVM可以幫助系統管理員為應用與使用者方便地分配儲存空間。在LVM
管理下的邏輯卷可以按需改變大小或新增移除。另外,LVM可以為所管理的邏輯卷提供定製的命名標識。因此,使用LVM主要是方便了對儲存系統的管理,增加了系統的擴充套件性。
目前LVM在Linux下有兩個版本,分別是LVM 1和LVM 2,LVM2不僅僅是Linux邏輯卷管理在版本與功能上的升級,而且是架構在一個新的核心儲存子系統(DM,device-mapper)之上的。這個 儲存子系統提供了一個輕量級的、可擴充套件的卷管理設施。除了在原有LVM卷管理功能的基礎上,Linux的邏輯卷管理將會為使用者提供更多的儲存管理方案,如 映象、加密卷、多路徑技術。
在上面的LVM結構圖中,涉及到了很多LVM的相關術語,那麼關於這些術語的詳細說明如下:
物理卷(physical volume,PV)
物理卷就是指硬碟分割槽,也可以是整個硬碟或已建立的軟RAID ,是LVM的基本儲存裝置,與普通物理儲存介質的區別是該裝置包含有LVM相關的管理引數。
卷組(volume group,VG)
卷組是由一個或多個物理卷所組成的儲存池,在卷組上能建立一個或多個"LVM分割槽"(邏輯卷)。只有透過PV將分割槽變成物理卷後, 我們才能將這變成的一個或多個物理卷組合成一個卷組.就相當於,將幾個班的教室合併成一個年級(vgcreate).以後,就可以隨意分配學生了 (LV).當然,前提就是將這些學生pvcreate成同一個年段(PV)了.
邏輯卷(logical volume,LV)
LVM 的邏輯卷類似於非LVM系統中的硬碟分割槽,它建立在卷組之上,是一個標準的塊裝置,在邏輯卷之上可以建立檔案系統。可以做這樣一個設想來理解以上三者的關 系:如果把PV比做地球的一個板塊,VG則是一個地球,因為地球是由多個板塊組成的,那麼在地球上劃分一個區域並標記為亞洲,則亞洲就相當於一個LV。
假設我們一個陣列,裝置名為:/dev/sdb
建立物理卷PV:
建立VG卷組:
下面是建立邏輯卷:
LVM的維護
在LVM的日常維護工作中,通常會需要對邏輯卷擴容、新增新的物理卷等操作,下面將結合【例項1】中所建立的邏輯捲來介紹LVM常用的管理操作,如下:
1、啟用卷組
卷組若不被啟用,卷組和邏輯卷是不能被訪問的,在LVM 2裡建立的卷組預設是啟用的,那麼手動啟用卷組的命令是:
# vgchange -a y vgtest
2 logical volume(s) in volume group "vgtest" now active
其中"-a"用於設定指定的卷組是否可用,引數"y"表示啟用卷組,若設定為"n"則表示暫停卷組使用。
2、為卷組增加新的物理卷
當卷組空間不足時,可以加入新的物理捲來擴大卷組容量,這時可用"vgextend"命令來實現,如下:
# vgextend vgtest /dev/sde
Volume group "vgtest" successfully extended
其中"/dev/sde"是新增的物理卷,前提該裝置已經使用"pvcreate"進行了初始化了。
3、從卷組中移除物理卷
要從一個卷組中移除一個物理卷,首先要確認要移除的物理卷沒有被任何邏輯卷正在使用,透過"pvdisplay"命令可檢視到該物理卷資訊,如下:
#pvdisplay /dev/sde
-- Physical volume --
PV Name /dev/sde
VG Name vgtest
PV Size 100.00 MB / not usable 0
Allocatable yes
PE Size (KByte) 4096
Total PE 25
Free PE 25
Allocated PE 0
PV UUID ee2IFC-UHUq-Xg67-icwt-AhdJ-7kRz-JdDjiq
若其中的"Total PE"與" Free PE"相等,表明該物理卷沒有被使用,如果某個物理卷正在被邏輯卷所使用,就需要將該物理卷的資料轉移到其它地方,然後再移除。移除物理卷的命令為"vgreduce",如下:
# vgreduce vgtest /dev/sde
Removed "/dev/sde" from volume group "vgtest"
4、在物理卷間轉移資料
當發現邏輯卷下的某個磁碟有錯誤,或有其它需求要轉移其中物理卷的資料時(如,更換大容量或更高速的物理裝置),那麼可透過"pvmove"來實現在物理卷之間轉移資料,例如,將物理卷"/dev/sdd"上的資料轉移到"/dev/sde"具體操作如下:
# pvmove /dev/sdd /dev/sde
/dev/sdd: Moved: 100.0%
其中/dev/sde的大小一定要大於或等於/dev/sdd,其次在使用"pvmove "前需要用 "modprobe dm-mirror"命令來載入dm-mirror模組,因為"pvmove"在轉移資料時需要用到該模組,而預設系統是不載入該模組的。
5、擴充套件邏輯卷
在前面提到過,LVM提供了方便調整邏輯卷大小的功能,擴充套件邏輯卷大小的命令是"lvextent",例如,將"lvtest2"的空間大小調整到160M,操作如下:
# lvextend -L 160M /dev/vgtest/lvtest2
Extending logical volume lvtest2 to 160.00 MB
Logical volume lvtest2 successfully resized
也可以在原來的基礎增加相應的大小,如下:
# lvextend -L +40M /dev/vgtest/lvtest2
Extending logical volume lvtest2 to 160.00 MB
Logical volume lvtest2 successfully resized
邏輯卷擴充套件後並不會馬上生效,需要使用"resize2fs"命令重新載入邏輯卷的大小,該命令只針對ext2/ext3的檔案系統(若是reiserfs 的檔案系統,則使用"resize_reiserfs"命令),如果該邏輯卷正在使用中,就應該先將該邏輯卷解除安裝後再執行"resize2fs"命令,操作如下:
# umount /dev/vgtest/lvtest2
# resize2fs /dev/vgtest/lvtest2
resize2fs 1.35 (28-Feb-2004)
The filesystem is already 163840 blocks long. Nothing to do!
# mount /dev/vgtest/lvtest2 /mnt/lvtest2/
以上這些操作可以透過"ext2online"命令直接來實現,這樣就不用做解除安裝邏輯卷等操作了,如下:
# ext2online /dev/vgtest/lvtest2
ext2online v1.1.18 - 2001/03/18 for EXT2FS 0.5b
6、刪除邏輯卷
刪除邏輯卷前首先需要將其解除安裝,其命令是"lvremove",如下:
# lvremove /dev/vgtest/lvtest2
Do you really want to remove active logical volume "lvtest2"? [y/n]: y
Logical volume "lvtest2" successfully removed
其中輸入"y"確認確認刪除該邏輯卷。
7、移除卷組
在移除卷組前首先要確認該卷組中已沒有任何的邏輯捲了,或者可使用"vgchange"手工將卷組停止,移除卷組的具體操作如下:
# vgremove vgtest
Volume group "vgtest" successfully removed
8、刪除物理卷
在刪除物理卷前,必須確認該物理卷已從卷組中移除了,刪除物理卷的命令是"pvremove",如下:
# pvremove /dev/sde
Labels on physical volume "/dev/sde" successfully wiped
除此之外,LVM還可以提供snapshot(快照)等功能,其snapshot能夠快速的備份當前邏輯卷中的資料。
目前LVM在Linux下有兩個版本,分別是LVM 1和LVM 2,LVM2不僅僅是Linux邏輯卷管理在版本與功能上的升級,而且是架構在一個新的核心儲存子系統(DM,device-mapper)之上的。這個 儲存子系統提供了一個輕量級的、可擴充套件的卷管理設施。除了在原有LVM卷管理功能的基礎上,Linux的邏輯卷管理將會為使用者提供更多的儲存管理方案,如 映象、加密卷、多路徑技術。
在上面的LVM結構圖中,涉及到了很多LVM的相關術語,那麼關於這些術語的詳細說明如下:
物理卷(physical volume,PV)
物理卷就是指硬碟分割槽,也可以是整個硬碟或已建立的軟RAID ,是LVM的基本儲存裝置,與普通物理儲存介質的區別是該裝置包含有LVM相關的管理引數。
卷組(volume group,VG)
卷組是由一個或多個物理卷所組成的儲存池,在卷組上能建立一個或多個"LVM分割槽"(邏輯卷)。只有透過PV將分割槽變成物理卷後, 我們才能將這變成的一個或多個物理卷組合成一個卷組.就相當於,將幾個班的教室合併成一個年級(vgcreate).以後,就可以隨意分配學生了 (LV).當然,前提就是將這些學生pvcreate成同一個年段(PV)了.
邏輯卷(logical volume,LV)
LVM 的邏輯卷類似於非LVM系統中的硬碟分割槽,它建立在卷組之上,是一個標準的塊裝置,在邏輯卷之上可以建立檔案系統。可以做這樣一個設想來理解以上三者的關 系:如果把PV比做地球的一個板塊,VG則是一個地球,因為地球是由多個板塊組成的,那麼在地球上劃分一個區域並標記為亞洲,則亞洲就相當於一個LV。
假設我們一個陣列,裝置名為:/dev/sdb
[root@SERVER2 dev]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
The number of cylinders for this disk is set to 145684.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): p
Disk /dev/sdb: 1198.2 GB, 1198295875584 bytes
255 heads, 63 sectors/track, 145684 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
建立物理卷PV:
[root@SERVER2 dev]# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created
建立VG卷組:
[root@SERVER2 dev]# vgscan
Reading all physical volumes. This may take a while...#一般我們初始建立卷組時都要先scan下.
Found volume group "soleil" using metadata type lvm2
Found volume group "VolGroup00" using metadata type lvm2
[root@SERVER2 dev]# vgdisplay soleil
--- Volume group ---
VG Name soleil
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 26
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 1.09 TB
PE Size 4.00 MB
Total PE 285695
Alloc PE / Size 285695 / 1.09 TB
Free PE / Size 0 / 0
VG UUID iEGRp4-yLeD-Thkj-4YRA-o0HP-82KY-W2YgTS
下面是建立邏輯卷:
[root@localhost /]# lvcreate -n data -L 1.9TBM vg0 #建立名為data,大小1.9TB以上就是在Linux下建立邏輯卷的整個步驟。
/dev/cdrom: open failed: Read-only file system
Rounding up size to full physical extent 1.92TB
Logical volume "data" created
[root@SERVER2 dev]# lvdisplay
--- Logical volume ---
LV Name /dev/soleil/data
VG Name soleil
LV UUID swZafx-tezV-rsMf-wdEb-vlb6-Ko8z-0gUTLU
LV Write Access read/write
LV Status available
# open 1
LV Size 1.09 TB
Current LE 285695
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 253:2
--- Logical volume ---
LV Name /dev/VolGroup00/LogVol00
VG Name VolGroup00
LV UUID Hnct0R-vp1y-tZPl-VMXU-AZ2C-Y6ru-umo4m0
LV Write Access read/write
LV Status available
# open 1
LV Size 134.59 GB
Current LE 4307
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 253:0
--- Logical volume ---
LV Name /dev/VolGroup00/LogVol01
VG Name VolGroup00
LV UUID VZuwuR-JFcA-MDM8-5OGM-yNVe-AXrK-1T1f23
LV Write Access read/write
LV Status available
# open 1
LV Size 1.94 GB
Current LE 62
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 253:1
[root@SERVER2 dev]# mkfs.ext3 /dev/vg0/data #格式化成ext3格式.
mke2fs 1.35 (28-Feb-2008)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
3072 inodes, 12288 blocks
614 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=12582912
2 block groups
8192 blocks per group, 8192 fragments per group
1536 inodes per group
Superblock backups stored on blocks:
8193
Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 35 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@SERVER2 dev]# mount /dev/vg0/data /mnt/ #mount到/mnt資料夾
[root@SERVER2 dev]# cp /etc/hosts /mnt/ #複製個檔案進去試下
[root@SERVER2 dev]# ls /mnt/ #看下,裡面已經有個hosts檔案了.
lost+found hosts
[root@SERVER2 dev]#umount /mnt/
[root@SERVER2 dev]# lvextend -L +10M /dev/vg0/data #擴充套件邏輯卷大小
/dev/cdrom: open failed: Read-only file system
Rounding up size to full physical extent 12.00 MB
Extending logical volume data to 1.930TB
Logical volume data successfully resized
LVM的維護
在LVM的日常維護工作中,通常會需要對邏輯卷擴容、新增新的物理卷等操作,下面將結合【例項1】中所建立的邏輯捲來介紹LVM常用的管理操作,如下:
1、啟用卷組
卷組若不被啟用,卷組和邏輯卷是不能被訪問的,在LVM 2裡建立的卷組預設是啟用的,那麼手動啟用卷組的命令是:
# vgchange -a y vgtest
2 logical volume(s) in volume group "vgtest" now active
其中"-a"用於設定指定的卷組是否可用,引數"y"表示啟用卷組,若設定為"n"則表示暫停卷組使用。
2、為卷組增加新的物理卷
當卷組空間不足時,可以加入新的物理捲來擴大卷組容量,這時可用"vgextend"命令來實現,如下:
# vgextend vgtest /dev/sde
Volume group "vgtest" successfully extended
其中"/dev/sde"是新增的物理卷,前提該裝置已經使用"pvcreate"進行了初始化了。
3、從卷組中移除物理卷
要從一個卷組中移除一個物理卷,首先要確認要移除的物理卷沒有被任何邏輯卷正在使用,透過"pvdisplay"命令可檢視到該物理卷資訊,如下:
#pvdisplay /dev/sde
-- Physical volume --
PV Name /dev/sde
VG Name vgtest
PV Size 100.00 MB / not usable 0
Allocatable yes
PE Size (KByte) 4096
Total PE 25
Free PE 25
Allocated PE 0
PV UUID ee2IFC-UHUq-Xg67-icwt-AhdJ-7kRz-JdDjiq
若其中的"Total PE"與" Free PE"相等,表明該物理卷沒有被使用,如果某個物理卷正在被邏輯卷所使用,就需要將該物理卷的資料轉移到其它地方,然後再移除。移除物理卷的命令為"vgreduce",如下:
# vgreduce vgtest /dev/sde
Removed "/dev/sde" from volume group "vgtest"
4、在物理卷間轉移資料
當發現邏輯卷下的某個磁碟有錯誤,或有其它需求要轉移其中物理卷的資料時(如,更換大容量或更高速的物理裝置),那麼可透過"pvmove"來實現在物理卷之間轉移資料,例如,將物理卷"/dev/sdd"上的資料轉移到"/dev/sde"具體操作如下:
# pvmove /dev/sdd /dev/sde
/dev/sdd: Moved: 100.0%
其中/dev/sde的大小一定要大於或等於/dev/sdd,其次在使用"pvmove "前需要用 "modprobe dm-mirror"命令來載入dm-mirror模組,因為"pvmove"在轉移資料時需要用到該模組,而預設系統是不載入該模組的。
5、擴充套件邏輯卷
在前面提到過,LVM提供了方便調整邏輯卷大小的功能,擴充套件邏輯卷大小的命令是"lvextent",例如,將"lvtest2"的空間大小調整到160M,操作如下:
# lvextend -L 160M /dev/vgtest/lvtest2
Extending logical volume lvtest2 to 160.00 MB
Logical volume lvtest2 successfully resized
也可以在原來的基礎增加相應的大小,如下:
# lvextend -L +40M /dev/vgtest/lvtest2
Extending logical volume lvtest2 to 160.00 MB
Logical volume lvtest2 successfully resized
邏輯卷擴充套件後並不會馬上生效,需要使用"resize2fs"命令重新載入邏輯卷的大小,該命令只針對ext2/ext3的檔案系統(若是reiserfs 的檔案系統,則使用"resize_reiserfs"命令),如果該邏輯卷正在使用中,就應該先將該邏輯卷解除安裝後再執行"resize2fs"命令,操作如下:
# umount /dev/vgtest/lvtest2
# resize2fs /dev/vgtest/lvtest2
resize2fs 1.35 (28-Feb-2004)
The filesystem is already 163840 blocks long. Nothing to do!
# mount /dev/vgtest/lvtest2 /mnt/lvtest2/
以上這些操作可以透過"ext2online"命令直接來實現,這樣就不用做解除安裝邏輯卷等操作了,如下:
# ext2online /dev/vgtest/lvtest2
ext2online v1.1.18 - 2001/03/18 for EXT2FS 0.5b
6、刪除邏輯卷
刪除邏輯卷前首先需要將其解除安裝,其命令是"lvremove",如下:
# lvremove /dev/vgtest/lvtest2
Do you really want to remove active logical volume "lvtest2"? [y/n]: y
Logical volume "lvtest2" successfully removed
其中輸入"y"確認確認刪除該邏輯卷。
7、移除卷組
在移除卷組前首先要確認該卷組中已沒有任何的邏輯捲了,或者可使用"vgchange"手工將卷組停止,移除卷組的具體操作如下:
# vgremove vgtest
Volume group "vgtest" successfully removed
8、刪除物理卷
在刪除物理卷前,必須確認該物理卷已從卷組中移除了,刪除物理卷的命令是"pvremove",如下:
# pvremove /dev/sde
Labels on physical volume "/dev/sde" successfully wiped
除此之外,LVM還可以提供snapshot(快照)等功能,其snapshot能夠快速的備份當前邏輯卷中的資料。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17172228/viewspace-777250/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- LVM 管理linux磁碟LVMLinux
- Linux LVM磁碟管理與FS掛載LinuxLVM
- linux LVM 磁碟管理 基本用法舉例LinuxLVM
- LVM與磁碟配額管理 so easy come onLVM
- Linux—磁碟配額,管理LVM邏輯卷LinuxLVM
- LVM與磁碟配額LVM
- centos7 新增lvm磁碟CentOSLVM
- LVM管理LVM
- linux 給lvm磁碟擴容LinuxLVM
- linux下 lvm 磁碟擴容LinuxLVM
- LVM管理操作LVM
- aix lvm 管理AILVM
- 在滴滴雲 DC2 雲伺服器上使用 LVM 管理磁碟伺服器LVM
- 掛載已有資料的LVM磁碟LVM
- LVM與磁碟配額(包含磁碟配額與驗證實操)LVM
- Linux LVM 擴充套件磁碟分割槽LinuxLVM套件
- 手把手教學----LVM邏輯卷管理與磁碟配額實操全流程LVM
- 使用條塊化I/O管理多個LVM磁碟(第五部分)LVM
- Linux平臺的LVM管理儲存聚合後的磁碟裝置的問題LinuxLVM
- LVM 邏輯卷管理LVM
- AIX系統 LVM 管理AILVM
- HP-UX lvm管理UXLVM
- 邏輯卷管理-LVMLVM
- LVM管理全面總結LVM
- Linux_lvm管理LinuxLVM
- 磁碟管理
- LVM_邏輯卷管理LVM
- AIX磁碟管理AI
- LVM邏輯卷線上動態擴容磁碟空間LVM
- Linux的LVM與磁碟配額(理論+配寫)LinuxLVM
- 如何使用 LVM 管理滴滴雲 EBSLVM
- LVM邏輯卷管理器LVM
- 邏輯卷管理---LVM2LVM
- asm磁碟管理篇ASM
- AIX磁碟管理命令AI
- Linux 磁碟管理Linux
- Linux磁碟管理Linux
- Centos7使用SSM管理LVM卷CentOSSSMLVM