磁盘分区和文件系统管理

磁盘分区


两种分区方式: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 08:49
下一篇 2016-08-29 08:49

相关推荐

  • shell-在线翻译脚本

            在linux过程中难免会碰到陌生的单词,此时不得不打开翻译软件或网页请求翻译,但这样切换界面比较麻烦,也浪费时间;         今天头脑发热,尝试着在网上找命令行翻译工具,但无果;…

    2017-02-19
  • Linux LVM介绍及管理

    什么是LVM? LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,用来提高磁盘分区管理的灵活性。系统管理员可以通过LVM轻松的管理磁盘分区,如:将若干个磁盘分区或物理磁盘连接为一个整块的卷组 (volumegroup),形成一个存储池。管理员可以…

    Linux干货 2016-08-30
  • Cent OS 6 编译方式安装LAMP

    细节要求: (1) 三者分离于三台主机; (2) 一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress; (3) PHP使用FastCGI+xcache; (4) httpd使用非prefork的mpm模式; 一、CentOS6环境准备 1、OS(CentOS6.8)下开发环境包的安装,编译安装程序包需要使用 #yum grou…

    Linux干货 2017-02-24
  • sed,vim练习

    1 、删除/etc/grub2.cfg 文件中所有以空白开头的行行首的 空白字符 [root@localhost ~]# sed -r 's@^[[:space:]]+@@' /etc/grub2.cfg 2 、删除/etc/fstab 文件中所有以#开头,后面至少跟一个空白字符的行的行首…

    Linux干货 2016-08-10
  • 数据库存储引擎—InnoDB

    MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。

    Linux干货 2018-02-22
  • Linux系统启动流程简介

    centos系统启动流程 本篇仅仅讲解centos5和6 centos7并不适用 Linux系统的组成部分:内核+根文件系统 内核功能: 进程管理 内存管理 网络管理 驱动程序 文件系统 安全功能 有以下目录结构的文件系统可以被识别为根文件系统,但根文件系统本身不存在 rootfs:/bin/ /sbin /etc/ /sys/…

    Linux干货 2016-09-10

评论列表(1条)

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

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