linux磁盘和文件系统管理

author author     2022-08-01     182

关键词:

    Linux系统中的磁盘和文件系统管理,之所以将二者放在一起总结,是因为在平时的工作中,二者是相辅相成的,常常用来一起使用。


首先介绍下磁盘分区的管理工具

常用的磁盘分区管理工具有fdisk,parted,sfdisk

这里我们介绍下常用的fdsik工具

fdisk -l [DEVICE]... :列出指定磁盘设备上的分区情况

fdisk [DEVICE]:创建分区

fdisk提供了一个交互式接口来管理分区,它有许多子命令,分别用于不同的管理功能;所有的操作均在内存中完成,没有直接同步到磁盘;直到使用w命令保存至磁盘上;

常用命令:

n:创建新分区

d:删除已有分区

t:修改分区类型

l:查看所有已有ID

w:保存并退出

q:不保存退出

m:查看帮助信息

p:显示现有分区信息

注意:在已经分区并且已经挂载其中某个分区的磁盘设备上创建的新分区,内核可能在创建完成后无法直接识别;

这时我们查看内核是否已经识别新的分区:cat /proc/partitions

对于已有分区处于使用状态的磁盘来讲,新建分区后需要让内核重读其分区表:

通知内核强制重读磁盘分区表:

centos5:partprobe[device]

centos6,7:partx,kpartx

partx -a [device]

kpartx -af [device]

这里给大家补充下删除磁盘分区后的同步方法:

centos5,7:partprobe[device]

centos6:partx -d --nr #(分区号) [DEVICE]

有时我们添加新的物理磁盘时,通常情况下我们需要重启系统才能让系统检查新加入的磁盘,这里给大家介绍一种小技巧,可是在不重启的情况下检查新加入的硬盘

echo "- - -" > /sys/class/scsi_host/host2/scan 


介绍完磁盘管理工具,下面来说说Linux文件系统管理

首先来说下Linux文件系统的分类

VFS:Virtual File System

Linux的文件系统:ext2,ext3,ext4,xfs,reiserfs,btrfs

光盘:iso9660

网络文件系统:nfs,cifs

集群文件系统:gfs2,ocfs2

内核级分布式文件系统:ceph

Windows文件系统:vfat,ntfs

伪文件系统:proc,sysfs,tmpfs,hugepagefs

unix的文件系统:UFS,FFS,JFS

交换文件系统:swap

用户空间的分布式文件系统:mogilefs,moosefs,glusterfs

根据是否支持日志功能还可分为:

日志型文件系统:ext3,ext4,xfs

非日志型文件系统:ext2,vfat


在介绍如何创建文件系统之前,先为大家介绍下文件系统的管理工具

创建文件系统工具:mkfs

mkfs.ext2,mkfs.ext3,mkfs.ext4,mkfs.xfs..

检测及修复文件系统的工具:fsck

fsck.ext2,fsck.ext3,...

查看其属性的工具:dumpe2fs,tune2fs

调整文件系统特性:tune2fs


下面我们们来详细介绍下以上提到的文件系统的管理工具

mkfs命令:make file system

-t FSTYPE [DEVICE]

mkfs -t FSTYPE=mkfs.FSTYPE

mkfs -t ext4=mkfs.ext4

-L‘LABEL‘:设定卷标

ext系列文件系统专用管理工具:mke2fs

mke2fs[OPTIONS] device

-t {ext2|ext3|ext4}:指明要创建的文件系统类型

mkfs.ext4=mkfs -t ext4=mke2fs -t ext4

-b {1024|2048|4096}:指明文件系统的块大小;

-L LABEL:指明卷标;

-j:创建有日志功能的文件系统ext3;

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

-i#:bytes-per-inode,指明inode与字节的比率;既每多少字节创建一个inode;

-N#:直接指明要给此文件系统创建的inode的数量;

-m#:指定预留的空间,百分比;

-O[^]FEATURE:以指定的特性创建目标文件系统;加^表示关闭此特性;


e2label命令:卷标的查看与设定

