Chinaunix首页 | 论坛 | 博客
  • 博客访问: 23706
  • 博文数量: 5
  • 博客积分: 147
  • 博客等级: 入伍新兵
  • 技术积分: 75
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-15 12:37
文章分类

全部博文(5)

文章存档

2012年(5)

我的朋友

分类: LINUX

2012-09-13 23:53:06

中创建LVM(逻辑卷)

一、逻辑卷(LVM)介绍

LVM的全名是逻辑卷管理员(Logic Volume Manager),它以卷为单位,不像传统磁盘以分区为单位,以便可以弹性地调整磁盘空间。他可以在线调整卷的大小,也可以可读可写的模式建立快照。

物理卷(Physical Volume,PV:物理卷是构成LVM的最主要的软件包,在Linux系统中,物理卷就是磁盘的分区,要不过要作为LVM物理卷,其分区系统识别码必须标识为LVM

卷组(Volume Group,VG):可以使用一个或多个物理卷组成一个卷组

逻辑卷(Logic Volume,LV):你可以把逻辑卷当成分区一样使用,逻辑卷的空间是由卷组提供的。

下表是LVM的管理工具:

物理卷

卷组

逻辑卷

扫描

Pvscan

Vgscan

Lvscan

查看

Pvdisplay

Vgdisplay

Lvdisplay

新建

Pvcreate

Vgcreate

Lvcreate

卸载

Pvremove

Vgremove

Vgremove

放大

Vgextend

Lvextend

缩小

Vgreduce

Lvreduce

二、建立LVM[i]

1、建立物理卷

新建分区:

[root@linux~]#parted –s /dev/sdb mklabel msdos

[root@linux~]#parted –s /dev/sdb mkpartfs primary ext2 0 1024

[root@linux~]#parted –s /dev/sdb mkpartfs primary ext2 1024 2048

[root@linux~]# parted –s /dev/sdb mkpartfs primary ext2 2048 3072

[root@linux~]# parted –s /dev/sdb mkpartfs primary ext2 3072 4096

设置系统标识为LVM

[root@linux~]#parted –s /dev/sdb set 1 lvm

[root@linux~]#parted –s /dev/sdb set 2 lvm

[root@linux~]#parted –s /dev/sdb set 3 lvm

[root@linux~]#parted –s /dev/sdb set 4 lvm

[root@linux~]#fdisk –l /dev/sdb | grep –i lvm

Partprobe同步磁盘状态

建立物理卷:

[root@linux~]#pvcreate /dev/sdb{1,2,3,4}

查看一下我创建的物理卷

[root@linux~]#pvdisplay

pvs查看一下:

可以看到我/dev/sdb的四个分区都已经成为物理卷

2、建立卷组

VGNAME是卷组的名称,第一个VGNAME都是唯一的,最好不要与/dev/下的其他设备名冲突。以下是我用/dev/sdb1,/dev/sdb2这两个物理卷建立一个叫mainVG的卷组

[root@linux~]#vgcreate mainVG /dev/sdb1 /dev/sdb2

查看一下我的卷组信息

[root@linux~]#vgdisplay mainVG

[root@linux~]#vgs

3、建立逻辑卷

逻辑卷的设备文件被存储在/dev/VGNAME/LVNAME,以下是我建立一个1G大小的逻辑卷空间

[root@linux~]#ls /dev/mainVG

lvcreate –L 1G –n 1stLV /dev/mainVG

查看逻辑卷是不为激活状态

[root@linux~]#lvs

如果未激活用下面命令激活

[root@linux~]#lvchange –ay /dev/mainVG/1stLV

建立出来的逻辑卷,你就可以当做一个分区,在逻辑卷上建立文件系统,挂载这个文件系统

[root@linux~]#mkfs.ext3 –F /dev/mainVG/

三、调整LVM

1、调整卷组

创建分区/dev/sdb3后创建物理卷

[root@linux~]#pvcreate /dev/sdb3

vgdisplay mainVG | grep “VG Size”

[root@linux~]#pvdisplay /dev/sdb3 | grep “PV Size”

以上可以看到,现在我的mainVG大小是1.9G,而且我的一个分区/dev/sdb3大小是900M

[root@linux~]#vgextend mainVG /dev/sdb3

[root@linux~]#vgdisplay mainVG | grep “VG Size”

现在我的mainVG大小就变成了2.85G了,增加大小正好是/dev/sdb3

 

然后我再把/dev/sdb3mainVG中卸载,mainVG又回到原先的1.9G

[root@linux~]#vgreduce mainVG /dev/sdb3

[root@linux~]#vgdisplay mainVG | grep Size

2、在线调整逻辑卷

放大:先放大LV再放大文件系统

  先扩展LV1G

 [root@linux~]#lvextend –L +1G /dev/mainVG/1stLV

再看看我的逻辑卷大小

[root@linux~]#lvdisplay /dev/mainVG/1stLV | grep ‘LV Size’

 下一步e2fsck检测LV分区

 [root@linux~]#e2fsck –f /dev/mainVG/1stLV

 下面在线拉伸LV分区

 [root@linux~]#resize2fs /dev/mainVG/1stLV

然后df查看LV分区已经在线拉伸了1G

 

四、LVM高级应用

1、产生卷快照

你可以把卷中的数据冻结起来,就像是为数据排了一张照片,可以永久保存建立时的状态

[root@linux~]#mount /dev/mainVG/1stLV /mnt/lvm

[root@linux~]#lvcreate –L 200M –s –n backup1 /dev/mainVG/1stLV

2、读取卷快照

[root@linux~]#mount /dev/mainVG/backup1 /mnt/backup

可以看到这是我逻辑卷快照的内容,现在我用20M的数据覆盖原本逻辑的passwd

[root@linux~]#dd if=/dev/zero of=/mnt/lvm/passwd bs=1M count=20

而且又新建了一个group文件,可快照中的数据并没有改 变

3、卸载逻辑卷快照

[root@linux~]#umount /dev/mainVG/backup1

卸载快照之前必须先卸载挂载

[root@linux~]#lvremove /dev/mainVG/backup1

可以看到,现在已使用空间降了200M

4、移动物理卷

加入一个新的物理卷,这里可以看到/dev/sdb2已经使用了500M

[root@linux~]#vgextend mainVG /dev/sdb3

通过pvmove/dev/sdb2的数据迁移到/dev/sdb3

[root@linux~]#pvmove /dev/sdb2 /dev/sdb3

[root@linux~]#pvscan

可以看到/dev/sdb2上的资料都移动到/dev/sdb3上了

5、卸载物理卷

[root@linux~]#vgreduce mainVG /dev/sdb2

[root@linux~]#pvremove /dev/sdb2

现在/dev/sdb2自由了,哈哈~

五、迁移至其他系统

进行迁移卷组的第一个步骤就是导出卷组

1、导出卷组

vgchange将卷组修改为非有效的配置

[root@linux~]#vgchange –a n mainVG

然后用vgexport导出卷组

[root@linux~]#vgexport mainVG

2、导入卷组

vgimport命令导入卷组,然后修改为有效配置

[root@linux~]#vgimport mainVG

[root@linux~]#vgchange –a y mainVG

挂载上看一下

 

阅读(1145) | 评论(0) | 转发(0) |
0

上一篇:Linux中创建raid

下一篇:没有了

给主人留下些什么吧!~~