Linux磁盘管理及其相关命令使用

Linux磁盘及文件系统

   CPU MEMORY(RAM) I/O

   I/O:disks entercard

   Disks:持久存储数据

   接口类型:

     IDE(ata):并行 133MB/s

     SCSI:并口Ultrascsi320 320MB/s Ultrascsi640 640MB/s

   SATA:串口 6gbps

   SAS:串口 6gbps

   USB:串口 480MB/s

   并口:同一线缆可以接多块设备

   IDE:两个 主 从

   SCSI:

    宽带 16-1

    窄带 8-1

   串口:

   同一线缆只能接一块设备

   硬盘:机械硬盘,固态硬盘

   Track:磁道

   Sector:扇区 512bytes

   Cylinder:柱面

   分区划分是基于柱面:

   平均寻道时间:

   5400rpm 7200rpm 15000rpm

 

Linux的哲学思想:一切皆文件

  设备类型:

  块设备:随机访问,数据交换单位是“块“

  字符型设备:线性访问,数据交换单位是”字符“

  设备文件FHS

   /dev

  设备文件:关联至设备的驱动程序,设备的访问入口

  设备号

   major:主设备号,区分设备类型,用于表明设备所需要的驱动程序

   mior:次设备号,区分同种类型下的不同的设备,是特定设备的访问入口

   mknod

      make block or character special file

      mknod [option] …name type [major minor]

      mode:创建mode设备文件的访问权限

            blob.png                                  

  设备文件名ICANN

  磁盘:

     IDE:/dev/hd[a-z]

       SCSI SATA SAS USB :/dev/sd[a-z]

    分区:

       /dev/sda#

    注意:CentOS6 和CentOS7统统将硬盘设备文件标识为/dev/sd[a-z]#              

    引用设备的方式

     设备文件名

     卷标

     UUID

               blob.png

  磁盘分区:MBR GPT

   MBR:0 sector

   分为三部分:

   446bytes:bootloader程序,引导启动操作系统的程序

   64bytes:FAT文件系统分区表,每16个字节表示一个分区

   2bytes:MBR区域得有效性标识55AA为有效

blob.png

 4主分区

   3主1扩展

   N逻辑分区

   主分区和扩展分区的表示1-4

   逻辑分区5+

    

 

fdisk命令

   1.查看磁盘分区信息

      fdisk -l [-u] [device…]

blob.png

   2.管理分区 fdisk device

    fdisk提供了一个交互式接口来管理分区,他有许多字命令,分别用于不同的管理功能,所有的操作均在内存中完成,没有直接同步到磁盘,直到使用-w命令写入磁盘

   常用命令

         n:创建新分区

         d:删除已有分区

         t:修改分区类型

         l:查看所有已知ID       

         w:保存并退出

         q:不保存退出

         m:查看帮助

         p:显示现有分区信息

       blob.png 

    注意:在已经分区并且已经挂载其中某个分区的磁盘设备上创建新分区,内核可能在创建完成后无法直接识别

    查看:cat /proc/partitions

    通知内核强制重读磁盘分区表

    Centos5:partprobe [device]

    Centos6,7:partx kpartx

    partx –a [device]

   kpartx –af [device]

   分区创建工具:parted fsdisk

 

创建文件系统

   格式化:低级格式化(分区之前进行,划分磁道)

   高级格式化(分区之后对分区进行,创建文件系统)

   元数据区,数据区

   文件元数据:index node

   大小 权限 属主属组 时间戳 数据块指针

   链接文件:存储数据指针的空间当中存储的是真实的文件访问路径

   设备文件:存储数据指针的空间当中存储的是设备号

   Bitmap index:位图索引

                  

VFS virtual file system

