詳細知識見 http://tldp.org/HOWTO/LVM-HOWTO/
實驗:增加一塊硬盤,並配置成lvm
1.在一個只有一塊hda硬盤的linux系統上,增加一塊磁盤
查看/dev/hdb是否有信息
fdisk -l
2.新建分區
fdisk /dev/hdb
n
p
3
回車
+100
w
3.創建pv
[root@test ~]# pvcreate /dev/hdb1 /dev/hdb2 /dev/hdb3
Physical volume "/dev/hdb1" successfully created
Physical volume "/dev/hdb2" successfully created
Physical volume "/dev/hdb3" successfully created
#查看所有pv信息
pvdisplay
(#對磁盤進行格式化(此步驟將fdisk磁盤,刪除pv等信息,讓其變爲一塊新盤)
[root@test ~]# dd if=/dev/zero of=/dev/hdb bs=1k count=1
輸入了 1+0 個塊
輸出了 1+0 個塊
[root@test ~]# blockdev --rereadpt /dev/hdb)
4.創建vg vg名爲myvg1
[root@test ~]# vgcreate myvg1 /dev/hdb1 /dev/hdb2 /dev/hdb3
Volume group "myvg1" successfully created
#查看vg信息
vgdisplay
5.創建lv
[root@test ~]# vgchange -a y myvg1
0 logical volume(s) in volume group "myvg1" now active
[root@test ~]# lvcreate -L50 -nlv1 myvg1
Rounding up size to full physical extent 52.00 MB
Logical volume "lv1" created
[root@test ~]# lvcreate -L50 -nlv2 myvg1
Rounding up size to full physical extent 52.00 MB
Logical volume "lv2" created
6.使vg有效
[root@test ~]# vgchange -a y myvg1
2 logical volume(s) in volume group "myvg1" now active
7.製作文件系統,並加載
lvdisplay
mke2fs /dev/myvg1/lv1
mke2fs /dev/myvg1/lv2
mkdir /lv_1
mkdir /lv_2
mount /dev/myvg1/lv1 /lv_1
mount /dev/myvg1/lv1 /lv_1
8.df -h查看結果
/dev/mapper/myvg1-lv1
51M 843K 47M 2% /lv_1
/dev/mapper/myvg1-lv2
51M 842K 47M 2% /lv_2
9.設置成開機自動mount lv分區
vi /etc/fstab
添加以下2條
/dev/myvg1/lv1 /lv_1 ext2 defaults
1 2
/dev/myvg1/lv2 /lv_2 ext2 defaults
1 2
—————————————————————————————————————————————————
實驗:將某一個lv的大小縮小到40M
1.查看需要縮小的lv目前空間佔用率
/dev/mapper/myvg1-lv2
51M 29M 21M 59% /lv_2
1.umount該lv
umount /lv_2
2.檢查該lv
e2fsck -f /dev/myvg1/lv2
3.重新設置文件系統大小,設置爲39M (關鍵是文件系統多減小點)
resize2fs /dev/myvg1/lv2 39M
4.將該lv減小到40M
lvreduce -L40 /dev/myvg1/lv2
5.再更新下文件系統大小
resize2fs /dev/myvg1/lv2
5.mount該lv
mount /dev/myvg1/lv2 /lv_2
6.查看縮小後文件大小
/dev/mapper/myvg1-lv2
39M 29M 11M 74% /lv_2
—————————————————————————————————————————————————
實驗:將某一個lv的大小增大到51M(實際結果會增加到52M)
1.查看需要縮小的lv目前空間佔用率
df -h
/dev/mapper/myvg1-lv2
43M 29M 13M 70% /lv_2
1.umount該lv
umount /lv_2
2.檢查該lv
e2fsck -f /dev/myvg1/lv2
3.重新設置文件系統大小,設置爲51M
resize2fs /dev/myvg1/lv2 51M
4.將該lv增加到51M
lvextend -L51 /dev/myvg1/lv2
5.再更新下文件系統大小
resize2fs /dev/myvg1/lv2
5.mount該lv
mount /dev/myvg1/lv2 /lv_2
6.查看增大後文件大小
/dev/mapper/myvg1-lv2
51M 29M 21M 59% /lv_2
—————————————————————————————————————————————————
實驗:從VG中刪除一個pv,例如想刪除/dev/hdb3
1.查看pv信息,發現該pv用去了40M,計算髮現,其他盤有40M以上的空閒空間
[root@test root]# pvscan
PV /dev/hdb1 VG myvg1 lvm2 [48.00 MB / 0 free]
PV /dev/hdb2 VG myvg1 lvm2 [48.00 MB / 44.00 MB free]
PV /dev/hdb3 VG myvg1 lvm2 [48.00 MB / 8.00 MB free]
2.執行pvmove,將/dev/hdb3中使用的block轉移到該vg的其他pv中
[root@test root]# pvmove -v /dev/hdb3 #-v可查看執行情況
執行成功後檢查pvscan,發現/dev/hdb3已經全爲free了
[root@test root]# pvscan
PV /dev/hdb1 VG myvg1 lvm2 [48.00 MB / 0 free]
PV /dev/hdb2 VG myvg1 lvm2 [48.00 MB / 4.00 MB free]
PV /dev/hdb3 VG myvg1 lvm2 [48.00 MB / 48.00 MB free]
Total: 3 [144.00 MB] / in use: 3 [144.00 MB] / in no VG: 0 [0 ]
3.從myvg1中刪除叫/dev/hdb3的pv
[root@test root]# vgreduce myvg1 /dev/hdb3
Removed "/dev/hdb3" from volume group "myvg1"
這樣這個/dev/hdb3的pv可以分配給其他vg了,
如果操作針對的是一整塊硬盤的話,這時這塊硬盤可以取下做其他用途了(未嘗試)
—————————————————————————————————————————————————