Linux 文件系统分割.doc_第1页
Linux 文件系统分割.doc_第2页
Linux 文件系统分割.doc_第3页
Linux 文件系统分割.doc_第4页
Linux 文件系统分割.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux如何分割文件系统在很多时候,由于系统管理员本身的经验不足,在系统安装前期不合理的分配了磁盘空间,当系统运行到一段时间之后,才发现需要对磁盘空间或者文件系统进行调整,这个时候往往让系统管理员们很头痛。因为又要保证数据不丢失,又要重新划分磁盘分区,这的却是一件比较痛苦的事情。有没有办法解决呢?这时很多管理员第一个想到的应该是LVM,通过逻辑卷来重新调整和分配多余的空间分配打需要使用的地方。这的却是个好办法,但对于我这种从来就没有用过LVM的人来说,只有采用我自己熟悉的办法,采取一种危险性相对更高的直接操作磁盘分区的方法来达到我们想要的效果。假如有这样一种情况,在系统上线的前期,我们为LINUX服务器只划分了三个分区,即根分区、/boot分区和swap分区,因为在没经验的时候,很多都是这样操作的。但这样操作的弊端是显而易见的,因为所有数据都存储在根分区下,这样很有可能由于未能及时清理产生的日志或数据文件,而导致整个磁盘空间被塞满,最终导致系统崩溃。(笔者小弟我就遇到过这样的情况,因此才萌生了重新划分磁盘分区的想法。)或者有这样一种情况,前期对磁盘分区进行了规划,但在实际运行一段时间之后,发现部分分区空闲空间很大,而部分分区却要频繁的删除数据才能保证该分区不被数据填满。这时我们肯定想要将空闲的空间划分出来,提供给需要的地方使用。还有一个问题,由于ext3文件系统本身的弱点在于会对每个文件都分配inode,在有些分区中大家可以看到,虽然空间物理容量才使用了60%70%,但已经无法向磁盘写入数据了。这是查看磁盘inode使用情况才知道,inode使用率已经100%了,(df i就可以查看inode的使用情况) 也就是在该磁盘分区已经无法再分配inode索引节点给新文件了,所以此时即使有磁盘空间,也无法往里面写入文件。这个问题,笔者小弟我是通过改换文件系统来解决的。Reiserfs是一款非常优秀的文件系统,能够非常好的解决大文件和N多小文件的索引和存取速度的问题。详细的,大家因为问问google,我的解释肯定比不过官方的说明。 那么这里,笔者小弟我,将说说如何分割ext3文件系统,(包括分割根分区),然后创建reiserfs文件系统。 首先来说说如何让系统支持reiserfs文件系统吧。(这里以Centos5为例)因为内核版本不同,会导致安装reiserfs文件系统的内核模块的方式完全不同。 由于Centos默认不支持XFS,JFS,ReiserFS文件系统,所以必须安装相应的内核补丁,庆幸的是在centos 5可以直接通过yum命令来获取到相应的补丁程序。通过采用CentOS Plus内核,实现对reiserFS的支持,方法如下: 更新内核:首先修改yum的配置文件:vi /etc/yum.repos.d/CentOS-Base.repo、(1)、将该文件centosplus部分中的enabled=0更改为enabled=1并且添加以下内容:includepkgs=kernel* jfsutils reiserfs-utils然后在 base和update部分中添加以下内容:exclude=kernel kernel-devel kernel-smp-* kernel-hugemem* kernel-largesmp* (CentOS 4 only)exclude=kernel kernel-devel kernel-PAE-* (CentOS 5 only)(2)、执行yum update,并重新启动计算机。检查是否装载reiserFS内核:modprobe -l | grep reiserFS如果看到类似如 /lib/modules/2.6.18-53.1.14.el5.centos.plus/kernel/fs/reiserFS/reiserFS.ko的内容,则表示系统已经支持reiserFS。否则可以手工执行modprobe reiserFS。(3)、对于centos 4而言,官方提供kernel-2.6.x-x.x.x.xxx.unsupported内核扩展包。以下罗列出部分该内核扩展包的扩展内容:File Systems:NTFS (read and write)XFS (read and write)JFS (read and write)ReiserFS (read and write)UFS BSD default FS (read only)BeOS FS (read only)AFS (read only)Hardware Modules:All USBAll FirewireAll SCSIVideo4 Linux and all Video, Audio and Radio modulesIPX, DECNET, netware file mount support, ability to write to a WindowsDynamic Partition. There are other items as well. See this link forthe actual config files used to build the latest unsupported kernel:/centos/4/docs/kernel-unsupported/-File System Utilities-Because of the added file system support for the above kernel, we havealso added tools to create XFS, JFS and ReiserFS partitions and makefile systems on those partitions. Here are the packages for each FS:XFS:dmapidmapi-develxfsdumpxfsprogsxfsprogs-develJFS:jfsutilsReiserFS:reiserfs-utils以下是关于unsupported内核模块在centos官方网站上的资源内容下载地址和列表:/centos/4/centosplus//centos/4/centosplus/Readme.txt(4)、Centos中的reiserfs管理工具:(a)、reiserfs-utils-3.6.19-2.4.1.i386.rpm 包的安装(for centos5),下载地址: /index.php3?stat=3&limit=5&srodzaj=1&dl=40&search=reiserfs-utils-3&field=1&field=2(b)、编译安装 reiserfsprogs-3.6.19.tar.gz ,下载地址:/linux/misc/reiserfsprogs-3.6.19.tar.gz/# tar xzvf reiserfsprogs-3.x.0j.tar.gz# cd reiserfsprogs-3.x.0j# ./configure# make# make install正确完成以上步骤之后,我们通过输入mkfs,然后双击tab键,就能看到mkfs.reiserfs的命令出现在我们的屏幕终端上。好了,接下来可以操作磁盘分区了。以下为了更加直观,我将用图文并茂的方式纪录我分割根分区的操作,而对于非根分区,操作方式一模一样,但危险性小多了!分割根分区分割根分区有一点非常重要,那就是必须到linux安全模式下进行操作,否则根分区是无法被卸载的,而在操作非根分区的时候,就可以在单用户模式下进行操作,估计有人会问,那我ssh远程操作可以吗?这问题就要问问你自己了!好了,废话少说,开始吧!强烈建议:如果在真实环境中操作,建议做好所有备份再操作,免得到时候连去哪里哭都不知道。J在进行磁盘分割之前,必须想大家说明一个很重要的概念,也就是关于磁盘柱面的计算方式,这对于我们能都正确进行分割起着至关重要的作用。1、 先用fdisk l 查看根分区的起始和终止柱面号,并用df查看磁盘使用情况。如下图:# fdisk -l# df -Th图中/dev/sda3就是根分区挂载的地方,可以看到其起始和结束柱面号是79和844。而其磁盘空间的使用情况是已用2.1G,剩余3.4G,总共5.7G。由于是在安全模式下(至于如何进入安全模式,我想不用我再啰嗦了吧。Linux rescue),所以文件系统都挂载到了/mnt/sysimage中,但在后面进行分割的时候,根分区划分后的最小空间至少等于已用空间的一倍(在这里就是4.2G),否则磁盘占用率过高可能会招致问题的产生,切忌绝对不能小于等于已使用空间的大小,否则就毁了!注意, 文件系统大小和磁盘分区大小是不能等同的: 起码他们的计量单位不同. 在文件系统中, 一般用KB, MB, GB为单位. 但在fdisk中, 是以磁盘的unit值(即一个柱面中包含的字节数)来计算的。所以运行 # fdisk /dev/sda后, fdisk显示如下信息,就能看到unit的值:Disk /dev/sda: 163.9 GB, 163928604672 bytes 255 heads, 63 sectors/track, 19929 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes2、 计算结束柱面号:以上面我的磁盘为例,我希望将5.7G分割以后让磁盘空间大小缩小到4.2G,那么柱面号的计算方式如下:终止柱面号 = 起始柱面号 + (分割后磁盘空间大小(单位M) * 1024 * 1024)/ units = 79 + (4.2G * 1000 * 1024 * 1024 ) / 8225280 = 79 + 535.42. = 615 (这里计算到的小数,不管第一位是几,都直接向前进位,在个位加1)好了,关于划分空间的计算已经完成了,接下来马上开始操作。在操作之前,我建议把需要调整的分区的数据全部纪录到纸上,包括磁盘的起始和终止柱面号,需要操作硬盘的第几个分区,分割之后剩余空间要如何处理等等,当一切数据准备就绪以后,才可以开始操作。再次提醒。如果是在真实环境中操作,一定要先备份数据。3、 将/etc/inittab启动参数修改为1,这样对于部分错误,还有进入单用户模式修复的机会。 .4、 卸载根分区所在的磁盘/dev/sda3(一般情况下,所有根分区都在sda3或hda3区域)# umount /dev/sda35、 检查文件系统一致性:# fsck n /dev/sda36、 因为我们是用的ext3文件系统,该文件系统也是一个支持journal日志的文件系统,所以必须先清除该磁盘分区上的日志信息。# tune2fs O has_journal /dev/sda37、 删除日志之后,需要重建日志:# tune2fs j /dev/sda38、 删除并且重建目标磁盘分区日志之后,我们就开始对目标磁盘分区重新分配空间。# resize2fs /dev/sda3 4200M此时会出现一个提示,要求先检测该磁盘分区上文件系统的完整性。如图:于是我们运行 # e2fsck f /dev/sda3,等待其检测完毕之后,会出现如下信息:最下面那一段 (0.8% non-contiguous) 表示的意思,我也不太明白,还需进一步证实。9、 重新划分大小(此时并不会丢失数据)# resize2fs /dev/sda3 4200M 这是ext3文件系统的命令如果是reiserfs文件系统,则是这个命令:# resize_reiserfs -s 1000M /dev/hda3这里就需要等待一段时间了,完成后如图:在完成操作之后,同样需要再一次检测该文件系统的完整性。e2fsck f /dev/sda3通过图片的对比我们可以很清楚的看到,磁盘空间的调整已经生效。 如果是reiserfs文件系统,则使用如下命令:# reiserfsck -check -fix-fixable /dev/hda310、这里就是比较致命的一步了,因为这里我们才真正的在分割文件系统。# fdisk /dev/sda进入到fdisk的操作界面,按p显示当前分区使用情况,由于要操作/dev/sda3,所以这里我们输入d,然后输入3删除第三个分区,然后再来看下图:然后输入 n ,输入p ,选择3,之后系统就会提示让你输入该新磁盘空间的柱面起始和结束号。对于上图有一个小小的说明,如果你的磁盘只有三个分区,根分区、交换分区和/boot分区,那么这里显示的将不是L logical(5 or over),而是e extended,对于linux磁盘分区而言,主分区号都只有4个,也就是primary partition (1 - 4),而如果有扩展分区,那么主分区号4将会被标识为扩展分区号,然后其余的分区在扩展分区中以5及以后的数字依次向后排列标示。其它的独立空间也都将被划分到扩展分区中,这和windows应该是一样的。所以在上面的图片中,可以很明显的看到,我的磁盘已经被我分割过一次了,而这是我第二次对根分区进行分割操作。简短的解释就到这里,让我们接着操作。如图:如图大家可以看到,这里我输入的起始和结束柱面号,而需要强调的是,起始柱面号的值只能是默认值,所以这里要么不输入,要么只能输入79,否则文件将会丢失或者会损坏文件系统。而结束柱面号,就是前面我们计算出来的柱面号。这里再次申明柱面号的计算方式:依然以我的这次操作为例,因为我要把根分区从5.7G缩小到4.2G,所以结束柱面号计算如下:至于里面的参数,参考前面的内容吧。终止柱面号 = 起始柱面号 + (分割后磁盘空间大小(单位M) * 1024 * 1024)/ units = 79 + (4.2G * 1000 * 1024 * 1024 ) / 8225280 = 79 + 535.42. = 615所以这里我输入的终止柱面号是 615 。修改完成以后,最后输入w,保存我们之前所做的所有修改。保存之后,系统会提示,只有重启系统之后,改修改才生效。所以之前我们做的所有步骤并没有删除硬盘上的任何数据,这一点非常重要。11、特殊情况说明:其实细心的观众肯定已经发现了,在上图中的sda3和sda4之间,也就是柱面615到845之间有一段空闲磁盘空间,那要如何才能利用起来呢?估计你会想,那很简单,我直接再输入n将它划分到扩展分区就行了,但事实并非如此。因为在我这个环境中,根分区已经是第二次被划分了,所以扩展分区在第一次划分根分区的时候已经被完整定义和分配了,当时分配的起始和结束柱面号就是上图中的845到1044。大家都知道,扩展分区一旦被定义分配,将无法改变。难道这里分配

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论