linux 文件系统及磁盘管理

一个新的磁盘盘需要经过分区、格式化(创建文件系统),挂载之后才能正常使用。关于磁盘的分区表有两种格式:MBR(Master Boot Record)和GPT(GUID Partition Table)

    MBR: 

    也称为主引导扇区,是计算机开机后访问硬盘时必须读取的首个扇区,也就是0柱面0磁头1扇区,MBR由bootload(446字节)、分区表(64字节)、MBR结束标志(2字节)共512字节组成。最大支持2TB的分区。MBR格式的分区表支持3个主分区和1个扩展分区。

GPT:

为了支持容量大于2TB的分区,引入了GPT分区表格式,最大支持18EB

  1. fdisk : 磁盘分区工具

fdisk <disk>

d: 删除一个分区

l: 列出系统支持的分区类型

m: 打印帮助

n: 增加一个新分区

p: 打印分区表

q: 不保存退出

w: 保存退出

t: 改变分区ID

2.  partprobe(centos 5),kpartx,partx(centos 6):

partprobe <disk> :    通知OS系统磁盘分区表改变

partx -a <disk> :       增加磁盘分区或读取所有磁盘分区

partx -l <disk>:         列出磁盘所有分区

kpartx -af <disk> :    强制增加磁盘分区映射

kpartx -l <disk> :      列出增加的磁盘分区映射

3.  mke2fs , mkfs :   格式化磁盘(创建文件系统ext2,ext3,ext4)

mke2fs的配置文件/etc/mke2fs.conf,使用用此命令加载的默认参数。

mke2fs = mkfs -t ext2 = mkfs.ext2

mke2fs:

-t :  文件系统类型(ext2  |  ext3  |  ext4 )

-j :  相当于 -t ext3

-L Label: 设置卷标

-b ( 1024 | 2048 | 4096): 指定块大小

-i num: num个字节预留一个inode

-N num:  直接指定预留多少个inode

-n:    不创建文件系统,但是显示创建过程中执行的操作

-I num:    Inode大小

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

-U UUID:   使用自定义的UUID

-c:    在创建文件系统之前,检查磁盘上坏的block

-F:    强制创建文件系统

-g:    自定义每个block-group有多少个blocks

-G:    自定义block-group的数量

-O [^]feature:    指定分区特性

feature:(默认sparse_super,filetype,resize_inode,dir_index,ext_attr)

dir_index:    使用b-trees hash加速大目录查询速度。

extend:    加速大文件系统访问(large file)

filetype:    存储文件类型信息

flex_bg:    允许block-group信息放置在block的任意位置

has_journal:    创建ext3日志(同-j)

journal_dev:    创建外部的ext3日志替代ext2文件系统

large_file:    文件系统支持大于2G的文件

resize_inode:    为block-group增长提供预留空间

sparse_super:    创建包含super-block备份的文件系统

uninit_bg:    加速文件系统创建(仅在ext4下支持)

-q:    用于在脚本中静默执行格式化

# mke2fs /dev/sdb1

mke2fs 1.41.12 (17-May-2010)

warning: 252 blocks unused.

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

328320 inodes, 1310720 blocks

65548 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=1342177280

40 block groups

32768 blocks per group, 32768 fragments per group

8208 inodes per group

Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912, 819200, 884736

Writing inode tables: done

Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 39 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

4.  e2label

e2label  <partition>: 查看卷标

e2label  <partition> Label:  设置定卷标

# e2label /dev/sdb1 data

5.  blkid 

blkid <partition>:    查看分区类型和UUID

# blkid /dev/sdb1

/dev/sdb1: UUID="85ea6a34-0de2-47e8-83ee-589f79adb88a" TYPE="ext2"

6.  dumpe2fs : 查看文件系统(ext2 , ext3 , ext4)信息

-h:    仅显示super-block信息

#dumpe2fs -h /dev/sdb1

dumpe2fs 1.41.12 (17-May-2010)

Usage: dumpe2fs [-bfhixV] [-o superblock=<num>] [-o blocksize=<num>] device

[[email protected] ~]# dumpe2fs -h /dev/sdb1

dumpe2fs 1.41.12 (17-May-2010)

Filesystem volume name:   <none>

Last mounted on:          <not available>

Filesystem UUID:          a9771ea8-9719-4ecf-a6f2-c8b417a4878f

