Linux文件系统的创建及挂载

日期: 2015年09月01日

Linux文件系统管理

VFS:(Virtual File System 虚拟文件系统)

VFS 是一种软件机制,与它相关的数据结构只存在于物理内存当中。所以在每次系统初始化期间,Linux 都首先要在内存当中构造一棵 VFS 的目录树(在 Linux 的源代码里称之为 namespace),实际上便是在内存中建立相应的数据结构。VFS 中的各目录其主要用途是用来提供实际文件系统的挂载点。

VFS 目录树结构:

Linux文件系统支持的类型:

基本文件系统:Ext2, Ext3, Ext4, Reiserfs(支持小文件), xfs(支持大文件), btrfs, JFS, vfat(支持WindowsFAT32), NTFS

交换分区:swap

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

网络文件系统:NFS, smbfs(CIFS) Common Internet File System

光盘:iso9660

分布式文件系统:ceph

moosefs, mogilefs, hdfs, gfs, glusterfs

(1)日志型文件系统:

非日志型文件系统:ext2

日志型文件系统:ext3

(2)swap: 交换分区

创建文件系统:

在分区上执行格式化(高级格式化)要使用某种文件系统需满足两个条件:

内核中:支持此中文件系统

用户空间:有文件系统管理工具

文件系统管理工具:

mkfs、mke2fs、e2label、blkid、dumpe2fs、tune2fs、fsck、e2fsck

<<========================================【mkfs】========================================>>

mkfs命令

功能:

创建文件系统

格式:

mkfs [-V] [-t fstype] [fs-options] filesys [blocks]

常用选项:

-t fstype  指定要创建何种文件类型

-c  在制做档案系统前,检查该分区是否有坏道

-fs  指定建立文件系统时的参数

实例:

# mkfs -t ext2 /dev/sda3

# mkfs -t ext3 /dev/sda2

# mkfs -t ext4 /dev/sda1

Ext4: mkfs -t ext4 = mkfs.ext4 = mke2fs -t ext4

Ext3: mkfs -t ext3 = mkfs.ext3 = mke2fs -t ext3 = mke2fs -j

Ext2: mkfs -t ext2 = mkfs.ext2 = mke2fs -t ext2

<<========================================【mke2fs】========================================>>

mke2fs命令

功能:

创建ext系列文件系统,支持ext2、ext3、ext4

格式:

mke2fs [OPTION]... DEVICE

常用选项:

-t {ext2|ext3|ext4}

-j : 相当于-t ext3

-L Label:卷标

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

-i #: #个字节给预留一个inode

-N #: 直接指定预留多少个Inode

-I #:Inode大小

-m #:预留管理员的空间百分比,默认为5

-O:指定分区特性

配置文件: /etc/mke2fs.conf

实例:

//先用fdisk创建一个20G的逻辑分区

//用fdisk -l 查看当前/dev/sda硬盘的已有分区,此时可见已添加了一个20G的分区sda5

//但是此时内核仍未识别到该新添加的分区,所以还不能对其创建文件系统

//使用partx -u 更新分区列表,此时内核已识别到该新添加的分区sda5

//使用mke2fs命令创建文件系统,类型为ext4,添加卷标:Newpartition,指定块大小为4096

<<========================================【blkid】========================================>>

blkid命令

功能:

查看设备的属性,UUID和TYPE

格式:

blkid/dev/SOMEDEVICE:

实例:

//查看刚刚新建的sda5分区的文件系统类型、卷标、UUID

<<========================================【e2label】========================================>>

e2label命令

功能:

查看分区的卷标和为分区设定卷标

格式

e2label/dev/SOMEDEVICE: 查看卷标

e2label/dev/SOMEDEVICE 新卷标名

实例:

//使用e2label命令查看sda5的卷标,并把卷标修改为database

<<========================================【dumpe2fs】========================================>>

dumpe2fs命令

功能:

用于查看ext文件系统的超级块和快组信息

格式:

dumpe2fs[ OPTIONS ]... device

常用选项:

-h: 仅查看超级块中保存的信息

<<========================================【tune2fs】========================================>>

tune2fs命令

功能:

用于调整“ext2/ext3”文件系统中的可改参数

格式:

tune2fs[ OPTIONS ]... device

常用选项:

-l:  查看超级块中的信息

-L 卷标名:  设定卷标

-m: 预留管理员的空间百分比,默认为5

-r:  设定文件系统保留块的大小

-j:  如果原来的文件系统为ext2, -j能够将其提升为ext3

