linux-Centos下磁盘管理(fdisk)

Centos下磁盘管理 - linux

磁盘基础知识

磁盘结构

磁道:上图中硬盘被一圈圈分成18等分的同心圆,这些同心圆就是磁道.但打开硬盘,用户不能看到这些,它实际上是被磁头磁化的同心圆.这些磁道是有间隔的,因为磁化单元太近会产生干扰。
扇区:每个磁道中被分成若干等份的区域.扇区是硬盘数据存储的最小单位。
柱面:假如一个硬盘只有上图中的3个磁盘片,每一片中的磁道数是相等的.从外圈开始,这些磁道被分成了0磁道、1磁道、2磁道...具有相同磁道编号的同心圆组成面就称作柱面.为了便于理解,柱面可以看作没有底的铁 桶.从上图可以看出,柱面数就是磁盘上的磁道数.柱面是硬盘分区的最小单位.因此,一个硬盘的容量=柱面*磁头*扇区*512。
簇:扇区是硬盘数据存储的最小单位,但操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻的扇区组合在一起,形成一个簇,然后再对簇进行管理.每个簇可以包括2、4、8、16、32、64个扇
2硬盘的分区
编辑

硬盘的分区

要掌握硬盘的分区,需要掌握MBR、扩展分区、逻辑分区的概念。
一个是放置该硬盘的信息区,称之为主引导分区(master boot recorder,MBR),一个是实际文件数据放置的地方.其中,MBR是整个硬盘最重要的区域,一旦MBR物理实体损坏时,则该硬盘就差不多报废了,一般来说,MBR有512个字节,且可以分为两个部分。
(1)第一部分有446个字节,用于存放引导代码,即bootloader。
(2)第二部分有64个字节,用于存放磁盘分区表.其中,每个分区的信息需要用16个字节来记录。因此,一个硬盘最多可以有4个分区,这4个分区称之为主分区和扩展分区(extended)。
注:通常所说的"硬盘分区"就是指修改磁盘分区表,它定义了"第n个磁盘块是从第x个柱面到第y个柱面".因此,当系统要读取第n个磁盘块时,就是去读硬盘上第x个柱面到第y个柱面的信息。
由于扩展分区只能有一个,所以这4个分区可以是4个主分区或者3个主分区加1个扩展分区,如下所示:
P + P + P + P
P + P + P + E
重点说明的是,扩展分区不能直接使用,还需要将其划分为逻辑分区才行,这样就产生了一个问题,既然扩展分区不能直接使用,但为什么还要划分出一定的空间来给扩展分区呢?这是因为,如果用户想要将硬盘划分为5个分区的话,那该如何?此时,就需要扩展分区来帮忙了。
由于MBR仅能保存4个分区的数据信息,如果超过4个,系统允许在额外的硬盘空间存放另一份磁盘分区信息,这就是扩展分区.若将硬盘分成3P+E,则E实际上是告诉系统,磁盘分区表在另外的那份分区表,即扩展分区其实是指向正确的额外分区表.本身扩展分区不能直接使用,还需要额外将扩展分区分成逻辑分区才能使用,因此,用户通过扩展分区就可以使用5个以上的分区了。
Attention!!!
(1)实际上,不建议用户将硬盘分为4个主分区,这是因为,假如一个20GB的硬盘,若4个主分区占据了15GB的空间,则剩下的5GB空间完全不能使用,因为已经没有多余的分区表可以记录这些空间了。
(2)考虑到磁盘的连续性,一般建议将扩展分区放在最后面的柱面内。
(3)理论上允许一个硬盘只有1个主分区,其它空间都分配给扩展分区。
3Linux磁盘分区
编辑

