Linux磁盘管理及文件系统

Linux磁盘管理及文件系统


1、Linux磁盘管理

识别硬盘设备:/dev/sd

标记不同的硬盘设备:/dev/sd[a-z]

标记同一设备上的不同分区:/dev/sd[a-z][1-]

1-4: 主或扩展分区标识

5+:逻辑分区标识

2、设备文件:特殊文件

设备号:

major, minor

major: 设备类型

minor: 同一类型下的不同设备

“块”:block,随机设备

“字符”:character,线性设备

3、分区工具:

(1)fdisk, parted, sfdisk

注:最多支持在一块硬盘上的15个分区;

fdisk工具的使用:

分区管理交互式命令:

p: 显示

n: 创建

d: 删除

t: 修改分区ID

l: 列出所有支持ID类型

w: 保存退出

q: 放弃修改并退出

m: 获取帮助

(2)创建完成之后,查看内核是否已经识别新的分区:

# cat /proc/partitions

例子:

[[email protected] ~]# cat /proc/partitions
major minor  #blocks  name

   8        0  125829120 sda
   8        1     512000 sda1
   8        2   62423040 sda2
   8        3    2097152 sda3
 253        0   41447424 dm-0
 253        1   10485760 dm-1
 253        2   10485760 dm-2

(3)有三个命令可以让内核重读磁盘分区表:

CentOS 5: partprobe [DEVICE]

CentOS 6,7:

partx

kpartx

partx命令:

partx DEVICE

partx -a DEVICE

partx -a -n M:N DEVICE

kpartx命令:

kpartx -af DEVICE

例子:

[[email protected] ~]# partx -a /dev/sda
[[email protected] ~]# cat /proc/partitions
major minor  #blocks  name

   8        0  125829120 sda
   8        1     512000 sda1
   8        2   62423040 sda2
   8        3    2097152 sda3
   8        4         31 sda4
   8        5   10488317 sda5
   8        6   20980858 sda6
 253        0   41447424 dm-0
 253        1   10485760 dm-1
 253        2   10485760 dm-2
[[email protected] ~]# ls /dev/sda
sda   sda1  sda2  sda3  sda4  sda5  sda6

4、Linux文件系统管理

(1)文件系统:

VFS:Virtual File System

Linux:ext2, ext3, ext4, reiserfs, xfs, btrfs, swap

光盘:iso9660

Windows: fat32(vfat), ntfs

Unix: ffs, ufs, jfs, jfs2

网络文件系统:nfs, cifs

集群文件系统:ocfs2, gfs2

分布式文件系统:ceph,

moosefs, mogilefs, hdfs, gfs, glusterfs

(2)日志型文件系统

非日志型文件系统:ext2

日志型文件系统:ext3

(3)swap:交换分区

5、创建文件系统:

在分区上执行格式化(高级格式化)

要使用某种文件系统,满足两个条件:

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

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

(1)创建工具:mkfs (make filesystem)

mkfs -t type DEVICE

mkfs.type DEVICE

(2)ext系列文件系统的专用管理工具:

mke2fs -t {ext2|ext3|ext4} DEVICE

-b BLOCK: 1024, 2048, 4096

-L ‘LABEL‘: 设定卷标

(3)blkid命令:

UUID---Universally Unique Identifiers

全局唯一标识符:

blkid DEVICE

LABEL, UUID, TYPE

例子:

[[email protected] ~]# blkid /dev/sda1
/dev/sda1: UUID="dbde3019-886c-4eb3-8a79-b15825f7f929" TYPE="ext4"

6、Linux文件系统管理:

(1)创建文件系统:

mkfs, mkfs -t type = mkfs.type

ext:mke2fs

mke2fs [OPTION]... DEVICE

-t {ext2|ext3|ext4}

-b {1024|2048|4096}

-L ‘LABEL‘

-j: mke2fs -t ext3

-i #:

-N #:

-m #: 预留磁盘空间占据多大百分比的空间为后期管理使用;

O FEATURE[,...]

-O ^FEATURE:关闭此特性

has_journal

