当前位置: 代码迷 >> 综合 >> 试用过_重要_LVM 2 系统维护:linux下的LVM分区管理
  详细解决方案

试用过_重要_LVM 2 系统维护:linux下的LVM分区管理

热度:13   发布时间:2024-01-15 22:45:23.0
http://blog.chinaitlab.com/html/82/1984182-281856.html

假设现在给服务器挂接了一块339.14GB的磁盘
并希望使用LVM对这个磁盘进行分区管理
本文中我们创建两个分区,名字分别叫做data和data1
大小分别为300GB和39GB
然后使用LVM调整其大小
首先确认硬盘的设备名称
执行lvmdiskscan命令
例如得到如下结果

# 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
#

则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可以查看名字
# 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
#

这个结果就表示名为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中的,使之自动进行挂载.


# more /etc/fstab
LABEL=/1 / ext3 defaults 1 1
LABEL=/data0 /data0 ext3 defaults 1 2
LABEL=/data11 /data1 ext3 defaults 1 2
LABEL=/var /var ext3 defaults 1 2
LABEL=/tmp /tmp ext3 defaults 1 2
LABEL=/usr /usr ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda2 swap swap defaults 0 0
# lvmdiskscan
/dev/ramdisk [ 16.00 MB]
/dev/ram [ 16.00 MB]
/dev/root [ 2.00 GB]
/dev/ram2 [ 16.00 MB]
/dev/sda2 [ 8.00 GB]
/dev/ram3 [ 16.00 MB]
/dev/sda3 [ 10.00 GB]
/dev/ram4 [ 16.00 MB]
/dev/ram5 [ 16.00 MB]
/dev/sda5 [ 3.95 GB]
/dev/ram6 [ 16.00 MB]
/dev/sda6 [ 3.95 GB]
/dev/ram7 [ 16.00 MB]
/dev/sda7 [ 108.83 GB]
/dev/ram8 [ 16.00 MB]
/dev/ram9 [ 16.00 MB]
/dev/sdb1 [ 136.73 GB]
3 disks
20 partitions
0 LVM physical volume whole disks
0 LVM physical volumes