LVM(Logical Volumn Manager):
總體思路:分區(qū)成LVM格式(8e)---PV創(chuàng)建--VG創(chuàng)建---LV創(chuàng)建---格式化分區(qū)---MOUNT分區(qū)----e2fsadm調(diào)整LV大小
幾個(gè)關(guān)鍵詞:
PV (Physical Volumn);VG(Volumn Group); LV(LogicalVolumn);PE(Physical Extend物理塊 default 4M); LE(Logical Extend邏輯塊)PE:LE=1:1(Normal)
LVM的結(jié)構(gòu)簡(jiǎn)圖如下:
hda1 hdc1 sdc (PV:s 物理卷,一般為分區(qū)或整個(gè)硬盤(pán))
\ | /
\ | /
diskvg (VG卷組由物理卷組成)
/ | \
/ | \
usrlv rootlvvarlv (LV:s 邏輯卷在卷組上創(chuàng)建)
| | |
ext2 reiserfs xfs (建立在邏輯卷上的文件系統(tǒng))
PV: 實(shí)體分割區(qū)(Partition)/dev/had...
VG: 虛擬硬盤(pán) /dev/vg_name
LV:虛擬分割區(qū) /dev/vg_name/lv_name
LVM創(chuàng)建過(guò)程:
如有三個(gè)硬盤(pán)hda2(3G)/hdb2(3G)/hdc2(3G)/hdd2(3G)+hda1(100M boot分區(qū))
1、創(chuàng)建分區(qū):
fdisk/dev/hda(..hdb..hdc..hdd) -----p---n--t--8e---p--w--- reboot
(分出hda2/hdb2/hdc2/hdd2各3G的分區(qū),分區(qū)格式為8e(lvm分區(qū))
2、創(chuàng)建物理卷(PV):
pvcreate [-v]/dev/hda2 /dev/hdb2 /dev/hdc2 /dev/hdd2
***創(chuàng)建物理卷(PV)之前可以通過(guò)pvscan查看是否有物理卷及其信息,如pvscan查看到現(xiàn)有PV(如/dev/hdb1、/dev/hdc1)屬于VG(如VG0),則可以通過(guò)
pvdisplay/dev/hdb1查看現(xiàn)有LVM的情況。
****-v顯示創(chuàng)建的全部過(guò)程,可以省略
3、創(chuàng)建卷組(VG):
vgcreate[-v] [-s 8M]vg01 /dev/hda2/dev/hdb2 /dev/hdc2 /dev/hdd2
***創(chuàng)建卷組((VG)之前可以通過(guò)vgdisplay查看現(xiàn)有卷組信息;
*** -s創(chuàng)建的VG的PE大?。ㄈ?M),默認(rèn)省略不寫(xiě)為4M,必須是4的整數(shù)倍;
***VG創(chuàng)建好后,自動(dòng)就Active起來(lái),若沒(méi)有自動(dòng)Active則可以通過(guò) vgchange-a y vg01激活 VG;也可以通過(guò)vgchange -a n vg01 關(guān)閉Actice 的VG為Deactive;
***只有對(duì)Deactive的VG才能進(jìn)行更改、刪除;VG的重命名不需要Deactive,如 vgrename old_vg_namenew_vg_name;
***vgremove刪除現(xiàn)有VG :vgremove vg_name;必須是Deactive VG.
***若在創(chuàng)建了LVM后發(fā)現(xiàn)硬盤(pán)空間不夠,則可以創(chuàng)建一個(gè)LVM分區(qū),通過(guò)pvcreate激活此分區(qū),再通過(guò)vgextend加入到現(xiàn)有VG中以擴(kuò)充空間。
pvcreate/dev/hde2 ; vgextend -v vg01/dev/hde2 將hde2加入到現(xiàn)有vg01中以擴(kuò)充空間。
***若要?jiǎng)h除VG中的PV,必須先確認(rèn)此PV沒(méi)有被VG所使用:如/dev/hdd2,先查看pvdisplay/dev/hdd2 中的PV Status,若為Not Availiable則可以刪除;
vgreduce -v vg01 /dev/hdd2
4、創(chuàng)建邏輯卷(LVM):
命令lvcreate的常用方法:
lvcreate[options] -n邏輯卷名 卷組名
其中的常用可選項(xiàng)有:
"-i Stripes:采用交錯(cuò)(striped)方式創(chuàng)建LV,其中Stripes指卷組中PV的數(shù)量。
"-I Stripe_size:采用交錯(cuò)方式時(shí)采用的塊大小(單位為KB),Stripe_size必須為2的指數(shù):2N ,N=2,3...9。
"-l LEs :指定LV的邏輯塊數(shù)。
"-L size:指定LV的大小,其后可以用K、M、G表示KB、MB、GB。
"-s :創(chuàng)建一已存在LV的snapshot卷。
"-n name :為L(zhǎng)V指定名稱。
創(chuàng)建普通LV:
lvcreate -L 5G -n lv01vg01 創(chuàng)建一個(gè)名為lv01的5G虛擬分區(qū)在虛擬硬盤(pán)vg01上 /dev/vg01/lv01
lvcreate -i 4 -I 8 -L 4G -nlv02 vg01 [-i是VG中組成PV的分區(qū)個(gè)數(shù),-I 塊大小,-L LV的大小]
創(chuàng)建快照LV:
lvcreate -s -i 4 -I 16 -L 2G-n lv03_snapshot vg01
5、創(chuàng)建文件系統(tǒng):
mke2fs -j /dev/vg01/lv01 (mkfs.ext3/dev/vg01/lv02; mkfs.ext3/dev/vg01/lv_snapshot)
6、掛載:
mkdir /mnt/lv01 ;
mount -t ext3/dev/vg01/lv01 /mnt/lv01;
7、增、減LV大?。?div style="height:15px;">
3)lvextend -L+100M /dev/vg01/lv_name;(在線擴(kuò)充分區(qū)大?。?nbsp; lvreduce -L -100M/dev/vg01/lv_name (在線擴(kuò)充分區(qū)大?。?div style="height:15px;">