linux文件系统调整大小的方法(linux调整分区大小)

在使用linux的过程中, 有时会出现因为安装系统时分区不当导致有的分区空间不足,而有的分区空间过剩的情况.比如: 我在安装系统时给/usr/local分配器了5G的空间,但使用一段过程后发现, /usr/local最多只用到了1G.这样可以将/usr/local大小调整为1G. 空出4G留作他用.本文归纳了在不破快文件系统数据的前提下对文件系统大小进行调整的方法.这里采用的是"拆东墙, 补西墙"的方法. 当然, 如果你的磁盘中有未分区的空闲空间, 你就不用减小某个分区的空间了.

准备工作

(一) 备份

首先组好备份要更改的分区中的文件. 对磁盘的操作也许会导致数据的丢失. 开始工作之前最好将重要的数据保存到别的分区.

(二) 获取相关信息

1, 运行 $ df , 查看文件系统信息. 记下你想要调整的分区对应的挂载点和设备文件.

这一步是为了查看/usr/local对应/dev/中的哪个设备文件. 本文以/dev/hda7为例.

2, 运行 # sudo fdisk /dev/sda . 进入fdisk , 按下p, 查看磁盘分区信息. 记下/dev/sda8的起始柱面号, 终止柱面号. 设他们分别为start, end. 并记下一个"Unit"包含多少字节.

注意, 文件系统大小和磁盘分区大小是不能等同的: 起码他们的计量单位不同. 在文件系统中, 一般用KB, MB, GB为单位. 但在fdisk中, 是以磁盘的"unit"值(即一个柱面中包含的字节数)来计算的. 我们运行 # fdisk /dev/sda后, fdisk显示如下信息:

代码如下:

Disk /dev/sda: 163.9 GB, 163928604672 bytes

255 heads, 63 sectors/track, 19929 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

(三)计算终止柱面号

e.g: 原先/usr/local的大小为5000 MB, 起始柱面号为2550, 终止柱面号为3157. 那么我现在要将它的大小改为1000MB, 应该这样计算终止柱面号( [3.2] = 4 ):

终止柱面号 = 2550 + [(1000 * 1024 * 1024 ) / 8225280] = 2678

使用fdisk删除原来的分区(以前分区的数据不会丢失!). 然后新建一个分区, 新分区于旧分区唯一的区别就在于分区大小不一样, 这表现在他们终止柱面号不同.

增加分区大小: 终止柱面号设置为空闲空间的最后一个柱面号.减小分区大小: 终止柱面号由计算得出.

开始调整

在开始调整之前, 最好拿一张纸记下要调整的分区的下列信息:

调整前大小, 调整后大小. 它挂载在哪个目录, 对应于/dev/中的哪个设备. 起始, 终止柱面

e.g: 调整前: 5G, 调整后: 1G, 挂载点: /usr/local, 对应于/dev/hda7. 起始,终止柱面分别为2550,3157

1,卸载分区

最好在runlevel=1的情况下卸载.

代码如下:

#umount/dev/

2,检查文件系统的一致性

代码如下:

#fsck-n/dev/

3,如够是ext3系统,还要去除日志

代码如下:

#tune2fs-O^has_journal/dev/

注意:取出日志后的ext3系统是无法挂载的,使用

#tune2fs-j/dev/重建日志.

4,调整文件系统大小

代码如下:

#resize_reiserfs-s1000M/dev/hda7

调整完文件系统的大小以后,再使用以下命令以文件系统进行全面的检查:

代码如下:

#reiserfsck--check--fix-fixable/dev/hda7

5,进入fdisk,调整分区大小

代码如下:

#fdisk/dev/hda

由于内核仍然使用旧的分区表,重启之后再进行后面的步骤.

