磁盘管理与文件系统

  关于磁盘与文件系统大致思路:要想对磁盘进行充分利用,必须要对磁盘进行分区,第二步就是要对分区进行高级格式化,也就是在分区上创建文件系统,在此过程中可以对磁盘的各种属性进行自定义。打个比方来说,创建磁盘分区好比刚买来一个毛坯房,还未装修,还不适宜人居住,那么创建文件系统就好比在光秃秃的毛坯房上进行了装修,这样才更适于人居住使用。


要想搞懂磁盘,首先就要从根上了解硬盘的组成。

    head 磁头 一个盘片正反两面对应两个磁头,有多个盘片

    track 磁道 磁头旋转一圈划分的圆环

    sector 扇区 512bytes

    cylinder 柱面 所有盘片的相同磁道


设备:ll /dev/ 可见 

    blob.png

块设备(block):支持随机访问,数据交换单位是块

字符设备(character):线性访问,数据交换单位为字符

设备文件:FHS

/dev

设备文件:关联至设备的驱动程序;设备的访问入口

设备号:

主设备号

major:主设备号,区分设备类型,用于标明设备所需要的驱动程序

minor:次设备号,区分同种类型下的不同的设备,是特定设备的访问入口

mknod:创建块和字符设备

mknod /dev/testdev c 110 1

-m MODE:创建后的设备文件的访问权限,利用系统调用

设备文件名:ICANN

磁盘

SCSI SATA USB SAS:/dev/sd[a-z]

并口:同一线缆可以接多块设备

SCSI:

宽带:16-1

窄带:

主分区和扩展分区表示:1-4

逻辑分区:5+

查看分区:cat /proc/partitions

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

cnetos 6:partx -a [device]

元数据不包括文件名,文件名保存在目录

元数据:inode 

文件使用磁盘有不连续的块,碎片

文件元数据:inode 数据块指针

********************

inode

128bytes

block=2^n sector 

符号链接文件:存储数据指针的空间当中存储的是真实文件的访问路径

块和inode比例

需要预留一部分块空间给管理员

如何判断inode和block是否使用,0表示空,1表示使用

bitmap index:位图索引

找一空间,每一位对应block

GDT:快组描述符

元数据区域:

1.inode

2.inode位图

3.block位图

GDT:

stat查看元数据

文件名存放在目录上,与inode一一对应

低级格式化

高级格式化

******************

VFS:Virtual File System

linux文件系统:ext2-4,xfs(centos 7 defaults),relserfs,btrfs(测试阶段)

光盘:ISO9660

网络文件系统:nfs,cifs

集群文件系统,gfs2,osfs2

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

windows的文件系统:vfat,ntfs

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

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

交换文件系统:swap

用户空间得分布式文件系统

************************

虚拟内存

32位 4G内存可用

交换分区

创建文件系统工具

mkfs.ext4

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

fsck

查看其属性的工具

dumpe2fs,tune2fs

调整文件系统特性

tune2fs

***

journal

降低磁盘碎片

日志区,在处理数据时先放在日志区,

如果遇到特殊情况要修复时,优先修复日志区中的内容

链接:指向同一文件的不同路径

硬链接:指向同一inode的多个路径

1.目录不支持硬链接

2,。不能跨文件系统,各分区inode各自管理,从0开始

3。引用次数增加

4.大小相同

符号链接:指向一个文件的指针指向另一文件路径

1.符号链接与文件时两个单独文件,有各自inode

2.可跨分区

3.文件大小为指向的路径的字符串的字节数

ls -i example.txt

ls -i命令列出整个目录文件,即文件名和inode号码:

  ls -i /etc

blob.png

理解了上面这些知识,就能理解目录的权限。目录文件的读权限(r)和写权限(w),都是针对目录文件本身。由于目录文件内只有文件名和inode号码,所以如果只有读权限,只能获取文件名,无法获取其他信息,因为其他信息都储存在inode节点中,而读取inode节点内的信息需要目录文件的执行权限(x)。

先创建分区,再创建文件系统,

内核中有相关的文件系统驱动程序,可使用lsmod查看

lsmod :查看内核已经加载的驱动程序

blob.png

文件系统管理工具:由用户控件的应用程序提供

1.

mkfs -t ext2=mkfs.ext2

blkid /dev/sda6

2.

mke2fs ext专用工具

-t ext4 指定要创建的文件系统类型

-b {1024|2048|4096(MAX默认)}指定文件系统的block大小

-L 卷标

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

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

-i #:每多少字节一个inode,bytes-per-inode,

指明inode与字节的比率,即多少字节创建一个inode,

默认为

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

-O [^]FEATURE :以指定的特性创建目标文件系统,启用某种特性

-m #指定预留空间百分比:5 –>5%s

3.改变卷标

e2label 卷标的查看和设定

e2label /dev/sda8 sb

blob.png

4.tune2fs 查看修改ext系列文件的某些属性

不可修改:块大小,

修改文件系统属性

-j ext2–>ext3

-L label:修改卷标

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

-O FEATURE 启用或者关闭某种特性

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

acl

^acl

5.dumpe2fs:显示所有块组信息,类似tune2fs

-d 只显示superblock

6.

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

因进程意外终止或者系统崩溃等原因导致进程非正常终止,可能造成文件损坏

此时要进行离线修复

e2fsck device

-y 对所有问题回答yes

-f 强制检测

fsck.ext4

-a:无需交互修复所有错误

-r 交互式修复

通用命令

7.

blkid

-L label 根据卷名定位分区

-U UUID  

8。

swap文件系统

linux'上的交换分区必须使用独立的文件系统

且文件系统的System ID必须为82

创建swap设备:

mkswap

-L :指明卷标