在Windows操作系统中,是先将物理地址分开,再在分区上建立目录.在Windows操作系统中,所有路径都是从盘符开始,如C://program file。
Linux正好相反,是先有目录,再将物理地址映射到目录中。在Linux操作系统中,所有路径都是从根目录开始。Linux默认可分为3个分区,分别是boot分区、swap分区和根分区。
无论是Windows操作系统,还是Linux操作系统,每个分区均可以有不同的文件系统,如FAT32、NTFS、Yaffs2等。
(1)boot分区
该分区对应于/boot目录,约100MB.该分区存放Linux的Grub(bootloader)和内核源码。用户可通过访问/boot目录来访问该分区.换句话说,用户对/boot目录的操作就是操作该分区。
(2)swap分区
该分区没有对应的目录,故用户无法访问。
Linux下的swap分区即为虚拟内存.虚拟内存用于当系统内存空间不足时,先将临时数据存放在swap分区,等待一段时间后,然后再将数据调入到内存中执行.所以说,虚拟内存只是暂时存放数据,在该空间内并没有执行。
Ps:虚拟内存
虚拟内存是指将硬盘上某个区域模拟为内存.因此虚拟内存的实际物理地址仍然在硬盘上.虚拟内存,或者说swap分区只能由系统访问,其大小为物理内存的2倍。
(3)根分区
在Linux操作系统中,除/boot目录外的其它所有目录都对应于该分区.因此,用户可通过访问除/boot目录外的其它所有目录来访问该分区。
Attention!!!
(1)在Linux操作系统中,用户可根据需要进行修改分区.修改后的分区中,同一目录下的文件可能在不同分区中.比如/home目录下有a、b、c三个目录,可将不同的分区挂载到这三个目录下,这种操作是允许的。
(2) 逻辑分割的数量依操作系统而不同,在Linux系统中,IDE硬盘最多有59个) 逻辑分割(5号到63号), SATA硬盘则有11个) 逻辑分割(5号到15号)。 (鸟哥版的)
不过根据最新的 linux内核技术规范 中指示,逻辑分区可以无限。
<1>硬盘上至少有1个主分区。
<2>逻辑分区不能再进行分区。
(3)Linux分区目录和"盘符"的关系:
假如硬盘安装在IDE1的主盘,并用户想分区成6个可以使用的硬盘分区,则可以采用下面两种方式。
方式一:采用3个主分区和3个逻辑分区
方式二:采用1个主分区和5个逻辑分区
当然还有其他的分区方式,只要满足上述说的规则就行
安装Linux时,默认分为三个区,分别是/boot分区、根分区和swap分区.这三个分区分别对应的盘符是hda1、hda2、hda3。
(4)Linux允许使用fdisk -l命令和df -h命令来查询其硬盘分区.其中,df无法显示出swap分区的大小。
[root@localhost /]#df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/hda2 8.8GB 3.1GB 5.3GB 38% / (根分区)
/dev/hda1 99MB 9.2MB 85MB 10% /boot (boot分区)
(5)在PC机下,A、B盘并不存在,这两个盘在Linux下类似于hda1/hda2,而C盘类似于hda3,D、E、F盘类似于hda5、hda6、hda7。
(6)swap分区不对应"盘符"。
(7)若硬盘的MBR已坏,则该磁盘就不能再作为引导盘,只能作为数据盘.因为MBR位于硬盘的起始处,用户不能通过软件进行修复,也不能跳过起始处.而硬盘中间的某个磁道坏了,用户可以软件修复,也可以跳过该磁道。

 

1.磁盘分区格式说明

linux分区不同于windows,linux下硬盘设备名为(IDE硬盘为hdx(x为从a—d)因为IDE硬盘最多四个,SCSI,SATA,USB硬盘为sdx(x为a—z)),硬盘主分区最多为4个,不用说大家也知道…..所以主分区从sdb1开始到sdb4,逻辑分区从sdb5开始,(逻辑分区永远从sdb5开始…)设备名可以使用fdisk –l查看

2.分区详解

使用ssh远程连接工具登录到系统,使用fdisk -l命令查看磁盘状态

此处可以看到两块硬盘hda和hdb,第一块硬盘hda是装好系统的。hdb硬盘是未进行分区的。

本例将这个10G的硬盘分区,分区计划:分一个主分区 ,大小3G,文件格式ext3.三个逻辑分区,大小分别为2G,2G,3G。实际分区个数和大小可论情况所定。

下面就是分区的详细步骤,由于是每一步都进行了截图和说明,内容略显复杂,其实很简单。

输入 fdisk /dev/hdb 然后回车,给硬盘进行分区。如下图

输入n回车新建分区,接着再输入p回车新建主分区,如图

