标签:lvm
用fdisk 分出来两个分区模拟两块硬盘,
[root@localhost ~]# fdisk /dev/sdb
Command (m for help): n (创建两个执行两遍)
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (75-130, default 75):
Using default value 75
Last cylinder or +size or +sizeM or +sizeK (75-130, default 130): +100M
Command (m for help): p
Disk /dev/sdb: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 37 297171 fd Linux raid autodetect
/dev/sdb2 38 74 297202+ fd Linux raid autodetect
/dev/sdb3 75 130 449820 5 Extended
/dev/sdb5 75 87 104391 83 Linux
Command (m for help): t (磁盘ID改成LVM)
Partition number (1-6): 5
Hex code (type L to list codes): 8e
Changed system type of partition 5 to 8e (Linux LVM)
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
[root@localhost mnt]# partprobe /dev/sdb
创建PV:
[root@localhost ~]# pvcreate /dev/sdb{5,6}
查看PV:
[root@localhost ~]# pvdisplay
创建VG:
[root@localhost ~]# vgcreate myvg /dev/sdb{5,6} mysvg为vg的名字
查看VG:
[root@localhost ~]# vgdisplay
删除VG:
[root@localhost ~]# vgremove myvg
创建VG中PE为8M:
PE大小,默认为4MB
[root@localhost ~]# vgcreate -s 8M myvg /dev/sdb{5,6}
VG太大了缩小VG,就是把拿走一个pv,在缩小之前一定要把里面的数据挪走,如果有数据的话。
如现在的vg为:
[root@localhost mapper]# vgs
VG #PV #LV #SN Attr VSize VFree
myvg 2 1 0 wz--n- 200.00M 0
PV为:
[root@localhost mapper]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb5 myvg lvm2 a- 100.00M 0
/dev/sdb6 myvg lvm2 a- 100.00M 0
把数据挪走:
pvmove /dev/sdb6
缩小VG:
vgreduce mysql /dev/sdb6
这时/dev/sdb6 不属于任何VG,如果用不着,可以从pv里删除:
pvremove /dev/sdb6
发现VG不够用了,要扩充,
先把磁盘用转成pv,
pvcreate /dev/sdb7
加到VG里:
vgextend myvg /dev/ sdb7
创建LV:
[root@localhost dev]# lvcreate -n mylv -L 200M myvg
-n 为lv的名字 -L 为lv的大小
查看LV:
[root@localhost dev]#lvdisplay
删除LV:
先umount
然后再删除:
lvremove /dev/myvg/mylv
在线扩展LV:
先要扩展物理大小,再扩展逻辑大小 :
如现在为200M,把它扩展到300M,方法如下 :
lvextend -L 300M /dev/myvg/mylv 直接到300M
或
lvextend -L + 100M /dev/myvg/mylv 在原来的基础上加100M
扩展逻辑大小:
resize2fs -p /dev/myvg/mylv
-p 有多大扩展到多大 如果不加-p 最后要跟要扩展的大小
缩减LV:(缩减到100M) 有风险
注意:
1、确保缩减后的空间大小依然能存储原有的所有数据;
2、不能在线缩减,得先卸载;
3、在缩减之前应该先强行检查文件,以确保文件系统处于一至性状态;
df -lh
umount /mnt
e2fsck -f /dev/myvg/mylv
缩减和扩展相反,要先减逻辑卷
resize2fs /dev/myvg/mylv 100M
物理:
lvreduce -L 100M /dev/myvg/mylv
缩减完后再重新挂载:
mount /dev/myvg/mylv /mnt
快照卷
1、生命周期为整个数据时长;在这段时长内,数据的增长量不能超出快照卷大小;
2、快照卷应该是只读的;
3、跟原卷在同一卷组内;
lvcreate
-s
-p r|w
lvcreate -L 50M -n mylvsnap -s -p r /dev/myvg/mylv
50M根据经验来设置,为创建快照的时候增长的大小。
标签:lvm
原文地址:http://hans925.blog.51cto.com/542170/1625881