服务器之家

专注于服务器技术!
当前位置:首页 > 服务器系统 > Linux

通过LVM为服务器硬盘扩容

发布时间:2014-03-05 来源:服务器之家

公司的FTP服务器经过几年的运行,现在出现了空间不足的情况,决定用LVM方式实现扩容工作。

思路:先拷贝数据,再购置一块大容量硬盘添加到服务器上,然后将己有的普通分区转换为物理卷,最后通过物理卷创建逻辑卷组来实现容量的扩充。

实现过程:

A、检查系统中是否安装了LVM工具,如果没有安装就下载安装。

[root@linuxas ~]# rpm -qa | grep lvm

system-config-lvm-1.0.22-1.0.el5

lvm2-2.02.16-3.el5

B、 创建和管理LVM

1、创建或转换分区

[root@linuxas ~]# fdisk /dev/sda

The number of cylinders for this disk is set to 1044.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p(查看分区情况)

Disk /dev/sda: 8589 MB, 8589934592 bytes

255 heads, 63 sectors/track, 1044 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 * 1 25 200781 83 Linux

/dev/sda2 26 535 4096575 83 Linux

/dev/sda3 536 854 2562367+ 83 Linux

/dev/sda4 855 1044 1526175 5 Extended

/dev/sda5 855 905 409626 82 Linux swap / Solaris

/dev/sda6 906 1044 1116486 83 Linux

Command (m for help): t (更改分区类型)

Partition number (1-6): 6 (将第6个分区转换成LVM)

Hex code (type L to list codes): 8e(将分区类型指定为“8e”就是LVM)

Changed system type of partition 6 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: 璁惧鎴栬祫婧愬繖.

The kernel still uses the old table.

The new table will be used at the next reboot.

Syncing disks.

2、创建物理卷

[root@linuxas /]# pvcreate /dev/sda6

Can't open /dev/sda6 exclusively. Mounted filesystem?

出现以上错误的原因是分区文件正在使用中,必须先umount才行。

[root@linuxas /]# pvcreate /dev/sda6

Physical volume "/dev/sda6" successfully created

建好物理卷后可以用“pvdisplay”命令查看物理卷情况

[root@linuxas /]# pvdisplay

--- NEW Physical volume ---

PV Name /dev/sda6

VG Name

PV Size 1.06 GB

Allocatable NO

PE Size (KByte) 0

Total PE 0

Free PE 0

Allocated PE 0

PV UUID N2LgeT-RB4Y-8YEP-lO2J-tDWu-UeCT-4Obl8p

3、创建逻辑卷组

[root@linuxas /]# vgcreate tgt /dev/sda6

Volume group "tgt" successfully created

You have new mail in /var/spool/mail/root

查看逻辑卷组情况

[root@linuxas /]# vgdisplay

--- Volume group ---

VG Name tgt

System ID

Format lvm2

Metadata Areas 1

Metadata Sequence No 1

VG Access read/write

VG Status resizable

MAX LV 0

Cur LV 0

Open LV 0

Max PV 0

Cur PV 1

Act PV 1

VG Size 1.06 GB (VG为逻辑卷组的大小)

PE Size 4.00 MB (PE为逻辑卷组最小存储单位)

Total PE 272

Alloc PE / Size 0 / 0

Free PE / Size 272 / 1.06 GB

VG UUID g33wzW-yCvX-gc64-YQuD-LYeP-zgra-TGAa8G

4、 激活逻辑卷组

[root@linuxas /]# vgchange -a y tgt

0 logical volume(s) in volume group "tgt" now active

5、创建逻辑卷

[root@linuxas /]# lvcreate -L 1000M -n lvm tgt (-L指定大小,-n指定该逻辑卷的名称)

Logical volume "lvm" created

6、创建文件系统

[root@linuxas /]# mkfs -j /dev/tgt/lvm

mke2fs 1.39 (29-May-2006)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

128000 inodes, 256000 blocks

12800 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=264241152

8 block groups

32768 blocks per group, 32768 fragments per group

16000 inodes per group

Superblock backups stored on blocks:

32768, 98304, 163840, 229376

Writing inode tables: done

Creating journal (4096 blocks): done

Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 31 mounts or

180 days, whichever comes first. Use tune2fs -c or -i to override.

7、挂载文件系统

[root@linuxas /]# mount -t ext3 /dev/tgt/lvm /home

C、 为LVM扩容

1、新添一块硬盘并进行分区操作,并指定为LVM

[root@linuxas /]# fdisk -l

Disk /dev/sda: 8589 MB, 8589934592 bytes

255 heads, 63 sectors/track, 1044 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 * 1 25 200781 83 Linux

/dev/sda2 26 535 4096575 83 Linux

/dev/sda3 536 854 2562367+ 83 Linux

/dev/sda4 855 1044 1526175 5 Extended

/dev/sda5 855 905 409626 82 Linux swap / Solaris

/dev/sda6 906 1044 1116486 8e Linux LVM

Disk /dev/sdb: 5368 MB, 5368709120 bytes

255 heads, 63 sectors/track, 652 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sdb1 1 652 5237158+ 8e Linux LVM

2、创建物理卷

[root@linuxas /]# pvcreate /dev/sdb1

Physical volume "/dev/sdb1" successfully created

3、将新添的物理卷加入到已有的逻辑卷组中

[root@linuxas /]# vgextend tgt /dev/sdb1

Volume group "tgt" successfully extended

4、为LVM扩容

[root@linuxas /]# lvextend -L 5368M /dev/tgt/lvm (此命令将此卷的总容量定为5368M)

Extending logical volume lvm to 5.24 GB

Logical volume lvm successfully resized

或者用[root@linuxas /]# lvextend -L +1000M /dev/tgt/lvm(此命令将此卷的总容量增加1000M)

[root@linuxas /]# e2fsck -f /dev/tgt/lvm                          ( 检查LVM设备对应inode和block之间的关系)

[root@linuxas /]# resize2fs /dev/tgt/lvm (使增加的容量生效)