此处要求选择分区号在1-4间,输入1回车

First cylinder (1-20805, default 1):这里是设置分区起始的柱面,直接回车选择默认即可,回车后如下图

Last cylinder or +size or +sizeM or +sizeK (1-20805, default 20805):此处是设置分区结束柱面,+3G表示从起始柱面开始向后3G结束,也是是设置分区大小为3G,输入+3G后回车,如下图所示

此处可输入p查看分区是否成功,输入p回车,如下图:显示分区成功

接下来我们就划分扩展分区,按n回车

这里输入e,表示创建扩展分区,输入e回车

输入分区号2回车

此处直接按回车键,表示选择默认

此处也是直接回车选择默认,表示将划分第一个主分区后的磁盘全部划分个这个逻辑分区

此处可在此输入命令p查看当前分区状态,如下图

此处就开始划分扩展分区hdb2下的逻辑分区吧!接着上图,输入命令n回车

此处输入l表示选择创建逻辑分区,输入l回车

此处直接使用回车,表示选择默认

此处输入+2G,表示划分分区大小为2G,输入+2G回车

此处要按计划再划分出两个逻辑空间,输入n回车,然后输入l回车选择逻辑分区,然后直接回车选择默认起始柱面,输入+2G回车设置分区大小

下面就要将扩展分区的磁盘大小全部分给最后一个逻辑分区,输入n回车,然后输入l选择逻辑分区,然后直接回车选择默认起始柱面,最后不设置磁盘大小直接回车

再次输入p查看当前分区状态

划分的空间与我们计划划分相同,最后输入w回车,进行保存退出。

再次使用fdisk -l命令就可以查看到磁盘hdb已经分区成功。

磁盘划分成功,下面就要对分区进行格式化了

使用命令 mkfs -t ext3  /dev/hdb1

         mkfs -t ext3  /dev/hdb5

         mkfs -t ext3  /dev/hdb6

         mkfs -t ext3  /dev/hdb7

分别对磁盘进行格式化处理,格式化为ext3文件类型

自此分区流程算是完成啦!

 

附:fdisk和mkfs,mkswap命令的参数解释

Fdisk命令详解:

m:获取帮助

n:新建分区

p:显示分区表

d:删除分区

b:设置卷标

w:写入分区表

t:改变分区文件系统类型

v:检验分区

l:显示fdisk所支持的文件系统代码

q:退出

文件系统的建立:

mkfs参数分区

-t文件系统类型指定建立的文件系统类型

注:mkfs –t ext3 =mkfs.ext3

-c建立文件系统之前检查有无坏道

-l文件名:从文件中读取坏道的情况

-v显示详细情况

mkswap 分区在分区上建立交换分区

例:在hdb7上建立交换分区命令如下:

mkswap/etc/hdb7

时间: 2024-11-13 06:41:00

linux-Centos下磁盘管理(fdisk)的相关文章

Linux CentOS下shell显示-bash-4.1$不显示用户名路径

  Linux CentOS下shell显示-bash-4.1$不显示用户名路径的解决方法 问题描述: CentOS下新增一个用户,登录进去之后shell脚本的信息如下: 而不是我们经常看到的username@hostname的组合,看起来很不舒服. 解决方案: 问题的原因是因为没有配置.bash_profile的问题,可以通过配置这个文件来解决问题. 1.在Terminal输入: [plain] vi ~/.bash_profile 2.如果没有.bash_profile可以自己添加.然后往文

Linux(CentOS)下PHP扩展PDO编译安装的方法_php技巧

本文讲述了Linux(CentOS)下PHP扩展PDO编译安装的方法.分享给大家供大家参考,具体如下: 这里是以 CentOS 为例,红帽系列的 Linux 方法应该都是如此,下面就详细说明步骤,在这里严重鄙视哪些内容啰嗦.说的杂七杂八的有关 PDO 编译安装的文章. 1.进入 PHP 的软件包 pdo 扩展目录中(注:不是 PHP 安装目录) [root@gamejzy /]# cd /tmp/lamp/php-5.3.19/ext/pdo_mysql/ 注:我的 php 软件包在 /tmp/

linux下磁盘管理之利器 lvm使用介绍