-f : 强制

9.

windows无法识别Linux的文件系统,要交叉使用时,

应该使用同时支持的文件系统

10.

根文件系统之外的其他文件爱系统想要能够被访问,都必须通过关联至根文件系统上的某个目录来实现,此关联操作即为挂载:此目录为挂载点

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

1.事先存在

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

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

11.

mount

-r 只读filesystem

-w 读写挂载

-n 默认情况下,设备挂载或卸载的操作会同步更新至/etc/fstab中

-n禁止更新同步

-t vfs :指明要挂载的设备上的文件系统的类型,多数情况下可省略,

此时mount会通过blkid来判断要挂载的设备的文件系统类型

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

mount -L lable dir

-U UUID 以UUID的方式指明设备

-o options:挂载选项

sync/async 同步/异步操作:

异步:先在内存写完,再写入磁盘

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

diratime/nodiratime:目录访问时,是否保存访问时间戳

remount:重新挂载;

acl;支持使用facl功能访问控制列表

1.mount -o acl device dir

2.tune2fs -o acl device

ro 只读

rw 读写

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

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

auto/noauto:自动挂载

/user/nouser:是否用户挂载此文件系统

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

default:

12。 实现将目录绑定至另一个目录上,作为临时访问入口

    mount –bind 源目录 目标目录

13.查看当前系统所有已挂载的设备

1.mount

 blob.png

2.cat /etc/mtab 

 blob.png

3.cat /proc/mounts

挂载光盘

mount -r /dev/cdrom  mount_point

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

mount -r

14.

umount

注意:正在被进程访问的挂载点无法卸载

查看被哪些进程所占用

lsof mount——point

fuser -v mount_point

-km /mnt:踢出正在使用/mnt的用户

终止所有某挂载点的进程

fuser -km

15

挂载本地回环设备

mount -o loop /path/to/some_loop mount_point

16

交换分区

创建交换分区:mkswap

启动禁用

swapon 

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

swapoff

/etc/fstab

设备除根文件系统以外的其它文件系统能够开机时的挂载

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

6个字段:

1.要挂载的设备

label

UUID伪文件系统

2.挂载点

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

3.文件系统类型

4.挂载选项

defaults:默认

如果使用多个挂载选项,彼此间以逗号分隔

defaults,acl,noatime,noexec

5.转储频率

0:从不备份

1.每天备份

2.隔天备份

6.自检持续

0:不自检

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

2.次级自检

mount -a:可自动挂载定义在/etc/fstab中的所有支持自动挂载的设备

16

df:disk free

-h 人类可读

-l 本地可读

-i inode的使用状态

blob.png

du:显示文件大小

-s :sumary

-h human-readable

blob.png


原创文章,作者:000,如若转载,请注明出处:http://www.178linux.com/41618

(0)
000000
上一篇 2016-08-29
下一篇 2016-08-30

相关推荐

  • 马哥教育21期网络班—第15周课程+练习—-awk 总结

    GNU awk: 文本处理三工具:grep, sed, awkgrep, egrep, fgrep:文本过滤工具;pattern sed: 行编辑器 模式空间、保持空间 awk:报告生成器,格式化文本输出; AWK: Aho, Weinberger, Kernighan&nbsp…

    Linux干货 2016-11-14
  • Linux上获取命令帮助信息及man文档划分

    1.Linux上获取命令帮助信息的多种途径 Linux上获取命令帮助信息有多种途径,但不同的命令类型获取帮助信息也有不同,Linux命令类型主要分为两种: (1)内部命令:指的是集成于Shell解释器程序(如Bash)内部的一些特殊指令,也成为内建(BuiltIN)指令。 内部命令属于Shell的一部分,所以并没有单独对应的系统文件,只要Shell解释器被运…

    Linux干货 2016-10-30
  • N26-第六周

    请详细总结vim编辑器的使用 vim 模式化的编辑器 vim的三种模式:1.编辑模式(命令模式)                          2.输入模式          …

    Linux干货 2017-03-13
  • 使用mysql-mmm实现高可用mysql读写分离

    MMM介绍:  MMM全称为Multi-Master Replication Manager for MySQL,即为主主复制管理器;根据MMM官网介绍,其工作原理类似于lvs,都是利用vip地址;但lvs只有一个组件便可以正常工作,而MMM则使用三个组件,分别是mysql-mmm、mysql-mmm-agent、mysql-mmm-monitor…

    Linux干货 2015-08-04
  • linux文件系统上的权限

    文件系统上的权限是指文件系统上的文件和目录的权限,主要针对三类对象进行的(访问者)进行的定义: 针对文件来说 r 使用工具cat nano去看文件里面内容的权限 w 可以修改文件的内容 x 二进制程序以及脚本需要发起系统调用,去启动为一个进程 针对目录来说 r 是否可以查看目录里面的内容 有r权限的话 可以使用ls -l w 对目录里面是否可以创建文件或者目…

    Linux干货 2017-04-01
  • xen虚拟机实时迁移

    前言:  xen虚拟机提供了一种类似于heartbeat高可用方案,在保证也不中断的业务情况下实现虚拟机迁移技术。在保证虚拟机上的服务正常的情况下将运行中的Domain迁移到其他机器上,实现xen虚拟机的高可用。 一、实验准备:  (1)各个测试机之间时间要同步  (2)node3提供iscsi网络共享存储  (4)n…

    Linux干货 2015-08-27

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-30 10:09

    文章对磁盘管理各方面知识整理的很全面,层次结构也很清晰,但是对于硬盘基础我们能够给出一些图片来叙述各个硬盘的各个组件会更好,同时,也希望作者能通过差资料,将笔记中的关键字组织成通顺的话。