[9-1]磁盘分区、创建文件系统、挂载以及链接文件

本文旨在复习磁盘分区、创建文件系统、挂载以及链接文件的基本概念

知识储备


  • 硬盘出厂其实不能写入数据的,是"盲盘",需要处理后使用,格式化分为2种

    • 低格:将空白磁盘划分出柱面、磁道及若干个扇区,每个扇区又划分出标识部分ID、间隔区GAP和数据区DATA等。现在大多出厂已经完成低格,只需要用户磁盘分区即可。
    • 高格:真正意义上的创建文件系统,明确存储设备或分区上的文件方法和数据结构,即在存储设备上组织文件的方法。
    • 文件系统是用户存取磁盘文件操作的"代理人"
  • 不同类型的操作系统支持的文件系统有差异,Linux支持众多文件系统
  • 硬盘分区实质上是对硬盘的一种格式化[通常在低格后,高格前],然后才能使用硬盘保存各种信息。创建分区时,设置硬盘的各项物理参数,指定MBR存放位置和备份位置等信息。

磁盘分区



● Linux上磁盘分区工具大致有fdsik、parted、sfdisk等,此处以最常用的fdisk为例

● fdisk -l 查看当前系统分区

● 请注意Boot下的 * 表示该分区为系统Linux的引导分区

● ID是分区的类型标识符,用来指明磁盘的具体用途,可以通过fdisk /dev/sda后使用l列出已知的类型标识