-O [^] feature[,...]:  调整分区特性

-o [^] mount-options[,...]:  设定其默认挂载选项

async: 异步I/O

sync: 同步I/O

noatime/atime: 是否更新访问时间戳,建议noatime

auto/noauto: 是否能够被mount -a选项自动挂载;

diratime/nodiratime: 是否更新目录的访问时间戳;

exec/noexec:是否允许执行其中的二进制程序;

_netdev: 在网络设备启用之前禁止尝试挂载网络设备

remount: 重新挂载

acl: 启用facl  文件访问控制列表

ro:挂载为只读

rw:挂载为可读写

user/nouser: 是否允许普通挂载此设备

实例:

//开启/dev/sda5 分区的默认挂载选项,启动文件访问控制列表

<<========================================【fsck】========================================>>

fsck命令

功能:

用于检查并且试图修复文件系统中的错误,当文件系统发生错误时,可用fsck指令尝试加以修复

常用选项:

-t fstype

-a:自动修复文件系统,不询问任何问题

-r: 交互式修复错误

-A:依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统

-P:当搭配"-A"参数使用时,则会同时检查所有的文件系统

-v:执行时显示详细的信息

<<========================================【e2fsck】========================================>>

e2fsck命令

功能:

用于检查文件系统的完整性,通过适当的选项可以尝试修复出现的错误

常用选项:

-f: 强制检测

-y: 对问题自动回答为yes

-b<superblock>: 指定superblock,而不使用预设的superblock

-B<区块大小>:指定区块的大小,单位为字节

-v:执行时显示详细的信息

e2fsck执行后的传回值及代表意义如下:

0 没有任何错误发生。

1 文件系统发生错误,并且已经修正。

2 文件系统发生错误,并且已经修正。

4 文件系统发生错误,但没有修正。

8 运作时发生错误。

16 使用的语法发生错误。

128 共享的函数库发生错误。

交换分区:

虚拟内存并不是真正的内存,它是在硬盘上划分出一块区域,将其格式化成物理内存相同的格式。一旦发生了物理内存不足的情况,就可以将物理内存页框中的数据移动到虚拟内存上。而物理内存空间被重新释放后,又可以将虚拟内存页框中的数据移动回去,这个过程就好像是在交换数据一样,故这一区域被称为交换分区(swap)

<<==============================【mkswap、swapon、swapoff】==============================>>

mkswap命令

功能:

用于在一个文件或者设备上建立交换分区。在建立完之后要使用sawpon命令开始使用这个交换区。

常用选项:

-c:建立交换区前,先检查是否有损坏的区块

-L label

另外两个相关命令:

swapon

-a #标记所有的交换分区都为启用状态

-p #: 在启用的时候指定其优先级

swapoff

-a #禁用所有

实例:

//创建一个空间为4G的分区/dev/sda6,然后把该分区创建为交换分区

文件系统的挂载和使用

将额外文件系统与根文件系统某现存的目录建立关联关系,进而使得此目录作为其他文件系统访问入口的行为,称之为挂载,解除此关系关系的过程称为卸载。

挂载点: mountpoint, 设备挂载至目录:

注意:挂载点在挂载后,其内部原有的文件会被暂时隐藏,建议使用空目录作为挂载点

相关命令:mount、umount、fuser、free、df、du

<<========================================【mount】========================================>>

mount命令

功能:

用于挂载文件系统到指定的挂载点

mount:不跟任何参数,可显示当前系统所有已挂载的设备

格式:

mount[options] [-t fstype] [-o option] 设备 挂载点

常用选项:

-tfstype 挂载的文件系统格式

-a:加载文件“/etc/fstab”中描述的所有文件系统

-o [^]:文件系统默认挂载选项的启用或关闭

async:异步模式

sync: 同步模式

atime/noatime:是否更新访问时间戳;

diratime/nodiratime:是否更新目录的访问时间戳;

auto/noauto: 是否允许此设备被自动挂载;

exec/noexec:是否允许执行此文件系统上应用程序;

dev/nodev:是否支持在此设备上使用设备文件;

suid/nosuid:

remount:重新挂载

ro:挂载为只读

rw:挂载为可读写

user/nouser: 是否允许普通挂载此设备;

acl:是否支持此设备上使用facl;

defaults:rw,suid, dev, exec, auto, nouser, and async

如挂载时没有设定特性,可使用tune2fs修改:

# tune2fs -o mount-option   设备默认挂载属性

# tune2fs -o ^mount-option  取消默认挂载属性

