linux磁盘格式化与管理知识点总结

linux磁盘格式化与管理知识点总结,第1张

首先我们来认识下Linux上的文件系统

/:根目录

/bin:二进制,可执行命令

/sbin:可执行命令,仅用于管理,通常只有管理员才有权限使用。

/boot:引导, *** 作系统用于引导系统启动的文件,一般指内核

/dev:设备文件

Linux的设备类型

字符设备:以c开头的文件,线性设备

块设备:以b开头的文件,随机设备

/etc:配置文件

/home:用户的家目录,/home/username,eg:jerry,/home/jerry

/lib,/lib64:库文件

/media:挂载点目录,通常用于挂在便携性设备

/mnt:挂载点目录,挂在额外的文件系统

/misc:备份目录

/net

/opt可选目录,通常第三方软件偶尔安装于此路径下

/proc:伪文件系统,内存中内核的映射

/selinux: 安全加强的linux

/srv: service 属于服务的中间数据存储位置

/sys:类似于proc,通常用于访问获取硬件设备属性信息

/tmp:临时文件目录

/usr:存放只读文件

/var:经常会发生变化的文件,比方说日志等

文件系统通常有内核提供,Windows里边的文件系统有:NTFS、FAT32 Linux里边的文件系统主要由ext2,ext3,ext4,xfs,reiserfs,nfs,iso9600,jfs,brtfs

对磁盘格式化就是创建文件系统,那么怎么实现格式化的呢?下面介绍一下实现磁盘格式化的命令及用法

第一步;分区

fdisk [DEVICE]

d 删除一个分区

n 新建一个分区

w 保存退出

q 不保存退出

l 各分区类型对应的System ID

t 修改指定分区的System ID

分区之后让内核重新读取硬盘分区表的方法

1、重启系统

2、RHEL5 上利用partprobe [DEVICE] 实现

REHL6 利用partx -a [PARTITION] DEVICE 实现

第二步:格式化分区,创建文件系统

mkfs -t fstype /dev/part = mke2fs -t fstype /dev/part

要点:1、文件系统必须被内核支持才能使用,即内核有相应的内核模块,或者已经

将之整合进内核;

2、要有相应文件系统创建工具,这通常是mkfs.fstype

mke2fs -t {ext2|ext3|ext4}

-b {1024|2048|4096}:块大小

块大小取决CPU对内存页框大小的支持,x86系统默认页框大小为4K;

-L label: 设定卷标

-m #: 预留给管理使用的块所占据总体空间的比例;

-r #: 预留给管理使用的块的`个数;

-E: 设定文件系统的扩展属性;

tune2fs

-l: 显示文件系统超级块信息;

-L label:重新设定卷标;

-m #: 调整预留给管理使用的块所占据总体空间的比例;

-r #: 调整预留给管理使用的块个数;

-o:设定挂载默认选项

-O: 设定文件系统默认特性

-E: 调整文件系统的扩展属性

blkid DEVICE 显示设备的UUID、文件系统类型及卷标

第三步 挂载

mount [-t fstype] DEVICE MOUNT_POINT

mount [-t fstype] LABEL="卷标" MOUNT_POINT

mount [-t fstype] UUID="UUID" MOUNT_POINT

挂载之后,原有数据的会被隐藏,因此不能挂载到系统常用目录上;

卸载之时,要确保没有进程正在访问挂载的设备;否则,无法卸载;

-o 用于指定挂在选项。

ro: 只读挂载

rw: 读写,默认即为读写

noatime: 关闭 更新 访问时间;

auto: 是否能够由“mount -a”挂载;

defaults:相当于rw, suid, dev, exec, auto, nouser, async, and relatime

sync: 同步写入

async:异步写入

dev:

remount: 重新挂载

loop: 本地回环设备;

-n 挂在系统时,不更新设备文件

-r 只读挂载,相当于“-o ro”

free 查看内存大小

-m: 空间大小换算为MB

-g: 空间大小换算为GB

Linux的磁盘管理是Linux管理员非常重要的必须技能,现在的Ubuntu,红帽。都已经可以使用LVM进行分区管理,也就是自动分配增长分区功能。看起来好像,不需要使用磁盘管理,磁盘可以自动管理。但是,我们的磁盘坏了,需要更新或者系统需要扩容,增加新的硬盘,这时候就必须要使用fdisk命令进行管理。本文就是针对fdisk进行管理的说明。

在Linux中要对磁盘进行分区,需要四步来进行(非常重要,不可缺少任何步骤):

1.对磁盘进行分区

2.内核重新读取新的分区表:执行命令

partprobe /dev/sd (sd 新建的磁盘分区,*是新建分时候对应的磁盘,如:sdc1,sdb2等)

