Linux系统磁盘管理基本知识
此篇文章主要对关于磁盘的基本管理知识做一下梳理,涉及到文件系统基本知识、磁盘分区、格式化、挂载、卸载和中间涉及到的一些Linux下的命令工具。
在开始动手前我们应该了解一些基本的知识,文件系统。文件系统是什么呢?简单来说是我们在存放数据的时候按照一定的规律来写入磁盘,那么按照什么”规律”呢就是按照文件系统定制的“规律”,就像我们去图书馆找一本书,如果没有书架而是一大堆书在那我们自己一本一本的翻那我们就要翻到天荒地老了,但是图书馆的管理员用书架然后把书架按类别分类命名再把书放到相应的格子里面我们很快就能找到我们想要的书了。那么文件系统也是同样的道理它们有一套自己的机制和结构来存放我们需要储存的数据。文件系统是属于系统内核部分的有了这套机制我们存取数据就方便多了。再介绍一下常见的文件系统:windows下有FAT、FAT32、NTFS、CDFS等等 在Linux系统下:EXT2、EXT3、EXT4、XFS,btrfs,reiserfs,jfs,swap等等
我们再说磁盘分区,分区我认为也是为了快速的能定位到文件,也能方便我们用户对数据的管理。其实在对硬盘分区的时候系统对硬盘进行了好多操作比如,写入主引导记录(MBR)和各项物理参数等等,而磁盘分区又分主分区,扩展分区,和逻辑分区我们引用网上的一篇文章来简单说一下各个分区:
1.Linux中,每个盘片的第一个扇区主要记录两个重要的信息:
(1).主引导区(MBR):可以安装引导加载程序的地方,占扇区的446bytes。
(2).分区表:记录整块硬盘分区的状态(这里假设每个磁盘只有一个盘片),占64bytes。
2.因为硬盘限制,分区表可以分一到四个主分区(Primary),或者包含一个扩展分区(Extended)和一到三个主分区。主分区和扩展分区总共不能超过四个,因为操作系统的限制,扩展分区不能超过一个。其中,扩展分区可以再继续分区,叫做逻辑分区。
3.主分区的作用就是计算机用来进行启动操作系统的,因此每一个操作系统的启动,或者称作是引导程序,都应该存放在主分区上。扩展分区的目的是使用额外的扇区来记录分区信息,不能直接使用,只有分成逻辑分区才能被格式化后作为数据访问的分区。
4.在Linux下,我们根据系统中的设备文件名,如/dev/hda3和/dev/hda5来使用扩展分区和逻辑分区。(逻辑分区的设备名称号码由5开始)
那么我们分区好了我们就可以用了吗?不是,没有文件系统我们依然无法使用分区,使用前我们需要进行格式化,格式化其实就是写入我们提到的文件系统的一个操作。那么怎么分区呢,常见的分区软件有很多都可以进行磁盘分区操作和格式化也可以使用系统自带的工具。以下我们将使用Linux自带的fdisk来分区和格式化
好我们开始我这里在Linux虚拟机中演示在系统下进行分区格式化的操作跟现实中没有什么区别的,请事先在虚拟机下添加好磁盘我这里添加的是一块SCSI接口的20GB的硬盘。
第一步我们需要看一下Linux识别到硬盘了没有,我们使用fdisk�Cl 可以查看:
Linux对硬盘的排序是sda、sdb、sdc….. 在上图里面sda是原有硬盘还显示了分区信息,那么我们新加的当然就是排sdb了 ,接下来我们直接使用fdisk进行分区和格式化,输入:
fdisk /dev/sdb 在这里sdb就是我们要操作的硬盘一定要选对不然搞错了那就…..
我们进入了fdisk的命令行模式,那么我们要怎么操作呢,上面显示m for help 就是键入m获取帮助了,我们输入m按下回车可以看到下图:
这里能看到每个字母应对的什么造作这里我们把常用的翻译一下:引用网上信息
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete apartition 注:这是删除一个分区的动作;
l listknown partition types 注:l是列出分区类型,以供我们设置相应分区的类型;
m printthis menu 注:m 是列出帮助信息;
n add anew partition 注:添加一个分区;
o create a new empty DOS partition table
p printthe partition table 注:p列出分区表;
q quitwithout saving changes 注:不保存退出;
s create a new empty Sun disklabel
t change apartition's system id 注:t 改变分区类型;
u change display/entry units
v verify the partition table
w writetable to disk and exit 注:把分区表写入硬盘并退出;
x extrafunctionality (experts only) 注:扩展应用,专家功能;
我们这里要分区那就是选择n添加一个分区了,我们输入n按下回车:
这里让我们选择是要扩展分区e 还是要主分区p .我这里想分两个区一个主分区,一个扩展分区然后整个扩展分区分一个逻辑分区,那么我们输入p 按下回车:
这里是让我们输入分区的编号因为主分区只能有4个所以这里的选择范围就是1-4.我们是第一个分区就选1吧输入1按下回车:
上图中输入结束柱面的位置是可以使用我们常用单位K,M,G的所以可以直接输入大小然后按回车我们就返回到命令行了这时候分区完成了,接着我们继续建立扩展分区,继续按n然后选择e,分区号:2 剩余空间都给扩展分区所以开始和结束都直接按回车。
上面我们提到过扩展分区是不能直接使用的所以我们需要在扩展分区上建立逻辑分区才行那么继续:
好了分区完毕,但是在这里我们的所有操作是记录在内存里面并没有写入到硬盘我们需要保存我们的分区设置然后退出,所有还要输入w保存退出。我们再用fdisk �Cl来查看以下我们新硬盘的分区:
显示了我们新硬盘的分区信息和分区编号
我们说过分区后还不能使用所以接下来我们要对分区进行格式化,Linux格式化命令有mkfs。怎么使用呢,我们输入mkfs然后按两次tab键然后出现以下信息,这些信息是你当前系统上所支持的文件系统格式,我们就分成ext4。整个的命令格式是
mkfs.ext4 /dev/sdb1其中sdb1是我们要进行格式化的分区不要选错
以上就是格式化完成的信息,我们按照同样的命令再格式化sdb5整个硬盘就分区格式化完成了.然后我们需要让Linux系统重新读取一下这个磁盘的信息我们使用
partx -a /dev/sdb这里会报几个错误我们不用理会它然后查看系统是否识别到了新分区: cat /proc/partitions 看我们的新分区已经被识别到了 OK!
分区完成后我们要对他使用,Linux需要先挂载到一个目录下面.我们使用mount命令进行挂载,比如我们挂载到usr下面的disk1 目录那我们输入:
mount /dev/sdb1/usr/disk1 注意:执行此命令前disk1目录必须事先创建好
好了以后我们存放在disk1目录中的数据其实就放在我们新加的硬盘上面了.那么以后我们要卸载这个硬盘的就使用umount /dev/sdb1 是不是很简单。卸载后你可以重新挂载到其他的目录下面可也以移除硬盘到其他电脑上。