查看:e2label device

设定:e2label device LABEL

tune2fs命令:查看或修改ext系列文件系统的某些属性

adjust tunable filesystem parameters on ext2/ext3/ext4 filesystems

注意:块大小创建后无法改变

tune2fs [OPTIONS] device

-l:查看超级块儿内容;

修改指定文件系统的属性:

-j:ext2-->ext3;

-L LABEL:修改卷标;

-m #:调整预留空间百分比

-O [^]FEATURE:开启或关闭某种特性

-o [^] mount_options:开启或关闭某种默认挂载选项;

acl:启用acl

^acl:关闭acl


dumpe2fs命令:显示ext系列文件系统的属性信息

dumpe2fs [-h] device


fsck:用于实现文件系统检测的工具

因进程意外终止或系统崩溃等原因导致操作系统非正常终止时,可能会造成文件损坏;此时,应检测并修复文件系统;建议:离线进行;

ext系列文件系统的专用工具:e2fsck

e2fsck [OPTIONS] device

-y:对所有文件自动回答为yes;

-f:即使文件系统处于clean状态,也要强制进行检测;

fsck:check and repair a linux file system

-t fstype:指明文件系统类型;

fsck -t ext4=fsck.ext4

-a:无须交互而自动修复所有错误;

-r:交互式修复


blkid命令:

blkid device

blkid -L LABEL:根据LABEL定位设备

blkid -U UUID:根据UUID定位设备


文件系统的挂载

此前我们创建的磁盘分区,在格式化完成之后要想被使用,就必须先挂载,

根文件系统之外的其它文件系统要想被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为"挂载";此目录即为“挂载点”;

Linux系统上的固定挂载点为:/mnt,/media

挂载点:mount_point,用于作为另一个文件系统的访问入口;

1.事先存在;

2.应该使用未被或不会被其它进程使用到的目录;

3.挂载点下原有的文件将会被隐藏;

mount命令:

mount [-nrw] [-t vfstype] [-o options] device dir

命令选项:

-r:readonly,只读挂载;

-w:read and write,读写挂载;

-n:默认情况下,设备挂载或卸载的操作会同步更新至/etc/mtab文件中;-n用于禁止此特性;

-t vfstype:指明要挂载的设备上的文件系统的类型;多数情况下可省略,此时mount会通过blkid来判断要挂载的文件系统类型;

-L LABEL:挂载时以卷标的方式指明设备

mount -L LABEL dir

-U UUID:挂载时以UUID的方式指明设备;

mount -U UUID dir

-o options:挂载选项

sync/async:同步/异步操作;

atime/noatime:文件或目录在被访问时是否更新其访问时间戳;

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

remount:重新挂载;

acl:支持使用facl功能;

# mount -o acl device dir

# tune2fs -o acl device

ro:只读

rw:读写

dev/nodev:此设备上是否允许创建设备文件;

exec/noexec:是否允许运行此设备上的程序文件;

auto/noauto:

user/nouser:是否允许普通用户挂载此文件系统;

suid/nosuid:是否允许程序文件上的suid和sgid特殊权限生效;

defaults:Use  default  options:  rw,  suid,  dev, exec, auto, nouser, async, and relatime.

一个使用技巧:

可以实现将目录绑定至另一个目录上,作为其临时访问入口;

mount --bind 源目录 目标目录

查看当前系统所有已经挂载的设备;

# mount

# cat /etc/mtab

# cat /proc/mounts

挂载光盘:

mount -r /dev/cdrom mount_point

光盘设备文件:/dev/cdrom,/dev/dvd

挂载U盘:

事先识别U盘的设备文件:

挂载本地的回环设备:

#mount -o loop /PATH/TO/SOME_LOOP_FILE MOUNT_POINT

umount命令:

umount device | dir

注意:正在被访问到的挂载点无法被卸载;

查看被哪个或哪些进程所占用;

#lsof MOUNT_POINT

#fuser -v MOUNT_POINT

终止所有正在访问某挂载点的进程:

#fuser -km MOUNT_POINT