(2)文件系统属性查看及调整工具:

e2label          #不影响分区中的数据

e2lable DEVICE [LABEL]

(3)显示ext系列文件系统的属性,或调整其属性;

tune2fs          #不影响分区中的数据

-l:显示超级块中的信息;显示整个文件的属性及布局等相关信息;

-L ‘LABEL‘:修改卷标;

-m #: 调整预留给管理员的管理空间百分比;

-j: ext2 --> ext3

-O:文件系统属性的启动或关闭

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

(4)dumpe2fs:

-h: 仅显示超级块信息;

例子:

[[email protected] ~]# mke2fs -L lisir -t ext4 /dev/sda5
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655776 inodes, 2622079 blocks
131103 blocks (5.00%) reserved for the super user
........

[[email protected] ~]# tune2fs -o acl /dev/sda5  #开启acl
tune2fs 1.41.12 (17-May-2010)
[[email protected] ~]# tune2fs -L lisir01 /dev/sda5  #修改卷标
tune2fs 1.41.12 (17-May-2010)
[[email protected] ~]# tune2fs -l /dev/sda5  #查看分区信息
tune2fs 1.41.12 (17-May-2010)
Filesystem volume name:   lisir01
Last mounted on:          <not available>
Filesystem UUID:          1d305c60-761e-447e-b585-6c2416d13228
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash
Default mount options:    acl

7、文件系统检测:

注:由于硬盘常年读写,系统会造成系统文件损坏,导致重启后无法登陆到系统,fsck不仅可以对文件系统进行扫描,还能修正文件系统的一些问题。值得注意的是fsck扫描文件系统时一定要在单用户模式、修复模式或把设备umount后进行。

(1)fsck: Filesystem check

fsck -t type

fsck.type

-a: 自动修复错误

-r: 交互式修复错误

-f: 强制检测

(2)e2fsck:ext系列文件系统专用的检测修复工具;

-y: 自动回答为“yes”

f:force

(3)文件系统的挂载和使用:

kernel --> rootfs(分区)

rootfs分区:

bin, sbin, etc, lib, lib64, dev, tmp, proc, sys

/sbin/init

将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件系统访问    入口的行为,称之为挂载;

解除此关联关系的过程:卸载;

挂载点:mount point, 设备挂载至目录;

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

例子:

[[email protected] ~]# fsck.ext4 -a /dev/sda5  #自动修复sda5磁盘错误
lisir01: clean, 11/655776 files, 79700/2622079 blocks
[[email protected] ~]# fsck.ext4 -f /dev/sda5  #强制检测磁盘sda5
e2fsck 1.41.12 (17-May-2010)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
lisir01: 11/655776 files (0.0% non-contiguous), 79700/2622079 blocks

8、挂载方法:

mount:通过读取/etc/mtab文件来显示当前系统所有已经挂载的设备;

mount -a:挂载/etc/fstab文件中的所有支持自动挂载的文件系统;

mount [options] [-o options] DEVICE MOUNT_POINT

[options]:命令选项

[-o options]:挂载选项

-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

DEVICE: 要挂载的设备

(1) 设备文件:/dev/sda5

(2) 卷标:-L ‘LABEL‘

(3) UUID:-U ‘UUID‘

(4) 伪文件系统名称

MOUNT_POINT: 挂载点

常用选项:

-t type:文件系统类型

-r: 以“只读”方式挂载此文件系统

-w: 以“读写”方式挂载此文件系统

-n:每个文件系统在挂载时都会自动更新/etc/mtab文件,-n用于禁止此功能;

此时,如果想查看挂载的所有文件系统:cat /proc/mounts

-a: 自动挂载所有支持自动挂载的设备;

-B:绑定目录至另一个目录上;

umount:卸载命令

# umount DEVICE

# umount MOUNT_POINT

查看正在访问指定挂载点的进程:

# fuser -v MOUNT_POINT

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

# fuser -km MOUNT_POINT

例子:

[[email protected] ~]# umount /mydata/
umount: /mydata: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
[[email protected] ~]# fuser -v /mydata/
                     用户     进程号 权限   命令
