blog posts

linux下的LVM分区管理

假设现在给服务器挂接了一块339.14GB的磁盘
并希望使用LVM对这个磁盘进行分区管理
本文中我们创建两个分区,名字分别叫做data和data1
大小分别为300GB和39GB
然后使用LVM调整其大小

首先确认硬盘的设备名称
执行lvmdiskscan命令
例如得到如下结果

[root@ns /data]# lvmdiskscan
/dev/cciss/c0d0p1 [ 99.59 MB]
/dev/cciss/c2d0p1 [ 1.00 KB]
/dev/cciss/c0d0p2 [ 33.82 GB] LVM physical volume
/dev/cciss/c2d0p5 [ 339.14 GB]
0 disks
2 partitions
0 LVM physical volume whole disks
1 LVM physical volumes
[root@ns /data]#

则339.14GB对应的/dev/cciss/c2d0p5就是设备名称
在设备/dev/cciss/c0d0p2的后边已经带有LVM的标记了
表示装Linux系统的时候就使用了LVM

创建物理分区

fdisk /dev/cciss/c2d0p5
按n键,创建一个分区。
类型选择主分区,大小设置为整个磁盘339.14GB即可
创建完成后按w键写入分区表

创建pv

pv的全称是Physical Vloume,首先要在物理分区上创建pv方可。
执行pvcreate /dev/cciss/c2d0p5即可

创建vg

vg的全称是Volume Group,他是一个Volume组,每个pv上要建立一个vg
执行vgcreate VolGroup01 /dev/cciss/c2d0p5
其中VolGroup01是名称,可以自定义

创建lv

lv的全称是Logical Vloume

执行lvcreate -L 300G -n data VolGroup01
其中-L 300G表示空间是300G
-n data表示名字为data
VolGroup01表示所在的vg
随后lv创建完成
这个lv的名字将会叫做/dev/vg名字/lv名字
例如/dev/VolGroup01/data
执行lvscan可以查看名字
[root@ns ~]# lvscan
ACTIVE ‘/dev/VolGroup01/data’ [300.00 GB] inherit
ACTIVE ‘/dev/VolGroup00/LogVol00’ [32.78 GB] inherit
ACTIVE ‘/dev/VolGroup00/LogVol01’ [1.00 GB] inherit
[root@ns ~]#

这个结果就表示名为data的lv已经创建完成。

同理,再创建data1分区
执行lvcreate -L 39G -n data1 VolGroup01

格式化lv

执行mkfs.ext3 /dev/VolGroup01/data
将磁盘格式化成ext3格式

执行mkfs.ext3 /dev/VolGroup01/data1
将磁盘格式化成ext3格式

挂载lv到普通目录

mkdir /www
mount /dev/VolGroup01/data /www

mkdir /www1
mount /dev/VolGroup01/data1 /www

即可将刚才的两个lv分区分别挂载到/www和/www1的位置
修改/etc/fstab可以在启动时候自动挂载到相应位置
执行df -h可以看分区列表和空间的情况

调整lv的大小

首先取消挂载
umount /www
umount /www1

执行lvresize -L-30G /dev/VolGroup01/data
即可给刚才的data分区减少30GB空间
执行lvresize -L+30G /dev/VolGroup01/data1
即可给刚才的data1分区增加30GB空间

修改之后重新挂载
mount /dev/VolGroup01/data /www
mount /dev/VolGroup01/data1 /www1

现在可以用df -h命令查看具体的磁盘空间
可以看到磁盘容量已经改变

========================================================================

如果不想破坏PV和VG的情况下,只对LV进行改变,可以这样做:

1.lvremove -f vg0/raw_01 //对vg0的raw_01进行remove;

2.lvcreate -L 150 -n test vg0 //创建一个150G的叫test的卷;

3.格式化 mkfs.ext3 /dev/vg0/test

4. mount /dev/vg0/test /mnt

5.看是否被激活成ACTIVE的,要激活它们

vgchange -ay 名字 //y是激活,n是不激活,名字也可不写,那就都激活了;

6.修改/etc/fstab中的,使之自动进行挂载.

Leave a Reply