挂载交换分区

交换分区的启用和禁用:

创建交换分区的命令:mkswap

启用:swapon

swapon[OPTION][DEVICE]

-a :定义在/etc/fstab文件中的所有swap设备

禁用:swapoff

swapoff DEVICE

设定除根文件系统以外的其它文件系统能够开机时自动挂载:/etc/fstab文件

每行定义一个要挂载的文件系统及相关属性;

6个字段:

1.要挂载的设备;

设备文件;

LABEL

UUID

伪文件系统:如sysfs,proc,tmpfs等

2.挂载点

swap类型的设备的挂载点为swap;

3.文件系统类型;

4.挂载选项:

defaults:使用默认挂载选项;

如果要同时指明多个挂载选项,彼此之间使用逗号隔开;

5.转储频率:

0:从不备份;

1:每天备份;

2:每隔一天备份

6.自检次序

0:不自检

1:首先自检,通常只能是根文件系统可用1;

2:次级自检:

...

mount -a:可自动挂载定义在此文件中的所有支持自动挂载的设备;

两个命令:df和du

df命令:

df[OPTION]...[FILE]...

-l:仅显示本地文件的相关信息;

-h:human-readable

-i:显示inode的使用状态而非blocks

du命令:

du [OPTION]...[FILE]...

-s:sumary 显示目录时显示所有文件大小之和

-h:human-readable


文件系统的卸载

卸载:挂载点没有被进程访问时方可被卸载;

卸载命令:umonut DEVICE 或者 unmont MOUNT_POINT

在卸载之前最好是查看下哪些进程正在访问挂载的设备,可使用:

fuser -v 挂载点

如果有程序正在使用该设备,并且想终止正在此挂载点的进程,则可使用:

fuser -km 挂载点

本文出自 “11798474” 博客,请务必保留此出处http://11808474.blog.51cto.com/11798474/1843403

linux磁盘和文件系统管理

实验报告实验目的:熟练掌握磁盘和文件系统管理实验要求:1.添加两块10G的SCSI硬盘(sdbsdc),配置名为mbox的逻辑卷,2.创建/mailbox/目录,挂载mbox的分区3.使用df-h查看/mailbox空间4.创建3个用户terryjerryshrek,其中terry和shrek属于teach... 查看详情

linux篇|磁盘存储和文件系统(代码片段)

磁盘存储和文件系统分区文件系统挂载设备管理虚拟内存RAID管理LVM管理我们从一个新硬盘安装到Linux系统,期间的配置,一直到正常使用的角度,来学习磁盘存储和文件系统,过程如下:选择分区类型(MBR或GPT)-->创建分区-->... 查看详情

linux磁盘管理的linux管理命令

磁盘空间管理系统软件和应用软件,都要以文件的形式存储在计算机的磁盘空间中。因此,应该随时监视磁盘空间的使用情况。Linux系统提供了一组有关磁盘空间管理的命令。df命令功能:检查文件系统的磁盘空间占用情况。可... 查看详情

linux系统的磁盘管理(代码片段)

Linux系统的磁盘管理一、环境介绍1.Linux系统版本2.系统磁盘情况二、磁盘介绍1.磁盘分区理解2.MBR分区方案2.GPT分区分区方案三、分区工具fidsk使用1.查看磁盘和分区信息2.查看指定设备信息3.对新磁盘进行分区4.格式化文件系统四、... 查看详情

linux磁盘管理

磁盘管理一.文件系统挂载二.查看磁盘空间三. 逻辑卷管理五. 制作镜像文件六. 磁盘配额七. 数据打包与压缩 磁盘接口:IDE、SCSI、SATA文件系统:是一种对物理空间的组织方式,通常在格式化硬盘时创建。它定... 查看详情

linux磁盘管理

概述Linux磁盘管理好坏管理直接关系到整个系统的性能问题。Linux磁盘管理常用三个命令为df、du和fdisk。df:列出文件系统的整体磁盘使用量du:检查磁盘空间使用量fdisk:用于磁盘分区dfdf命令参数功能:检查文件系统的磁盘空间... 查看详情

