第三十三讲——文件系统的格式化 本文共有4243个字,关键词: 我们怎么知道当前操作系统内核支持什么文件系统? cat /proc/filesystems 可以查看当前操作系统支持的文件系统,实际上远远不止这些,由于内核编译时可能没有选择将文件系统编译,就需要重新编译内核或者使用第三方的软件来支持文件系统。 我们在给一个分区上创建文件系统的时候,它会把分区中5%的block预留给root用户,一旦当分区填满之后,管理员做一些修复工作时还会有多余的空间可用,对于一个大的分区来说,5%的预留是非常浪费的,一般来说预留1G的空间就足够了,因此百分比是比较粗糙的,将来我们可以知自己指定。 我们在格式化一个分区的时候会显很多的信息,例如有多少个块,有多少块组,每个块组中有多少个块,每个块组中有多少inode,块大小等等。 我们通过比对可以发现,我们默认的块大小为4K,块的个数大约是inode个数的两倍,所以可以推算出来大概每两个块一个inode,我们还可以看到super block以及super block备份到了哪些磁盘块上。 在日志文件系统中我们还可以看到有一个journal(日志)空间的创建。 mkfs命令对分区进行格式化,我们使用which mkfs可以发现mkfs是一个独立的命令,但是我们使用-t指定文件系统类型的时候会调用其他程序,例如: mkfs –t ext2 = mkfs.ext2 mkfs –t ext3 = mkfs.ext3 我们指定文件系统类型后调用的是后面的命令。除了ext系列的文件系统,mkfs是用于所有内核支持的文件系统,mkfs –t vfat 创建一个fat32格式的文件系统。 任何内核支持的文件系统都可以通过mkfs来进行指定文件系统的类型。但是如果我们要专门管理ext系列的文件系统,我们还有一个专门的命令:mke2fs mke2fs /dev/不跟任何参数时,默认创建的是ext2文件系统 mke2fs –j 创建为ext3文件系统 mkse2fs –t ext2/ext3/ext4 -t选项可指定文件系统 -b 指定blocksize的大小,默认为4096字节,-b可用的取值为1024/2048/4096. -L 指定文件系统的卷标(分区的名称),指定卷标的好处是,如果系统上同时挂载了SATA、SCSI、USB等硬盘设备,挂载之后重启时内核对其识别的顺序可能不一样,也就是说设备名称乱掉了,但是哟了卷标之后,我们直接使用卷标访问,或者使用卷标进行自动挂载都是可以的,卷标还可以通过其他命令重新指定、修修改。 -m # 指定预留给超级用户的 -i 指定字节同inode的比率,也就是说,给多少个块创建一个inode,默认为8K,字节数应当为块的倍数 -N 指定要创建的inode的个数 -F 强制格式化,当一个文件系统处于挂载状态是不允许格式化(创建文件系统的),若需要格式化,可以使用-F选项。 -E 用指定额外的文件系统属性 blkid 命令,查看查看磁盘分区相关属性。用于显示block设备的属性,或者定位block属性。 UUID:全局的统一标识符,UUID是由操作系统命令自动生成的一串随机数,用于唯一标识磁盘。 TYPE:文件系统的类型 在磁盘设备非常多的情况下,使用UUID来标识唯一的文件系统,在有的分区上会看到 SEC_TYPE=”ext2” :安全类型为ext2 TYPE=”ext3”:实际类型为ext3 blkid命令还可以用于查看卷标。 对于ext系列的文件系统,还有专门的命令用于修改卷标 e2label /dev/sd[a-z]# LABEL 指定的设备文件 指定卷标 调整文件系统属性(无损数据进行调整) 将ext2 升级为ext3 tune2fs -j /dev/sd[a-z]# 将文件系统加上日志功能,创建为ext3,不损害原数据,将ext2升级为ext3. 对文件系统的降级是不可以的,但是我们可以不启用日志功能。 块大小接近物理属性,不能更改 tune2fs 还能够调整文件系统信息。 -L 用于设定卷标(或修改) -m 调整管理员预留百分比 -r 指定预留块数(不能同-m一起使用) -o 设定默认挂载选项 -c 指定达到多少次挂载次数自检 0或者-1 表示不自检(关闭自检功能) -i 指定每挂载使用多少天自检 0或者-1 表示不自检(关闭自检功能) -l 显示超级块中的信息(当前分区中super block里的信息) acl,挂载时如果不指定acl,文件系统时不支持acl的。 我们默认安装文件系统的时候,文件系统是有自检设置的,按挂载次数和挂载天数自检,如果我们数据库很庞大,文件系统突然启动自检,会发现磁盘I/O被自检大量占用,正常访问都无法进行。 tune2fs –l /dev/sd[a-z]# 显示超级块中的信息。 其中filesystem state状态为clean则不需要修复。 dumpe2fs /dev/sd[a-z]# 显示文件的属性信息,相当详细,除了super block中的信息,还有块组的信息,以及超级块的备份位置等等。 super block一般在0.1.3.5.7.9组中有备份, dumpe2fs –h /dev/sd[a-z]# 只是查看分区中超级块的信息。 如果文件系统出现了错误应当自检,如果不自检,可以手动检查。 fsck 检查并修复文件系统,不指定文件系统是,fsck会通过blkid命令识别文件系统类型。 -t 指定文件系统类型 -a 自动修复(不询问) 如果不指定-a选项,会询问是否修复。 e2fsck 专用修复ext系列文件系统 -f 强制检测 -a(-p) 自动修复,-a为了兼容fsck命令。 fsck与mkfs对于不同的文件系统都适用。 「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」 赞赏 × 几人行 (๑>ڡ<)☆谢谢老板~ 2元 5元 10元 50元 100元 任意金额 2元 使用微信扫描二维码完成支付 版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。 给自己讲linux 2017-01-02 评论 1567 次浏览