linux下磁盤管理之利器 lvm使用介紹

一、LVM 簡介
LVM(Logical Volume Manager)是一個應(yīng)用于Linux的內(nèi)核的邏輯卷管理器,是Linux環(huán)境下對磁盤進(jìn)行分區(qū)管理的一種機(jī)制。先介紹幾個有關(guān)LVM的名詞
1、PV(物理卷)可以是一個磁盤,一個分區(qū)。由PE(物理盤區(qū))組成,多個PV可以組成一個VG(卷組).
2、VG(卷組)多個物理卷組成的一個組,但是卷組不可以直接使用,需要在上面創(chuàng)LV(邏輯卷)才可以使用。VG上可以創(chuàng)建多個LV。
3、PE(物理盤區(qū))就像我們之前學(xué)習(xí)的磁盤的block塊,默認(rèn)是4MB。
4、LV(邏輯卷) 是建立在卷組之上的一個可用空間。有物理邊界和邏輯邊界兩種邊界。
二、相關(guān)命令介紹
1、物理卷PV
pvcreate 創(chuàng)建pv 例:pvcreate /dev/sda1
pvs 查看pv信息 例:直接在命令行里輸入pvs
pvdisplay 查看pv詳細(xì)信息 例:pvcreate /dev/sda1
pvmove 將pv數(shù)據(jù)移動到其他pv 例:pvmove /dev/sda1 /dev/sda4
pvremove 將pv刪除 例:pvremove /dev/sda1
2、卷組VG
2.1 創(chuàng)建、查看、刪除vg
vgcreate 創(chuàng)建vg 例:vgcreate myvg /dev/sda{m,n}
vgs 查看vg信息 例:直接在命令行里輸入vgs
vgdisplay 查看vg詳細(xì)信息 例:vgdisplay myvg
vgremove 將vg刪除 例:vgremove myvg
2.2 擴(kuò)展vg
首先準(zhǔn)備好一個PV;
然后使用vgextend命令即可完成擴(kuò)展;
格式: vgextend VG_NAME /PATH/TO/PV
vgextend myvg /dev/sdb2 擴(kuò)展myvg卷組,把/dev/sda2加進(jìn)去
2.3 縮減vg
1)確定要移除的PV;
2)將此PV上的數(shù)據(jù)轉(zhuǎn)移至其它PV;
pvmove /path/to/pv
3)從卷組中將此PV移除;
格式:vgreduce VG_NAME /PATH/TO/PV
vgreduce myvg /dev/sdb2 縮減myvg卷組,把/dev/sda2去掉
3 邏輯卷LV
3.1 創(chuàng)建、查看、刪除lv
lvcreate 創(chuàng)建lv 例:lvcreate lv1 /dev/myvg
lvs 查看lv信息 例:直接在命令行里輸入lvs
lvdisplay 查看lv詳細(xì)信息 例:vgdisplay lv1
lvremove 將lv 移除 例:lvremove /dev/myvg/lv1
3.2 擴(kuò)展lv
確定擴(kuò)展多大
確定當(dāng)前邏輯卷所在的卷組有足夠的空閑空間;
擴(kuò)展:
1、物理邊界
lvextend -L [+]SIZE /path/to/lv
2、邏輯邊界
resize2fs /path/to/device
3.3 縮減lv
確定縮減的大小,但前提是至少能容納原有的所有數(shù)據(jù)。
縮減:
1)卸載并強(qiáng)行檢測文件系統(tǒng);
e2fsck -f
2)邏輯邊界
resize2fs /path/to/device SIZE
3)物理邊界
lvreduce -L [-]SIZE /path/to/lv
4、快照卷
1) 生命周期為整個數(shù)據(jù)時長;在這段時長內(nèi),數(shù)據(jù)的增長量不能超出快照卷大?。?br />2) 快照卷應(yīng)該是只讀的;
3) 跟原卷在同一卷組內(nèi);
lvcreate
-L 指定快照卷的大小
-s 創(chuàng)建快照卷
-p r 創(chuàng)建的快照卷為只讀訪問
格式:
lvcreate -L SIZE -s -p r -n LV_NAME /path/to/lv
三、lv之示例
1、創(chuàng)建一個分區(qū)
[root@stau11 ~]# fdisk -l //查看分區(qū)的情況
[root@stau11 ~]# fdisk /dev/sda //進(jìn)行分區(qū)
Command (m for help): n //n為添加一個分區(qū),p查看分區(qū)
First cylinder (2898-10443, default 2898): //按【Enter】鍵決定
Using default value 2898 //起始柱面選擇默認(rèn) 值
Last cylinder or +size or +sizeM or +sizeK (289810443, default 10443): +2G // 給2G的大小
Command (m for help): t //更改分區(qū)類型
Partition number (1-5): 5 //選著分區(qū)
Hex code (type L to list codes): l //分區(qū)類型列表
Hex code (type L to list codes):8e //將新添加的分區(qū)標(biāo)注成lvm
Command (m for help): p //查看分區(qū)表
/dev/sda5 2756 2999 1959898+ 8e Linux LVM
Command (m for help): w //保存
[root@localhost ~]# partprobe /dev/sda //是系統(tǒng)識別分區(qū)(代替重啟)
[root@localhost ~]# mkfs.ext3 /dev/sda5 //格式化新添加的分區(qū)
2、PV的創(chuàng)建
[root@localhost ~]# pvcreate /dev/sda5 //創(chuàng)建pv
Writing physical volume data to disk "/dev/sda5"
Physical volume "/dev/sda5" successfully created
[root@localhost ~]# pvs //查看當(dāng)前pv的信息
PV VG Fmt Attr PSize PFree
/dev/sda5 lvm2 a-- 1.87G 1.87G
3、VG的創(chuàng)建
[root@localhost ~]# vgcreate vg0 /dev/sda5 //vg0為當(dāng)前vg的名
Volume group "vg0" successfully created
[root@localhost ~]# vgs //查看vg的信息
VG #PV #LV #SN Attr VSize VFree
vg0 1 0 0 wz--n- 1.87G 1.87G
4、lv的創(chuàng)建
[root@localhost ~]# lvcreate -L 500M -n lv01 vg0
Logical volume "lv01" created
[root@localhost ~]# lvs //查看lv的信息
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
lv01 vg0 -wi-a- 500.00M
You have mail in /var/spool/mail/root
[root@localhost ~]# mkfs.ext3 /dev/vg0/lv01 //格式化
lvm的使用
5、lv的增大
[root@localhost ~]# lvextend -L +300M /dev/vg0/lv01 //(原來lv大小500M ,拉伸分區(qū)到 800M) Extending logical volume lv01 to 800.00 MB
Logical volume lv01 successfully resized
[root@localhost ~]# resize2fs /dev/vg0/lv01 //拉伸文件系統(tǒng)
[root@localhost ~]# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
lv01 vg0 -wi-ao 800.00M //大小變成了800M
6、lv的減小
# umount /dev/vg0/lv01 //卸載邏輯卷/dev/vg0/lv01
# df -h //查看
# e2fsck -f /dev/vg0/lv01 //磁盤校驗(yàn)
# resize2fs /dev/vg0/lv01 500M //回縮文件系統(tǒng)到 500M
# lvreduce -L 500M /dev/vg0/lv01 //回縮分區(qū)到 500M
WARNING: Reducing active logical volume to 500.00 MB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv01? [y/n]: y
# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
lv01 vg0 -wi-a- 500.00M //此時已變成500M大小
# mount /dev/vg0/lv01 /mnt/lv01 //重新掛載分區(qū)
# df -h //查看
# ls /mnt/lv01 //查看文件
四、lvm的系統(tǒng)快照
1、掛載lvm
[root@localhost ~] # mount /dev/vg0/lv01 /mnt/lv01
[root@localhost ~]# cd /mnt/lv01
[root@localhost lv01]# touch {a,b,c}{a,b,c}
[root@localhost lv01]# ls
aa ab ac ba bb bc ca cb cc lost+found lv.file restoresymtable
2、為lvm創(chuàng)建快照
[root@localhost lv01]# lvcreate -L 64M -s -n lv-backup /dev/vg0/lv01
Logical volume "lv-backup" created
3、掛載快照
[root@localhost lv01]# mkdir /mnt/lv-backup
[root@localhost mnt]# mount -o ro /dev/vg0/lv-backup /mnt/lv-backup/
4、備份快照
[root@localhost tmp]# dump -0u -f /tmp/lv-backup.dump /mnt/lv-backup/ //備份
DUMP: Date of this level 0 dump: Sun Nov 11 14:53:31 2012
DUMP: Dumping /dev/mapper/vg0-lv--backup (/mnt/lv-backup) to /tmp/lv-backup.dump
5、刪除快照
[root@localhost tmp]# umount /mnt/lv-backup/
[root@localhost tmp]# lvremove /dev/vg0/lv-backup
Do you really want to remove active logical volume lv-backup? [y/n]: y
Logical volume "lv-backup" successfully removed
6、清空/dev/vg0/lv01下得內(nèi)容
[root@localhost tmp]# umount /mnt/lv01
[root@localhost tmp]# mkfs.ext3 /dev/vg0/lv01
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
7、lvm的關(guān)閉
[root@localhost ~]# umount /mnt/lv01
[root@localhost ~]# lvremove /dev/vg0/lv01 //刪除lv
Do you really want to remove active logical volume lv01? [y/n]: y
Logical volume "lv01" successfully removed
[root@localhost ~]# vgchange -a n vg0 //使vg0不具有active標(biāo)志
0 logical volume(s) in volume group "vg0" now active
[root@localhost ~]# vgremove vg0 //刪除vg
Volume group "vg0" successfully removed
[root@localhost ~]# pvremove /dev/sda5 //刪除pv
Labels on physical volume "/dev/sda5" successfully wiped
相關(guān)文章
- 這篇文章主要介紹了Linux查看磁盤io開銷的幾種方法,本文給出了3種方法,分別是top命令、vmstat命令以及iostat,需要的朋友可以參考下2015-07-08
- 使用命令查看Linux系統(tǒng)中掛載的磁盤,其實(shí)除了這種方法外,還有很多方法能夠查看Linux掛載磁盤,下面為大家簡單介紹下2014-12-28
Linux磁盤管理之df命令詳解和使用實(shí)例(查看磁盤空間占用情況)
linux中df命令的功能是用來檢查linux服務(wù)器的文件系統(tǒng)的磁盤空間占用情況。可以利用該命令來獲取硬盤被占用了多少空間,目前還剩下多少空間等信息2014-04-09- Linux系統(tǒng)出現(xiàn)了性能問題,一般我們可以通過top.iostat,vmstat等命令來查看初步定位問題。其中iostat可以給我們提供豐富的IO狀態(tài)數(shù)據(jù)2012-11-15
- 一、df 命令; df 是來自于coreutils 軟件包,系統(tǒng)安裝時,就自帶的;我們通過這個命令可以查看磁盤的使用情況以及文件系統(tǒng)被掛載的位置; 舉例:2008-09-08
- 如果要查看磁盤還剩多少空間,當(dāng)然是用df的命令了,這里腳本之家小編簡單為大家介紹下2014-06-02
- Df命令是以磁盤分區(qū)為單位查看文件系統(tǒng),可以加上參數(shù)查看磁盤剩余空間信息,命令格式: df -hl 顯示格式為: 文件系統(tǒng) 容量 已用 可用 已用%2008-09-08
- 這篇文章主要介紹了Linux常用的磁盤管理及文件目錄管理命令總結(jié),包括對文件的壓縮和解壓等通常的操作方法,需要的朋友可以參考下2015-12-28
Linux學(xué)習(xí)筆記(三):磁盤和文件系統(tǒng)管理
這篇文章主要介紹了Linux學(xué)習(xí)筆記(三):磁盤和文件系統(tǒng)管理,本文講解了fdisk、mkfs、mkswap、mount、umount等命令的使用,同時介紹了LVM相關(guān)知識和命令,需要的朋友可以參2015-01-01linux學(xué)習(xí)日記五 磁盤與文件系統(tǒng)管理
這系列文章主要是一刀寫的linux相關(guān)學(xué)習(xí)資料,這篇文章主要介紹了linux下的磁盤與文件系統(tǒng)管理 ,需要的朋友可以參考下2013-04-15