Linux文件系统:

      文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构,即在存储设备上组织文件的方法,操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,从系统角度看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统,负责为用户建立文件,存入,读出,修改,转储文件,控制文件的存取,安全控制,日志,压缩,加密等。

      ext2(无日志功能),3,4  xfs  reiserfs  btrfs

    光盘:iso9660

    网络文件系统:nfs cifs

    集群文件系统:gfs ocfs2

    内核是分布式文件系统:ceph

    Windows文件系统:vfat,ntfs

    伪文件系统:proc sysfs tmpfs hugepagefs

    Unix文件系统:UFS FFS JFS

    交换文件系统 swap

    用户空间的分布式文件系统:mogilefs moosefs glusterfs lustre

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

    文件系统管理工具

    创建文件系统工具

     mkfs

     mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.xfs …

检测及修复文件系统的工具

     fsck

blob.png

         fsck.ext2 fsck.ext3…

         查看其属性的工具

           dumpe2fs tune2fs

         调整文件系统特性

           tune2fs

        

链接文件:访问同一个文件的不同路径

   硬链接:多个文件路径指向同一个inode

   特性:目录不支持硬链接,避免循环链接

   硬链接不能跨越文件系统

   创建硬链接会增加inode引用计数

   ln src link_src

        

   软链接(符号链接)指向一个文件路径的另一个文件路径

   特性:符号链接与原文件是两个各自独立的文件,有各自的inode,对原文件创建符号链接,不会增加原文件链接计数

   支持对目录创建符号链接

   可以跨文件系统

   删除符号链接文件不影响原文件,删除原文件,符号链接指定的链接不存在,符号链接无效

   注意:符号链接文件大小是其指定的文件的路径字符串的字节数

   ln –s src link_src

 

   内核及文件系统的组成部分

      文件系统驱动:由内核提供

      文件系统管理工具:由用户空间的应用程序提供

        

  创建文件系统的工具:

      mkfs.ext2 mkfs.ext3 mkfs.ext4 向后兼容

      mkfs –t ext2=mkfs.ext2

        blob.png

      ext系列文件系统专用工具Mke2fs

        mke2fs [option] device

        -t {ext2|ext3|ext4} 指明要创建文件系统类型

        -b {1024|2048|4096} 指明文件系统块大小

        -L label 指明卷标

        -j 创建有日志功能的文件系统

        -i #  byte-per-inode 每多少字节一个inode 指明inode与字节比率

        -N # 直接指明要给此文件系统创建的inode的数量

        -O [^]feature 以指定的特性创建目标文件系统

                has_journal

        -m # 指定预留空间百分比数值

            blob.png

         blob.png         

    e2label 卷标查看与设定

       查看 e2label device

       设定 e2label device label

         

    tune2fs命令:查看或修改系列文件系统的某些属性

       Adjust tunable filesystem parameter on ext2/ext3/ext4 filesystem

       块大小创建后不可修改

        -l 查看超级块的内容

       修改指定文件系统的属性

        -j  ext2àext3

        -L label 修改卷标

        -m# 调整预留空间百分比

        -O [^]feature 开启或关闭某种特性

        -o [^] mount_options 开启或关闭某种默认选项

         blob.png

        blob.png    

    dumpe2fs命令:显示ext系列文件系统相关属性信息

        dumpe2fs [-h] device

        

                  

    fsck 用于实现文件系统检测的工具

    因进程意外终止或系统崩溃等原因导致电脑操作非正常终止时,此时,因检测并修复文件系统,建议离线进行 

    ext系列文件系统的专用工具

    e2fsck   check a linux ext2/ext3/ext4

    e2fsck [options] device

      -y 对所有问题自动回答yes

      -f 即使文件处于clean状态,也强制进行检测

      fsck  check and clean a linux file system

      -t fstype 指明文件系统类型

      Fsck –t ext4 = fsck.ext4

      -a  无需交互而自动修复所有错误

      -r  交互修复

     blob.png   

      blkid  command-line to locate/print block device

        blkid device

        blkid –L label 根据label定位设备

        blkid –U uuid 根据uuid定位设备

        blob.png

 

