但是从操作系统的角度,您可以用把这些设备配置成逻辑卷,通过逻辑卷划分出固
定卷名的方式来固定您的设备。
做法如下
创建逻辑卷会损毁物理卷上的原有数据,所以请您在执行上面操作的时候先备份
/dev/sda /dev/sdb /dev/sdc 上的有用数据。
假设您从lun段划分 /dev/sda /dev/sdb /dev/sdc 出来,您要把这三块设备做成
逻辑卷,那么您现创建物理卷
# pvcreate /dev/sda
# pvcreate /dev/sdb
# pvcreate /dev/sdc
创建卷组
# vgcreate vg0 /dev/sda /dev/sdb /dev/sdc
卷组 vg0 的容量为 sda sdb sdc 之和
创建逻辑卷
# lvcreate -L 10G -n for_oracle vg0
这样您就在卷组 vg0 上创建了一个名为 for_oracle ,大小为 10G 的逻辑卷设
备。这样您就可以按照您的需求,在 /dev/vg0/for_oracle 上创建 ocfs 文件系
统或者 ext3 文件系统了。
如果您需要多个逻辑卷设备,您可以按照上面方式用 lvcreate 命令多次创建。
创建物理卷的命令为pvcreate
安装LVM
首先肯定系统中是否安装了lvm工具:
[root@www root]# rpm
-qa|grep lvm
lvm-1.0.3-4
如果命令成果输入相似于上例,那么解释系统已经安装了LVM管理工具;如果命令没有输出则阐明没有安装LVM管理工具,则需要从网络下载或者从光盘装
LVM rpm工具包。
安装了LVM的RPM软件包以后,要使用LVM还需要配置内核支撑LVM。RedHat默认内核是支持LVM的,如果需要重新编译内核,则需要在配置内核
时,进入Multi-device Support (RAID and LVM)子菜单,选中以下两个选项:
Multiple
devices driver support (RAID and LVM)
<*> Logical volume
manager (LVM) Support
然后重新编译内核,即可将LVM的支撑添加到新内核中。
为了使用LVM,要确保在系统启动时激活LVM,荣幸的是在RedHat7.0以后的版本,体系启动脚本已经具有对激活LVM的支撑,在/etc
/rc.d/rc.sysinit中有以下内容:
# LVM initialization
if [ -e /proc/lvm -a
-x /sbin/vgchange -a -f /etc/lvmtab ]; then
$"Setting up Logical
Volume Management:"?action /sbin/vgscan && /sbin/vgchange -a y
fi
其中要害是两个命令,vgscan命令实现扫描所有磁盘得到卷组信息,并创建文件卷组数据文件/etc/lvmtab和/etc/lvmtab.d
/*;vgchange -a y命令激活系统所有卷组。
创建和管理LVM
要创立一个LVM体系,一般须要经过以下
步骤:
1、 创建分区
使用分区工具(如:fdisk等)创立LVM分区,方式和创建其ta一般分区的方法是一样的,区别仅仅是LVM的分区类型为8e。
2、
创建物理卷
创建物理卷的命令为pvcreate,应用该命令将希望添加到卷组的所有分区或者磁盘创建为物理卷。将整个磁盘创建为物理卷的命令为:
#
pvcreate /dev/hdb
将单个分区创建为物理卷的命令为:
# pvcreate /dev/hda5
3、
创建卷组
创建卷组的命令为vgcreate,将使用pvcreate树立的物理卷创立为一个完全的卷组:
#
vgcreate web_document /dev/hda5 /dev/hdb
vgcreate命令第一个参数是指定该卷组的逻辑名:web_document。后面参数是指定希望添加到该卷组的所有分区和磁盘。vgcreate在
创建卷组 web_document 以外,还设置使用大小为4 MB的PE(默以为4MB),这表现卷组上创建的所有逻辑卷都以 4 MB
为增量单位来进行扩充或缩减。由于内核原由,PE大小决议了逻辑卷的最大大小,4 MB 的PE抉择了单个逻辑卷最大容量为 256
GB,若希望使用大于256G的逻辑卷则创建卷组时指定更大的PE。PE大小范畴为8 KB 到 512 MB,并且必需总是 2
的倍数(使用-s指定,具体请参考man vgcreate)。
4、 激活卷组
为了立即使用卷组而不是重新启动系统,可以使用vgchange来激活卷组:
# vgchange -a y
web_document
5、 添加新的物理卷到卷组中
当系统安装了新的磁盘并创建了新的物理卷,而要将其添加到已有卷组时,就需要使用vgextend命令:
# vgextend
web_document /dev/hdc1
这里/dev/hdc1是新的物理卷。
6、 从卷组中删除一个物理卷
要从一个卷组中删除一个物理卷,首先要确认要删除的物理卷没有被任何逻辑卷正在使用,就要使用pvdisplay命令观察一个该物理卷信息:
[root@rac2
~]# pvdisplay /dev/sdb*
Failed to read physical volume "/dev/sdb"
--- Physical volume ---
PV Name /dev/sdb1
VG
Name cicro
PV Size 980.00 MB / not
usable 0
Allocatable yes
PE Size (KByte)
4096
Total PE 245
Free PE 245
Allocated PE 0
PV UUID
INxyq5-JAWN-78oW-HhXv-ywoG-WVi3-3og9DR
--- Physical volume ---
PV Name /dev/sdb2
VG Name cicro
PV Size 980.00 MB / not usable 0
Allocatable
yes
PE Size (KByte) 4096
Total PE 245
Free PE 80
Allocated PE 165
PV UUID
VevdQg-IoWI-iWf2-WfpS-Aoz2-fULI-8B3KVn
如果某个物理卷正在被逻辑卷所使用,
就需要将该物理卷的数据备份到其ta处所,然后再删除。
删除物理卷的命令为vgreduce:
# vgreduce
web_document /dev/hda1
如果呈现:
[root@rac2 /]# vgreduce cicro
/dev/sdb1
/dev/cdrom: open failed: Read-only file system
Physical volume "/dev/sdb1" still in use
那么执行以下操作:
[root@rac2
/]#umount /dev/cicro/gaojf (首先卸载跟/dev/sdb1有关的逻辑分区)
[root@rac2 /]#
lvremove /dev/cicro/gaojf (移出逻辑卷gaojf)
/dev/cdrom: open failed:
Read-only file system
Do you really want to remove active logical
volume "gaojf"? [y/n]: y
Logical volume "gaojf" successfully
removed
[root@rac2 /]# vgreduce cicro /dev/sdb1 (删除物理卷)
/dev/cdrom: open failed: Read-only file system
Removed "/dev/sdb1"
from volume group "cicro"
[root@rac2 /]#
7、 创建逻辑卷
创建逻辑卷的命令为lvcreate:
# lvcreate -L 1500 -n www1 web_document
该命令就在卷组web_document上创建名字为www1,大小为1500M的逻辑卷,并且装备入口为/dev/web_document
/www1(web_document为卷组名,www1为逻辑卷名)。如果盼望创建一个使用全体卷组的逻辑卷,则需要首先观察该卷组的PE数,然后在创
建逻辑卷时指定:
# vgdisplay web_document| grep "Total PE"
Total PE 45230
#
lvcreate -l 45230 web_document -n www1
8、创建文件系统
#mkreiserfs
/dev/web_document/www1
以后,就可以加载并使用它:
# mkdir /data/wwwroot
#
mount /dev/web_document/www1 /data/wwwroot
如果盼望系统启动时主动加载文件系统,则还
须要在/etc/fstab中添加内容:
/dev/web_document/www1 /data/wwwroot
reiserfs defaults 1 2
9、 删除一个逻辑卷
删除逻辑卷以前首先需要将其卸载,然后删除:
#
umount /dev/web_document/www1
# lvremove /dev/web_document/www1
lvremove
-- do you really want to remove "/dev/web_document/www1"? [y/n]: y
lvremove
-- doing automatic backup of volume group "web_document"
lvremove --
logical volume "/dev/web_document/www1" successfully removed
10、
扩大逻辑卷大小
LVM提供了便利调整逻辑卷大小的才能,扩大逻辑卷大小的命令是lvextend:
#
lvextend ?L 12G /dev/web_document/www1
lvextend -- extending logical
volume "/dev/web_document/www1" to 12 GB
lvextend -- doing automatic
backup of volume group "web_document "
lvextend -- logical volume
"/dev/web_document/www1" successfully extended
上面的命令就实现将逻辑卷www1的
大小扩招为12G。
# lvextend ?L +1G /dev/web_document/www1
lvextend --
extending logical volume "/dev/web_document/www1" to 13 GB
lvextend
-- doing automatic backup of volume group "web_document "
lvextend --
logical volume "/dev/web_document/www1" successfully extended
上
面的命令就实现将逻辑卷www1的大小增添1G。
增添了逻辑卷的容量以后,就需要改动文件系统大小以实现应用扩充的空间。笔者推举使用reiserfs文件系统来替代ext2或者ext3。因此这里仅仅
讨论reiserfs的情形。Reiserfs文件工具提供了文件系统大小调整工具:resize_reiserfs。对于盼望调整被加载的文件系统大
小:
# resize_reiserfs -f /dev/web_document/www1
一般建议最好将文件系统卸载,调整大小,然后再加载:
# umount /dev/web_document/www1
#
resize_reiserfs /dev/web_document/www1
# mount ?t reiserfs
/dev/web_document/www1 /data/wwwroot
对于使用ext2或ext3文件系统的用户可以斟酌使用工
具
默认的centos4.4没有安装这个工具,因此可以去
下载ext2resize的rpm包,具体操作如下:
[root@rac2 ~]# rpm -ivh --force
ext2resize-1.1.19-1.i386.rpm
Preparing...
############################## [100%]
1:ext2resize
############################## [100%]
[root@rac2 ~]# ext2resize
ext2resize
v1.1.18 - 2001/03/18 for EXT2FS 0.5b
usage: ext2resize
[-dfquvV] device [new_size[bkmgt]]
-d, --debug : turn
debug info on
-f, --force : skip safety checks
-q, --quiet : be quiet (print only errors)
-u, --unsafe : skip buffer cache flushing
,;-v, --verbose : be
verbose
-V, --version : print version and exit
new_size is in ext2 blocks (1k, 2k, or 4k) (default),
disk Blocks (512 byte), Kilo-, Mega-, Giga-, or Terabytes
[root@rac2
~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3
4.9G 3.3G 1.4G 72% /
/dev/sda1 99M
8.6M 86M 10% /boot
none 125M 0 125M 0%
/dev/shm
/dev/hdc 638M 638M 0 100%
/media/cdrom
/dev/mapper/cicro-gaojf 1.3G 63M 1.2G 6%
/gaojf
[root@rac2 ~]# umount /dev/cicro/gaojf
[root@rac2
~]# lvextend -L 2G /dev/cicro/gaojf
/dev/cdrom: open failed:
Read-only file system
Extending logical volume gaojf to 2.00
GB
Logical volume gaojf successfully resized
[root@rac2 ~]#
ext2resize /dev/cicro/gaojf (刷新逻辑分区,使更改生效)
ext2resize v1.1.18 -
2001/03/18 for EXT2FS 0.5b
[root@rac2 ~]# mount /dev/cicro/gaojf
/gaojf
[root@rac2 ~]# df -h
Filesystem Size
Used Avail Use% Mounted on
/dev/sda3 4.9G 3.3G
1.4G 72% /
/dev/sda1 99M 8.6M 86M 10% /boot
none
125M 0 125M 0% /dev/shm
/dev/hdc
638M 638M 0 100% /media/cdrom
/dev/mapper/cicro-gaojf
2.0G 63M 1.9G 4% /gaojf
11、 减少逻辑卷大小
使用lvreduce即可实现减少逻辑卷的容量,同样须要首先将文件体系卸载:
# umount
/data/wwwroot
# resize_reiserfs ?s -2G /dev/web_document/www1
#
lvreduce ?L -2G /dev/web_document/www1
# mount ?t reiserfs
/dev/web_document/www1 /data/wwwroot
针对ext2/ext3文件系统,减少逻辑卷方法:
1 下载ext2resize的rpm包安装
2 umount要减小的LV
3
用ext2resize减小一个LV上的文件系统的大小
4 用lvreduce减小LV的大小
5 之后再mount,df
-Th看到生效(没有丢失数据)
[root@rac2 /]# df -h
Filesystem
Size Used Avail Use% Mounted on
/dev/sda3 4.9G 3.3G
1.4G 72% /
/dev/sda1 99M 8.6M 86M 10% /boot
none 125M 0 125M 0% /dev/shm
/dev/hdc
638M 638M 0 100% /media/cdrom
/dev/mapper/cicro-gaojf
4.0G 124M 3.7G 4% /gaojf
[root@rac2 /]# umount /gaojf
[root@rac2
/]# ext2resize -d /dev/cicro/gaojf 786432
(786432这个是数据块的数量,每个块
默认4k,786432*4096=3G 即转变逻辑分区的大小为3G。)
ext2resize v1.1.18 -
2001/03/18 for EXT2FS 0.5b
ext2_open
ext2_bcache_init
ext2_determine_itoffset
setting itoffset to +85
ext2_get_reserved
Found 81
blocks in s_reserved_gdt_blocks
ext2_resize_fs
ext2_shrink_fs
ext2_inode_relocate
ext2_block_relocate_shrink
will remove
group 24 without superblock
will remove group 25 with superblock
will remove group 26 without superblock
will remove group
27 with superblock
will remove group 28 without superblock
will
remove group 29 without superblock
will remove group 30 without
superblock
will remove group 31 without superblock
ext2_del_group
31
ext2_commit_metadata
ext2_del_group 30
ext2_commit_metadata
ext2_del_group
29
ext2_commit_metadata
ext2_del_group 28
ext2_commit_metadata
ext2_del_group 27
ext2_commit_metadata
ext2_del_group
26
ext2_commit_metadata
ext2_del_group 25
ext2_commit_metadata
ext2_del_group 24
ext2_commit_metadata
ext2_close
ext2_commit_metadata
注
意:下步必定要执行lvreduce操作,不能执行ext2resize /dev/cicro/gaojf操作,要不然上面的更改就不会生效。
[root@rac2 /]# lvreduce -L -1G /dev/cicro/gaojf
(本来此逻辑卷大小为4G,把逻辑卷减少1G)
/dev/cdrom: open failed: Read-only file
system
WARNING: Reducing active logical volume to 3.00 GB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to
reduce gaojf? [y/n]: y
Reducing logical volume gaojf to 3.00
GB
Logical volume gaojf successfully resized
[root@rac2
/]# ext2resize /dev/cicro/gaojf (刷新逻辑分区,使更改操作生效)
ext2resize
v1.1.18 - 2001/03/18 for EXT2FS 0.5b
ext2resize: new size is
same as current (786432)
[root@rac2 /]# mount /dev/cicro/gaojf
/gaojf
[root@rac2 /]# df -h
Filesystem ,; Size Used Avail
Use% Mounted on
/dev/sda3 4.9G 3.3G 1.4G 72% /
/dev/sda1 99M 8.6M 86M 10% /boot
none
125M 0 125M 0% /dev/shm
/dev/hdc
638M 638M 0 100% /media/cdrom
/dev/mapper/cicro-gaojf
3.0G 124M 2.7G 5% /gaojf
[root@rac2
/]#
阅读(4213) | 评论(0) | 转发(0) |