几个关键的配置文件:

/etc/rc.d/rc.sysinit:系统初始化脚本

/etc/mtab:记载的是现在系统已经装载的文件系统,包括操作系统建立的虚拟文件等;

/etc/fstab:是开机后系统自动挂载的文件系统。

此文件中定义的文件系统挂载表

每行定义一个文件系统:(每行包含的内容)

1、要挂载的设备或伪文件系统

LABEL=, UUID=

2、挂载点

3、文件系统类型

4、挂载选项,多个选项间使用逗号分隔;

defaults

5、转储频率

0:从不备份

1:每日备份

6、自检次序

0: 不自检

1:首先自检,通常只有/才有1;

<<========================================【umount】========================================>>

umount命令

功能:

卸载已挂载的分区,(当设备空闲时才可以被卸载)

格式:

umountDEVICE

umountMOUNT_POINT

<<========================================【fuser】========================================>>

fuser命令

功能:

查看占用挂载的设备的进程:

常用选项:

fuser-v 挂载点:  查看当前正在访问该挂载点的进程

fuser-km 挂载点:  终止所有正在访问该挂载点的进程:

<<========================================【free】========================================>>

free命令

功能:

查看内存空间使用状态:

常用选项:

-m: 显示结果以MB为单位

-g: 显示结果以GB为单位

内核映射文件中内存的相关信息:

# cat/proc/meminfo

<<========================================【df】========================================>>

df命令

功能:

查看当前系统上已挂载的分区,及其空间使用信息、inode信息等

常用选项:

-a或--all:包含全部的文件系统

-h或--human-readable:以可读性较高的方式来显示信息

-i或--inodes:显示inode的信息

-T或--print-type:显示文件系统的类型

<<========================================【du】========================================>>

du命令

功能:

统计文件或目录的实际大小

常用选项:

-a或-all:  显示目录中个别文件的大小

-h或--human-readable:  以K,M,G为显示单位

-L<符号链接>或--dereference<符号链接>:  显示指定符号链接的源文件大小

-S或--separate-dirs:  显示个别目录的大小时,并不含其子目录的大小

-c或--total:  除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和

-s或--summarize:  仅显示总计,只列出最后加总的值

-k或--kilobytes:  以KB(1024bytes)为单位输出

-m或--megabytes:  以MB为单位输出

-l或--count-links: 重复计算硬件链接的文件

-L<符号链接>或--dereference<符号链接>:  显示选项中所指定符号链接的源文件大小

-D或--dereference-args:  显示指定符号链接的源文件大小

实例:

[[email protected]~]# du -sch /etc

23M        /etc

23M        total

[[email protected]~]# ^C

[[email protected]~]#

练习:创建一个10G的文件系统,类型为ext4,要求开机可自动挂载至/mydata目录

1、使用fdisk命令,创建一个10G的分区

2、使用partx命令更新分区表让内核能够识别到新创建的分区

3、使用e2fs命令为此分区创建文件系统,类型为ext4

4、在根目录下创建mydata目录,并使用mount命令挂载分区

5、使用blkid命令查看该分去的UUD,并把该值复制下来

6、编辑/etc/fstab配置文件,添加一行该分区的信息,下次开机后系统将会自动挂载该分区

7、可使用mount -a 命令加载当前/etc/fstab配置文件内所有分区,并立即挂载

时间: 2024-11-08 21:14:43

Linux文件系统的创建及挂载的相关文章

linux下磁盘进行分区、文件系统创建、挂载和卸载(转)

任务的原因:由于,刚购买来的服务器需要将磁盘挂载到操作系统上,为了挂载磁盘首先要对磁盘进行分区,然后进行文件系统的创建,最后将磁盘挂载到操作系统上的某个目录. MBR(Master Boot Record)是传统的分区机制,应用于绝大多数使用BIOS的PC设备. 1.MBR支持32bit和64bit系统 2.MBR支持分区数量有限 3.MBR只支持不超过2T的硬盘,超过2T的硬盘只能使用2T空间(使用其他方法) 1.主分区:最多只能创建4个主分区(可使用) 2.扩展分区:一个扩展分区会占用一个主

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下磁盘进行分区、文件系统创建、挂载和卸载