mount命令挂在文件系统

    mount device mount_point

                设备名  挂载点

    通过cat /etc/mtab文件可以查看当前已经挂在的设备、

    对于挂载点,这个挂载点必须实现存在,建议使用空目录,进程在使用的设备不能被卸载,提示设备正忙,device is busy。

    参数

        blob.png

        -L  label  指明卷标

        -U  uuid   指明UUID

        -t  vsftype 指明挂载的设备上的文件系统类型

        -r  readonly  只读

        -w read and write  读写

        -n  不跟新/etc/mtab

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

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

        查看内核追踪到的已挂载的所有设备

                cat /proc/mounts

        blob.png

        -o options 挂在文件系统的选项,多个选项使用逗号隔开

            async 异步模式 对设备上的文件进行写操作时,并不是时时保存

            sysnc  同步模式 内存中设备上的文件更改时,同时写进洗盘

            atime/noatime 包含目录和文件

            diratime/nodiratime  目录访问时间戳、

            auto/noauto  是否支持自动挂载

            exec/noexec 是否支持在文件系统上运行应用程序

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

            suid/nosuid  是否支持suid和sgid权限

            remount 重新挂载

            ro  只读  等同于 -r

            rw  读写  等同于 -w

            user/nouser 是否允许普通用户挂在此设备,默认管理员才能挂载

            acl  启用此文件系统上的acl功能

            Defaults 相当于rw nosuid dev exec auto  nouser async

            blob.png    

        

磁盘管理相关命令练习

mount 挂载相应硬盘

对硬盘进行分区

blob.png

使用lsblk命令查看硬盘分区信息是否已经更新

blob.png

如果没有更新可以使用partx -a device或者partprobe命令更新相关信息

如果两者都没有起效,可以查看/proc/partitions文件来使更新生效

创建文件系统mkfs.ext2/3/4/xfs或者mke2fs -t ext2/3/4  device

blob.png

使用tune2fs查看文件系统相关信息

blob.png

可以使用hexdump -C -v -n 512 device查看文件系统的第一个块的存储信息,最后两个字节55 aa表示文件是正常的

blob.png

 可以使用e2label对相应分区加上卷标

blob.png       

         

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

(1)
Stupid_LStupid_L
上一篇 2016-08-26
下一篇 2016-08-26

相关推荐

  • 浅谈编译kernel+busybox构建拥有远程ssh登录和web功能最小linux系统(二)

    忘了介绍本文的源码的版本了 dropbear-2013.58.tar.bz2    busybox-1.21.1.tar.bz2 linux-3.13.6.tar.xz  nginx-1.4.7 基于上文,我们还差group文件没有写 root@mysql etc]# vi group  …

    Linux干货 2015-09-22
  • 马哥教育网络21期+第七周练习博客

    马哥教育网络21期+第七周练习博客 1、创建一个10G分区,并格式为ext4文件系统; 首先挂载一个新的硬盘使用fdisk /dev/sdb进入相应的磁盘空间划分一个10G的磁盘空间; Command (m for help): n Command action    …

    Linux干货 2016-08-22
  • Linux基础知识(五)-文件查找命令find

    对grep 和 find 命令的操作 1、显示当前系统上root、fedora或user1用户的默认shell; 2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello(); 3、使用echo命令输出一个路径,使用grep取出其基名; 4、找出ifconfig命令结果中的1-255之间数字; 5、写一个…

    Linux干货 2016-10-24
  • linux文件权限管理和用户,组管理常用命令应用实例

    用户和组概念简述 用户一般指使用计算机的人,GNU/linux通过用户和用户组实现对计算机的文件访问和设备使用控制。 用户分类1.管理员root(类似皇帝,权力最大)2.普通用户:分为系统用户和普通登录用户。系统用户不登录,常用于发起一些进程提供服务,防止进程被劫持带来的风险,所以尽量减少以root身份发起进程对外提供服务。3.用户标识UID。管理员的UID…

    2017-10-05
  • Shell 变量类型及用法

    一、      什么是变量          变量源于数学,在计算机语言中能储存计算机结果或能表示值的抽象概念,变量可以由变量名访问,在指令语言中,变量通常是可变的。Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个…

    Linux干货 2016-08-12

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-26 15:57

    文章对一些概念性的东西,而没有通过自己的文字总结成通顺的话语,这是不合适的,建议以后尝试通过自己的语言将内容的知识点进行总结与梳理,写出优秀的博客。