Filesystem magic number:  0xEF53

Filesystem revision #:    1 (dynamic)

Filesystem features:      ext_attr resize_inode dir_index filetype sparse_super     large_file

Filesystem flags:         signed_directory_hash

Default mount options:    (none)

Filesystem state:         clean

Errors behavior:          Continue

Filesystem OS type:       Linux

Inode count:              328320

Block count:              1310720

Reserved block count:     65548

Free blocks:              1287546

Free inodes:              328309

First block:              0

Block size:               4096

Fragment size:            4096

Reserved GDT blocks:      319

Blocks per group:         32768

Fragments per group:      32768

Inodes per group:         8208

Inode blocks per group:   513

Filesystem created:       Fri Aug 22 13:35:10 2014

Last mount time:          n/a

Last write time:          Fri Aug 22 13:35:11 2014

Mount count:              0

Maximum mount count:      20

Last checked:             Fri Aug 22 13:35:10 2014

Check interval:           15552000 (6 months)

Next check after:         Wed Feb 18 13:35:10 2015

Reserved blocks uid:      0 (user root)

Reserved blocks gid:      0 (group root)

First inode:              11

Inode size:               256

Required extra isize:     28

Desired extra isize:      28

Default directory hash:   half_md4

Directory Hash Seed:      a46fce3a-c1f4-417c-941b-c23c01a3f555

7. tune2fs:调整文件系统参数(针对ext2,ext3,ext4)

-f:    强制tune2fs完成操作,即使有错误出现。

-l:    列出super-block信息

-L label:    设定卷标

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

-j:    如果原来的文件系统类型为ext2,可以通过-j提升为ext3

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

mount-options:(tune2fs支持的mout-options)

debug:        对文件系统启用debug code.

bsdgroups:

user_xattr:   启用用户定义的扩展属性

acl:          启用POSIX访问控制列表

uid16:        禁用32位UID和GID,用于兼容老的内核

journal_data:  在启用了日志的分区上,元数据写入日志区优先于数据写入文件系统

journal_data_ordered: 在启用了日志的分区上,数据写入文件系统优先于元写                                          入日志区

journal_data_writeback:   在启用了日志的分区上,当元数据写入日志区后,数据                                          可能被写入文件系统,it may allow old data to                                            appear in  files after a crash and journal recovery

nobarrier:    仅ext4分区支持

block_validity:  读写文件系统时,额外的检查被执行,仅ext4分区支持

discard:  仅ext4分区支持

nodelalloc:   仅ext4分区支持

-O [^]feature[...]:       调整分区特性,同mke2fs -O选项

8. fsck: 用于检查和修复linux文件系统

-t:  要检查的文件系统类型

-A: 尝试检查所有/etc/fstab文件中所有文件系统

-C:  显示检查和修复进度条

-M:  不检查已挂载的文件系统

-N: 不执行,只显示将要做什么

-P:  当使用了-A时,同时检查根文件系统和其它文件系统

-R: 当使用了-A时,跳过根文件系统检查

-a:  自动修复文件系统

-r:  交互式修复文件系统

9. e2fsck: 用于检查ext2,ext3,ext4文件系统

-f:    强制检查

-F:    在开始检查之前,刷新分区的buffer cache

-y:    自动回答yes

10. mount: 挂载文件系统

-r:    只读挂载

-w:    读写挂载

-L:   挂载有些卷标的分区

-u:    挂载有些uuid的分区

-t:    挂载的文件系统类型

-a:    自动挂载所有

-o options: 指定挂载选项

async: 异步I/O

sync:  同步I/O

atime/noatime: 更新访问时间

auto/noauto: 可以使用-a选项

defaults: 默认选项包括(rw,suid,dev,exec,auto,nouser,aysnc,relatime)

dev/nodev: 允许使用字符和块设备

diratime/nodiratime: 更新目录inode访问次数

dirsync:

exec/noexec: 允许执行二进制文件

group:   允许普通用户挂载文件系统,如果这个用户属于group

user/nouser: 允许普通用户挂载文件系统,此选项隐含(noexec,nodev,nosuid)

users: 允许每个用户挂载文件系统,此选项隐含(noexec,nodev,nosuid)

iversion/noiversion: 每次inode被修改,i_version域被增加

mand/nomand: 允许强制锁

_netdev: 阻止系统尝试挂载网络文件系统,直到系统的网络准备就绪

