磁盘分区和文件系统管理

磁盘分区


两种分区方式:MBR,GPT 


MBR: Master Boot Record,1982年,使用32位表示扇区 数,分区不超过2T 


如何分区:按柱面 

    0磁道0扇区:512bytes 

    446bytes: boot loader 

    64bytes:分区表 

        16bytes: 标识一个分区 

    2bytes: 55AA 

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


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

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

UEFI (统一扩展固件接口)硬件支持GPT,使操作系统启动




分区管理

列出设备

    lsblk

blob.png




创建分区


fdisk:创建MBR分区,也支持GPT,对于一块硬盘,最多只能管理15个分区


fdisk /dev/sdb 


gfisk /dev/sdb 类fdisk 的GPT分区工具

#]fdisk -l [-u] [device…] 

    子命令: 

    p 分区列表 

    t 更改分区类型 

    n 创建新分区 

    d 删除分区

    w 保存并退出 

    q 不保存并退出 



内核把已识别新的分区保存在文件 /proc/partation中


新增分区到内核中额度命令

    partx 

        -a  添加指定的分区

        -n  指定分区的范围


删除分区

    kpartx

        -a

        -n


或使用partprobe (不适用于CentOS6)

    partprobe [/dev/sd*]


fdisk与gdisk都是交互式的命令parted可以实时创建分区,需谨慎使用:




文件系统


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

    

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


文件系统类型


    Linux文件系统: :ext2(Extended file system), ext3, ext4, xfs(SGI), btrfs(Oracle), reiserfs, jfs( AIX), swap 

    光盘:iso9660 

    Windows:fat32, ntfs 

    Unix: FFS(fast), UFS(unix), JFS2 

    网络文件系统:NFS, CIFS

    集群文件系统:GFS2, OCFS2(oracle) 

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

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



根据其是否支持"journal"功能:

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

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

文件系统的组成部分: 

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

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

Linux的虚拟文件系统:VFS 

查前支持的文件系统:cat /proc/filesystems



在linux中创建文件系统:重新创建文件系统会损坏原有文件

mkfs: make file system

    -t FSTYPE 

    mkfs -t ext2 = mkfs.ext2

    mkfs -t ext3 = mkfs.ext3

专门管理ext系列文件:

mke2fs

    -j: 创建ext3类型文件系统

    -b BLOCK_SIZE: 指定块大小,默认为4096;可用取值为1024、2048或4096;

    -L LABEL:指定分区卷标;

    -m #: 指定预留给超级用户的块数百分比

    -i #: 用于指定为多少字节的空间创建一个inode,默认为8192;这里给出的数值应该为块大小的2^n倍;

    -N #: 指定inode个数;

    -F: 强制创建文件系统;

    -E: 用户指定额外文件系统属性; 


blkid: 查询或查看磁盘设备的相关属性

    UUID

    TYPE

    LABEL

    e2label: 用于查看或定义卷标

    e2label 设备文件 卷标: 设定卷标

    tune2fs: 调整文件系统的相关属性

        -j: 不损害原有数据,将ext2升级为ext3;

        -L LABEL: 设定或修改卷标; 

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

        -r #: 指定预留块数;

        -o: 设定默认挂载选项;

    acl

        -c #:指定挂载次数达到#次之后进行自检,0或-1表关闭此功能;

        -i #: 每挂载使用多少天后进行自检;0或-1表示关闭此功能;

        -l: 显示超级块中的信息;

dumpe2fs: 显示文件属性信息

    -h: 只显示超级块中的信息

fsck: 检查并修复Linux文件系统

    -t FSTYPE: 指定文件系统类型

    -a: 自动修复

e2fsck: 专用于修复ext2/ext3文件系统

    -f: 强制检查;

    -p: 自动修复;

挂载:将新的文件系统关联至当前根文件系统

卸载:将某文件系统与当前根文件系统的关联关系预以移除;

mount:挂载

mount 设备 挂载点


设备:

设备文件:/dev/sda5

卷标:LABEL=“”

UUID: UUID=“”

挂载点:目录

    要求:

    1、此目录没有被其它进程使用;

    2、目录得事先存在;

    3、目录中的原有的文件将会暂时隐藏;

mount: 显示当前系统已经挂载的设备及挂载点


mount [options] [-o options] DEVICE MOUNT_POINT

    -a: 表示挂载/etc/fstab文件中定义的所有文件系统

    -n: 默认情况下,mount命令每挂载一个设备,都会把挂载的设备信息保存至/etc/mtab文件;使用—n选项意味着挂载设备时,不把信息写入此文件;

    -t FSTYPE: 指定正在挂载设备上的文件系统的类型;不使用此选项时,mount会调用blkid命令获取对应文件系统的类型;

    -r: 只读挂载,挂载光盘时常用此选项

    -w: 读写挂载

    -o: 指定额外的挂载选项,也即指定文件系统启用的属性;

        remount: 重新挂载当前文件系统

        ro: 挂载为只读

        rw: 读写挂载



挂载完成后,要通过挂载点访问对应文件系统上的文件;

    umount: 卸载某文件系统

     umount 设备

    umount 挂载点

卸载注意事项:

挂载的设备没有进程使用;







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

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

相关推荐

  • 第7天:磁盘文件管理

    http://note.youdao.com/yws/public/redirect/share?id=57ab13d4749920de1fbb0d4953fcd21b&type=false

    Linux干货 2016-08-18
  • 20 shell脚本编程1

    20 shell脚本编程1 一、杂项知识整理 1、脚本文件格式:     #!/bin/bash     (注释信息:)     #description:say hello     #vesion:…

    Linux干货 2016-08-11
  • 我的第一篇博客

        大家好,欢迎阅读我的博客!     今天是我生平第一次写博客,恩  为什么现在才开始写呢?     其实是作业要求 哈哈!虽然是写作业,本萌新也是很拼的!     希望在以后学习li…

    2017-07-10
  • Bash 的配置文件

    有时候,在定义了别名 alilas cls=clear  , 或者定义了 umask=033 等等,在logout 用户后再登录,会失效,因为这些本地变量,仅对当前shell生效。而要保留配置,使其永久生效,就需要将这些定义的写入配置文件中保存。下面介绍下bash的配置文件:  Bash的配置文件可以分为: profile类: /etc/…

    Linux干货 2015-04-04
  • varnish 缓存服务器配置与使用

    varnish 缓存服务器配置与使用 一、cache 1.缓存为什么会存在? 一个快的设备要想和慢的设备交互,只有一种办法就是让快的设备工作在慢的设备的频段上!这样的话就浪费了,我们可以在两者之间加上一个加速器,这个加速器就叫做缓存! CPU要读取一个数据时,首先从Cache中查找,如果找到就立即读取并送给CPU处理;如果没有找到,就用相对慢的速度从内存中读…

    2016-11-13
  • 磁盘管理,软raid,脚本基础

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; mke2fs -t ext4 -L MYDATA -m 2 /dev/sdb tune2fs -o acl /dev/sdb (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行…

    Linux干货 2017-10-25

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-29 11:20

    文章内容完整,磁盘管理相关命令和用总结的很详细,这是作者很用心的地方,但是对于硬盘基础部分,最好不要罗列一写名词,希望作者能通过查询资料来进行解释,这本身也是巩固和深入的过程。如果能自己画图来描述一下。