Linux中磁盘管理与文件系统创建挂在

磁盘管理

Linux中哲学思想:Linux一切皆文件,所有访问磁盘设备就如同访问一个文件一样,因此要想使用需要一个文件接口

如何向设备中输入数据?

    首先将设备在系统上映射成一个文件,在此文件上进行读写操作就相当于对设备进行读写,对程序而言首先是打开一个文件open(),然后执行read()或者write(),最后关闭文件closed()

设备分类

    块设备:Block ,存取单位为块

    字符设备:char ,存取单位为字符

设备文件:关联至一个设备驱动程序,进而能够跟与之对应的硬件设备尽心通信

设备文件和设备的对应关系:一个设备文件只能被一个设备关联,如果一个设备文件关联两个设备文件,第一个设备的内容将会被第二个设备内容覆盖

设备号码:每个设备在内核集中都是靠设备号进行标识

设备号分类:主设备号:major number 用于标识不同设备

      次设备号:minor numbei 用于标识统一类型下的不同设备

查看设备号:

    19.png

  其中8为主设备号,0、1、2…为次设备号

设备名称:不同的硬盘接口会显示不同的设备名称

    并行:

        IDE :理论传输速度133MB/s

        scsi:传输速度640MB/s

    串口:

        sata:6Gbps

        sas:6Gbps

        usb:480MB/s

硬盘转速:rpm 5400rpm /每分钟转动5400转

    IDE:

        centos5以前在显示名称:/dev/hd

        centos6、7以后设备名称为/dev/sd

    SCSI, SATA, SAS, USB: /dev/sd

        不同设备: a- z

        /dev/sda, /dev/sdb, …

    

        同一设备上的不同分区: 1,2, …

        /dev/sda1, /dev/sda5

    虚拟机磁盘:

        /dev/vd

硬盘结构:

    组成:盘片(双面读写)、轴、马达、磁头、机械臂

    20.png

磁盘存储专业术语

    磁道 track:每个盘片被分成N个同心圆,每个同心圆称为磁道,使用来真正存储数据的

    扇区 sector:每个磁道按512个字节为单位等分,被划分的区域叫做扇区

    柱面 cylinder:每次盘片都是双面读写的的,每个盘片上相同位置都会有一个相同的编号,所谓的相同的编号的磁道称为柱面

    

磁盘分区

    为什么要进行磁盘分区:

    1、优化I/o性能

    2、实现磁盘的配额限制管理

    3、提高修复速度

    4、隔离系统和程序

    5、安装多个操作系统

磁盘分区方式:    

    MBR 和GPT

    

    MBR :master boot record ,使用32表示扇区数,最大不能超过2TB

    

    MBR:存储在0磁道,0扇区中前512字节

        0-446字节:存储boot loader ,引导加载

        446-510:存储分区表,每16字节存贮一个分区表,这也是为什么一个磁盘只能分4个主分区或3个主分区和一个扩展分区的原因

        后2个字节:存储有效信息55aa表示有效

    

    MBR分区图

        21.png

查看MBR内容:

    22.png

为了防止MBR被破坏,系统无法正常启动,需要备份MBR ,备份方法如下

    23.png

恢复MBR dd if=/testdir/Mbr of=/dev/sda bs=1 count=512

    注意:扩展分区中的逻辑分区不能备份,因逻辑分区保存在扩展分区中,并非MBR中

    

GPT分区

    

    GPT:GUID patition table 支持128个分区,使用 64位,支持8Z( 512Byte/block ) 64Z ( 4096Byte/block)

    使用 128位UUID 表示磁盘和分区 GPT分区表自动备份在头和尾两份,并有CRC校验位

    UEFI (统一扩展固件接口 )硬件支持GPT

   

    

    uuidgen :create a new UUID value ,每个磁盘在

