磁盘分区和文件系统管理

磁盘分区


两种分区方式: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

相关推荐

  • 基于ansible自动部署keepalived+nginx来调度amp

    实战作业: (1) 主/备模型的keepalived+nginx (2) httpd+php+php-mysql (3) mysql-server或mariadb-server         拥有testdb库,并允许testuser对其拥有所有权限 实验环境: 主机1:10.…

    Linux干货 2016-11-07
  • shell脚本编程2

    shell脚本编程2   今天继续学习了shell脚本编程,续之前写的脚本编程1。上次主要学了编程的基础,脚本格式,变量类型及变量的使用,条件测试,数字运算并且进行了部分练习,因为这部分逻辑思维能力要求不是很高,因此记忆起来难度不是特别大。   从今天开始便进入了流程控制以及函数、数组、高级字符串操作、高级变量等内容的学习,总体来说难度和…

    Linux干货 2016-08-16
  • linux文件的时间

    1,linux文件有哪些时间属性     access time:atime 访问时间:即查看访问文件的时间     modify time:mtime 修改时间:修改文件内容的时间     change time:ctime 改变时间:修…

    Linux干货 2016-06-09
  • linux iptables替代工具nftables

    1 使用 FirewallD 构建动态防火墙 1.1 “守护进程” 1.2 静态防火墙(system-config-firewall/lokkit) 1.3 使用 iptables 和 ip6tables 的静态防火墙规则 1.4 什么是区域? 1.4.1 预定义的服务 1.4.2 端口和…

    Linux干货 2015-03-11
  • LVM详解

    一、概述     LVM全称为Logical Volume Manager,即逻辑卷管理器。LVM可以弹性的调整文件系统的容量,可以将多个物理分区整合在一起,并且根据需要划分空间或动态的修改文件系统空间。     LVM有两个版本: lvm,lvm2 二、LVM的相关概念   &…

    Linux干货 2015-04-28
  • bash脚本编程实例

    bash脚本编程实例 1.写一个脚本,判断当前系统上所有用户的shell是否为可登录的shell(即用户的shell不是/sbin/nologin),分别统计这两类用户的个数(通过字符串比较来实现) #!/bin/bash cat /etc/passwd|awk -F: ‘BEGIN{nologin=0;login=0}{if($NF==”/sbin/nol…

    Linux干货 2017-08-28

评论列表(1条)

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

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