本文使用sdb1来演示

3.创建文件系统,Linux支持很多文件系统,主要有ext4和xfs

mkfs.ext4 /dev/sdb1

4.挂载,将文件系统连接到目录结构中。

下面我执行上面的每一步骤:我假设新增磁盘

ls /dev/sd* ##查看新增磁盘

在下方输入n;

最后输入w进行保存(必须,否则会丢失,分区不成功。)

这样,我们的第一步完成。

现在,进行第二步

创建文件系统,首先格式化硬盘分区。

mkfs.ext4 /dev/sdb1 ##在这里注意,一定不能格式化sdb,要格式化的是sdb1.要是格式化sdb,那么sdb1就没有了,所以一定要注意。

1.手动挂载:重启后会失效,

mount 硬件所在目录 挂载点 (目录)。比如:

mkdir /mnt/user ###在/mnt目录下创建user文件

mount /dev/sdb1 /mnt/user ###将sdb1分区挂载到mnt文件下的user文件下。user文件下的内容全部存储到sdb1分区中。

2.永久挂载:就是将设备加到 /etc/fstab 文件中

vim /etc/fatab ###设置fstab配置文件

重点:inode、block(数据区块)、superblock(超级区块)

磁盘结构

GPT与MBR

区别

磁盘以文件表示

linux中设备都以文件形式在/dev中表示,如磁盘为/dev/sd[a-p物理][1-128分区]

文件系统:boot+group+group...

group: inode信息 数据

限制:

缺点:

区块大:小文件多浪费空间

区块小:inode多读写性能差

记录一个区块指针需要4B,一个inode包含12个直接、1个间接、1个双间接、1个三间接,所以1K区块下一个文件最大12+256+256 256+256 256*256个数据区块共16G

如何查看这些信息

输出:超级区块信息+区块群组信息

数据不一致

异步处理

修改时将文件读入内存标记为clean,修改后标记为dirty但并不立即写入硬盘,需要调用sync。

不正常关机时会导致磁盘校验。

文件系统与目录树

挂载:文件系统与目录树结合,比如将 / 挂载到 /dev/sda1 这个设备

相同文件系统类型的不同文件系统目录树根的inode相同,不同文件系统内文件inode值可能重复,同一个文件系统inode与文件一一对应。

Linux支持多种文件系统,包括 传统、日志、网络 的,以下命令可以查询。

VFS(Virtual Filesystem Switch)是位于 内核层 系统调用 ,帮助处理读取不同文件系统

ext4不好:预先分配所有inode,格式化慢,不适合大容量磁盘

XFS好:适合大容量磁盘和巨型文件

lsattr 和 chattr 可以更改隐藏属性,但是xfs不支持部分隐藏属性

xfs分为数据区(data section)、文件系统活动登录区(log section)、实时运行区(realtime section)

数据区

同ext,分为超级区块、剩余空间的管理、inode分配与追踪。但是inode动态分配,格式化快。且数据块(4K以上内核不给挂载)与inode大小(256B-2M)可以自定义。

文件系统活动登录区

类似日志区,所有文件变化在此记录,当完全被写入记录才被删除,用于校验。可指定外部磁盘作为该区。

实时运行区

先在该区段中寻找数个extent区块,将文件放到这些区块中, 等分配完了 再写入数据区中的inode与区块中。

xfs文件系统查看信息

注意点:如果对 /boot 使用,可以看到 /dev/sda2 指向某个物理设备,但是对 / 使用,可以看到指向 /dev/mapper/centos-root 。这是因为在安装系统时候, 设备分区 使用了LVM而非标准分区,linux为你自动创建的空间池,用多少取多少。

含有inode大小、个数、总数、区块大小、数量、与阵列 stripe 有关的信息

df

/proc 中1kblock,used,free都是0,因为这个目录挂载在内存中

/dev/shm/ 是用内存虚拟出的磁盘空间

不知道某个目录/文件所在挂载点,还想知道这个分区还能存多少东西?

du

硬链接

符号链接

流程: 分区->格式化->检验(可选)->挂载(Linux特色)

查看UUID(全局唯一标识符): lsblk-f 或 blkid

分区流程: lsblk 或 blkid 查看分区->gdisk 或 fdisk 根据提示 *** 作

区块与扇区:区块针对 文件系统 而言,扇区针对 物理硬盘 而言

不要处理正在活动的分区 (已挂载的分区),linux将不能更新分区表

添加分区默认按序号给分区编号,且默认开始扇区从第一个未被占用的扇区开始。

功能:使用文件系统格式化软件格式化磁盘分区。

命令: mkfs.xfs mkfs.ext4 mkfs


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7637800.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存