zoukankan      html  css  js  c++  java
  • Linux:Day7(下) 磁盘管理、文件系统管理

    Linux入门

    Linux系统管理:

      磁盘管理、文件系统管理

      RAID基本原理、LVM2

      网络管理:TCP/IP协议、Linux网络属性配置

      程序包管理:rpm,yum

      进程管理:htop,glance,tsar等

      sed和awk

      Linux系统开机流程

      内核管理基础知识:编译内核、模块

      Linux系统裁剪

        kernel+busybox

      课外作业:LFS

    Linx磁盘管理

      I/O ports:I/O设备地址;

      一切皆文件:

        open(),read(),write(),close()

        块设备:block,存取单位“块”,磁盘

        字符设备:char,存取单位“字符”,键盘

        

        设备文件:关联至一个设备驱动程序,进而能够与之对应硬件设备进行通信;     注:设备文件是特殊类型的文件,只有元数据,没有数据。

          主设备号:major number,标识设备类型

          次设备号:minor number,标识同一类型下的不同设备

          # 可通过ll /dev/查看设备文件,前面一个为主设备号,后面一个为次设备号。

          

        硬盘接口类型:

          并行:

            IDE:133MB/s

            SCSI:640MB/s

          串口:

            STAT:6Gbps

            SAS:6Gbps

            USB:480MB/s

          rpm:rotations per minute 每分钟转的圈数

        /dev/DEV_FILE

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

          IDE:/dev/hd

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

            不同设备:a-z

              /dev/sda,/dev/sdb,...

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

              /dev/sda1,/dev/sda5

        

        机械式硬盘:

          track:磁道

          cylinder:柱面

          secotr:扇区

            512bytes

          如何分区:

            按柱面

          0磁道0扇区:512bytes

            MBR:Master Boot Record  主引导记录

              446bytes:boot loader  引导加载器,是一个程序

              64bytes:分区表

                16bytes:标识一个分区,每16个字节标识一个分区,所以一块磁盘最多只能出现4个分区。

              2bytes:55AA  代表前面520个字节是有效的。

              4个主分区:

                4个主分区

                3主分区+1扩展分区(N个逻辑分区)

                  逻辑分区,从5开始编号

          问题:UEFI,GPT?

    分区管理工具:fdisk,parted,sfdisk

      fdisk:对于一块硬盘来讲,最多只能管理15分区;

      # fdisk -l [-u] [device...]    列出所有或指定磁盘设备分区信息

           

        boot:表示该分区是否可引导,*号表示该分区可引导。

        其它解析依次是:起始柱面、结束柱面、包含的磁盘块数、分区标识、应用在哪个系统上常用的分区标识。

        sda1的结束柱面和sda2的开始柱面是同一柱面,这个是不允许的,所以有了Partition 1 does not end on cylinder boundary.提示

      # fdisk device  

        子命令:管理功能

          p:print,显示已有分区;

          n:new,创建

          d:delete,删除

          w:write,写入磁盘并退出

          q:quit,放弃更新并退出

          m:获取帮助

          l:列表所分区id  # 显示分区类型以及id,用t设置的时候可能会用到

          t:调整分区id

      查看内核是否已经识别新的分区:只有识别了才能做进一步操作。

        # cat /proc/partations

      通知内核重新读取硬盘分区表:

        partx -a /dev/DEVICE

          -n M:N

        kpartx -a /dev/DEVICE

          -f:force

        Centos 5:使用partprobe

          partprobe [/dev /DEVICE]

    Linux文件系统管理:

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

        swap:交换分区

        光盘:iso9660

      Windows:fat32,ntfs

      Unix:FFS,UFS,JFS2

      网络文件系统:NFS,CIFS

      集群文件系统:GFS2,OCFS2

      分布式文件系统:ceph

        moosefs,mogilefs,GlusterFS,Lustre

      根据其否支持“journal”功能:日志型就是多了一个日志区域,元数据先放在日志区域,等传完了,再把元数据挪到元数据区域,这样如果中途断电了,开机只需要检查日志区域就可以了,提高了检查效率。

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

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

      文件系统的组成部分:

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

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

      Linux的虚拟文件系统:VFS

        

      创建文件系统:想要创建文件系统内核必须支持,另外还要有用户空间的管理工具。使用用户空间管理工具调用内核模块功能来实现文件系统管理功能。

      cat  /proc/filesystems  查看系统支持的文件系统。

      lsmod    查看内核中装载的模块,任何一个文件系统想要使用,内核中必须装载相应的模块。

        mkfs命令:格式化完成后可以使用blkid查看设备的属性信息,如UUID,文件系统类型、卷标。 

          (1)# mkfs.FS_TYPE  /dev/DEVICE

            ext4

            xfs

            btrfs

            vfat

          (2) # mkfs -t FS_TYPE  /dev/DEVICE  其实指定类型后调用的就是上面那些命令

          -L 'LABEL':设定卷标,将来可以使用卷标对这个分区执行调用操作。

        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的大小;inode就是源数据。

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

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

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

            -O ^FEATURE:关闭指定特性

        mkswap:创建交换分区

          mkswap [options] device

            -L ‘LABEL’

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

      

      其它常用工具:

        blkid:块设备属性信息查看

          blkid [OPTION]...[DEVICE]mkswap [-c] [-f] [-p PSZ] [-L label] [-U uuid] device

            -U UUID:根据指定的UUID来查找对应的设备,UUID为全局唯一标识符

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

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

          # e2label DEVICE [LABEL]    用来查看或设置分区卷标

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

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

          -L ‘LABEL':修改卷标

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

          -j:将ext2升级为ext3

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

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

          -U UUID:修改UUID号;

        dumpe2fs:后面直接加设备查看是块组信息。

          -h:查看超级块信息

      文件系统检测:

        fsck:File System Check

          fsck.FS_TYPE

          fs -t FS_TYPE

            -a:自动修复错误

            -r:交互式修复错误

            Note:FS_TYPE一定要与分区上已有文件类型相同;

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

          -y:自动回答为yes;

          -f:强制修复;

          

  • 相关阅读:
    codeforces 447C. DZY Loves Sequences 解题报告(446A)
    ajax 请求多张图片数据
    window 常用软件
    linux 脚本命令匹配并获取下一行数据
    linux C之getchar()非阻塞方式
    php curl 库使用
    vue.js 简单入门
    巧用jQuery选择器写表单办法总结(提高效率)
    linux 中断理解
    linux 驱动 工作队列
  • 原文地址:https://www.cnblogs.com/sq5288/p/9673468.html
Copyright © 2011-2022 走看看