LINUX磁盘及文件系统管理

LINUX磁盘及文件系统管理

  • cpu,Memory(RAM),I/O

  • I/O:Disks,Entercard

   Disks:持久存储数据

      接口类型:

       IDE(ata):并口,133MB/s

       SCSI:并口,Ultrascsl320,320MB/S,UltraSCSI640,640MB/S

       STAT:串口,6gbps

       SAS:串口,6gbps

       USB:串口,480MB/s

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

      机械硬盘:

        track:磁道

        sector:扇区,512bytes

        cylinder:柱面

           分区划分基于柱面

        平均寻道时间:

          5400rpm,7200rpm,10000rpm,15000rpm

  • linux的哲学思想:一切皆文件

设备类型:

    块(block):随机访问,数据交换单位是“块”;

    字符(character):线性访问,数据交换单位是“字符”;

    设备文件:FHS   /dev

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

    设备号:

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

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

  mknod命令:make block or characterspecial files创建设备文件

  mknod[OPTION]…NAME TYPE [MAJOR MINOR]

            -m MODE:创建后的设备文件的访问权限;

设备文件名:ICANN

磁盘:

    IDE:/dev/hd[a-z]

        例如:/dev/hda,/dev/hdb

    SCSI,STAT,USB,SAS:/devsd[a-z]


    分区:

    /dev/sda#:(如/dev/sda1,/dev/sda2)

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

    引用设备的方式:

        设备文件名

        卷标

        UUID