创建分区命令

    fdisk 

    使用格式

    fdisk [-uc] [-b sectorsize] [-C cyls] [-H heads] [-S sects] device

      常用选项:-l:列出分区表

           -u:指定分区显示格式,默认是扇区显示 -u=cylinder 则为以柱面显示分区信息

           -c:指定显示是否已dos显示,默认不以dos显示,dos格式要求分区中整个儿柱面必须在一个分区中,否则会提示错误

    fdisk /dev/sda :对硬盘sda进行分区,fdisk是交互式命令,在进行分区时有好多的子命令

         m:列出帮助

        d:删除分区

         n:添加分区,

        p:打印分区信息

        w:保存分区信息退出

        q:不保存退出

        t:转换分区格式

        l:累出分区类型

        

    

 开始分区啦!

     1、fdisk /dev/sdb :注意,当磁盘中已经有扩展分区了,再添加分区不显示扩展分区选项e,只能添加主分区和l(逻辑分区)

  

    24.png

    

    2,选择分区类型l逻辑分区,p主分区,扩展分区

    26.png

    3w:保存退出

    

 

显示系统下的生效的设备(内存中已经识别的设备):

    lsblk

    ll /dev/sd*

    cat /proc/partitions 

    

    有时候增加的分区不能及时加载到内存,需要手动让内核重新读取分区表,以下有三种方法

    1、partx -a /dev/sdb

        -d 从内存中将分区信息删除

        -l:列出分区信息

        partx -a -n|–nr 2:3 只重新加载2和3分区

        partx -d –rn 2:3 从内存中将2 3分区删除

    2、kpart -a /dev/sdb

     3、partrpobe /dev/sdb 不适用于centos6版本

磁盘管管理工具2

    parted

    显示磁盘分区信息:parted /dev/sdb print 

    显示所有磁盘信息:parted -l

    删除第一个分区:parted /dev/sdb rm 1

    创建分区 :part /dev/sdb mkpart primary  1(分区其实位置) 1024(结束位置) 

    改变磁盘分区格式:parted /dev/sdb mklabel gpt|msdos gpt:GPT分区格式 msdos :MBR分区格式

    
    27.png 

 GPT分区工具gdisk

     

   需要先将分区表定义成GPT分区格式

    parted /dev/sdb mklabel gpt ,其余的和fdisk类似

    

               

文件系统

定义:文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件结构

      称为文件管理系统,简称文件系统。

    

    从系统角度来看,文件系统是对文件存储设备的空间进行组 织和分配,负责文件存储并对存入的文件进行保护和检索的
    系统。具体地说,它负责为用户建立文件,存入、读出、修 改、转储文件,控制文件的存取,安全控制,日志,压缩,

    加密等。

文件系统分类:

    Linux文件系统: ext2, ext3, ext4, xfs( SGI) , btrfs(
    Oracle) , reiserfs, jfs( AIX) , swap
    swap: 交换分区
    光盘: iso9660
    Windows: fat32(优盘中格式在Linux中显示为vfat), ntfs
    Unix: FFS( fast) , UFS( unix) , JFS2
    网络文件系统: NFS, CIFS
    集群文件系统: GFS2, OCFS2( oracle)
    分布式文件系统: ceph, moosefs, mogilefs, glusterfs,Lustre

    RAW:未经处理或者未经格式化产生的文件系统

    Linux系统能实现不同文件系统共存,和一切接文件色的思想是利用了虚拟文件系统(VFS)

查看系统中支持的文件系统:cat /proc/fielsystem

创建文件系统命令三种方法:其实是等价的只是写法不同

    一、 mkfs.file_Type /dev/sdb1

       fiel_Type:种类ext4 ext3 xfs ext2 vfat 等

    二、mkfs -t /dev/sdb

          -t:指定文件类型      

          -L '/mnt/sdb1' 设定卷标,相当于起了个别名

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

          – t {ext2|ext3|ext4} 指定
          – b {1024|2048|4096}
          – L 'LABEL'
          – j: 相当于 – t ext3
           mkfs.ext3 = mkfs – t ext3 = mke2fs – j = mke2fs – t ext3
          – i #: 为数据空间中每多少个字节创建一个inode;此大
           小不应该小于block的大小
          – N #:为数据空间创建个多少个inode
          – m #: 默认5%,为管理人员预留空间占总空间的百分比
          – O FEATURE[,…]:启用指定特性
          – O ^FEATURE:关闭指定特性

        

