Linux磁盘和文件系统管理

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 挂载点

时间: 08-25

Linux磁盘和文件系统管理的相关文章

第八章、Linux 磁盘与文件系统管理

第八章.Linux 磁盘与文件系统管理 1. 认识 EXT2 文件系统 1.1 硬盘组成与分割的复习 1.2 文件系统特性: 索引式文件系统 1.3 Linux 的 EXT2 文件系统(inode): data block, inode table, superblock, dumpe2fs 1.4 与目录树的关系 1.5 EXT2/EXT3 文件的存取与日志式文件系统的功能 1.6 Linux 文件系统的运行 1.7 挂载点的意义 (mount point) 1.8 其他 Linux 支持的文

Linux磁盘与文件系统管理

Linux磁盘与文件系统管理 磁盘分区后需要进行格式化,是为什么呢? 因为每种操作系统所设置的文件属性/权限并不相同,为了存放这些文件所需的数据,因此需要将分区进行格式化,以成为操作系统能够利用的文件系统格式.

linux磁盘及文件系统管理初步(1)

Linux系统管理 磁盘分区及文件系统管理 RAID LVM:能够实现磁盘边界的动态管理 网络属性管理 程序包管理:程序包的增删查改 sed 和awk 进程查看和管理 内核管理:内核的组成部分,内核的编译安装 系统启动流程 Linux内核的定制,编译内核,busybox 系统安装:kickstart,dhcp,pxe shell脚本编程 Linux磁盘及文件系统管理: 整个操作系统的组成部分:硬件和软件 整个操作系统的组成层次:最底层为硬件设备(这也是我们计算机能够运行的基础),在硬件设备上冯诺

linux磁盘及文件系统管理的部分知识一

今天学习了linux磁盘及文件系统管理的部分知识,这里做下小结备忘. 文件系统相关: 虚拟文件系统(VFS): 可以这么理解吗? 对上层用户命令及操作进行翻译转换 目的是可以在不同文件系统上运行. 根(\): 理解存储及访问方式. 一切目录不管它是否被挂载到其他分区上 对于这个目录本身而言及它的父目录都是存储在根分区的\var \etc \etc\rc.d\init.d 访问的时候不管直接或者间接都是通过根目录进行访问的. 文件系统类型: ext4\3\2  xfs ... 硬盘相关: 1.硬盘

Linux系统--Linux磁盘和文件系统管理

Linux磁盘和文件系统管理 一.Linux磁盘管理: 1.磁盘的物理组成部分(这里介绍的主要是机械硬盘) a.磁盘的组成主要有: 盘片,机械手臂和磁头,主轴马达 b.磁盘的数据存储和读取在于磁盘的盘片,在盘片上的一些概念: 扇区(sector):就是将盘片划分成若干个扇区.扇区是最小的存储单位,每个扇区512个字节. 柱面(Cylinder):磁盘是有多个盘片组合而成,而柱面是有不在同一磁盘上的相同位置上的扇区组成.柱面是分区的最小单位,也就是分区是根据柱面分区的. c.第一个扇区的组成: 有

linux磁盘及文件系统管理进阶

回顾: 磁盘,磁盘分区,文件系统 现在的磁盘有两类:机械硬盘和固态硬盘 为了使机械硬盘上流传下来的概念,和组织方式依然可用,固态硬盘也模拟了类似于机         械硬盘上的很多特性,想MBR之类的哪些东西,依然模拟扇区和那些机制,只不过是        固态硬盘是电器设备工作,机械硬盘是机械方式工作而已. 无论是那种格式的硬盘在cent0S6,7只要是磁盘设备而且能够驱动的话统统识别为:                 /dev/sd[a-z]# 管理分区:fdisk,parted,sfdi

linux磁盘和文件系统管理(一)

磁盘和文件系统管理(一) 要求: 一,关机后添加一块20GB的SCSI磁盘,重新开机进入RHEL 5系统 二,分区并格式化 1,使用fdisk命令对新硬盘进行分区,建立一个10GB的主分区("/dev/sbd1") 步骤:如图所示: 执行"fdisk -l"命令可以查看,确认新增硬盘的设备名称和设置."fdisk -l"命令的作用是列出当前系统中所有硬盘设备及其分区的信息. 在硬盘设备中创建.删除.更改分区等操作同样通过fdisk命令进行,只要使

初学者----linux磁盘和文件系统管理

大家也许对windows的磁盘和文件系统管理很懂,但是linux却没有像windows那样简单方便,但我们喜欢的是linux的高效快捷,所以学会linux的磁盘和文件系统管理,将会使得我们在企业的工作当中更加的如沐春风. 下面是我在虚拟机下面做的一些linux简单的逻辑磁盘管理,有错误的地方还希望大家多多探讨!!!! 一.在安装好的linux系统上添加两块虚拟硬盘 二.安装完成后重启系统. 三.查看两块硬盘是否存在. 四.磁盘划分 第一块磁盘划分 第二块磁盘划分 五.逻辑卷管理 六.实验验证

浅谈Linux磁盘与文件系统管理

在探讨磁盘与文件系统管理前,我们先简单了解下磁盘结构:1)盘片,即记录数据的部分,数量与磁头数相同:2)磁头, 读写盘片上的数据:3)主轴马达,带动盘片旋转,家用级转速在5400rpm-7200rpm,企业级可达15000rpm:4)扇区,最小的物理存储单元,大小为512字节:5)磁道,磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道(Track):6)柱面,由不同盘片的面,但处于同一半径圆的多个磁道组成的一个圆柱面(Cylinder). 接下