Linux磁盘和文件系统管理

Linux磁盘和文件系统管理

linux磁盘管理

一、Linux设备类型

    硬盘有机械硬盘(HDD)和固态硬盘(SSD)之分。机械硬盘即是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等

    几个部分组成。

    

        机械式硬盘

            track:磁道,存储信息的位置

            cylinder:柱面

            sector:扇区

            MBR:全称为Master Boot Record,即硬盘的主引导记录。硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR),该扇区总共512字节;

                 它由主引导程序、硬盘分区表DPT(Disk Partition table)和分区有效标志。

                 boot loader(主引导程序):占446bytes

                 Partition table(用来存取分区表):占64bytes;硬盘中分区有多少以及每一分区的大小都记在其中,其中每16bytes标识一个分区;所以对于早期硬盘

                    (非UEFI)来讲在基于MBR方式管理时一块硬盘最多只能有4个分区;或者3主分区+1扩展(扩展可以使用N个逻辑分区)

                 magic number:占2个字节,对于大端模式处理器该值固定为0*55AA,存为55AA表示前面500个字节是有效的,否则是无效的

                        

                    注意:硬盘单盘容量大于2T,MBR机制无法识别2T及大于2T的硬盘 ,此时需使用GTP机制

                 

二、磁盘接口类型及命名

        1、并行:

            IDE    接口速率:133MB/s

            SCSI    接口速率:640MB/s

        2、串口:相对于并行设备类型速率更高

            SATA:   接口速率: 6Gbp/s

            SAS:     接口速率: 6Gbp/s 

            USB:    接口速率:480MB/s

        3、磁盘命名

            磁盘一般以/dev/DEV_FILE方式命名

            磁盘设备的设备文件命名:

                IDE接口设备:/dev/hd

                SCSI,SATA,SAS,USB等接口设备:/dev/sd

                                   不同设备:/dev/sd[a-z],如:/dev/sda,/dev/sdb….

                       同一设备上的不同分区:1,2,3,…如:/dev/sda1,/dev/sda2,…

                                

三、磁盘分区管理工具:

     1、Linux中的分区的主要管理工具有:fdisk、parted,sfdisk,本文中主要介绍使用fdisk工具。

          注意:使用fdisk工具分区时,对于一块硬盘来讲,最多只能管理15个分区。

     2、fdisk命令:

                   语法命令:fdisk [option] [DEVICE]

                   子命令:m:获取帮助,显示出所有子命令

                            fdisk命令子命令m.png

                           p:print,显示已有分区

                           n:new,创建

                           d:delete,删除

                           w:write,写入磁盘并退出

                           q:quit,放弃更新并退出

                        l:列表分区id

                        t:调整分区id

        查看内核是否已经识别新的分区:    

                        cat /proc/partations,如果内核没有识别,使用下列命令手动通知内核重新读取硬盘分区表

                        partx -a /dev/DEVICE(centos6、7)

                        partprobe[/dev/DEVIC](centos5)

    

Linux文件系统管理


一、Linux文件系统类型:

        

         1、Linux文件系统:ext2,ext3,ext4,xfs,btrfs,reiserfs,jfs,swap

                    swap:交换分区

                    光盘:iso9660

                    Unix:FFS,UFS,JFS2

                    网络文件系统:NFS,CIFS

                    系群文件系统:GFS2,OCFS2

                    分布式文件系统:ceph,moosefs,mogilefs,GlusterFS,Lustre

              根据其是否支持“journal”功能分为:

                    日志型文件系统:ext3,ext4,xfs….

                    非日志型文件系统:ext2,vfat….

          2、文件系统的组成部分:

                    内核中的模块:ext4,xfs,vfat

                    用户空间的管理工具:mkfs.ext,mkfs.xfs,mkfs.vfat

              Linux的虚拟文件系统:VFS

          3、文件存储结构

                Linux分区.png

                  

                            分区的第一个部分是启动区(Boot block),它主要是为计算机开机服务的。Linux开机启动后,会首先载入MBR,随后MBR从某个硬盘的启动区加载程序。

                    程序负责进一步的操作系统的加载和启动。为了方便管理,即使某个分区中没有安装操作系统,Linux也会在该分区预留启动区。

                    启动区之后的是超级区(Super block)。它存储有文件系统的相关信息,包括文件系统的类型,inode的数目,数据块的数目。

              Inode:Index Node又称文件索引节点,是文件基本信息的存放地(如读写属性、owner等,但不包括文件名)和数据块指针(直接、间接及三级指针)存放地。

                                           节点位图inode bitmap:对应表是每个inode空闲与否的状态信息

                            数据块:文件的具体内容存放地。

                            当查看某个文件时,会先从inode table中查出文件属性及数据存放点,再从数据块中读取数据

                        inode.png

               其中文件的inode结构如下(inode里所包含的文件信息可以通过stat filename查看得到):

                

                            Inode结构.jpg

          4、链接文件:

                硬链接:是给文件一个副本,同时建立两者之间的连接关系。修改其中一个,与其连接的文件同时被修改。

                                                不能对目录进行

                                                不能跨分区进行

                                                指向同一个inode的过个不同路径,创建文件的硬链接即为inode创建新的引用路径,因此会增加其引用计数


                                软链接,也叫符号链接:是对源文件在新的位置建立一个“快捷”,所以,当源文件删除时,符号连接的文件将仅仅

                                                剩下个文件名了,当然删除这个连接,也不会影响到源文件,但对连接文件的使用、引用都是直接调用源文件的。

                                                可以对目录进行

                                                可以跨分区

                                                指向另一个文件的路径,其大小为指向的路径字符串的长度,不增加或减少目标文件inode的引用计数。

