磁盘分区和文件系统格式化

文件系统相关概念:

文件系统示意图:

block(块):文件系统的基本存储单元,格式化时决定块大小,大小可以是有1024,2048,4096字节

superblock(超级块):保存整个分区中的全局信息(有多少块组,每个块组有多少块,空闲inode,块大小等,至关重要,允许备份超级块)

block group(块组):相当于分区下面的子分区,方便在大分区上快速查找可用空间,大小取决于块大小

GDT:块组描述表,当前分区上每一个块组的块组名,每一个块组的边界信息(从哪个块起始和到哪个块结束)

block Bitmap(块位图):置位0代表未曾使用,1代表已经被使用,用于加速查找空闲磁盘块(使磁盘不需要遍历查询整个磁盘寻找空闲磁盘块,只要扫描bitmap的置位即可)

Inode中存储数据相关属性(权限,属主数组,inode号,大小,位置等),直接或间接指向文件存储到的磁盘块的位置

inode bitmap(索引节点位图)分为inode位图和块位图,顾名思义,inode位图用于加速检索空闲inode

目录:目录其实是一张表,每一行都是inode号码和目录下文件名称的对应条目

那么我们如何在磁盘上增删文件呢?

新建一个文件:例如/var/test.txt  1.扫描inode位图找到一个空闲inode并占用,根据/var对应的inode找到目录对应的磁盘块,找到目录条目,新建test.txt,并且将刚刚扫描到的空闲inode所引导它-----------如果往这个文件里存储数据,找空闲磁盘块,找到块位图,分配几个块给它,如果存完发现分配的块没用完则回收未分配的块

删除一个文件:首先inode号码在位图上标记为空,目录上标记的文件名删掉,块位图上把文件原先存储的块标记为未使用,但是不会清空磁盘块上存储的数据,下次存储直接覆盖就行(数据删除可以恢复的原理),文件粉碎就是删除文件同时清空了磁盘块

1.磁盘分区:

分区工具:fdisk,cfdisk,sfdisk等,这里以fdisk为例

fdisk:对于一块硬盘来讲,最多只能管理15分区;
            # fdisk -l [-u] [device...]

# fdisk device

子命令:管理功能
                p: print, 显示已有分区;
                n: new, 创建
                d: delete, 删除
                w: write, 写入磁盘并退出
                q: quit, 放弃更新并退出
                m: 获取帮助
                l: 列表所分区id
                t: 调整分区id
    TIPS:分区完成后需要通知内核重新加载分区表以识别新加入的分区
        查看内核是否已经识别新的分区:
            # cat /proc/partations

通知内核重新读取硬盘分区表:
            partx -a /dev/DEVICE
                -n M:N

kpartx -a /dev/DEVICE
                -f: force

CentOS 5: 使用partprobe
                partprobe [/dev/DEVICE]

2.文件系统:了解了基本概念,下面我们围绕ext3文件系统进行讲解

ext3文件系统:相比之前的文件系统多了日志功能,日志功能可以帮助快速恢复数据,检测文件系统错误

想要查看当前情况内核支持哪些文件系统,使用 cat /proc/filesystem命令

格式化工具:

1.mkfs


            2.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的大小;
            -N #:为数据空间创建多少个inode;
            -m #: 为管理人员预留的空间占据的百分比;
            -O FEATURE[,...]:启用指定特性
                -O ^FEATURE:关闭指定特性

3.mkswap:创建交换分区

mkswap [options] device
                -L ‘LABEL‘
            前提是:磁盘分区时调整其分区的ID为82;

查看类常用工具:
        1.blkid:块设备属性信息查看
            blkid [OPTION]... [DEVICE]
                -U UUID: 根据指定的UUID来查找对应的设备
                -L LABEL:根据指定的LABEL来查找对应的设备

UUID:统一全局标示符,用于唯一标识磁盘设备

2.e2label:管理ext系列文件系统的LABEL
            # e2label DEVICE [LABEL]

3.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
            fsck -t FS_TYPE
                -a: 自动修复错误
                -r: 交互式修复错误

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

e2fsck:ext系列文件专用的检测修复工具
            -y:自动回答为yes;
            -f:强制修复;

时间: 2024-08-06 03:43:36

磁盘分区和文件系统格式化的相关文章

Linux磁盘分区之文件系统格式化

创建文件系统的前提是有分区创建文件系统系统为super user预留了一些存储空间,用于管理操作Creating journal 是为操作系统创建日志另一个方式创建文件系统使用-t执行文件系统类型如果指定分区已经有了一个文件系统,可以使用-f强制进行文件系统创建使用blkid查看文件系统简要信息高级方式创建文件系统mke2fs这个命令是用来创建ext2/3/4文件系统的-t 指定文件系统类型 ext2/ext3/ext4 默认是ext2创建ext4文件系统的方式:mkfs.ext4=mkfs -