磁盘分区:MBR,GPT

    MBR:0 sector(Master Boot Record)主引导记录

        分为三部分:

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

        64bytes:分区表,每16bytes标识一个分区,一共只能有四个分区;

            4分区

            3主1扩展:

                n逻辑分区

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

    主分区和扩展分区的标识:1-4

    逻辑分区:5+

  • fdisk命令:

    1、查看磁盘的分区信息:

        fdisk -l[-u][device…]:列出指定磁盘设备上的分区情况

    2、管理分区

        fdisk device

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

            常用命令:

        n:创建新分区

        d:删除已有分区

        t:修改分区类型

        l:查看所有已知id

        w:保存并退出

        q:不保存退出

        m:查看帮助信息

        p:显示现有分区信息

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

        查看:cat /proc/partitions

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

        CentOS 5:partprobe[device]

        CentOS 6/7:partx,kpartx

          partx -a[device]

         kpartx -af[device]

        分区创建工具:parted,sfdisk;

  • 创建文件系统:

    格式化:低级格式化(分区之前进行,划分磁道)、高级格式化(分区之后对分区进行,创建文件系统)

        元数据区:

            文件元数据:inode(index node)

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

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

            设备文件:存储数据指针的空间当中存储的是设备号(major,minor);

        bitmap index:位图索引

    VFS:Virtual File System

        Linux的文件系统:ext2,ext3,ext4,xfs,relserfs,btrfs

        光盘:iso9660

        网络文件系统:nfs,cifs

        集群文件系统:gfs2,ocfs2

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

        windows的文件系统:vfat,ntfs

        伪文件系统:proc,sysfs,tmpfs,hugepagefs

        Unix的文件系统:UFS,FFS,JFS

        交换文件系统关凯

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

  • 文件系统管理工具:

        创建文件系统

            mkfs

                mkfs.ext2,mkfs.ext3,mkfs.ext4,mkfs.xfs,mkfs.vfat…

        检测及修复文件系统工具

            fsck

                fsck.ext2,fsck.ext3,…

        查看其属性的工具

            dumpe2fs,tune2fs

        调整文件系统特性:

            tune2fs

  • ext系列文件系统的管理工具:

        mkfs.ext2,mkfs.ext3,mkfs.ext4

        mkfs -t ext2 = mkfs.ext2

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

            mke2fs[OPTION] device

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

                    mkfs.ext4 = mkfs -t ext4 = mke2fs -t ext4

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

                -L LABEL:指明卷标;

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

                    mke2fs -j = mak2fs -t ext3 = mkfs -t ext3 =mkfs.ext3

                -i#:bytes-per-inode,指明inode与字节的比率;即每多少个字节创建1个inode

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

                -m#:指定预留的空间,百分比;

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

  • e2label命令:卷标的查看与设定

        查看:e2label device

        设定:e2label device LABEL

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

        adjust tunable filesystem parameters on ext2/ext3/ext4/ filesystems;

        注意:块大小创建后不可修改;

        tune2fs[OPTIONS]device

            -l:查看超级快的内容;

            修改指定文件系统的属性:

            -j:ext2 –>ext3;

            -L LABEL:修改卷标;

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

            -O[^]FEATURE:开启或关闭某种特性;

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

                acl

                ^acl

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

        dumpe2fs [-h] device

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

        因进程意外终止或系统崩溃等原因导致定稿操作非正常终止时,可能会造成文件损坏;此时,应该检测并修复文件系统;建议,离线进行;

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

            e2fsck:check a Linux ext2/ext3/ext4/ file systems

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

                -f:及时文件系统处于clean状态,也要强制进行检测;

            fsck:check and repalr a Linux file system

                -t fstype:指明文件系统类型;

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

                -r:交互式修复;

    CentOS 6如何使用xfs文件系统:

        #yum -y install xfsprogs

  •   blkid命令:

        blkid device

        blkid -L LABEL:根据LABEL定位设备

        blkid -U UUID:根据UUID定位设备

  • swap文件系统:

        Linux上的交换分区必须使用独立的文件系统;

            且文件系统的System ID必须为82;

        创建swap设备:mkswap命令

            mkswap[OPTION]device

                -L LABEL:指明卷标

                -f:强制

    Windows无法识别Linux的文件系统;因此,存储设备需要两种系统之间交叉使用时,应该使用windows和Linux同事支持的文件系统:fat32(vfat);

    文件系统的使用:

        首先要“挂载”:mount命令和umount命令

        根文件系统之外的其他文件系统要想能够被访问,都必须通过“关联”至根文件系统上的摸一个目录来实现,此关联操作即为“挂载“;此目录即为”挂载点“;

            挂载点:mount_point,用于作为另一个文件系统的访问入口;

                (1)事先存在;

                (2)应该使用未被其他进程使用的目录;

                (3)挂载点下原有的文件将会被隐藏;

  • mount命令:mount [-fnrsvw] [-t vfstype] [-o options] device dir

            命令选项:

                -r:readonly,只读挂载;

                -w:read and write,读写挂载;

                -n:默认情况下,设备挂载或卸载的操作会同步更新至/etc/mtab文件中;-n禁用

                -t vfstype:指明要挂载的设备上的文件系统的类型;多数情况下可以省略,此时mount会通过blkld来判断要挂载的设备的文件系统类型;

                -L LABEL:挂载以卷标的方式指明设备;mount -L LABEL dir

                -U UUID:挂载时以UUID的方式指明设备;mount -U UUID dir

            -o options:挂载选项

                sync/async:同步/异步操作;

                atime/noatime:文件或目录再被访问时是否更新其访问时间戳;

                diratime/nodiratime:目录再被访问时是否更新其访问时间戳;

                remount:重新挂载;

                acl:支持使用facl功能;

                    #mount -o acl device dir

                    #tune2fs -o acl device

                ro:只读

                re:只写

                dev/nodev:此设备上是否允许创建设备文件;

                exec/noexec;是否允许运行此设备上的程序文件;

                auto/noauto:

                user/nouser:是否允许普通用户挂载此文件系统;

                suid/nosuid:是否允许程序文件上的suid和sgid特殊权限生效;

                defaults:Use default options:rw,suid,dev,exec,auto,nouser, async,and relatime。

    一个使用技巧:可以实现将目录绑定至另一个目录上,作为其临时访问入口;

        mount –bind 源目录 目标目录

    查看当前系统所有以挂载的设备:

        # mount

        # cat /etc/mtab

        # cat /proc/mounts

    挂载光盘

        mount -r /dev/cdrom mount_point

        光盘设备文件:/dev/cdrom,/dev/dvd

    挂载U盘:

        事先识别U盘的设备文件;

    挂载本地的回环设备:

        #mount -o loop /PATH/TO/SOME_LOOP_FILE MOUNT_POINT

  • umount命令:umount device|dir

    注意:正在被进程访问到的挂载点无法被卸载;

        查看被那个或哪些进程所占用;

            #lsof MOUNT_POINT

            #fuser -v MOUNT_POINT

        终止所有正在访问某挂载点的进程:

            #fuser -km MOUNT_POINT

  • 交换分区的启用和禁用:

        创建交换分区的命令:mkswap

        启用:swapon

            swapon[OPYION][DEVICE]

                -a:定义在/etc/fstab文件中的所有swap设备;

        禁用:swapoff

            swapoff DEVICE

    设定除根文件系统以外的其他文件系统能够开机时自动挂载:/etc/fstab文件