使用块设备的三种方法

    1、使用UUID (推荐使用方法,应为uuid固定,并且唯一)2、使用卷标也就是mkfs -L指定的 3、使用设备名称/dev/sdb2

查看块设备信息命令:

    blkid [option] [设备名]

        -U 通过UUID找到指定的设备

        -L通过卷标找到指定的设备

    

_ueditor_page_break_tag__ueditor_page_break_tag_

        Linux中磁盘管理与文件系统创建挂在

        Linux中磁盘管理与文件系统创建挂在

 

管理ext类型设备卷标

    e2lable /dev/sdb2 '/mnt/sdb2'

通过lable(卷标)或者、UUID查找设备

    findfs UUID=uuid号

    findfs LABLE='lable名' 

    

重新设定ext系列文件的属性

    tune2fs 

    

    – l:查看指定文件系统超级块信息; super block
    – L 'LABEL':修改卷标
    – m #:修预留给管理员的空间百分比,有些空间只能管理员使用,普通用户不能使用
    – j: 将ext2升级为ext3
    – O: 文件系统属性启用或禁用 , –O ^has_journal
    – o: 调整文件系统的默认挂载选项, –o ^acl
    – U UUID: 修改UUID号;

    dumpe2fs:

    – h:查看超级块信息 =tune2fs -l

     dumpe2fs  /dec/sdb2 查看分区用分组管理,信息更详细

 块:文件最小存储单位,块大小分类1024 2048 4096 格式化时可以改变

 超级块:用于存储文件系统的控制信息的数据结构。描述文件系统的状态、文件系统类型、大小、区块数、索引节 点数等,存放于磁盘的特定扇区中

    

文件系统修复

    当用tune2fs查看文件系统超级块信息时 filesystem state:记录了文件系统状态,当状态为not clean 时说明文件系统异常

    可用fsck对其进行修复或者常发生于死机或者非正常关机之后挂载为文件系统标记为“ dirty”

    fsck: File System Check
    fsck.FS_TYPE
    fsck – t FS_TYPE
    – a: 自动修复错误
    – r: 交互式修复错误
注意: FS_TYPE一定要与分区上已经文件类型相同;

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

    – y:自动回答为yes

    – f:强制修复

  

挂载

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

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

    注意:挂载的文件一般为空,如果不为空挂载完成后原有的文件会被隐藏  

    mount:通过查看/etc/mtab文件显示当前已挂载的所有设备

   使用格式: 

        mount device   mount_point

        mount /dev/sdb2 /mnt/sdb2

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

    device:指明要挂载的设备;
        (1) 设备文件:例如/dev/sda5
        (2) 卷标: – L 'LABEL', 例如 – L 'MYDATA'
        (3) UUID, – U 'UUID':例如 – U '0c50523c- 43f1 -45e7- 85c0- a126711d406e'
        (4) 伪文件系统名称: proc, sysfs, devtmpfs, configfs
    dir:挂载点
        事先存在;建议使用空目录

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

    选项:   

    -t vsftype:指定要挂载的设备上的文件系统类型
    – r: readonly,只读挂载
    – w: read and write, 读写挂载

    – n: 不更新/etc/mtab,相当于#mount

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

    – L 'LABEL': 以卷标指定挂载设备
    -U 'UUID': 以UUID指定要挂载的设备
    – B, — bind: 绑定目录到另一个目录上
查看内核追踪到的已挂载的所有设备:

    cat /proc/mounts :软链接文件,链接到/proc/myself/mounts

    /etc/mtab软链接到/pro/mounts

    

    – o options: (挂载文件系统的选项),多个选项使用逗号分隔
        async:异步模式
        sync:同步模式,内存更改时,同时写磁盘
        atime/noatime:包含目录和文件
        diratime/nodiratime:目录的访问时间戳
        auto/noauto:是否支持自动挂载,是否支持- a选项
        exec/noexec:是否支持将文件系统上运行应用程序
        dev/nodev:是否支持在此文件系统上使用设备文件
        suid/nosuid:不否支持suid和sgid权限
        remount:重新挂载
        ro:只读
        rw: 读写
        user/nouser:是否允许普通用户挂载此设备,默认管理员才能挂载
        acl:启用此文件系统上的acl功能,默认centos中自己添加的设备不自动开启此功能

        Defaults:相当于rw, suid, dev, exec, auto, nouser, async

