分类: LINUX
2008-07-17 14:24:22
假设现在给服务器挂接了一块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
其中-L
-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
格式化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
即可给刚才的data分区减少30GB空间
执行lvresize -L+
即可给刚才的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中的,使之自动进行挂载.