nofail: 如果设备不存在,不报告错误

relatime/norelatime: 类似于atime/noatime

strictatime/nostrictatime:

suid/nosuid: 允许设置suid sgid

owner:  如果用户是设备的owner,允许他挂载文件系统

remount: 重新挂载文件系统

ro: 只读挂载

_rnewdev:和_netdev一样,除了在执行rc.sysinit时通过“fsck -a"检查文件系统

rw: 读写挂载

mount执行后的退出状态码:

0: success

1: incorrect invocation or permission

2: system error(out of memory,cannot fork,no more loop devices)

4: internal mount bug

8: user interrupt

16:problems writing or locking /etc/mtab

32:mount failure

64:some mount succeeded

umount /dev/sdb1卸载文件系统

umount /media

11. fuser: 查看占用文件或socket的进程:

# fuser -v /media

USER        PID ACCESS COMMAND

/media:              root      13156 ..c.. bash

ACCESS列:表示访问此进程的类型

c: 当前目录

e: 可执行程序正在执行

f: 打开文件

F: 打开文件写模式

r: root目录

m: mmap‘ed file or shared library

# fuser -km /media   杀死占用/media的进程

12. df: 查看文件系统空间使用率

-h: 以K,M,G形式显示

-i: 显示inode使用率

-P:以POSIX格式显示

# df -h

Filesystem                  Size  Used Avail Use% Mounted on

/dev/mapper/vg_test-lv_root  36G  1.8G   32G   6% /

36G  1.8G   32G   6% /

tmpfs                       939M     0  939M   0% /dev/shm

/dev/sda1                   485M   37M  423M   9% /boot

/dev/sdb1                   5.0G   10M  4.7G   1% /media

13. du: 评估文件文件占用的磁盘空间

# du -hs /root

55M     /var

14. 开机自动挂载文件/etc/fstab

# /etc/fstab

# Created by anaconda on Wed Jul 23 15:22:36 2014

#

# Accessible filesystems, by reference, are maintained under ‘/dev/disk‘

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

/dev/mapper/vg_test-lv_root /                       ext4    defaults        1 1

UUID=590c416b-9d27-4fe1-af01-fc802a7a200c /boot     ext4    defaults        1 2

/dev/mapper/vg_test-lv_swap swap                    swap    defaults        0 0

tmpfs                       /dev/shm                tmpfs   defaults        0 0

devpts                      /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                       /sys                    sysfs   defaults        0 0

proc                        /proc                   proc    defaults        0 0

第一列:要挂载的设备(设备文件,卷标,UUID)

第二列:挂载点

第三列:文件系统类型

第四列:挂载选项

第五列:转储频率

0:从不备份

1:每日备份

2:每隔一日备份

第六列:自检次序

0:不自检

1: 首先自检,通常只被/使用

2:/自检之后自检

时间: 2024-10-17 21:41:01

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

Linux文件系统及磁盘管理

硬盘在Linux系统中编码规范: 识别硬盘设备:/dev/sd 标记不同的硬盘设备:/dev/sd[a-z] 标记同一设备上的不同分区:/dev/sd[a-z][1-] 1-4: 主或扩展分区标识 5+:逻辑分区标识 设备文件:特殊文件 设备号: major, minor major: 设备类型 minor: 同一类型下的不同设备 "块":block,随机设备 "字符":character,线性设备 分区工具: fdisk, parted, sfdisk fdisk

Linux文件系统与磁盘管理学习笔记

文件系统和磁盘分区 对于一个存储空间来讲,文件系统是独占的,所以要进行分区(每一个分区都可以实现一个文件系统,即每一个分区都是一个独立的文件系统) 每一种文件系统都是工作在内核中的,通过系统调用提供文件的管理功能.所以,同一个操作系统的不同文件系统的系统调用一般是不一致的 Linux操作系统支持N种文件系统,Linux提供一个统一的接口,屏蔽了这些文件系统的差异,而这个接口叫VFS(Virtual File System虚拟文件系统) 文件系统是一种工作在内核中的软件,能够将某个分区中的数据以文

Linux入门之磁盘管理(2)文件系统