二、Linux文件系统相关命令:

           1、创建文件系统:mkfs

                用法:mkfs [-V] [-t fstype] [fs-options] filesys [blocks]

                

                             (1)mkfs.FS_TYPE /dev/DEVICE

                                                ext4

                             (2)mkfs -t FS_TYPE /dev/DEVICE

                      mke2fs:ext系列文件系统专用管理工具

                            -t{ext2|ext3|ext4}

                            -b:{1024|2048|4096}

                            -L:‘LABEL

                            -j:相当于 -t ext3

                            -i #:为数据空间中每多少个字节创建一个inode;此大小不应该小于block的大小

                            -N #:为数据空间创建个多少个inode

                            -m #:为管理员预留的空间占据的百分比

                            -O FEATURE[,…..]:启用指定特性

                                    -O ^FEATURE:关闭制定特性

                       mkswap:创建交换分区

                            mkswap [OPTION] device

                                    -L ‘LABEL’

                            前提:调整其分区的ID为82

                        blkid:块设备属性信息查看

                        blkid [OPTION]…[DEVIE]

                                -U UUID:根据指定的UUID来查找对应的设备

                                -L LABEL:根据指定的LABEL来查找对应的设备

                        e2label:管理ext系列文件系统的LABEL

                                e2label DEVICE [LABEL]

                        tune2fs:重新设定ext系列文件系统可调整参数的值

                                -l:查看指定文件系统超级块信息:super block

                                -L ‘LABEL’:修改卷标

                                -m #:修改预留给管理员的空间百分比

                                -j:将ext2升级为ext3

                                -O:文件系统属性启用或禁用

                                -o:调整文件系统的默认挂载选项

                                -U UUID:修改UUID号

                        dumpe2fs

                                -h:查看超级块信息

           2、文件系统检测:

                        fsck:file system check

                        fsck.FS_TYPE

                        fsck -t FS_TYPE

                             -a:自动修复

                             -r:交互式修复错误

                        NOTE:FS_TYPE一定要与分区上文件类型相同

                        e2fsck:ext系列文件专用的检测修复工具

                                -y:自动回答为yes

                                -f:强制修复

            3、文件系统的挂载

                    将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它访问入口的行为称之为挂载

                解除此关联关系的过程称之为卸载

                把设备关联挂载点:Mount Point

                    blob.png

                 挂载命令mount:

                    mount DEVICE MOUNT_POINT

                    mount:通过查看/etc/mtab文件显示当前系统已挂载设备,查看内核追踪到的已挂载的所有设备:cat /proc/mounts

                    mount [-fnrsvw] [-t vfstype] [-o options] device dir

                    device:指明要挂载的设备

                        (1)设备文件:例如/dev/sda5

                        (2)卷标:-L ‘LABEL’:例如-L ‘MYDATA’

                        (3)UUID,-U ‘UUID’:例如-U ‘2029dba3-0402-4eb6-ae7c-dcc0c9e42c05

                        (4)伪文件系统名称:proc,sysfs,dectmpfs,configfs只需要名字,不需要设备

                     dir:挂载点

                        事先存在:建议使用空目录

                        进程正在使用中的设备无法被卸载

                     常用选项:

                        -t vsftype:指定要挂载的设备上的文件系统类型可省略

                        -r :readonly,只读挂载;

                        -w:read and write,读写挂载

                        -n:不更新/etc/mtab

                        -a:自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有“自动挂载功能”)

                        -L ‘LABEL’:以卷标指定挂载设备

                        -U ‘UUID’:以UUID指定挂载设备

                        -B,–bind:绑定目录到另一个目录上

                        -o options:(挂载文件系统的选项)

                            async:异步模式

                            sync:同步模式(数据可靠性高,性能差)

                            atime/noatime:包含目录和文件

                            diratime/nodiratime:目录的访问时间戳

                            auto/noauto:是否支持自动挂载

                            exec/noexec:是否支持将文件系统上应用程序运行为进程

                            dev/nodev:是否支持在此文件系统上使用设备文件

                            suid/nosuid:

                            remount:重新挂载

                            ro:

                            rw:

                            user/nouser:是否允许普通用户挂载此设备

                            acl:启用此文件系统上的acl功能(centos6默认关闭,centos7默认启用)

                                注意:上述选项可多个同时使用,彼此使用逗号分隔

                                默认挂载选项:defaults

                                    rw,suid,dev,exec,auto,nouser,and async

                 挂载交换分区

                    启用:swapon

                        swapon [OPTION]….[DEVICE]

                                -a:激活所有的交换分区

                                -p:PRIORITY:指定优先级

                     禁用:swapoff  [OPTION]….[DEVICE]

            4、文件系统的卸载

                 卸载命令:umount DEVICE

                           umount MOUNT_POINT

                 查看正在访问指定文件系统的进程

                        fuser -v MOUNT_POINT

                 终止所有正在访问指定的文件系统的进程

                        fuser -km MOUNT_POINT

            5、文件系统相关的查看命令

                内存空间使用状态

                    free [OPTIONG]

                        -m:以MB为单位

                        -g:以GB为单位

                文件系统空间占用等信息的查看工具

                        df:

                            -h:human-readable

                            -i:inodes instead of blocks

                            -P:以POSIX兼容的格式输出

                查看某目录总体空间占用状态

                        du:

                        du[OPTION]…DIR

                            -h:human-readable

                            -s:summary

            6、文件挂载的配置文件

               文件挂载的配置文件/etc/fstab

                        文件系统配置文件.png

                    每行定义一个要挂载的文件系统:

                    要挂载的设备或伪文件系统    挂载点    文件系统类型    挂载选项    转储频率    自检次序

                       要挂载的设备或伪文件系统:

                            设备文件、LABEL(LABEL=" ") 、UUID(UUID=" ")、伪文件系统名称(proc、sys)

                       挂载选项:

                            defaults

                        转储频率:

                            0:不做备份

                            1:每天转储

                            2:每隔一天转储

                        自检次序:

                            0:不自检

                            1:首先自检;一般只有rootfs才用1





                



