linux资料整理之磁盘管理

博客:http://lijinhuan.blog.51cto.com/

微博:http://weibo.com/lijinhuanexperience

微信:xiaoleetongxue


一、磁盘管理概述

   1、磁盘接口:

硬盘接口是硬盘与主机系统间的连接部件,作用是在硬盘缓存和主机内存之间传输数据不同的硬盘接口决定着硬盘与计算机之间的连接速度,在整个系统中,硬盘接口的优劣直接影响着程序运行快慢和系统性能好坏。

硬盘接口分为IDESATASCSI、光纤通道和SAS五种,IDE接口硬盘多用于家用产品中,也部分应用于服务器,SCSI接口的硬盘则主要应用于服务器市场,而光纤通道只在高端服务器上,价格昂贵。SATA是种新生的硬盘接口类型,还正处于市场普及阶段,在家用市场中有着广泛的前景。在IDESCSI的大类别下,又可以分出多种具体的接口类型,又各自拥有不同的技术规范,具备不同的传输速度,比如ATA100SATAUltra160 SCSIUltra320 SCSI都代表着一种具体的硬盘接口,各自的速度差异也较大。

 

二、文件系统概述

1、文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。

2、文件系统负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。

3、一个分区或磁盘在作为文件系统使用前,需要初始化,并将记录数据结构写到磁盘上。这个过程就叫建立文件系统。

4、文件系统通用结构:

          (1)超级块superblock

               包括文件系统的总体信息,比如大小(其准确信息依赖文件系统)

          (2) i节点inode

                i节点包括除了名字外的一个文件的所有信息。i节点包括几个数据块的数目,用于存储文件的数据。i节点中只有少量数据块数的空间。它包含了针对某一个具体文件的几乎全部信息,如文件的存取权限、所有者、大小、建立时间以及对应的目录块和数据块等;数据块是真正存储文件内容的位置,但是索引结点中不包括文件的名字,文件名是放在目录块里的,目录块里包含有文件的名字以及次文件的索引结点编号。

          (3)数据块data block

          (4)目录块directory block

          (5)间接块indirection block

 

    5、文件系统比较(手机版linux版)

第一:关于EXT2-4分区的网络说明,精简整理!

Ext2: 是 GNU/Linux 系统中标准的文件系统,其特点为存取文件的性能极好,对于中小型的文件更显示出优势,这主要得利于其簇快取层的优良设计。

Ext3: 是 ext2 的下一代,是在保有目前 ext2 的格式之下再加上日志功能。它兼容ext2,并且从ext2转换成ext3并不复杂。ext3文件系统已经非常稳定可靠。

EXT4: ext3文件系统的后继版本,但是Ext4Linux文件系统的一次革命。在很多方面,Ext4相对于Ext3的进步要远超过Ext3相对于Ext2的进步。Ext3相对于 Ext2的改进主要在日志方面,但是Ext4相对于Ext3的的改进是更深层次的,是文件系统数据结构方面的优化,是一个高效的、优秀的、可靠的和极具特点的文件系统,并且EXT3可以转为EXT4的。

 

 

第二:个人总结(根据网上多方资料分析,加上个人经验,总结如下):

ext2,标准系统格式,速度快。

ext3,有日志功能,可以随意断电了,比ext2好;但EXT3的日志系统对卡的读写频繁,这对于FLASH存储设备不好,寿命会减少。

ext4,比ext3有更强大的功能,比如大文件、无限制目录等;实测,对G6而言ext4ext3耗电!

 

 

第三:其他相关信息:

对于速度方面,比如开启A2SD+,有个a2sd --dc2sd功能,是把dalvik-cache这个文件夹放到ext分区。------据说dalvik-cache这个文件夹放回rom(手机)里,速度会好一些,也就是说在开启A2SD+时候,不要a2sd --dc2sd这个命令,只输入a2sd --enable即可!

另外,对于“速度来说肯定23更快”,这句话据专家说这是一个误区,原来一直感觉ext2ext3快,因为ext3就是多了日志系统。------其实不然,ext3的日志系统可以提高读取效率,所以ext3因为有了日志系统,速度快于ext2, 除了速度快,系统Down了之后是没有必要fsck的(我理解也就是断电影响没有EXT2大)

 

so,综上所诉,个人建议:

考虑速度和SD卡寿命,建议EXT2,但是要保证手机不会突然断电

考虑稳定,同时兼顾速度可以EXT3

追求更新,更强功能,当然就EXT4

 

个人推荐EXT3,毕竟稳定才是王道,耗电处在平衡位置!

 

 

 

三、常见文件系统维护命令

     http://www.tudou.com/listplay/D64vDjxyQYw/SNyecCzkHAQ.html

 

1du 对文件和目录磁盘使用的空间的查看

 如 du  -h  test.txt   du  -hs  / 

 http://www.cnblogs.com/peida/archive/2012/12/10/2810755.html

 

2、df 检查linux服务器的文件系统的磁盘空间占用情况

       如:df -h

     http://www.cnblogs.com/peida/archive/2012/12/07/2806483.html

 

3fsck 检查文件系统并尝试修复错误

  http://blog.chinaunix.net/uid-9525959-id-2001526.html

 

4、sync,同步内存数据到硬盘,为迫使缓冲块数据立即写盘并更新超级块。  

       http://blog.csdn.net/williamwang2013/article/details/8541628

 

5、 sudo fdisk  -l 磁盘分区工具(重点)

    注意:fdisk 分区 进入命令模式后操作

    http://blog.chinaunix.net/uid-23929712-id-2650378.html

 http://v.youku.com/v_show/id_XMzgyMDAwOTI0.html

