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/SOMEDEVICE Label: 设定卷标
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。。。。。。下一篇博客写文件系统的挂载、自动挂载。