linux Centos下磁盘分区及文件系统创建与挂载

linux Centos下磁盘分区及文件系统创建与挂载 MBR(Master Boot Record)是传统的分区机制,应用于绝大多数使用BIOS的PC设备. 1.MBR支持32bit和64bit系统 2.MBR支持分区数量有限 3.MBR只支持不超过2T的硬盘,超过2T的硬盘只能使用2T空间(使用其他方法) 1.主分区:最多只能创建4个主分区(可使用) 2.扩展分区:一个扩展分区会占用一个主分区位置(不可使用,可化为逻辑分区) 3.逻辑分区:Linux最多支持63个IDE分区和15个SCSI分

Linux 磁盘分区、文件系统、目录

本文出自 "水滴石穿" 博客,请务必保留此出处http://pengyl.blog.51cto.com/5591604/1178952 1.Linux中如何表示硬盘和分区 硬盘分区包括主分区.扩展分区.逻辑分区三种类型,之所以会有这样的区分,是因为在硬盘的主引导扇区中用来存放分区信息的空间只有64个字节(主引导扇区一共只有512字节空间),而每一个分区的信息都要占用16字节空间,因而理论上一块磁盘最多只能拥有4个分区,当然这4个分区都是主分区.这在计算机早期是没什么问题的,但后来随着硬

磁盘分区和文件系统

磁盘分区和文件系统 分区的作用: 分隔系统和程序 安装多个os 采用不同的文件系统 提高修复速度 目前主流分区 MBR.GPT的区别: MBR:最多四个主分区,可有逻辑分区和扩展分区   使用32位扇区   分区大小不能超过2T GPT:支持128个分区 ,全都是主分区  大小最大8Z  自动备份 分区命令: fdisk.gdisk fdisk为管理划分MBR分区的命令,gdisk为管理划分GPT分区的命令,两者用法基本一致,这里拿fdisk为例 使用fdisk 跟磁盘文件进入fdisk命令行,

磁盘分区,文件系统,软链接和硬链接,内存和进程管理

(一)磁盘分区 1.硬盘逻辑上划分为:块--磁道--磁柱--分区: 2.分区分类:主分区,扩展分区,逻辑分区 3.命令: sdb---scsi接口的第2个磁盘,路径为/dev/sdb /dev/sro----光盘,像/dev/sda  /dev/sdb   /dev/sdb2 这些我们可以称其为设备名 df命令用来检查linux服务器的文件系统的磁盘空间占用情况,df--diskfilesystem 文件系统 fdisk是对磁盘添加,删除,转化分区 fdisk  -l  /dev/sda 查看硬

关于Linux磁盘分区,文件系统创建命令,文件系统挂载略提

Linux磁盘管理 (1) 创建磁盘分区 fdisk /dev/sda   子命令 :p 打印磁盘分区信息 d 删除分区 n 新建分区 w 保存并退出 t 修改分区ID l 列表所分区ID (2) 在新的分区上创建文件系统,用户空间的管理工具   mkfs.ext2 device mke2fs -t ext3 -b 1024 -m 3 -L '卷标' /dev/DEVICE     解释:-t 指明文件系统 -j = -t ext3   -b 说明块分区大小 -N 创建多少个 inode -m

磁盘分区与文件系统

一:磁盘分区 二:文件系统 三:修改文件系统属性 1.1查看当前系统识别了几块硬盘 [[email protected] /]# fdisk -l 1.2创建新分区 1.3使用partx来让内核重读分区表,增加分区 [[email protected] /]# partx -v -a /dev/sda 1.4重读分区表,删除分区 [[email protected] /]# partx -v -d /dev/sda 2.1查看当前内核所支持的文件系统类型 [[email protected] /

Linux 查看磁盘分区、文件系统、磁盘的使用情况相关的命令和工具介绍

Linux 磁盘分区表.文件系统的查看.统计的工具很多,有些工具是多功能的,不仅仅是查看磁盘的分区表,而且也能进行磁盘分区的操作:但在本文,我们只讲磁盘分区的查看,以及分区的使用情况的查看:本文只是给新手上路之用:关于分区工具的操作,我将在以后做专门介绍: 一.df 命令: df 是来自于coreutils 软件包,系统安装时,就自带的:我们通过这个命令可以查看磁盘的使用情况以及文件系统被挂载的位置: 举例: 代码: [[email protected] beinan]# df -lh File

linux下查看磁盘分区的文件系统格式

df -T 只可以查看已经挂载的分区和文件系统类型. Filesystem Type 1K-blocks Used Available Use% Mounted on/dev/sda1 ext4 20642428 3698868 15894984 19% /tmpfs tmpfs 32947160 0 32947160 0% /dev/shm fdisk -l 可以显示出所有挂载和未挂载的分区,但不显示文件系统类型. Disk /dev/sda: 299.4 GB, 299439751168 b