卸载

    卸载之前查看挂载情况

        findmnt /dev/sdb |findmnt

    查看正在访问文件系统的进程,当进程占用时系统是无法卸载文件系统的

        lsof mount_point

        fuser -v mount_point

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

        fuser -km mount_point

    

    卸载

    umount mount_point

    umount device

将设备考到普通文件

    mknod 文件名  b(设备类型) 要拷贝设备主编号 要拷贝设备的次编号 

    34.png

    

    35.png

        

    

原创文章,作者:wangnannan,如若转载,请注明出处:http://www.178linux.com/40056

(0)
wangnannanwangnannan
上一篇 2016-08-26
下一篇 2016-08-26

相关推荐

  • 网络基础

    #**计算机网络**##网络的特征– 速度、成本、安全性、可用性、可扩展性、可靠性、拓扑 ##**物理拓扑分类**– 总线型– 所有设备均可接受信号– 星型拓扑– 通过中心点传输,单一故障点– 扩展星型拓扑– 比星型拓扑的复原能力强– 环拓扑– 信号绕…

    Linux干货 2017-11-27
  • Linux文件系统权限详解

    一、综述 在用户和组的管理中介绍了Linux系统是用户多任务的分时操作系统,这意味着同时可以有多人在同一台pc上进行不同的操作。为了能够保护每个用户的数据安全,针对不同的用户设置相应的权限是非常重要的。 Linux文件系统权限主要针对三类用户: 文件的所有者: owner,用u标识 文件的所有组:group,用g标识 其他人: other,用o标识。不包含在…

    Linux干货 2016-08-04
  • 马哥教育网络班19期第一周课程练习

    1、描述计算机的组成及其功能。 从大体上计算机是由cpu、内存、主板、I/O设备、存储设备组成 cpu的功能就好像人的大脑,控制身体的。严格意义上是用来解释计算机指令以及处理软件中的数据的。 内存的功能就好像人的大脑记忆区、来存放眼睛看到的世界。严格意义上是用于暂时存放cpu中的运算数据,以及与硬盘等外部存储器交换的数据 主板的功能就好像人的身体,来链接身体…

    Linux干货 2016-06-18
  • DNS 笔记

    Ø DNS查询。工作流程如下图         n  客户端的DNS:8.8.8.8 /etc/hosts  14.215.177.38 www.baidu.com n  客户端访问www.baidu.com 不用向DSN服务器发生查询,只需要查询本地的 /e…

    Linux干货 2016-08-15
  • N25第一周作业

    第一周 一、计算机由硬件系统和软件系统组成如下:  计算机硬件系统是由运算器、控制器、存储器、输入和输出设备组成。 1.运算器:是对数据进行加各种算术运算和逻辑运算。 2.控制器:调度各种程序、数据、地址的使用,协调各个组成部分之间的访问。 3.存储器:是存储程序、数据和各种信号。 4.输入:输入设备的作用是将程序、原始数据、指令等信息输入到计算机…

    Linux干货 2016-12-05
  • 计算机原理

    计算机由CPU、存储器、输入设备、输出设备组成。 CPU的功能:对数据运算加工,控制设备等 存储器的功能:存储数据,加载程序 输入设备:下指令,提供数据等 输出设备:输出数据加工的结果 linux发行版本:Debian:ubuntu、knopix Slackware:S.u.S.E、SLES、openSUSE RedHat:Redhat 9.0、RedHat…

    Linux干货 2017-12-04

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-26 11:28

    看完博客会对1磁盘管理有一个概览性的认识,但在逻辑表达的组织上显得略微混乱,如果能再优化下逻辑规划会更让人印象深刻