我们需要熟练了解磁盘分区原理。元数据及块设备对应inode是最重要也是最基本的原理。后面分区很多地方都和inode有关系。
一个磁盘片有63扇区,1024存储位,256个磁头,每个扇区只有前512字节是有效存储单元。所以后面磁盘清零都是跟512这个数字有关。
数据分数据区和元数据区,元数据包括大小属性,属主属组,时间戳,inode节点等信息,但唯独不包括文件名,这点需要牢记。
数据里面的块设备,磁盘大小由文件大小决定。
链接文件:存储指针空间中存储的是设备号
磁盘空间有缩影,按位对位缩影,inode也有对位缩影。
在分区内部划分二级结构,磁盘首先是逻辑单元(block,disk),逻辑快之间可以联动存储数据
超级块:是块设备中至关重要的设备,必须要有备份方案,有其他备份块组。
每个逻辑组都会有块组描述符GDT
目录也是文件:根也在内存中:根的磁盘块下。
根据inode可以查找文件下的磁盘块,能找到其目录下的所有文件名及其inode对应信息。
路径映射,一层一层的查找。
用free命令可以查找缓存及内存空间
Linux文件系统。可以支持多种文件系统
任何两个文件系统不兼容时都可以架构中间层。
文件系统有vfat,ext2.3.4,xfs reiserfs btrfs
交换文件系统swap是虚拟文件系统:虚拟假设机制:在磁盘上找一块空间假装成内存,将最近较少使用的内存存放在swap上。
对一个文件系统来说,交换分区是必须的
下面来介绍一下常见的分区工具及命令:
fdisk
见名知意,这个就是ext的分区工具,GPT分区工具是gdisk。
常用方法fdisk -l device名字 查看设备分区信息
也可以直接fdisk device来对设备进行分区,这里就不在赘述
mke2fs的 几个常用方法。
-i #: 为数据空间中每多少个字节创建一个inode;此大小不应该小于block的大小-N #:为数据空间创建个多少个inode
Inode数越少越好。适量,一个inode可以对应多个快,至少一个快,对应的块数越多存储性能越好。元数据不需要这么多的空间
-I 制定inode的大小
-m #: 默认5%,为管理人员预留空间占总空间的百分比
常见格式化文件系统的工具mkfs,mke2fs 等
当然mke2fs功能比mkfs略微强大
这里详细介绍下tune2fs这个命令
tune2fs -l devvice 可以查看这个分区的详细信息
tune2fs -L device 可以更改分区的卷标
e2label device 卷标名 可以更改分区的卷标名。
tune2fs -o 可以更改分区挂载时的一些属性。
-O 可以更改分区的一些常规选项
分区结束后小伙伴们可以使用partprobe 或者kpartx -af device来刷新分区列表
这是我们分区时最重要的核心思想,就是分区的同步性,分区同步意味着可以避免出错,后期的工作每个点我们完成后都需要复查。
结束后有3中方法查看分区列表
cat /proc/partitions blkid
df device
fdisk -l device
添加外面硬盘想要不关机就读取使用
partx -a -n M:N /dev/DEVICE 命令
分区的检测工具fsck e2fsck
还有blkid和lsblk这两个常用命令,小伙伴们也必须熟练掌握,这里不再赘述。
当然还有dump2fs 也是查看文件系统属性的命令
dd是文件系统备份的命令格式
最重要的是它的命令格式,同学们学会使用就好。
dd if=需要备份的设备 of=备份到的文件 bs= count skip= seek=
mount 是挂载命令,下面是mount 用法的详解。
-t vsftype:指定要挂载的设备上的文件系统类型
-r: readonly,只读挂载
-w: read and write, 读写挂载
-n: 不更新/etc/mtab,相当于#mount 悄悄的挂
-a:自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有auto功能)
-L 'LABEL': 以卷标指定挂载设备
-U 'UUID': 以UUID指定要挂载的设备
-B, –bind: 绑定目录到另一个目录上 文件夹挂文件夹
查看内核追踪到的已挂载的所有设备:
cat /proc/mounts Cat /etc/mtab
-o options:(挂载文件系统的选项),多个选项使用逗号分隔
async:异步模式 默认
sync:同步模式,内存更改时,同时写磁盘
atime/noatime:包含目录和文件 默认很多情况不更新
制定网页缓存无意义 优化至少5% 临时生效
diratime/nodiratime:目录的访问时间戳
auto/noauto:是否支持自动挂载,是否支持-a选项
exec/noexec:是否支持将文件系统上运行应用程序临时生效
dev/nodev:是否支持在此文件系统上使用设备文件
很危险
suid/nosuid:默认没有suid和sgid权限 非常危险
Chmod u+s/g+s 普通用户没有mount权限
remount:重新挂载
ro:只读
rw:读写
user/nouser:是否允许普通用户挂载此设备,默认管理员才能挂载
acl:启用此文件系统上的acl功能
Defaults:相当于rw, suid, dev, exec, auto, nouser, async
mknod cdrom b 11 0 生成cdrom的设备文件 主设备号11 次设备号0.设备类型b
接下来的文章将会给大家介绍怎么编写etc/fstab这个文件以及如何启用交换分区及硬盘修复。
原创文章,作者:sjfbjs,如若转载,请注明出处:http://www.178linux.com/39890