每行定义一个要挂载的文件系统及相关属性:

        6个字段:

            (1)要挂载的设备:

                设备文件

                LABEL

                UUID

                伪文件系统:如sysfs,proc,tmpfs等

            (2)挂载点

                swap类型的设备的挂载点为swap;

            (3)文件系统类型;

            (4)挂载选项

                defaults:使用默认挂载选项;

                如果要同时指明多个挂载选项,彼此间以逗号分隔;

                defaults,acl,noatime,noexec

            (5)转储频率

                0:从不备份;

                1:每天备份;

                2:每隔一天备份;

            (6)自检次序

                0:不自检;

                1:首先自检,通常只能是根文件系统可用1;

                2:次级自检

                …

            mount -a:可自动挂载定义再次文件中的所支持自动挂载的设备;

  • 两个命令:df和du

        df命令:

            df[OPTION]…[FILE]…

                -l:仅显示本地文件的相关信息;

                -h:human-readable

                -i:显示inode的使用状态而非blocks

        do命令:

            do[OPTION]…[FILE]…

                -s:sumary

                -h:human-readable

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

(0)
502795641502795641
上一篇 2016-08-29
下一篇 2016-08-29

相关推荐

  • 第四周练习与作业

    一、复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符 复制文件至/tmp目录下: cp /etc/profile /tmp/ vim /tmp/profile 进入文件命令模式下,使用正则表达式  ;%s/^[[:blank:]]\+//g 二、复制/etc/rc.d/init.d/fu…

    2017-08-05
  • mysql.主从复制.读写分离.高可用.集群实战

    架构图如下: 1.按照架构图所示,准备机器,做好时间同步,主机名解析 192.168.42.150 node1 [proxySQL keepalived]192.168.42.151 node2 [proxySQL keepalived]192.168.42.152 node3 [mysql-master wha]192.168.42.153 node4 […

    Linux干货 2017-07-14
  • Linux中的文件管理命令及shell特性

    Linux中的文件管理命令 一、linux中的目录管理命令:mkdir和rmdir mkdir命令:创建目录 – SYNOPSIS         mkdir [OPTION]… DIRECTORY…     -…

    Linux干货 2016-09-27
  • 计算机基础入门及Pyhton基础

    编程基础 计算机基础 程序(program识别并执行的指令 计算机是执行程序的机器 现代计算机 艾伦·麦席森·图灵奠定了现在计算机的逻辑工作方式的基础 冯·诺依曼提出计算机应该有五大部件组成:输入/输出设备、运算器、控制器、输出设备。这是现代计算机基本框架。 语言基础 计算机语言:与计算机之间交互的语言 机器语言:一定位数的二进制代码成为机器指令,指令集合则…

    2017-09-16
  • 逻辑卷管理器LVM

    一、LVM逻辑卷管理     lvm(Logical Volume Manage,逻辑卷管理)的重点在于可以弹性的调整filesystem的容量,而并非在于数据的存储效率及安全上面。需要文件的读写效能或者是数据的可靠性是RAID所考虑的问题。LVM可以整合多个实体partition在一起,让这些partitions看起…

    Linux干货 2016-09-02
  • hadoop安全模式

    hadoop安全模式在分布式文件系统启动的时候,开始的时候会有安全模式,当分布式文件系统处于安全模式的情况下,文件系统中的内容不允许修改也不允许删除,直到安全模式结束。安全模式主要是为了系统启动的时候检查各个DataNode上数据块的有效性,同时根据策略必要的复制或者删除部分数据块。运行期通过命令也可以进入安全模式。在实践过程中,系统启动的时候去修改和删除文…

    Linux干货 2015-04-13

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-29 09:29

    文章内容较为完整,不要用笔记来代替自己的博客,自己写过的东西才是自己的东西,对一些专有名词,我们可以通过查询资料来进行介绍和深入学习。这才是写博客的意义所在哦,不忘初心,方得始终。