任务的原因:由于,刚购买来的服务器需要将磁盘挂载到操作系统上,为了挂载磁盘首先要对磁盘进行分区,然后进行文件系统的创建,最后将磁盘挂载到操作系统上的某个目录. MBR(Master Boot Record)是传统的分区机制,应用于绝大多数使用BIOS的PC设备. 1.MBR支持32bit和64bit系统 2.MBR支持分区数量有限 3.MBR只支持不超过2T的硬盘,超过2T的硬盘只能使用2T空间(使用其他方法) 1.主分区:最多只能创建4个主分区(可使用) 2.扩展分区:一个扩展分区会占用一个主

掌握管理Linux磁盘和分区的方法 创建并挂载文件系统以及 创建并管理LVM

理论部分:一.磁盘和分区:1.磁盘分区的表示:常见的硬盘可以划分为主分区.扩展分区.和逻辑分区.通常情况下主分区只有4个,而扩展分区看成一个特殊的主分区类型,在扩展分区可以建立逻辑分区.主分区一般用来安装操作系统,扩展分区则多用来储存文件数据.2.硬盘按数据接口不同,大致分为ATA(IDE)和SATA以及SCSI和SAS.现在用的硬盘都是SCSI硬盘,它的优点是资源传输时CPU占用率低,转速快,支持热插拔等.所以在这里主要介绍SCSI硬盘分区的结构.对于SCSI接口的硬盘表示方式是:第一块SCS

Linux 磁盘分区,文件系统创建、挂载和卸载

创建分区 (fdisk): 第一步先在Linux的虚拟机上添加一块硬盘,添加完成后需要重启虚拟机才能够检测识别到新硬盘. 重启系统后可以使用 fdisk -l 命令查看当前所有磁盘分区情况,sdb为我们刚刚创建的新磁盘,可以与上面的sda磁盘对比,发现新磁盘sdb还没有分区.接下来就是为sdb磁盘分区. 分区命令 fdisk /dev/sdb .输入m来查看帮助.主要关注n,p,w. n,添加一个新的分区. p,打印出当前磁盘的分区情况. w,保存修改并退出,修改后必须进行此步操作. 依次输入n

linux磁盘分区格式化、挂载,文件系统

一.硬盘分区&格式化&挂载 RHEL5强制刷新分区表 partprobe /dev/sdb RHEL6强制刷新分区表 partx -a /dev/sdb 1.创建文件系统:挂载分区&格式化 mkfs.TAB 查看当前系统可创建分区类型 [[email protected] ~]# mkfs. mkfs.cramfs  mkfs.ext3    mkfs.vfat    mkfs.ext2    mkfs.msdos 格式化第一个分区   mkfs.ext3 /dev/sdb1 创建

Linux文件系统之挂载/卸载

分区被格式化以后,如果需要存储数据就必须被访问.Linux文件系统中根目录为最高的目录,如果想访问分区,那么分区就必须作为根目录下的子目录出现,所以需要先创建一个挂载点(就是目录),然后将目录与分区关联(挂载),管理员就可以访问分区的数据了.如果想查看现在系统已经挂载的分区 可以使用mount命令查看其实系统挂载的分区很多这里是我们自己挂载的.括号里跟的是分区的一些功能属性卸载挂载点如果分区正在被IO处理,那么是不能被卸载的-a 将fstab中所有支持自动挂载的分区全部挂载,一般情况下,只要有d

Linux 磁盘分区、永久挂载、创建LVM逻辑卷

实验项目: 1掌握管理Linux磁盘和分区的方法 2掌握挂载并卸载文件系统的方法 3掌握创建并管理LVM分区的方法 理论部分:一:磁盘和分区简介 1磁盘分区的表示:常见的硬盘可以划分为主分区.扩展分区.和逻辑分区.通常主分区只有4个,而扩展分区看成一个特殊的主分区类型,在扩展分区可以建立逻辑分区2现在用的硬盘都是SCSI硬盘,所以在这里主要介绍SCSI硬盘分区的结构.对于SCSI接口的硬盘表示方式是:第一块SCSI硬盘我们可以表示为"sda",第二块SCSI硬盘表示为"sdb

Linux文件系统创建,格式化,修改,检测

前言:    本文耗费笔者大量时间编写,转载声明anyisalin.blog.51cto.com. 本文大多数为操作过程,不对理论知识进行过多阐述 1.文件系统的创建 在Linux创建文件系统有几个工具供我们使用:fdisk,parted...,这里我们只对fdisk进行相应讲解. fdisk命令的语法  fdisk [选项]... [设备文件] fdisk命令的常用选项  -l [设备文件]:不加设备文件路径显示系统上所有磁盘分区的信息,加上设备文件路径显示指定磁盘的分区信息 不加参数显示如下