Linux入门之磁盘管理(2)文件系统 linux分区构成完成之后,一般需要进行对其创建指定的文件系统,也就是我们常说的格式化,然后对其进行分区挂载,提供指定分区的访问点.不同的分区格式会在文件系统内部提供不同的对该分区的数据存储的格式分配,以及其内部模块会支持不同的分区的接口及方法调用,例如对一个文件的打开.读取.写入.关闭等功能,每个文件系统都会有各种不同的特点. 常见的系统文件系统: linux: ext2.ext3.ext4:xfs(SGI):btrfs(Oracle):reiserfs

Linux系统管理之磁盘管理与文件系统

Linux系统管理之磁盘管理与文件系统 一.前言 管理磁盘是管理员的重要工作内容,本文主要介绍以下几个方面 磁盘结构及分区表示 管理磁盘及分区 管理文件系统 二.磁盘(无尘环境制造)结构及分区 1.物理结构 盘片:硬盘有多个盘片,每盘片2面 磁头:每面有一个磁头 2.数据结构 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据 磁道:同一盘片不同半径的同心圆 柱面:不同盘片相同半径构成的圆柱面 多个扇区组成磁道,多个相同直径的磁道组成柱面 笔记本的磁盘一般是2.5英寸,7mm厚度和9.5

Linux基础之磁盘管理

 Linux基础之磁盘管理         关于Linux中磁盘管理我们应该从以下四个方面入手,去了解和学习磁盘管理的知识. 第一点 磁盘的结构--硬盘         硬盘的参数 结构:磁盘的盘片,磁头,马达(机械键盘) 类型:固态硬盘(SSB)和机械硬盘 接口:早期的IDE接口,现在的SATA,SCSI,SAS 还有容量,转速,传输速度,缓存等. 硬盘存储术语 head: 磁头 track: 磁道 cylinder: 柱面 secotr: 扇区  512bytes(字节) 第二点 磁盘的分区

Linux入门之磁盘管理(1)分区管理

Linux入门之磁盘管理(1)分区管理 无论是windows还是linux,目前支持的分区结构只有两种,一种是基于blos检查启动的mbr结构,另一种是基于uefi(统一扩展固件接口)的opt分区结构.当然,目前广泛的还是使用的mbr结构. linux中有很多不同的文件系统,当使用安装光盘安装的readhat类的linux系统默认一般支持的主要格式为ext类(ext2.ext3.ext4),当然这些是redhat或者centos5.6所使用的默认设备,且安装centos7时默认使用的分区格式为x

Linux入门之磁盘管理(9)LVM逻辑卷案例

Linux入门之磁盘管理(9)LVM逻辑卷案例 案例介绍阶段(1): 创建一个由两个物理卷组成的大小未20G的卷组myvg,要求其PE大小为16M:而在此卷组中创建一个大小未5G的逻辑卷lvtest,此逻辑卷要能在开机后自动挂载至/mnt/lvtest目录,且支持ACL功能. 1.准备工作 #这里我们分别从两个磁盘选择10G来准备组合为PV [[email protected] ~]# fdisk -l | grep -o '/.*B' /dev/sda: 21.5 GB /dev/sdb: 2

Linux系统的磁盘管理及分区应用

要求: 第一部分:磁盘分区 1)为虚拟机添加一块80GB.SCSI接口的硬盘 2)划分2个10GB的EXT4主分区,剩余的作为扩展分区 3)划分一个2G的swap交换分区 4)划分一个10G的FAT32的VFAT逻辑分区 第二部分:新磁盘分区的应用 a)将系统中的普通用户king的宿主目录迁移到所添加的新硬盘的其中一个主分区上 并能实现开机自动挂载,不影响开机时用户king的正常登陆(修改fstab配置文件) b)实现新添加交换分区的开机自动挂载(修改fstab配置文件) c)实现先添加另一个主

linux下的磁盘管理

前言:本文记录笔者在学习linux下磁盘管理时的总结,仅做学习记录使用. 要想了解linux下的磁盘管理方式,首先,得对硬盘及linux下硬盘的表述方式有个清晰的了解,下面来介绍一下linux下对硬盘的表述方式. 1.关于硬盘?硬盘一般分为IDE硬盘.SCSI硬盘和SATA硬盘(串口硬盘).现如今使用大多硬盘为SCSI和SATA硬盘.2.Linux下对硬盘及其分区的表述是怎样的呢?(1)在linux下,IDE接口的设备被称为hd,SCSI和SATA接口的设备则被称为sd.(现如今用的是SCSI或