通过以上步骤,我们已经完成了硬盘分区大小调整的操作,接下来回到重新调整文件系统大小的问题上来。由于硬盘分区是按照柱面来计划的,我们要在resize_reiserfs步骤上就一步到位调整文件系统大小与硬盘分区大小正好相等是比较困难的事情。所以一般是调硬盘分区比文件系统要大一点点,然后再通过以下命令进行同步(当然如果你不在意硬盘分区里面存在部分空间的话也可以忽略以下步骤):

代码如下:

#umount/home/

#resize_reiserfs/dev/hda6

这样,就将/usr/local的大小调整为1G,留下了4G的空闲磁盘空间。

(0)

相关推荐

  • 查看linux文件系统块大小的实现方法

    在linux系统上,可以用命令tune2fs ,测试如下 [root@localhost test10g]# tune2fs -help tune2fs 1.35 (28-Feb-2004) tune2fs: invalid option -- h Usage: tune2fs [-c max-mounts-count] [-e errors-behavior] [-g group] [-i interval[d|m|w]] [-j] [-J journal-options] [-l] [-s

  • Asp.net给站点某目录增加Aspnet用户

    using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControl

  • js小技巧--自动隐藏红叉叉

    当文章中链接的图片失效时,就会看到令人讨厌的红叉叉,虽然图片有alt属性可以补救一下该图的意义,但都给人不友好的感觉.  如果给图片加一个判断,当加载失败时就不显示,这样可以产生更令用户满意的体验.  代码如下: <img src='none.gif' onerror="this.parentNode.removeChild(this)" style="display:none" onload="this.style.display='block'&

  • Android编程操作嵌入式关系型SQLite数据库实例详解

    本文实例分析了Android编程操作嵌入式关系型SQLite数据库的方法.分享给大家供大家参考,具体如下: SQLite特点 1.Android平台中嵌入了一个关系型数据库SQLite,和其他数据库不同的是SQLite存储数据时不区分类型 例如一个字段声明为Integer类型,我们也可以将一个字符串存入,一个字段声明为布尔型,我们也可以存入浮点数. 除非是主键被定义为Integer,这时只能存储64位整数 2.创建数据库的表时可以不指定数据类型,例如: 复制代码 代码如下: CREATE TAB

  • linux文件系统调整大小的方法(linux调整分区大小)

    在使用linux的过程中, 有时会出现因为安装系统时分区不当导致有的分区空间不足,而有的分区空间过剩的情况.比如: 我在安装系统时给/usr/local分配器了5G的空间,但使用一段过程后发现, /usr/local最多只用到了1G.这样可以将/usr/local大小调整为1G. 空出4G留作他用.本文归纳了在不破快文件系统数据的前提下对文件系统大小进行调整的方法.这里采用的是"拆东墙, 补西墙"的方法. 当然, 如果你的磁盘中有未分区的空闲空间, 你就不用减小某个分区的空间了. 准备

  • 详解Centos/Linux下调整分区大小(以home和根分区为例)

    在安装新系统的时候,有时候没法预估或者说错误的划分了分区大小,常常会导致我们后面的操作出现极大地不方便,比如某个分区分的太小了,导致软件安装的时候会报安装空间不够,这就很麻烦.在这里我就记录一下错误分区后对home和根分区存储空间大小调整的整个过程! 1.查看我们机器现有的分区状况 注意红色框中的信息,这是我们后面要更改的分区路径.通过上面我们可以发现根分区和home分区产生极大的不合理性,home分区太大了,所以这里我们将对home分区缩小存储空间并把压缩的存储空间添加到root下面. 2.卸

  • Linux查看分区文件系统类型的方法总结

    前言 在Linux 中如何查看分区的文件系统类型,下面总结几种查看分区文件系统类型的方法.下面话不多说了,来随着小编一起学习学习吧 1: df -T 命令查看 这个是最简单的命令,文件系统类型在Type列输出.只可以查看已经挂载的分区和文件系统类型.如下所示: [root@mylnx008 ~]# df -T /dev/sdb Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/sdb xfs 315467264 43564

  • Linux外围文件系统的定制方法

    前言 一般来说,我们所说的Linux系统指的是各种基于Linux Kernel和GNU Project的操作系统发行版.为了掌握Linux操作系统的使用,了解 Linux操作系统的运作过程,理解内核与外围支撑系统的关系,加深对开源操作系统的认识,我决定造个轮子--自己定制一个Linux文件系统. 这里有两种实现方法: 直接自己实现init**\*(M1)*** 加载bios 的硬件信息-> 读取MBR –>执行Grub ->加载kernel–> 加载驱动–> init –&g

  • 详细分析Linux文件系统

    本片文章针对Linux文件系统从原理到运行机制做了非常详细的理论分析,有助于读者对此深入的理解,以下是具体内容: Linux上的文件系统一般来说就是EXT2或EXT3,但这篇文章并不准备一上来就直接讲它们,而希望结合Linux操作系统并从文件系统建立的基础--硬盘开始,一步步认识Linux的文件系统. 1.机械硬盘的物理存储机制 现代计算机大部分文件存储功能都是由机械硬盘这种设备提供的.(现在的SSD和闪存从概念和逻辑上都部分继承自机械硬盘,所以使用机械硬盘来进行理解也是没有问题的) 机械硬盘能

  • 详解Linux文件系统:ext4及更高版本

    今天带大家了解一下ext4的历史,包括其与ext3和之前的其它文件系统之间的区别 大多数现代Linux发行版默认为ext 4文件系统,就像以前的Linux发行版默认为ext3.ext2,以及-如果追溯到足够远的话-ext. 如果您是Linux新手或者是文件系统新手,您可能会想知道ext 4给表带来了什么,而ext3却没有.考虑到诸如btrfs.XFS和ZFS等备用文件系统的新闻报道,您可能还想知道ext4是否还在积极开发中. 我们不能在一篇文章中涵盖所有关于文件系统的内容,但是我们将尝试让您了解

  • Linux中文件查找方法大全

    每一种操作系统都是由成千上万个不同种类的文件所组成的.其中有系统本身自带的文件,用户自己的文件,还有共享文件等等.我们有时候经常忘记某份文件放在硬盘中的哪个地方.在微软的Windows操作系统中要查找一份文件是相当简单的事情,只要在桌面上点击"开始"-"搜索"中就能按照各种方式在本地硬盘上,局域网络,甚至在INTERNET上查找各种文件,文档. 可是使用Linux的用户就没有那么幸运了,在Linux上查找某个文件确实是一件比较麻烦的事情.毕竟在Linux中需要我们使

  • Linux强制释放占用端口以及Linux防火墙端口开放方法详解

    在安装nginx,mysql,tomcat等等服务的时候,我们会遇到需要使用的端口莫名其妙被占用,下面介绍如何解决这类问题. 说到端口,还不得不提到防火墙,本文还会简单介绍如何配置防火墙开发端口. Linux查看端口情况的各种方法 所有端口的映射关系在 /etc/services 文件中有 Linux端口简单介绍,端口编号从0-65536,各编号端的用途如下: 0-1023:公认端口,与常见服务绑定(FTP,SSH) 1024-49151:注册端口,用于和一些服务绑定 49152-65535:动

  • linux无损扩容的方法

    概述 云平台客户的服务器可能会随着业务量的不断增长造成磁盘空间不足的情况,比如:共享文件服务器硬盘空间不足,在这个时候就需要增加磁盘空间,来满足线上的业务:又或者我们在使用linux的过程中, 有时会因为安装系统时分区不当导致有的分区空间不足,而有的分区空间过剩的情况,都可以是使用fdisk分区工具来动态调整分区的大小: 步骤 1.备份 就算是无损的扩容,但难免会出什么意外,备份是必不可少的,一般云平台都有备份功能,可直接对磁盘做一次全量备份. 2.用fdisk重新分区 默认的分区如下 root

随机推荐