neversoft 发表于 2018-5-25 07:37:31

Linux—文件系统

  1、文件系统是神马玩意?
  计算机的文件系统是一种用于向用户提供底层数据访问的机制,它将设备中的空间划分为特定大小的块(扇区),一般每块512字节。数据存储在这些块中,大小被修正为占用整数各块。由文件系统软来负责将这些块组织为文件和目录,并记录哪些块被分配给了哪个文件,以及哪些块没有被使用。不过,文件系统并不一定只在特定存储设备上出现。它是数据的组织者和提供者,至于它的底层,可以是磁盘,也可以是其它动态生成数据的设备(比如网络设备),严格的来说,文件系统是一种实现数据的存储、分级组织、访问和获取操作的抽象数据类型。
  2、文件名:
  在文件系统中,文件名用于定位存储位置,文件系统对文件名有特殊的限制;文件名一般由数字、字母组成,区分大小写,不建议使用特殊符号。
  3、元数据:
  文件保存信息常常伴随着保存在文件自身的一些属性称为元数据,如,访问时间,修改时间,改变时间的时间戳、文件的大小、权限、存储位置、子目录、inode数、block块数、权限等属性
  4、文件系统安全:
  针对文件系统的安全的访问一般访问控制列表来实现,通过chmod、suid、sgid、sticky bit、setfacl基本上可以满足我们对文件安全访问控制的需求。
  5、常用的文件系统:

  基本文件系统:ext2、ext3、ext4、reiserfs、xfs、JFS、vfat、NTFS等
  交换分区:swap
  集群文件系统:GFS、OCFS2
  网络文件系统:NFS、smbfs相当于微软的cifs
  光盘:iso 9660

  数据库文件系统:基于数据库的文件系统。

  闪存文件系统:在闪存上存储的文件系统,比如在U盘等设备上使用的
  6、文件系统的创建(文件系统的创建实际上就是分区格式化的过程),swap交换分区的的修改。
  创建文件系统之前先说一下磁盘分区以及格式化工具:
  磁盘分区:fdisk /dev/sda:fdisk是一个对磁盘分区并且可以设置分区文件系统类型的工具
  d: 删除
  n: 新建
  p: 列出
  t: 调整分区ID
  l: 列出内核支持的分区ID
  w: 保存退出
  q: 不保存退出
  partx, kpartx:这两个命令一把用来让内核重新读取分区信息
  在centos5中一般是使用partprobe,centos6中一般使用kpartx,partx,个人感觉partprobe好用。
  kpartx -af: 设备文件
  partx -a:   设备文件
  磁盘格式化:mke2fs,配置文件:/etc/mke2fs.conf
  -t {ext2|ext3|ext4}
  -j : 相当于-t ext3
  -L Label:卷标
  -b {1024|2048|4096}:指定块大小
  -i #: #个字节给预留一个inode
  -N #: 直接指定预留多少个Inode
  -I #:Inode大小
  -m #:预留管理员的空间百分比,默认为5
  -O:指定分区特性
  创建修复文件系统经常用到的命令:e2label、blkid、dumpe2fs、tune2fs、fsck
  e2label /dev/SOMEDEVICE: 查看卷标
  e2label /dev/SOMEDEVICELabel: 设定卷标
  blkid /dev/SOMEDEVICE: 查看设备的属性,UUID和TYPE
  dumpe2fs -h: 仅查看超级块中保存的信息
  tune2fs:
  -l: 查看超级块中的信息
  -L label: 设定卷标
  -m: 预留管理员的空间百分比,默认为5
  -j: 如果原来的文件系统为ext2, -j能够将其提升为ext3
  -o [^]mount-options[,...]:设定其默认挂载选项
  -O [^]feature[,...] :调整分区特性
  fsck:
  -t fstype :文件系统类型
  -a: 自动修复错误
  -r: 交互式修复错误
  e2fsck:
  -f: 强制检测
  -y: 对问题自动回答为yes
  交换分区的创建方式:
  
  mkswap:创建交换分区
  -L label
  swapon:启用交换分区
  -p #: 指定优先级
  swapoff:禁用交换分区
  7、实现过程如下:
  1)查看用来实现的磁盘

  2)在我的第二块磁盘上划分出来一个分区来创建文件系统:

  3)更改分区类型为交换分区:

  4)查看分区是否被识别,如果未被识别用kpartx,partx重读分区信息:

  5)格式化分区:

  6)查看创建文件系统的结果:

  7)至此创建成功,下边我们来把这个分区给扩展到swap中,为了验证效果先来看一下系统原来swap的大小。

  8)把/dev/sdb1的空间增加到swap中

  9)把/dev/sdb1的空间回收回来

  End。。。。。。下一篇博客写文件系统的挂载、自动挂载。
  
页: [1]
查看完整版本: Linux—文件系统