一.LVM 简介   LVM(Logical Volume Manager)是一个应用于Linux的内核的逻辑卷管理器,是Linux环境下对磁盘进行分区管理的一种机制.先介绍几个有关LVM的名词    1.PV(物理卷)可以是一个磁盘,一个分区.由PE(物理盘区)组成,多个PV可以组成一个VG(卷组).    2.VG(卷组)多个物理卷组成的一个组,但是卷组不可以直接使用,需要在上面创LV(逻辑卷)才可以使用.VG上可以创建多个LV.    3.PE(物理盘区)就像我们之前学习的磁盘的block

Linux常用的磁盘管理及文件目录管理命令总结

  磁盘管理 日程磁盘管理中,我们最常用的有查看当前磁盘使用情况,查看当前目录所占大小,以及打包压缩与解压缩; 查看磁盘空间 查看磁盘空间利用大小 代码如下: df -h -h: human缩写,以人类易读方式显示结果(既带单位:比如M/G,如果不加这个参数,显示的数字以B为单位) 代码如下: $df -h /opt/app/todeav/config#df -h Filesystem Size Used Avail Use% Mounted on 代码如下: /dev/mapper/VolGr

[Linux]CentOS下安装和使用tmux

前天随意点开博客园,看到了一篇关于tmux的文章 Tmux - Linux从业者必备利器,特意还点进去看了.毕竟Linux对于做游戏服务端开发的我来说,太熟悉不过了.不过我就粗略地看了一眼,就关掉了.直到第二天码农周刊就推荐了这篇文章,才引起我真正的关注.tmux真的那么好用吗?所以我自己也倒腾来一遍,的确在许多场景下还是非常有用的.如: 做服务器的,肯定需要关注性能的,而tmux多个pane可以很方便同时关注多项性能指标: 我们的游戏服刚好有多个服务存在,而联调多个服务的时候,可以同时看到多个

Linux下磁盘管理du命令使用说明

功能:统计目录(或文件)所占磁盘空间的大小. 语法:du [选项][文件或目录] 参数:   -s:对每个Names参数只给出占用的数据块总数.   -a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数.若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数.   -b:以字节为单位列出磁盘空间使用情况(系统默认以k字节为单位).   -k:以1024字节为单位列出磁盘空间使用情况.   -c:最后再加上一个总计(系统默认设置).   -l:计算所

Linux/CentOS下的CST和UTC时间的区别以及不一致的解决方法

今天被我遇到了,相差八小时,,,tzselect过了都不行,还得用ntupdate核一下. 网上找的,备不时之需要. ~~~~~~~~~~~~~~~~   1.在linux中,用date查看时间的时候显示: 2013年 2月 17日 星期三 19:04:14 CST 世界协调时间(Universal Time Coordinated,UTC): GPS 系统中有两种时间区分,一为UTC,另一为LT(地方时)两者的区别为时区不同,UTC就是0时区的时间,地方时为本地时间,如北京为早上八点(东八区)

Riak学习(1):Linux Centos 下安装 Riak 服务

1,介绍 8月底参加了CSND的一个技术沙龙. http://huiyi.csdn.net/meeting/info/437/cloud 书生网的cto金友兵,分享了下他们的nosql,他们经过对比分析,选型了多个nosql,最后选择了riak.因为riak比较稳定,扩展,运维方便. Riak稳定,方便,还是非常不错的. 他们只是分享了些经验,但真正掌握,搭建环境还需要自己来. riak的性能介绍和其他对比我就不研究了.书生网使用这个想必性能上也不会差到哪里. Riak在实际项目中可以使用lev

Linux CentOS下Hadoop伪分布再配置,再次一定要玩真的集群啦~~

上次配了一次,没多少感觉. 代码看累了. 配置一次再轻松一下脑袋... 不过,这次是在家里的VM上,用最新的JDK-7U-17和上HADOOP-1.1.2搞的. CENTOS版本来6.3-I386. 一次OK. 这次参考的贴子是: http://bjbxy.blog.51cto.com/854497/352692 相关输出如下: # jps2614 Jps2280 TaskTracker1908 NameNode2110 SecondaryNameNode2012 DataNode2169 Jo