在定制自己的Linux系统EL之前,首先要准备一个新的分区,然后在其上创建文件系统并挂载它。
如果你和我一样,没错是把系统分了很多的区,但是却是不同的分区分配给了不同的挂载点,那么这可麻烦了,虽然分区多,却没有一个是空的。我得想想办法。。。
所幸的是我在分区时,使用了默认的LVM(Logical Volumn Management)逻辑卷管理,这是Linux提供的一个非常强大的用于管理磁盘空间的工具,它将在硬盘、分区之上和文件系统之间建立一个逻辑层,通过对这个逻辑层的管理可以方便的管理硬盘存储空间。例如:当某分区的空间快耗尽时,不必向非LVM方式的分区重新分区,然后移动原分区内的文件,只需使用命令扩展分区空间即可;再如,若新添加一块硬盘时,也不必移动文件以利用此硬盘空间,只需使用LVM扩展分区空间至这个硬盘即可。LVM这个机制使得对硬盘空间的管理大大方便了,而且也避免了如使用Magic Partition这类魔术分区软件时文件系统不兼容而导致的文件损坏和丢失的问题(这个我可深有体会,文件系统可以之间相互转换,但里面的东西就不是总那么幸运可以正常的找到和使用了)。接下来,我就用它来重新分配硬盘空间,建立一个新的分区。
使用LVM,首先要明白几个概念:物理存储介质,物理卷,卷组,逻辑卷。物理存储介质就是指用于存储数据的存储设备如硬盘;物理卷是指硬盘分区或从逻辑上与磁盘分区具有相同功能的设备(如RAID),是LVM的基本存储逻辑块,它包含有相关LVM的管理参数;卷组类似于非LVM的物理硬盘,由一个或多个物理卷组成;逻辑卷类似于非LVM的分区,在之上可建立文件系统。
我的RedHat Linux 5AS的内核版本为2.6.18-8.el5,接下来的设置都是以此为基础做的。
一、安装LVM。
先看一看系统中是否已安装了LVM,用命令:rpm -qa | grep lvm。
若安装了LVM软件包,要使用LVM,还必须配置内核支持LVM。RedHat7.0以上默认内核是支持LVM的,如果不支持的情况下,需重新编译内核,并在配置内核时,进入Device Drivers-->Multi-device support (RAID and LVM)-->Multiple devices driver support (RAID and LVM)选中,然后重新编译内核即可。为了使用LVM,要确保在系统启动时激活LVM.
可以在系统启动后使用vgscan和vgchange -a y来检测和激活lvm。但是在系统重新启动,逻辑卷可以使用前要使用以上两个命令。
幸运的是RedHat7.0以后的版本,系统启动已经具有对LVM的激活支持,在/etc/rc.d/rc.sysinit中有以下内容:
if [ -x /sbin/lvm.static ]; then
action $""Setting up Logical Volume Management:" /sbin/lvm.static vgchange -a y --ignorelockingfailure
fi
其中,有个关键命令vgchange -a y用于激活系统所有卷组
注:其实这个安装LVM及配置和启动的过程我并没有亲自测试过,不能肯定是否是对的,照搬的,不过这个过程如果对于没安装LVM的系统来说是必须的,先放在这儿,也许有时间我会研究一下。
二、用LVM创建一个新的分区(逻辑卷)
(1)先使用df -h查看具体的硬盘空间分配及挂载位置(不知道为什么,我的总是不能复制,粘贴,要不应该把我系统的显示贴上来的,没办法,就这样吧,敲起来太麻烦了)
(2)查看LVM信息
#vgdisplay 查看卷组信息
#lvdisplay 查看逻辑卷信息
#pvdisplay 查看物理卷信息
(3)缩小一个已有的逻辑卷的大小,为将要创建的逻辑卷准备空间
要缩小一个逻辑卷,首先必须缩小此逻辑卷上的文件系统,可以使用resize2fs对ext2和ext3文件系统,而对ReiserFS使用resize_reiserfs命令,其它文件系统的处理有类似命令。
例:卷组为VG1,逻辑卷为LV1,挂载位置为/home,原本为48G,准备缩减为40G
#umount /home 先卸载
#e2fsck -f /dev/VG1/LV1检查文件系统
#resize2fs -p /dev/VG1/LV1 40G
#lvreduce -L 40G /dev/VG1/LV1 或
#lvreduce -L -8G /dev/VG1/LV1 实现将逻辑卷减少8G,也可以用命令lvresize
(4)创建一个新的逻辑卷
#lvcreate -L 8G -n LVNEW VG1 创建一个名为LVNEW逻辑卷,在卷组VG1上
创建完一个逻辑卷,要在上面创建文件系统才能使用,如下:
#mkfs -t ext3 /dev/VG1/LVNEW在新的逻辑卷LVNEW上创建文件系统ext3
若要使用此逻辑卷,还需挂载它,如下:
#mkdir /MYLINUX
#mount -t ext3 /dev/VG1/LVNEW /MYLINUX
#df -h | grep /MYLINUX 用来查看一下新的文件系统
如果希望今后自动加载,则更新文件/etc/fstab.
#vi /etc/fstab
/dev/myhome/bbb /data/newsapce ext2fs default 1 2 添加此行
其实,如果你最开始在安装系统时,并没有使用LVM,当然也是可以使用LVM,只是你就需要整个的从创建物理卷,创建卷组,创建逻辑卷等等,一步一步重新分配和调整硬盘空间,我就不一一研究了,有兴趣的朋友,可以参看我给出的参考文献!
注:一些主机发布版本在使用文件系统创建工具E2fsprogs时用的是自定义的特性,这样可能在引导自定义的系统时产生问题,因为有些特性可能将不能被自定义操作系统的E2fsprogs兼容;你将会产生一个类似如下的错误提示:"unsupported filesystem features, upgrade your e2fsprogs".你可以使用如下 命令来检测:
debugfs -R feature /dev/
是你的分区名称
如果输出结果只包含has_journay,ext_attr, resize_inode, dir_index, filetype, sparse_super, large_file和needs_recovery,那么主机系统可能有一些自定义的增强功能。在这种情况下,这避免后期的问题,应使用惯用的E2fsprogs程序包并使用二进制命令在你的重新创建文件系统.
e2fsprogs的下载地址:
接着使用如下命令:
cd /tmp
tar -xzvf e2fsprogs-1.41.10.tar.gz
cd e2fsprogs-1.41.10
mkdir -v build
cd build
../configure
make #注:这里不要使用“make install"
./misc/mke2fs -jv /dev/ #注:在格式化前需先卸载分区
cd /tmp
rm -rfv e2fsprogs-1.41.8
如果你的系统有一个swap的分区,则不需要格式化它。如果创建了一个新的swap分区,则需要如下命令初始化它:
mkswap /dev/
参考文献:
Wayne Pollock.Unix/Linux Administration-Logical Volumn Management Guide.
LinuxAid.L逻辑盘卷管理LVM详解.
阅读(1535) | 评论(0) | 转发(0) |