/mydata/:            root       3764 ..c.. bash
[[email protected] ~]# fuser -km /mydata/
/mydata/:             3764c
[[email protected] ~]# umount /mydata/

9、交换分区:

(1)free命令:

查看memory和swap的使用状态

-m: 以MB为单位

-g: 以GB为单位

(2)mkswap:创建交换分区

mkswap [option] DEVICE

-L ‘LABEL‘

(3)swapon:启用交换分区

swapon [option] [DEVICE]

-a: 激活所有交换分区

-p PRIORITY: 设定其优先级;

(4)swapoff:禁用交换分区

swapoff [option] [DEVICE]

例子:

[[email protected] ~]# mkswap -L swap01 /dev/sda6
Setting up swapspace version 1, size = 20980852 KiB
LABEL=swap01, UUID=3835c7ba-8b9b-4047-931c-a19eed79d7c4
[[email protected] ~]# swapon -s
Filename                                Type            Size    Used    Priority
/dev/sda3                               partition       2097148 0       -1
[[email protected] ~]# swapon -a /dev/sda6
[[email protected] ~]# swapon -s
Filename                                Type            Size    Used    Priority
/dev/sda3                               partition       2097148 0       -1
/dev/sda6                               partition       20980852        0       -2
[[email protected] ~]# free -m
             total       used       free     shared    buffers     cached
Mem:           988        728        260          3         18        327
-/+ buffers/cache:        382        606
Swap:        22537          0      22537

10、文件系统等空间占用信息的查看工个:

(1)df: disk free

-h: human-readable

-i: inode数量

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

(2)du: disk usage

-h: human-readable

-s: summary

11、文件系统相关挂载配置文件:/etc/fstab

每行定义一个文件系统;

要挂载的设备:

设备文件、LABEL=、UUID=、伪文件系统名称

挂载选项:

defaults、acl

转储频率:

0: 不转储

1: 每天转储

2: 每隔一天转储

自检次序:

0:不自检

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

2:

...

12、文件系统上的链接文件:

硬链接:

两个路径指向同一个inode

不能对目录进行;

不能跨分区进行

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

符号链接:

链接文件的数据指向另一个文件路径;

可以对目录进行;

可以跨分区;

指向的是另一个文件路径;而非inode;

对文件创建符号链接不会增加其引用计数;删除原文件,符号链接文件也将无法;

ln [-s] SRC DEST

-s:symbolic link

-v:verbose

例子:

[[email protected] ~]# ln -s /etc/fstab ./123
[[email protected] ~]# ll
总用量 100
lrwxrwxrwx. 1 root root    10 9月   7 15:28 123 -> /etc/fstab
时间: 2024-10-12 15:42:34

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

分析Linux磁盘管理与文件系统专题三

1.前言 紧接着我的上一篇博客进行磁盘管理操作: http://zhangfengzhe.blog.51cto.com/8855103/1430531 我们已经对磁盘进行了分区,信息如下: [[email protected] ~]# fdisk -l /dev/sdb Disk /dev/sdb: 1073 MB, 1073741824 bytes 255 heads, 63 sectors/track, 130 cylinders Units = cylinders of 16065 * 5

分析Linux磁盘管理与文件系统专题二

