一份非常詳細(xì)的操作流程:非常有用
LVM:logical volume manager(邏輯卷管理);LVM屏蔽了底層磁盤布局,方便于動態(tài)調(diào)整磁盤容量。
一、創(chuàng)建邏輯卷的步驟:1)通過fdisk 工具將磁盤轉(zhuǎn)換為linux分區(qū)2)通過pvcreate命令將linux分區(qū)轉(zhuǎn)換成物理卷(PV);3)通過vgcreate命令將創(chuàng)建好的物理卷處理成卷組(VG);4)通過lvcreate命令將卷組分成若干個邏輯卷(LV);5)對邏輯卷進(jìn)行格式化,掛載,動態(tài)調(diào)整邏輯卷的大小,并且該操作不會影響邏輯卷(Lv)上的數(shù)據(jù)。
二、物理卷(PV)創(chuàng)建及管理具體操作步驟:1)先查看linux分區(qū),將未使用空間轉(zhuǎn)換為物理卷(先使用fdisk建立普通分區(qū))
[root@RHEL5 ~]# fdisk -l /dev/sdb #查看linux分區(qū)情況
Disk /dev/sdb: 21.4 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System/dev/sdb1 1 500 4016218+ 83 Linux/dev/sdb2 501 1000 4016250 83 Linux/dev/sdb3 1001 1500 4016250 83 Linux/dev/sdb4 1501 2610 8916075 5 Extended/dev/sdb5 1501 2610 8916043+ 83 Linux
備注:/dev/sdb是一塊新增加的磁盤,上面沒有任何數(shù)據(jù),也未掛載
2)將linux物理分區(qū)轉(zhuǎn)變?yōu)槲锢砭韀root@RHEL5 ~]# pvcreate /dev/sdb{1,2} #將物理分區(qū)/dev/sdb{1,2}轉(zhuǎn)變?yōu)槲锢砭鞵hysical volume “/dev/sdb1″ successfully createdPhysical volume “/dev/sdb2″ successfully created
3)#使用Pvscan查看物理卷信息[root@RHEL5 ~]# pvscan #查看物理卷信息,會顯示所有物理卷信息PV /dev/sda2 VG VolGroup00 lvm2 [39.88 GB / 0 free]PV /dev/sdb1 lvm2 [3.83 GB]PV /dev/sdb2 lvm2 [3.83 GB]Total: 3 [47.54 GB] / in use: 1 [39.88 GB] / in no VG: 2 [7.66 GB]
4)使用pvdisplay查看各物理卷詳細(xì)參數(shù)[root@RHEL5 ~]# pvdisplay #查看各物理卷詳細(xì)參數(shù)— Physical volume —PV Name /dev/sda2VG Name VolGroup00PV Size 39.90 GB / not usable 20.79 MBAllocatable yes (but full)PE Size (KByte) 32768Total PE 1276Free PE 0Allocated PE 1276PV UUID aJlaad-NHPT-Cgg3-7yu4-a2RJ-kJJ1-qxSFgD
— NEW Physical volume —PV Name /dev/sdb1VG NamePV Size 3.83 GBAllocatable NOPE Size (KByte) 0Total PE 0Free PE 0Allocated PE 0PV UUID v2VajD-yS53-SiQA-yTzu-KOiD-RyT3-p0wTvt
— NEW Physical volume —PV Name /dev/sdb2VG NamePV Size 3.83 GBAllocatable NOPE Size (KByte) 0Total PE 0Free PE 0Allocated PE 0PV UUID iOoK3V-yuww-ZlLF-cRLq-v7hC-CL7c-0bQU1x———————————————————————-當(dāng)物理卷沒有被使用時可刪除物理卷[root@RHEL5 /]# pvremove /dev/sdb2 #刪除物理卷,Labels on physical volume “/dev/sdb2″ successfully wiped———————————————————————-三、卷組(VG)創(chuàng)建及管理具體操作步驟:
1)使用vgcreate將物理卷轉(zhuǎn)化為卷組
[root@RHEL5 /]# vgcreate vg01 /dev/sdb{1,2} #將已經(jīng)是物理卷的/dev/sdb{1,2}轉(zhuǎn)化為卷組名為vg01的卷組Volume group “vg01″ successfully created備注:以上未加參數(shù),擴(kuò)展塊(PE)大小默認(rèn)4M,若通過 vgcreate -s 8M vg01 /dev/sdb{1,2},則指定了擴(kuò)展塊大小為8M
2)使用vgdisplay 查看所有卷組詳細(xì)信息[root@RHEL5 /]# vgdisplay #看所有卷組詳細(xì)信息— Volume group —VG Name vg01System IDFormat lvm2Metadata Areas 2Metadata Sequence No 1VG Access read/writeVG Status resizableMAX LV 0Cur LV 0Open LV 0Max PV 0Cur PV 2Act PV 2VG Size 7.66 GBPE Size 4.00 MBTotal PE 1960Alloc PE / Size 0 / 0Free PE / Size 1960 / 7.66 GBVG UUID 1g8QL0-0cGM-TJji-Q98P-LJ3f-PhDN-2ouSM3
— Volume group —VG Name VolGroup00System IDFormat lvm2Metadata Areas 1Metadata Sequence No 3VG Access read/writeVG Status resizableMAX LV 0Cur LV 2Open LV 2Max PV 0Cur PV 1Act PV 1VG Size 39.88 GBPE Size 32.00 MBTotal PE 1276Alloc PE / Size 1276 / 39.88 GBFree PE / Size 0 / 0VG UUID AhhisY-vDrc-s4jx-XIsn-QmCp-wMiT-2v01YZ備注:也可以通過 [root@RHEL5 /]# vgdisplay -v /dev/vg01 查看具體某一卷組詳細(xì)信息
3)查看卷組信息[root@RHEL5 /]# vgscan #查看卷組信息Reading all physical volumes. This may take a while…Found volume group “vg01″ using metadata type lvm2Found volume group “VolGroup00″ using metadata type lvm2
4)擴(kuò)展卷組vgextend,將某個物理卷添加到已存在的卷組中[root@RHEL5 /]# pvcreate /dev/sdb3 #創(chuàng)建一個新的物理卷Physical volume “/dev/sdb3″ successfully created[root@RHEL5 /]# vgextend vg01 /dev/sdb3 #將新增的物理卷添加到vg01卷組中Volume group “vg01″ successfully extended———————————————————————–使用vgremove刪除卷組[root@RHEL5 /]# vgremove /dev/vg01Volume group “vg01″ successfully removed———————————————————————–四、邏輯卷(LV)創(chuàng)建及管理具體操作步驟:
1)創(chuàng)建邏輯卷大小為6G卷名為data,從vg01生成[root@RHEL5 /]# lvcreate -L 6G -n data vg01 #從卷組vg01上劃分6G的空間為邏輯卷dataLogical volume “data” created
2)對劃分的邏輯卷進(jìn)行格式化[root@RHEL5 /]# mkfs -t ext3 /dev/vg01/data #以ext3的文件格式化邏輯卷mke2fs 1.39 (29-May-2006)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)786432 inodes, 1572864 blocks78643 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=161061273648 block groups32768 blocks per group, 32768 fragments per group16384 inodes per groupSuperblock backups stored on blocks:32768, 98304, 163840, 229376, 294912, 819200, 884736
Writing inode tables: doneCreating journal (32768 blocks): doneWriting superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 35 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.
備注:也可通過 [root@RHEL5 /]# mkfs.ext3 /dev/vg01/data 格式化
3)使用lvsacn查看邏輯卷的信息[root@RHEL5 /]# lvscan #查看邏輯卷的信息ACTIVE ‘/dev/vg01/data’ [6.00 GB] inheritACTIVE ‘/dev/VolGroup00/LogVol00′ [38.88 GB] inheritACTIVE ‘/dev/VolGroup00/LogVol01′ [1.00 GB] inherit
4)使用lvdisplay查看邏輯卷的具體參數(shù):[root@RHEL5 /]# lvdisplay #查看邏輯卷的具體參數(shù)— Logical volume —LV Name /dev/vg01/dataVG Name vg01LV UUID QUmuTB-ofgI-9BbG-1DvN-gWzo-7Vqb-Twmf45LV Write Access read/writeLV Status available# open 0LV Size 6.00 GBCurrent LE 1536Segments 2Allocation inheritRead ahead sectors 0Block device 253:2
— Logical volume —LV Name /dev/VolGroup00/LogVol00VG Name VolGroup00LV UUID SrNP2L-bOWm-4clq-22Lh-Fg10-ydeg-7dNpdHLV Write Access read/writeLV Status available# open 1LV Size 38.88 GBCurrent LE 1244Segments 1Allocation inheritRead ahead sectors 0Block device 253:0
— Logical volume —LV Name /dev/VolGroup00/LogVol01VG Name VolGroup00LV UUID e7u6Wx-MXhq-Nc2o-lrF9-yea1-Hia5-Cv7d7eLV Write Access read/writeLV Status available# open 1LV Size 1.00 GBCurrent LE 32Segments 1Allocation inheritRead ahead sectors 0Block device 253:1備注:也可使用 [root@RHEL5 /]# lvdisplay -v /dev/vg01/data 查看某一邏輯卷詳細(xì)參數(shù)
5)使用lvextend增大邏輯卷大小,在線擴(kuò)容[root@RHEL5 /]# lvextend -L +1G /dev/vg01/data #從卷組vg01上對邏輯卷/dev/vg01/data進(jìn)行擴(kuò)容,邏輯卷大小變?yōu)?GBExtending logical volume data to 7.00 GBLogical volume data successfully resized
6)使用resize2fs命令更新系統(tǒng)識別的文件系統(tǒng)大小,立即生效[root@RHEL5 /]# resize2fs /dev/vg01/data #使增加的邏輯卷大小立即生效resize2fs 1.39 (29-May-2006)Resizing the filesystem on /dev/vg01/data to 1835008 (4k) blocks.The filesystem on /dev/vg01/data is now 1835008 blocks long.
7)使用lvreduce減小邏輯卷大小,必須是離線方式(即先卸載文件系統(tǒng))[root@RHEL5 /]# lvreduce -L -1G /dev/vg01/data #將邏輯卷/dev/vg01/data容量減小1GB/dev/cdrom: open failed: Read-only file systemWARNING: Reducing active logical volume to 6.00 GBTHIS MAY DESTROY YOUR DATA (filesystem etc.)Do you really want to reduce data? [y/n]: yReducing logical volume data to 6.00 GBLogical volume data successfully resized[root@RHEL5 /]# resize2fs /dev/vg01/data #使減少的邏輯卷大小立即生效resize2fs 1.39 (29-May-2006)Resizing the filesystem on /dev/vg01/data to 1572864 (4k) blocks.resize2fs: Can’t read an block bitmap while trying to resize /dev/vg01/data備注:縮小邏輯卷通常要先卸載文件系統(tǒng),并且縮小后空間容量必須大于等于文件當(dāng)前占用的容量,若操作不當(dāng),會導(dǎo)致數(shù)據(jù)丟失,須謹(jǐn)慎。
[root@RHEL5 /]# lvscan #查看邏輯卷大小變?yōu)?GBACTIVE ‘/dev/vg01/data’ [6.00 GB] inheritACTIVE ‘/dev/VolGroup00/LogVol00′ [38.88 GB] inheritACTIVE ‘/dev/VolGroup00/LogVol01′ [1.00 GB] inherit備注:——————————————————————–刪除邏輯卷[root@RHEL5 /]#lvremove /dev/vg01/data——————————————————————–五、掛載邏輯卷1)將邏輯卷掛載到/quota目錄[root@RHEL5 /]# mount /dev/vg01/data /quota/ #將邏輯卷掛載到/quota[root@RHEL5 /]# df -hTFilesystem Type Size Used Avail Use% Mounted on/dev/mapper/VolGroup00-LogVol00ext3 38G 11G 26G 29% //dev/sda1 ext3 99M 12M 82M 13% /boottmpfs tmpfs 233M 0 233M 0% /dev/shm/dev/hdc iso9660 224M 224M 0 100% /media/cdrom/dev/mapper/vg01-dataext3 6.9G 142M 6.5G 3% /quota
2)設(shè)置開機(jī)自動掛載[root@RHEL5 /]#vi /etc/fstab #設(shè)置開機(jī)自動掛載/dev/VolGroup00/LogVol00 / ext3 defaults 1 1LABEL=/boot /boot ext3 defaults 1 2devpts /dev/pts devpts gid=5,mode=620 0 0tmpfs /dev/shm tmpfs defaults 0 0proc /proc proc defaults 0 0sysfs /sys sysfs defaults 0 0/dev/VolGroup00/LogVol01 swap swap defaults 0 0/dev/vg01/data /quota ext3 defaults 0 0
六、邏輯卷快照管理功能,可以把卷中的數(shù)據(jù)凍結(jié)起來,類似于為這些數(shù)據(jù)拍一張照片,可以永久保存建立快照當(dāng)時的狀態(tài)。1)創(chuàng)建卷快照[root@RHEL5 ~]# lvcreate -L 1G -s -n snaplv1 /dev/vg01/data # lvcreate -L 原始邏輯卷大小的15%-20% -s -n 快照名 源邏輯卷名Logical volume “snaplv1″ created備注:和創(chuàng)建邏輯卷差不多,只是加了參數(shù) -s[root@RHEL5 ~]# lvscan #查看狀態(tài)為 snapshotACTIVE Original ‘/dev/vg01/data’ [6.00 GB] inheritACTIVE Snapshot ‘/dev/vg01/snaplv1′ [1.00 GB] inheritACTIVE ‘/dev/VolGroup00/LogVol00′ [38.88 GB] inheritACTIVE ‘/dev/VolGroup00/LogVol01′ [1.00 GB] inherit
2)創(chuàng)建好快照后也需要掛載點[root@RHEL5 ~]# mkdir /snap #創(chuàng)建快照掛載點[root@RHEL5 ~]# mount /dev/vg01/snaplv1 /snap #掛載快照到/snap備注:snap中的文件與/quota下一樣,即使在/quota下新增或刪除文件,/snap仍然保持不變,此時可對/snap進(jìn)行備份。
3)由于每產(chǎn)生一個卷快照就會占用一部分卷組空間,因此產(chǎn)生的卷快照越多,卷組可用的空間就會越來越少。所以在完成備份后就可刪除快照了。[root@RHEL5 quota]# umount /snap/ #卸載快照[root@RHEL5 quota]# lvremove /dev/vg01/snaplv1 #刪除快照/dev/cdrom: open failed: Read-only file systemDo you really want to remove active logical volume “snaplv1″? [y/n]: yLogical volume “snaplv1″ successfully removed
七、當(dāng)有一天實體磁盤的分區(qū)出現(xiàn)了故障,必須要更換硬盤時,該如何處理?LVM提供了pvmove工具,可以將一個物理卷上的數(shù)據(jù)轉(zhuǎn)移到另外一個物理卷上。1)將新的物理卷加入到卷組中[root@RHEL5 /]# pvcreate /dev/sdc1 #將linux分區(qū)轉(zhuǎn)換為物理卷Physical volume “/dev/sdc1″ successfully created[root@RHEL5 /]# vgextend vg01 /dev/sdc1 #將新增的物理卷添加到vg01卷組中Volume group “vg01″ successfully extended
2)移動物理卷上的數(shù)據(jù)到新加入的物理卷上[root@RHEL5 ~]# pvmove /dev/sdb1 /dev/sdc1 #將/dev/sdb1的數(shù)據(jù)移動到/dev/sdc1上/dev/sdb1: Moved: 41.7%/dev/sdb1: Moved: 84.2%/dev/sdb1: Moved: 100.0%備注:此時可使用pvscan查看變化
3)將舊的物理卷從卷組中卸載[root@RHEL5 ~]# vgreduce vg01 /dev/sdb1 #使用vgreduce將/dev/sdb1從卷組vg01中分離Removed “/dev/sdb1″ from volume group “vg01″[root@RHEL5 ~]# pvremove /dev/sdb1 #最后要能夠取下物理磁盤維修,則需要刪除此物理卷;若物理磁盤劃分成了多個物理卷,則需要將所有物理卷都刪除才可以。Labels on physical volume “/dev/sdb1″ successfully wiped
八、當(dāng)有一天需要將整個LVM的磁盤遷移到另外一臺計算機(jī)中,則需要按以下步驟:1)在原先的計算機(jī)上導(dǎo)出卷組[root@RHEL5 ~]#umount /dev/vg01/data #導(dǎo)出卷組前要先卸載該卷組中所有邏輯卷[root@RHEL5 ~]#vgchange -a n vg01 #使用vgchange將卷組修改為非有效(inactive)配置[root@RHEL5 ~]#vgexport vg01 #使用vgexport導(dǎo)出卷組2)將LVM磁盤安裝到目的計算機(jī)上
3)在目的計算機(jī)上導(dǎo)入卷組[root@RHEL5 ~]#pvscan #使用pvscan掃描所有物理卷,以便讓linux可以驅(qū)動這些物理卷[root@RHEL5 ~]#vgimport vg01 #導(dǎo)入卷組[root@RHEL5 ~]#vgchange -a y vg01 #將卷組修改為有效(active)配置
4)掛載邏輯卷[root@RHEL5 ~]#mount /devv/vg01/data /quota #將邏輯卷掛載到文件系統(tǒng)
九、 以上是對新增磁盤進(jìn)行LVM劃分。而通常在安裝系統(tǒng)時就采用了LVM劃分磁盤,按需調(diào)整磁盤空間。當(dāng)有一天,你發(fā)現(xiàn)某個文件系統(tǒng)空間不夠時,此時需要擴(kuò)容。比如說:現(xiàn)在有需求要將weblogic92安裝在 /weblogic下。而 / 空間不夠。這樣就需要將新增的邏輯卷掛載到/weblogic就OK了。
1)使用df查看各文件系統(tǒng)大小[root@tydic4f20 /]# df -hT #查看各文件系統(tǒng)大小Filesystem Type Size Used Avail Use% Mounted on/dev/mapper/vg00-LogVol00ext3 3.0G 2.0G 820M 71% //dev/mapper/vg00-lvoptext3 3.0G 69M 2.7G 3% /opt/dev/mapper/vg00-lvusrext3 6.8G 4.3G 2.2G 67% /usr/dev/mapper/vg00-lvhomeext3 3.0G 75M 2.7G 3% /home/dev/mapper/vg00-lvpublicext3 20G 1.8G 17G 10% /public/dev/mapper/vg00-lvtmpext3 3.0G 70M 2.7G 3% /tmp/dev/mapper/vg00-lvvarext3 3.0G 177M 2.6G 7% /var/dev/sda1 ext3 99M 20M 75M 21% /boottmpfs tmpfs 7.9G 0 7.9G 0% /dev/shm2)使用lvscan查看可知道卷組名字為vg00[root@tydic4f20 /]# lvscan #使用lvscan查看ACTIVE ‘/dev/vg00/LogVol00′ [3.00 GB] inheritACTIVE ‘/dev/vg00/lvopt’ [3.00 GB] inheritACTIVE ‘/dev/vg00/lvusr’ [7.00 GB] inheritACTIVE ‘/dev/vg00/lvhome’ [3.00 GB] inheritACTIVE ‘/dev/vg00/lvpublic’ [20.00 GB] inheritACTIVE ‘/dev/vg00/lvtmp’ [3.00 GB] inheritACTIVE ‘/dev/vg00/lvvar’ [3.00 GB] inheritACTIVE ‘/dev/vg00/LogVol01′ [17.62 GB] inherit
3) [root@tydic4f20 /]#lvcreate -L 20G -n lvweblogic vg00 #從卷組vg00上劃分20G的空間為邏輯卷lvweblogicLogical volume “lvweblogic” created
4)對劃分的邏輯卷進(jìn)行格式化[root@tydic4f20 /]# mkfs -t ext3 /dev/vg00/lvweblogic #以ext3的文件格式化邏輯卷
備注:注意,接下來是掛載,為了使開機(jī)自動掛載,需要修改/etc/fstab,可參照上面邏輯卷創(chuàng)建方法。十、邏輯卷創(chuàng)建及刪除推薦步驟
創(chuàng)建邏輯卷(LV)的順序:Linux分區(qū)—物理卷(PV)—卷組(VG)—邏輯卷(LV)—掛載到文件系統(tǒng)刪除邏輯卷(LV)的順序:卸載文件系統(tǒng)—-邏輯卷(LV)—卷組(VG)—-物理卷(PV)—Linux分區(qū)
新聞熱點
疑難解答