码迷,mamicode.com
首页 > 其他好文 > 详细

磁盘的分区、格式化、检验与挂载

时间:2018-07-09 11:05:52      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:读写   写入   defaults   退出   比较   du -sh   存储   linux内核   技术分享   

1,新增一块硬盘之后要干嘛?

(1)对磁盘进行分区

(2)对该分区进行格式化,以创建系统可用的文件系统

(3)对刚才新建好的文件系统进行检验

(4)在系统中创建挂载点,并将它挂载上来

2,对相应的操作解释命令

(1)磁盘分区:fdisk

技术分享图片

几个常用的指令:

d:删除一个分区

n:新建一个分区

p:打印分区信息

q:不保存退出

w:保存并退出

(2)磁盘格式化:mkfs(格式化成默认的文件系统),mke2fs(定制自己想要的文件系统,比如block大小 inode大小)目标是对某个逻辑分区

(3)磁盘检验:fsck,目标是对某个逻辑分区

这是用来检查和修正文件系统错误的命令,只有文件系统出现问题时才使用该命令,正常情况下使用该命令会造成对系统的危害(注意:被检查的分区不可以挂载到系统上,是需要卸载的状态)

(4)磁盘的挂载与卸载(mount)

注意:a,单一文件系统不应该被重复挂载在不同的挂载点;b,单一目录不应该重复挂载多个文件系统;c,作为挂载点的目录应该是空目录

 为什么mount挂载时,有时候不用加-t参数来制定文件系统,由于文件系统几乎都有superblock,我们的Linux可以通过分析superblock来搭配Linux自己的驱动程序去测试挂载,如果成功挂载就立刻自动使用该类型的文件系统挂载起来

/etc/filesystems:系统指定的测试挂载文件系统类型

技术分享图片

/proc/filesystems:Linux系统已经加载的文件系统类型

技术分享图片

我们Linux支持的文件系统之驱动程序都写在如下目录:

技术分享图片

(5)重新挂载目录(-o参数)

#mount -o remount,rw /

 (6)通过mount --bind的功能将某个目录挂载在其他空目录中

(7)umount(将设备文件卸载)

就是直接将已经挂载的文件系统卸载,-f参数是强制卸载

3,磁盘参数的修改(相关命令介绍)

(1)mknod

设备通过文件来代表,就是通过文件的major和minor数值来代替

技术分享图片

如上图,8为主设备代码,而0~2代表次设备代码,Linux内核认识的设备数据就是通过这两个数值来决定的

(2)e2label

修改文件系统的卷标

#e2label 设备名称 新的label名称

(3)tune2fs

更改某个分区的文件系统版本 ext2>ext3

(4)hdparm

测试这块硬盘的读取性能

hdparm -Tt /dev/sda

技术分享图片

4,设置开机挂载

(1)开机挂载(/etc/fstab和/etc/mtab)

a,/etc/fstab:就是我们利用mount命令进行挂载时,将所有的参数写入到这个文件中就可以了

文件内容一共有六个字段

第一列:磁盘设备文件名或该设备的label

第二列:挂载点(mount point),就是目录

第三列:磁盘分区的文件系统,ext3、xfs、ext4

第四列:文件系统参数

参数入下:

async/sync:设置磁盘是否以异步的方式运行,默认为async(性能较佳)

auto/noauto:当执行mount -a时,此文件系统是否会被主动测试挂载,默认为auto

rw/ro:该分区是以读写或者是只读的形态挂载上来

exec/noexec:限制在此文件系统内是否可以进行“执行”的工作,如果是纯粹用来存储数据,设置noexec会比较安全,但是会比较麻烦

user/nouser:表示是否允许用户使用mount命令来挂载,一般来说,我们当然不希望一般省份的user能使用mount,因为太不安全了

suid/nosuid:表示该文件系统是否运行suid的存在

usrquota:这个是在启动文件系统支持磁盘配额模式

grpquota:这个是在启动文件系统支持群组磁盘配额模式

defaults:同时具有rw,suid,exec,dev,auto,nouser,async等参数

第五列:能否被dump备份命令作用

dump是用来作为备份的命令,我们可以在fstab来指定哪个文件系统必须要进行dump备份,0代表不要做dump备份,1代表要每天进行dump的操作,2也代表其他不定日期

第六列:是否以fsck检验扇区

开机过程中,系统会默认会fsck检验我们的文件系统是否完整,不过有些文件系统是不需要检验的,比如swap, /proc目录,0是不需要检验,1是较早检验,2是较1迟检验

b,关于/etc/mtab文件,在默认情况下,系统会将实际挂载的情况实时写入/etc/mtab中,以便其他程序的运行,但在某些情况下(单用户模式)为了避免问题,会刻意不写入,用mount -n参数来不写入。

(2)特殊设备loop挂载

a,挂载光盘/DVD镜像文件

mount -o loop /root/xx.iso /mnt/iso ;这样就不用将文件刻录成光盘或者是DVD就能读取内部的数据

5,内存交换空间(swap)的构建

swap的功能就是应付物理内存不足的情况下所造成的内存扩展的功能

一般来说,如果硬件的配备足够的话,那么swap应该不会被我们的系统所使用到,swap会被利用到通常就是物理内存不足的情况了,当内存不足的时候,为了让后续的程序可以顺利的执行,因此暂时不用的程序和数据都会被挪到swap中,此时内存就会空出来该需要执行的程序加载

(1)使用物理分区构建swap

a,分区:现实fdisk来分区

b,格式化:mkswap命令格式化分区

c,使用:swapon 设备文件名

d,查看: free -g

(2)使用文件来构建swap

a,dd一个文件

b,格式化文件

c,启动

d,检查

 6,文件系统的特殊查看与操作

(1)boot sector与superblock的关系

如果block大小正好是1024的话,那么boot sector与superblock会各占用一个block,所以boot sector会独立于super block外面

如果block大于1024bytes,那么superblock就在第一个block上面,boot sector也在第一个block上

(2)磁盘空间的浪费问题

total:是该目录下的所有数据所占用的实际block数量Xblock大小的值

ll -s : 查看每个文件占用了多少个block

du -sh /etc ::查看/etc目录所消耗的空间大小

(3)利用GNU的parted进行分区行为

虽然可以使用fdisk来进行分区,不过fdisk却无法支持高于2TB以上的分区。这个时候就需要parted来处理

 

磁盘的分区、格式化、检验与挂载

标签:读写   写入   defaults   退出   比较   du -sh   存储   linux内核   技术分享   

原文地址:https://www.cnblogs.com/yiweibuzhimingdemoumou/p/9249413.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!