磁盘及文件系统管理(二)
上篇说到磁盘的管理,工作原理,分区以及操作系统中文件系统的定义和工作原理。第二篇承接上面第一篇讲解Linux下的文件系统类型,并以redhat(centos)中ext文件系统为例来具体看一下怎么创建和管理一个文件系统。本篇以命令介绍和举例为主,主要涉及到的命令有mkfs,fsck,dumpe2fs,tune2fs,e2label,mount,df,du等。嗯,先从mkfs开始吧。
一、创建文件系统
创建文件系统即在已经分区完的磁盘上格式化磁盘分区。要格式化成某种文件系统,需要满足两个条件:
1、内核中,支持此种文件系统;/lib/modules/2.6.32-573.el6.x86_64/kernel/fs目录中罗列了系统支持的文件系统类型
2、用户空间,有文件系统管理工具;命令有mkfs,以及ext系列文件系统的专用工具mke2fs
1、mkfs
格式:mkfs [-V] [-t fstype] [fs-options] filesys [blocks]
-V /dev/DEVICE:详细显示模式
-t fstype:需要的文件系统类型,必须是系统内核所支持的文件系统类型
-c /dev/DEVICE:对未分区的磁盘进行检测
2、mke2fs
格式:mke2fs [OPTION]... DEVICE
-t {ext2|ext3|ext4}:文件类型
-b {1024|2048|4096}:块设备大小
-L ‘LABEL‘:标签
-j: 等同于mke2fs -t ext3,创建ext3类型的文件系统
-i #:指定多少个字节分配一个inode。
-N #:创建#个inode
-m #: 预留磁盘空间占据多大百分比的空间为后期管理使用;
3、e2label
e2label /dev/DEVICE 查看卷标
e2label /dev/DEVICE LABEL 设置卷标
4、Blkid
blkid:显示所有分区信息,uuid,type,label
blkid /dev/DEVICE:显示选定分区信息
-L:根据label查询分区
-U:根据uuid查询分区
5、tune2fs
-l:查看文件系统信息
-j:将ext2文件系统转换为ext3类型的文件系统
-L volume-label:修改文件系统标签
-o mount-option:设置或清除默认挂载的文件系统选项
二、分区挂载
1、mount挂载
mount:显示当前系统已经挂载的所有文件系统的相关信息
-r:只读挂载
-w:读写挂载
-t FSTYPE:指定被挂载的设备上的文件系统类型,省略,mount会自动使用blkid命令判断
-L LABEL:以卷标的方式指定要挂载的设备,此时DEVICE可省略
-U UUID:以UUID的方式指定要挂载的设备,此时DEVICE可省略
-a:自动挂载所有/etc/fstab中指定开机自动挂载的设备
-n:默认情况下,设备挂载的改变结果会被保存于/etc/mtab中一份;此选项用于变动时不更新此文件
-o OPTION,挂载选项:
async:异步写入
sync:同步写入
atime/noatime:文件或目录被访问时更新/不更新时间戳
diratime/nodiratime:目录被访问时更新/不更新时间戳
auto/noauto:设备是否支持mount命令使用-a选项时自动挂载
dev/nodev:此设备上是否创建设备文件
exec/noexec:是否允许执行此文件系统上的程序文件
suid/nosuid:是否支持此设备上的文件使用suid权限
remount:重新挂载
acl:支持使用facl
#mount -o acl
#tune2fs -o acl /dev/DEVICE打开acl为默认挂载选项
ro:只读
rw:读写
user/nouser:是否允许普通挂载此文件系统
所有挂载选项均未指明时,其默认为:
default
Use default option:rw,suid,dev,exec,auto,nouser,async,relatime
将某目录绑定至指定目录下,作为临时访问入口:
mount --bind 源目录 目标目录
查看所有已经挂载设备的方法:
#mount
#cat /etc/mtab
#cat /proc/mounts
2、umount卸载
umount DEVICE
umount MOUNT_POINT
注意:正在被某进程访问的设备无法被卸载,需要查看被什么进程所占用使用的命令,终止进程后才能卸载。
#lsof MOUNT_POINT
#fuser -v MOUNT_POINT
#fuser -km MOUNT_POINT 终止正访问挂载点的进程
截图
三、查询信息
1、df
-l:仅显示本地文件系统的相关系统
-h:单位换算
-i:显示inode的使用情况而非磁盘块的
-T:显示文件系统类型
2、du
-s:统计整个目录及内部所有文件总体大小
-h:human-readable
四、开机自动挂载
linux系统开机启动会根据配置文件/etc/fstab中指定开机自动挂载的设备信息来挂载文件系统。文件具体内容及字段含义。如下:
UUID=069d1634-3473-4ee6-bc0e-6864066766bc / ext4 defaults 1 1
6个字段:
(1)挂载设备 表示挂载设备的3种类型,例:
/dev/hda1 设备名称
LABEL设备卷标
UUID 设备号
伪文件系统:如sysfs,proc,tmpfs等
(2)挂载点
注意:swap的挂载点仍然为swap
(3)文件系统类型
(4)挂载选项
defaults表示使用默认挂载选项
多个挂载选项之间使用逗号分隔:如defaults,acl,noatime
(5)转储频率
0:表示从不备份
1:每天备份
2:每隔一天备份
(6)自检次序
0:不自检
1:首先自检,通常只有根文件系统使用
2:次级自检
...
五、练习
创建一个10G的文件系统,类型为ext4,要求开机可自动挂载至/mydata目录
1、查看空盘信息
2、磁盘分区
3、查看分区信息
下面是今天的正题
4、格式化
5、查看信息
6、写入开机自动挂载文件
这样,6个步骤就OK了。然后机器重启验证下,命令df -hT是否有sdb1分区的挂载信息。