1.关于设备文件 A 我们知道常见的设备文件有:字符设备文件(character),块设备文件(block). B 块设备,简写b,随机访问,比如硬盘. C 字符设备,简写c,线性访问,比如键盘,鼠标,显示器. D 我们的设备文件常常在/dev目录下,并且没有大小.因为设备文件只是作为设备访问   的入口. E 设备文件,一般用major(主设备号),minor(次设备号)进行标示.主设备号标示设备类型,次设备号标示同一种类型设备下的不同设备. 2.创建设备文件实例 [[email protec

Linux磁盘管理——日志文件系统与数据一致性

参考:Linux磁盘管理——Ext2文件系统 数据不一致 上图是Ext2结构图,其他FS结构类似. 一般来说,我们将 inode table 与 data block 称为数据区:至于其他例如 superblock. block bitmap 与 inode bitmap 等称为 metadata (元数据). 以新增一个文件为例,看看FS操作流程 1. 先确定使用者对于欲新增文件的目录是否具有 w 与 x 的权限,若有的话才能新增:2. 根据 inode bitmap 找到没有使用的 inod

Linux磁盘管理和文件系统

前言分区的概念:分区从实质上说就是对硬盘的一种格式化.当我们创建分区时,就已经设置好了硬盘的各项物理参数,指定了硬盘主引导记录(即 MasterBootRecord,一般简称为 MBR)和引导记录备份的存放位置.而对于文件系统以及其他操作系统管理硬盘所需要的信息则是通过以后的高级格式化,即 Format 命令来实现.面.磁道和扇区硬盘分区后,将会被划分为面(Side).磁道(Track)和扇区(Sector).需要注意的是,这些只是个虚拟的概念,并不是真正在硬盘上划轨道MBR简介:MBR(Mai

Linux磁盘管理、文件系统及其相关命令的使用方法

Linux磁盘管理 硬盘: 机械硬盘 SSD固态硬盘 track sector: 512bytes cylinder: 分区的基本单位: MBR:Master Boot Record 512bytes 446: bootloader 64: filesystem allocation table 16: 标识一个分区  2:55AA 磁盘接口类型: IDE (ATA):133MB/s,/dev/hd SCSI: 640MB/s SATA:6Gbps SAS:6Gbps USB:480MB/s 识

Linux磁盘管理与文件系统(精简理论部分,浓缩的精华!)

今天和大家分享的是Linux操作系统中的磁盘管理与文件系统的相关知识,将会从以下几点和大家进行说明: 磁盘基础 检测并确认新磁盘 规划硬盘中的分区 创建文件系统 挂载.卸载文件系统 首先先和大家说一下磁盘的结构1.硬盘的物理结构 盘片:硬盘有多个盘片.每盘片2面 磁头:每面一个磁头2.硬盘的数据结构 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据(磁盘的最小组成单元通常是512字节,部分厂商设定的是4096个字节) 磁道:同一盘片不同半径的同心圆 柱面:不同盘片相同半径构成的圆柱面(

linux磁盘管理和文件系统创建

1      磁盘管理 1.1    硬盘的构造原理 硬盘分类: 机械式硬盘,固态硬盘 硬盘出厂会进行低级格式化,分磁盘,再分扇区,硬盘的第一个磁道的一个扇区就是MBR 512Bytes Master boot record 446 bytes bootloader 主引导程序 64bytes :主分区存储 16bytes表示一个主分区,最多4个主分区 2bytes:magic number 表示mbr是否有效 硬盘的注意事项: a)                1.硬盘需要绝对的无尘环境,生

Linux磁盘管理及文件系统使用

磁盘管理基础知识 分区 fdisk parted gdisk 格式化 挂载 Linux中磁盘命名:IDE类型:/dev/hd[a-z]SCSI类型:/dev/sd[a-z] 一块磁盘经过哪些步骤才能够使用:分区(非必需)-->格式化-->挂载:磁盘分区的类型有MBR(master boot record)和GPT(GUID Partition Table),主要区别在MBR只能分4个主分区超过需要分为逻辑分区,磁盘容量最大不超过2T,超过部分无法识别. MBR 也就是主引导记录,位于硬盘的 0

详解Linux磁盘管理与文件系统

磁盘基础 硬盘结构 物理结构 盘片:硬盘有多个盘片,每盘片 2 面. 磁头:每面一个磁头. 数据结构 扇区:磁盘上的每个磁道被等分为若干个弧段,这些弧段便是硬盘的扇区. 硬盘的第一个扇区,叫做引导扇区. 磁道:当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个 圆形轨迹,这些圆形轨迹就叫做磁道. 柱面:在有多个盘片构成的盘组中,由不同盘片的面,但处于同一半径圆的多个磁道组 成的一个圆柱面. 储存容量 硬盘存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数. 可以用柱面