:使用VMware添加一块20GB的磁盘,创建一个主分区[在Linux上该块磁盘识别为/dev/sdb



● 使用fdisk /dev/sdb进入对磁盘分区的交互式接口

● 创建主分区,编号为1,并保存分区情况[可以在交互式界面使用m获得命令帮助]

● 请注意:一定要使用w写入保存,否则不会有记录,可以通过交互式接口输入p打印查看分区情况

● 当分区创建完毕以后,我们需要确定内核是否已经识别新分区cat /proc/partitions

极个别情况下新分区不会被Kernel识别,这通常是由于你所创建的分区在之前已经被内核所挂载识别,这种情况下通常使用以下2个命令来强制刷新,让Kernel重读磁盘的分区表

<1>    partx -a -f M:N DEVICE

<2>    kpartx -af DEVICE


文件系统



● 每个磁盘分区的文件系统可以是独立的,这意味着文件系统建立在磁盘分区之上。在划分好磁盘分区后,我们可以创建文件系统,常见的创建文件系统工具如下

mkfs
通杀版,通过指定参数-t type能够创建各种文件系统,本质上是调用对应的文件系统创建工具罢了

mkfs -t type DEVICE = mkfs.type DEVICE

mke2fs ext系列文件系统专用管理工具
blkid DEVICE、LABEL、UUID、TYPE查看工具,简洁

● mke2fs命令


1
2
3
4
5
6
7
8
9
10
11
12
13


Usage:
    mke2fs [OPTION]... DEVICE
OPTIONS:
    -t {ext2|ext3|ext4} 设置文件系统类型,可以实现无损转换
    -b {1024|2048|4096} 设置块大小,即1k 2k 4k对齐
    -L ‘LABEL‘  设置分区卷标
    -j          相当于启用mke2fs -t ext3
    -i #        指明多大空间为一个Inode,任何文件的唯一标识
    -N #        为磁盘分区保留多少个Inode
    -m #        预留磁盘空间占据多大百分比的空间为后期管理使用;
    -O FEATURE. 启用指定特性
    -O ^FEATURE 关闭此特性
查看有哪些特性,可以使用man tune2fs


:使用mke2fs创建一个文件系统ext4, 4K对齐,卷标为Lance



● 图中的红框可以看到,mke2fs默认会保留5%的分区空间,给后期管理使用!切记哦!

文件系统属性查看、调整、检测修复



● 创建了文件系统之后,Linux提供有很多的查看工具,调整工具[微调工具,并不是意味着所有的选项都已调整的]和检测修复工具,常见的工具如下表


Blkid

查看DEVICE、LABEL、UUID、TYPE查看工具,简洁明了

e2label


主要用于管理卷标


Tune2fs


显示ext系列文件系统 的属性,或者调整其属性,并不是每个属性都可以调整,比如块大小只有格式化可以调整,tune2fs不可以调整


Dume2fs


整个ext文件系统的布局结构、块组信息等等

-h :仅显示超级块信息

每个文件系统都有对应的文件系统检测修复工具,当文件系统发生意外、有数据未完成时,可以使用该工具来进行文件系统地检测和修复!
fsck 通杀版,指定-t type参数能够检测修复各种文件系统,本质是调用对应的文件系统检测修复工具而已       fsck -t type DEVICE = fsck.type DEVICE

e2fsck

ext系列文件系统专用检测修复工具

blkid能够很简洁直观地显示磁盘分区、DEVICE、UUID、TYPE以及LABEL

● Tune2fs


1
2
3
4
5
6
7
8
9
10


Usage:
    tune2fs [OPTIONS]... DEVICE
    显示ext系列文件系统的属性,或调整其属性;
OPTIONS:
    -l  显示超级块中的信息;显示整个文件的属性及布局等相关信息;
    -L ‘LABEL‘  修改卷标;
    -m #        调整预留空间百分比,前例已说明默认是5%
    -j          调整ext2 --> ext3, 无损转换
    -O          文件系统属性开关 
    -o          文件系统默认挂载选项开关

:修改/dev/sdb1分区的卷标LABEL为NewLance

Fsck和e2fsck


1
2
3
4
5
6
7
8


Usage:
    fsck -t type [OPTIONS]... DEVICE
OPTIONS:
    -a: 自动修复错误
    -r: 交互式修复错误
    -f: 强制检测

e2fsck功能用法同fsck, 参数-y自动修复错误, -f强制执行检测修复

挂载基本概念



● Linux启动后首先加载roofs根文件系统 /,其他文件系统需要建立起与/的路径关系,才能够被访问

● 将一个目录作为另一个文件系统的访问入口,叫做挂载,也就是建立路径关系,目录叫挂载点

● 挂载后,挂载点mount point原目录中的文件等暂时被隐藏,当卸载后重现

● 理论上挂载点可以是任何位置,FHS给我们的建议是挂载在/mnt目录下,当然随你咯,请不要随意挂载

● 常用挂载命令mount,卸载命令umount

挂载相关的配置文件



/etc/fstab:系统启动从fstab读取需要开机挂载的信息,是静态的,只有编辑才会变,能实现开机自动挂载;

/etc/mtab:显示在用户控件中已经挂载的文件系统,通常包含fstab+用户手工mount/umount的修改,用户操作会同步更新到这个文件中

/proc/mounts:这个文件在虚拟文件系统/proc中,是解决Kernel所引入的mount space机制产生的问题。本质上是链接文件。

参考博文http://blog.csdn.net/taiyang1987912/article/details/42492741

设备引用3种方法



● 无论哪种分区上的文件系统,最终还不是要交付给用户空间来使用吗?那么Linux如何使用指定的设备呢?通过这么几种主要的引用机制

mount/umount命令



mount及常用选项


1
2
3
4
5
6
7
8
9
10


Usage:
    Mount [OPTIONS]... [-o options] DEVICE mount_point
OPTIONS:
    -t type  文件系统类型
    -r/w     以只读/读写挂载文件系统
    -n:  每个文件系统挂载时都会自动更新/etc/mtab文件,-n用于禁止此功能;
    -a       自动挂载所有支持自动挂载的设备;
    -B       绑定目录至另一个目录上;
    -L       通过卷标来挂载文件系统,默认情况是指定设备名
    -U       通过UUID来挂载,同上

mount挂载选项


1
2
3
4
5
6
7
8
9
10
11
12
13


-o 挂载选项
    Async           异步模式,数据先在内存写入,后同步到磁盘,默认
    Sync            同步模式,直接写到磁盘
    Atime/noatime   每次更新文件都会更新accesstime,如果WEB服务器的话,可以禁用
    Diratime/nodiratime是否更新目录的访问时间戳
    Auto/noauto     是否允许此设备被自动挂载
    Exec/noexec     是否允许执行此文件系统上的应用程序
    Dev/nodev       是否支持在此设备使用设备文件
    Suid/nosuid     是否支持Suid特性
    Remount         重新挂载
    Ro/rw           只读/读写方式挂载       
    User/nouser     是否允许普通用户挂载此设备
    Acl             是否支持此设备上使用facl 文件访问控制列表


:使用卷标挂载卷标Newlance的文件系统到/mnt/temp下    

umount卸载


1
2
3
4
5
6
7
8


Usage:
    mount DEVICE
    umount MOUNT_POINT
    
    查看正在访问指定挂载点的进程:
        # fuser -v MOUNT_POINT
    终止所有正在访问指定的挂载点的进程:
        # fuser -km MOUNT_POINT

交换分区swap



● 交换分区SWAP就是LINUX下的虚拟内存,它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用.也可调度物理内存中不长使用的页面到swap分区中。

● swap分区管理工具常有mkswap、swapon、swapoff、free[查看]


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16


首先使用fdisk划分一块新分区用来作为swap分区

mkswap:创建交换分区
    mkswap [option] DEVICE      DEVICE可以使用3种机制引用
                
swapon:启用交换分区
    swapon [option] [DEVICE]
        -a: 激活所有交换分区
        -p PRIORITY: 设定其优先级;

swapoff:禁用交换分区
        swapoff [option] [DEVICE]
            
free命令:查看memory和swap的使用状态   
        -m: 以MB为单位
        -g: 以GB为单位

还可以创建swap文件来充当虚拟内存,见例2

:创建一个2GB的交换分区,原来是2GB的Swap分区

注意:这里我少了一步,可能是截图的原因,在swapon之前我使用了mkswap /dev/sdb3转换为swap分区

:当不能或不想再划分硬盘分区的时候,可以创建一个文件做Swap文件

● 请注意在激活swap分区之前,要将分区类型转换为swap,使用mkswap命令或者fdisk修改ID类型

文件系统空间查看工具


df:fisk free
-h: human-readable

-i: inode数量

-P: 以Posix兼容的格式输出

du: disk usage
-h: human-readable

-s: summary

/etc/fstab文件细览



● 系统启动时从fstab中读取开机要加载的文件系统,必须首先加载根文件系统 /

● 用户空间mount挂载的重启后消失,要想开机自动挂载有2种简单的办法

(1)在/etc/fstab中添加一条记录,实现开机挂载

(2)将mount挂载命令写到/etc/rc.local作为开机自动运行的脚本实现开机挂载

/etc/fstab文件中有6列,分别定义如下

链接文件[硬软链接]



● 链接文件分为硬链接和软链接

● 文件包含2部分组成:元数据 + 文件数据,文件名其实是不包含在元数据里面的,文件唯一标识其实是Inode,inode对于一块磁盘分区是有限个数的

硬链接:

(1)两个路径指向同一个inode

(2)不能对目录进行

(3)不能跨分区进行,每个分区inode是独立的

(4)指向同一个inode的多个不同路径; 创建文件的硬链接会增加inode的引用计数;删除硬链接仅是删除其一个访问路径,只到最后一个路径被删除;

软链接:

(1)链接文件的数据指向另一个文件路径,类似windows快捷方式

(2)可以对目录进行

(3)可以跨分区

(4)指向的是另一个文件路径;而非inode;对文件创建符号链接不会增加其引用计数;删除原文件,符号链接文件不会被删除,但失效了;

ln创建链接命令


1
2
3
4
5
6


Usage:
    ln [-s] SRC DEST
        不带参数创建的是硬链接 
        -s:symbolic link创建软链接
        -v:verbose
请注意对目录是不可以创建硬链接的,会失败

时间: 2024-12-05 16:10:30

[9-1]磁盘分区、创建文件系统、挂载以及链接文件的相关文章

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磁盘分区格式化、挂载,文件系统

一.硬盘分区&格式化&挂载 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 创建

7.linux磁盘管理 分区 建立文件系统 挂载使用

一.磁盘管理 分区  建立文件系统  挂载使用   逻辑卷建立  磁盘阵列的建立  磁盘配额设定 fdisk -l       查看磁盘信息 df -Th        查看硬盘对应的目录 /dev/sdb/ 20G     1. 文件类型介绍 ext4 扩展型文件系统   特点   支持单个文件上 EB 支持日志功能 NTFS 文件    和   fat32        不支持单个文件上4G swap 交换分区 虚拟内存 8G  8G  4G 1.5倍 mbr 分区表方式  :支持4个主分区

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

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

linux增加硬盘 磁盘分区格式化及挂载

nux磁盘分区格式化及挂载 意义: 给linux 系统服务器扩容, 加一块硬盘 实验环境: virtualBox虚拟软件  + centos6.5 第一步: 添加硬件 硬盘 (我这里用virtualBox模拟) 启动 查看设备,找到新加的硬盘标识 fdisk -l 分区 fdisk /dev/sdb 说明: p --主分区[1-4] 或查看现有分区 n -- 添加一个分区 d -- 删除分区 +1G --分配1G空间 w --保存并退出 分区完成查看 fdisk -l 接下来格式化 mke2fs

磁盘分区和文件系统

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

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

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

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

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

Linux新磁盘分区格式化及挂载-fdisk命令

本文主解决linux系统的磁盘分区格式化及挂载问题注意:分区操作针对磁盘vda,sda等vda1,sda1等是分区的名称 1.检查当前磁盘分区状态 1.1.查看分区挂载情况 df -h ------------------------------------------------------------------------------- [email protected]:~# df -h Filesystem Size Used Avail Use% Mounted on udev 7.