原创文章,作者:Net18-天津-康康,如若转载,请注明出处:http://www.178linux.com/14592

(0)
Net18-天津-康康Net18-天津-康康
上一篇 2016-04-11
下一篇 2016-04-12

相关推荐

  • Linux 基础命令

    一,GNU/LINUX操作系统组成        1.1硬件  计算机硬件资源,CPU,主板,内存,存储器等 1.2 内核层 包含了硬件控制,设备驱动程序,虚拟文件系统,网络管理,内存管理,进程管理,程序调度等 ,属于内核空间 1.3 系统调用 所有的操作系统在其内核里都有一些内建的函数,这些函数可以用来完成…

    2016-10-29
  • Week4 正则表达式及grep命令

    基本正则表达式元字符:             字符匹配:                …

    Linux干货 2017-02-11
  • N22-love cat第19周 – 基于Apache + Tomcat +2种模式实现负载均衡以及配置集群seesion服务

      基于Apache+Tomcat实现负载均衡和集群服务 一、概念     从Tomcat权威指南中的测试数据,我们不难发现,对于静态页面的数据,Tomcat的处理速度比Apache要快很多,所以为什么要整合apache虽然在处理静态页面速度上比Apache快,但是Tomcat经不起大的并发量容易死。为此,我们就需要A…

    Linux干货 2016-08-29
  • N26-博客作业-week12

    1、请描述一次完整的http请求处理过程; (1) 建立或处理连接:接收请求或拒绝请求; (2) 接收请求:接收来自于网络上的主机请求报文中对某特定资源的一次请求的过程; (3) 处理请求:对请求报文进行解析,获取客户端请求的资源及请求方法等相关信息; (4) 访问资源:获取请求报文中请求的资源; (5) 构建响应报文: (6) 发送响应报文: (7) 记录…

    Linux干货 2017-05-23
  • Linux的终端类型

    一、了解终端   在早期的年代,主机不是很多,都是一系列的大型主机,简单来说就是用户很多,但主机很少,不可能做到人手一台,但可以在主机上连接一个分屏器,在分屏器上可以连接鼠标键盘以及显示器,这些东西是没有计算能力的,仅仅担任输入和输出的工作,运算和处理都是由主机来完成的。   简单来说终端是用户与主机交互,是必然用到的…

    Linux干货 2016-10-14
  • 文本查看类命令

    文本查看相关的命令:1.  cat – 串连文件,并以标准输出显示语法:cat [OPTION]… [FILE]… 常用选项 选项 | 含义—— | ——-n | 在显示文件内容时打印行号示例:~]# cat -n /etc/rc.d/init.d/functions显示/e…

    2017-09-07

评论列表(2条)

  • stanley
    stanley 2016-04-11 17:06

    写的很认真,如果辅以样式优化一定能头条,样式建议使用markdown

    • Net18-天津-康康
      Net18-天津-康康 2016-04-11 17:15

      @stanley还在学习中,对markdown还不太熟悉