今天来说一个关于磁盘管理的例子,通过这个例子也顺便了解一下此例子涉及到的一些相关命令、文件。
练习:创建一个2G的文件系统,块大小为2048byte, 预留1%可用空间,文件系统ext4,卷标为TEST,要求此分区开机后自动挂载至/test目录,且默认有acl挂载选项
思路:1.在/etc/fstab中定义开机自动挂载信息
UUID=” ….” /test ext4 acl 0 0
或者 /dev/sd.. /test ext4 acl 0 0
2.命令行手动设置文件类型、块大小、卷标、预留可用空间
mkfs -t ext4 -L TEST -m 1 -b 2048 /dev/sd.. 这样就会在下面看到块大小、卷标和预留空间的信息,还可以用tune2fs -l /dev/sd..和 dumpe2fs -h /dev/sd.. 查看;可用parted -l /dev/sd..查看到文件类型
3.使用mount -a 在不重启的情况下读取/etc/fstab里设置的未挂载的设备(若已挂载但被修改,就当没看见,不管);可用mount 直接查看所有挂载情况及设置的一些特殊选项及默认选项(在括号里)
这里以/dev/sdb3为例:
1.先在/etc/fstab里按照格式将/etc/sdb3写进去
2.命令行操作:
3.使用mount -a 在不重启的情况下读取/etc/fstab里未挂载的设备
涉及到的相关知识:
1.文件:
/etc/fstab 配置文件,开机时读取
/etc/mtab 实时显示当前生效的所有挂载设备
/proc/mounts 同上,能查看-n 隐藏的挂载信息
2.命令:(后面的参数都是设备名(如:/dev/sdb1))
*1.格式化文件:mkfs 、 mkfs.filetype 、mke2fs
选项:-t filetype 设置文件类型
-b {1024/2048/4096} 设置块大小
-L name 设置卷标
有一点不同是mke2fs是ext系列文件系统专用的,其余的都通用,mke2fs -j /dev/sd.. 将ext2文件升级为ext3文件
*2.挂载: mount
选项: -t 指定文件系统类型
-r 只读挂载
–remount,ro|rw 也会更新/etc/fstab中的选项,如果与指定的冲突,则remount后指定的优先。
-n 隐藏挂载信息不显示,但在/proc/mounts可以查到
-a 读取/etc/fstab,挂载其中没有挂载的设备
-L ‘LABEL’: 以卷标指定挂载设备
-U ‘UUID’: 以UUID指定要挂载的设备
-B /–bind 目录挂目录
-o 选项
sync,async 同步,异步(defaults)
atime(defaults),noatime 是否在读访问时更新atime
diratime(defaults),nodiratime
auto(defaults)/noauto 写在/etc/fstab当中的分区,是否在mount -a时被挂载
exec(defatuls)/noexec 在该分区所挂载的目录中的脚本是否可以执行。
dev(defaults)/nodev:是否支持在此文件系统上使用设备文件
suid(defaults)/nosuid:不否支持suid和sgid权限
remount:重新挂载
ro:只读
rw:读写(defaults)
user/nouser(defaults):是否允许普通用户挂载此设备,默认管理员才能挂载
acl:启用此文件系统上的acl功能
defaults 默认,见以上中的(defaults)
*3.查看超级块信息: dumpe2fs 、tune2fs
dumpe2fs /dev/sd.. 查看超级块信息及分组信息
-h /dev/sd.. == tune2fs -l /dev/sd.. 查看指定文件的超级块信息
tune2fs (主要是重设ext系列可调整参数的值)
-l /dev/sd.. 查看指定文件的超级块信息
-L name 改卷标
-m # 改预留给管理员的空间百分比
-j /dev/sd.. 将ext2文件类型升级为ext3类型
-U # 修改uuid
3.扩展:
*1. 挂载时最好挂到空目录下,若是挂载到一个有内容的目录下,其下的内容会被覆盖。
*2. mount 可单独使用,查看已挂载的所有设备信息(除使用-n选项的隐藏挂载) ,相当于df -a
*3.mount -t 挂载时指定文件类型这个选项,可有可无,现在Centos 6和Centos 7里挂载时自动指定类型,若是提示你输入文件类型,有两种情况:1.用-B 进行目录挂载目录时没指定类型;2.挂载设备块文件时,此块设备文件被破坏,此时就算指定了也没有用。
*4. 若超级块被破坏时,可用fsck 和 e2fsck 进行修复:
fsck 默认是交互式修复,即fsck /dev/sd.. == fsck -r /dev/sd..
fsck -p /dev/sd.. 自动修复,不用询问
e2fsck 专用于修复ext文件系列
e2fsck -y /dev/sd.. 自动修复
e2fsck -f /dev/sd.. (超级块破坏较小,检测不出来有破坏时)强制修复
*5.主要的超级块放在第一个分组里,备份的超级块放在奇数组里,破坏的是主要超级块,修复时用的是备份到超级块
原创文章,作者:M.Sun,如若转载,请注明出处:http://www.178linux.com/85053