码迷,mamicode.com
首页 > 其他好文 > 详细

创建LVM

时间:2015-03-28 06:32:01      阅读:151      评论:0      收藏:0      [点我收藏+]

标签: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

标签:lvm

原文地址:http://hans925.blog.51cto.com/542170/1625881

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!