http://v.youku.com/v_show/id_XMTU3NTM2MzY0.html

http://v.youku.com/v_show/id_XMTU3NTM2MDY4.html

http://v.youku.com/v_show/id_XNzk5NTkxNzUy.html(强烈推荐1

http://v.youku.com/v_show/id_XNzA1MjQ3OTIw.html(强烈推荐2

 

partprobe

 

   6mkfs -t 系统类型 分区   分区格式化

 

   7mount 分区  目录     挂载

 

   8dumpe2fs 装置文件名 查看分区数据块信息

 

 

四、磁盘分区格式化挂载(重启失效,看后面的自动挂载)

1、流程:

   (1)假设你是使用vm虚拟机创建linux系统的,可以关闭linux电源,然后在虚拟机设备管理处添加磁盘,然后启动电源。

   (2)使用fdisk -l命令ubuntusudo fdisk -l,查看磁盘分区情况

   (3fdisk  + 磁盘 如fdisk /dev/sdb 对磁盘进行管理

   (4)进入命令模式,选择p使用n添加一个主分区,主分区和扩展分区只能是1-4号,默认我们选择1,给其+2G可以自己调配

   (5)按n进入添加分区选择e添加扩展分区,同上操作,扩展分区不能格式化和挂载

   (6)扩展分区可以再分逻辑分区,逻辑分区可以挂载和写入数据。按n选择l添加逻辑分区,流程如上。到此分区可以基本结束

       (7)按 partprobe,可以避免有时候分区在使用要求重启而比较麻烦,fdisk -l查看分区

       (8)格式化,mkfs -t 系统类型 分区   分区必须格式化才能写入数据

       (9)挂载,“mount 分区  目录” 挂载目录必须存在,df -h 查看挂载和使用情况

 

 

 

五、光盘和U盘挂载

1、挂载U

把鼠标点击进入虚拟机,插入U盘,使用远程工作fdisk -l 默认

1)、插入u盘到计算机,如果目前只插入了一个u盘而且你的硬盘不是scsi的硬盘接口的话,那它的硬件名称为:sda1

2)、在mnt目录下先建立一个usb的目录(:[root@localhost root]# mkdir /mnt/usb)

3)、挂载U盘:mount -t vfat /dev/sda1 /mnt/usb

4)、卸载U盘:umount /mnt/usb

5)、删除usb目录:rm -rf /mnt/usb

 

其实,Linux不支持ntfs,移动硬盘不支持,但有办法支持

http://www.cnblogs.com/yeahgis/archive/2012/04/05/2432779.html

 

2、挂载光盘

挂载光盘的命令如下:

  # mount -t is09660 /dev/cdrom /mnt/cdrom

  该命令将光盘挂载到/mnt/cdrom目录,使用“ls /mnt/cdrom”命令即可显示光盘中数据和文件。


  卸载光盘的命令如下:

  # umount /mnt/cdrom

 

 

六、分区自动挂载

 

   (重启不失效,fstab不要写错,启动的时候系统会报错)

1、自动挂载

关于linux开机之后自动加载挂载的分区,这块,涉及到的文件是/etc/fstab文件 

关于这个文件的描述说明如下

要求: 

1)根目录/必须载入,而且要先于其他载入点被载入 

2)其他载入点必须为已建立的目录 

3)若进行卸载,必须先将工作目录移到载入点及其子目录之外 

 

下面是/etc/fstab的实例 

# This file is edited by fstab-sync - see ‘man fstab-sync‘ for details 

LABEL=/                 /                       ext3    defaults        1 1 

none                    /dev/pts                devpts  gid=5,mode=620  0 0 

none                    /dev/shm                tmpfs   defaults        0 0 

none                    /proc                   proc    defaults        0 0 

none                    /sys                    sysfs   defaults        0 0 

LABEL=SWAP-sda2         swap                    swap    defaults        0 0 

/dev/sda3                /home                   ext3    defaults        1 1 

/dev/hdc                /media/cdrom            auto    pamconsole,exec,noauto,managed 0 0 

/dev/fd0                /media/floppy           auto    pamconsole,exec,noauto,managed 0 0 

第一列为设备号或该设备的卷标 (也可以写uuid

第二列为挂载点 

第三列为文件系统 

第四列为文件系统参数 

第五列为是否可以用demp命令备份。0:不备份,1:备份,2:备份,但比1重要性小。设置了该参数后,Linux中使用dump命令备份系统的时候就可以备份相应设置的挂载点了。 

第六列为是否在系统启动的时候,用fsck检验分区。因为有些挂载点是不需要检验的,比如:虚拟内存swap/proc等。0:不检验,1:要检验,2要检验,但比1晚检验,一般根目录设置为1,其他设置为2就可以了。

其中红色的那部分是我新增的分区,添加进去的挂载记录。

 

 

及时发现错误 mount -a

 

2、挂载文件错误,fstab修复

     http://skymax.blog.51cto.com/365901/114394/

 

七、分配swap分区

1、free命令查看

http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316438.html

 

2、参考上面分区的方法,修改分区号为82(命令模式下按tw保存退出)

   最后执行 partprobe 不是万能,有时候还是需要重启

 

3、mkswap 格式化

 

4、Swapon 加入swap空间

 

5、swapoff  取消

 

6、Free

 

    7、修改  fstab,自动挂载                  


本文出自 “锦焕同学” 博客,转载请与作者联系!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。