linux的磁盘管理和文件系统

一、磁盘结构1.1、硬盘的物理结构盘头:硬盘有多个盘片,每盘片2面磁头:每面一个磁头 1.2、硬盘的数据结构扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,硬盘的最小存储单位磁道:同一盘片不同半径的... 查看详情

windows与linux操作系统对磁盘和文件的管理方式有啥异同点(求详细)

Windows与Linux操作系统对磁盘和文件的管理方式区别为:文件格式不同、空间不同、碎片整理不同。Windows与Linux操作系统都是以一组磁盘管理应用程序的形式提供给用户。在硬盘中产生临时交换文件,用该文件所占用的硬盘空间虚... 查看详情

磁盘和文件系统管理

磁盘和文件系统管理 1.规划硬盘中的分区连接新的硬盘和设备并启动主机后,linux会自动检测并加载该硬盘,无需额外安装驱动。fdisk命令语法:fdisk -l用途:列出当前系统中所有硬盘设备及其分区信息  注释:boot... 查看详情

磁盘和文件系统管理

磁盘和文件系统管理1.规划硬盘中的分区连接新的硬盘和设备并启动主机后,linux会自动检测并加载该硬盘,无需额外安装驱动。fdisk命令语法:fdisk-l用途:列出当前系统中所有硬盘设备及其分区信息注释:boot是否是引导分区,... 查看详情

8.29_linux磁盘管理

挂载点和/etc/fstab/etc/fstab配置文件系统体系被mount、fsck和其它程序使用写入配置文件的挂载路径,系统重启时保留文件系统体系可以在设备栏使用文件系统卷标使用mount-a命令挂载/etc/fstab中的所有文件系统文件挂载配置文件/etc/fst... 查看详情

磁盘和文件系统管理

   我们知道一块磁盘是可以被分区成多个分区的(partition),以Windows的观点来看,你可能会有一颗磁盘并且将他分区成为C:,D:,E:盘,那个C,D,E就是分区。Linux的设备都是以文件的型态存在,磁盘设备接口的不同也早就... 查看详情

linux磁盘类型和结构

使用磁盘空间过程分区:毛坯房格式化:配置创建文件系统(装修)挂载:把分区和文件系统进行组装Linux一切皆文件:通过文件的方式来管理磁盘linux一切皆文件,所以磁盘也表现为文件。每个硬盘文件命名方式和磁盘的类型... 查看详情

linux运维从入门到进阶(代码片段)

 Linux磁盘管理知识点磁盘和文件系统简介文件系统工具磁盘分区管理交换分区逻辑卷和阵列  磁盘和文件系统介绍正如上文中提到的,Linux中一切都是文件。这个重要的概念贯穿整个Linux的始末,磁盘也是如此。各种接... 查看详情

linux的磁盘管理与文件系统

目录一、磁盘基础1.1磁盘结构1.1.1硬盘的物理结构1.1.2硬盘的数据结构1.1.3存储容量1.1.4磁盘接口类型1.2MRB与磁盘分区表示1.2.1主引导记录(MRB)1.2.2磁盘分区二、文件系统类型2.1XFS文件系统2.2SWAP,交换文件系统2.3Linux支持的其它文... 查看详情

磁盘和文件系统管理的实验

磁盘和文件系统管理的实验在此实验里,需要开启一台Linux虚拟机,在这里我开启的是rh-2。在正式开始实验之前,我们先开启2个硬盘按照如上方法,再添加1个硬盘。下图就是创建的所有硬盘:基本磁盘管理:四个重要步骤:分... 查看详情

文件系统和磁盘工作原理

...子目录(称为挂载点),然后才能访问其中的文件。机械磁盘的最小读写单位是扇区,一般大小为512字节。如果每次都读写512字节这么小的单位的话,效率很低。所以,文件系统会把连续的扇区或页,组成逻辑块,然后以逻辑块... 查看详情

linux磁盘文件系统管理

Linux磁盘、文件系统管理                                查看详情