📄 tlsa讲义06章.txt
字号:
6.2 文件系统
日志式文件系统在强调数据完整性的企业级服务器中有着重要的需求,是文件系统发展的方向。日志式文件系统的思想来自于如Oracle等大型数据库。数据库操作往往是由多个相关的、相互依赖的子操作组成,任何一个子操作的失败都意味着整个操作的无效性,对数据库数据的任何修改都要回复到操作以前的状态。日志式文件系统采用了类似的技术。
6.2 文件系统
在分区中保存有一个日志记录文件,文件系统写操作首先是对记录文件进行操作,若整个写操作由于某种原因(如系统掉电)而中断,则在下次系统启动时就会读日志记录文件的内容来恢复没有完成的写操作。而这个过程一般只需要几秒钟到几分钟,而不是ext2文件系统的fsck那样在大型服务器情况下可能需要几个小时来完成扫描。
6.2 文件系统
ext3在ext2的基础上加入了记录元数据的日志功能,努力保持向 前和向后的兼容性。
ext3fs最大的优点是向下兼容ext2。而且ext3fs还支持异步的日志,这意味着它的性能可能比 ext2还好。但是使用ext3文件系统时要注意硬盘限额问题。
Ext3---可用性,数据完整性,速度
6.2 文件系统
可以从3种日志模式中选择1种来优化速度,有选择地牺牲一些数据完整性
第一种模式,data=writeback
第二种模式,data=orderd(缺省模式)
第三种模式,data=journal
在通常情况下,建议使用缺省模式。如果需要改变模式,请在/etc/fstab文件中,为相应的文件系统加上data=模式的选项。详情可参看mount命令的man page在线手册(执行man mount)。
6.2 文件系统
可以不重新格式化硬盘,并且很方便的从ext2迁移至ext3而享受可靠的日志文件系统的好处。
运行tune2fs –j /dev/xxx(要转换的文件系统所在的设备名称),同时把文件/etc/fstab中的ext2修改为ext3。
6.2 文件系统
用mkfs命令创建文件系统
-V : 详细显示模式
-t : 给定档案系统的型式,Linux 的预设值为 ext2
-c : 在制做档案系统前,检查该分区是否有坏轨
block : 给定 block 的大小
例:mkfs -V -t msdos -c /dev/hda5
6.2 文件系统
mkfs是一个统一的前端工具,为所有不同文件系统类型的创建提供命令。
例:mke2fs,mkswap,mkdosfs等
1、选择硬盘 2、分区 3、设备项
4、创建磁盘分区和文件系统fdisk
6.2 文件系统
调整ext2/ext3文件系统
tune2fs,fsck
Mount,umount
fuser 命令列出了使用该设备上任何文件的进程。
6.2 文件系统
每个进程号后面都跟随一个字母,该字母指示进程如何使用文件。
c将此文件作为当前目录使用。
e将此文件作为程序的可执行对象使用。
r将此文件作为根目录使用。
s将此文件作为共享库(或其它可装载对象)使用
6.2 文件系统
mount命令不带任何参数时,列出已安装的文件系统。
mount命令维护着/etc/mtab文件
6.2 文件系统
文件系统配置文件
文件/etc/fstab存放的是系统中的文件系统信息。当正确的设置了该文件,则可以通过"mount /directoryname"命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行中的字段都有空格或tab键分开。同时fsck、mount、umount的等命令都利用该程序
6.2 文件系统
Block device 该字段定义希望加载的文件系统所在的设备或远程文件系统,
Mount point 该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为none。
Filesystem type 定义了该设备上的文件系统
6.2 文件系统
Mount option指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。对于大多数系统使用"defaults"就可以满足需要。其他常见的选项包括:
ro 以只读模式加载该文件系统
sync 不对该设备的写操作进行缓冲处理,这可以防止在非正常关机时情况下破坏文件系统,但是却降低了计算机速度
6.2 文件系统
user 允许普通用户加载该文件系统
quota 强制在该文件系统上进行磁盘定额限制
noauto 表示启动时并不立即安装这个文件系统,而是由管理员在以后手工安装
6.2 文件系统
Dump frequency该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0
Fsck order该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0
6.2 文件系统
df命令 检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息
该命令各个选项的含义如下:
-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。
-m 以M字节为单位显示。
-i 显示i节点信息,而不是磁盘块。
-T 显示文件系统类型。
-h 人性化的方式列出
6.2 文件系统
du命令显示用于文件的块的数量。如果指定File参数是一个目录,就要报告该目录内的所有文件。如果没有提供 File参数,du命令使用当前目录内的文件。
默认以k为单位显示
-h人性化方式显示
-s 指定文件或目录
6.2 文件系统
使用quota管理磁盘配额
在网络管理的工作中,由于硬盘的资源是有限的,常常需要为多用户的服务器设定用户的磁盘配额。
6.2 文件系统
quota 实际在运作的时候,是针对“整个 partition”进行限制的,
Linux 系统核心必须有支持 quota 这个模组才行
Kernel 2.4.xx 的核心版本支持新的quota 模组,使用的预设文件( aquota.user, aquota.group )将不同于旧版本的 quota.user, quota.group
6.2 文件系统
quota 的限制内容:
soft :这是最低限制容量的意思,使用者在宽限期间之内,他的容量可以超过 soft,但必需要宽限时间之内将磁盘容量降低到 soft 的容量限制之下
hard :这是“绝对不能超过”的容量
6.2 文件系统
quota 命令显示磁盘使用情况和限额。缺省情况下,或者带 -u 标志,只显示用户限额
-g :显示 group 群组
-u :显示 user
6.2 文件系统
quotacheck [-auvg] /yourpath
参数说明:
-a :扫描所有在 /etc/mtab 里头已经 mount 的具有 quota 支持的磁盘
-u :扫描用户的档案与目录
-v :显示扫描过程
-g :扫描群组使用的档案与目录
6.2 文件系统
quotacheck扫描某一个磁盘的 quota 空间,并且,由于该磁盘若持续运作时,在扫描的过程中,档案可能会增减,造成 quota扫描的错误发生,因此,当使用 quotacheck 时,该磁盘将『自动被设定成为(read-only);扫描完毕之后,扫描所得的磁盘空间结果会写入该分区最顶端
6.2 文件系统
(例如:扫描/home 这个 /dev/hda3 的分区,如果是初次扫描,那么扫描完毕之后会产生 aquota.user 与aquota.group ,会放置在 /home/aquota.xxx 底下!而如果是建立 quota 后的扫描,那么就会更新这两个档案!)另外, Linux 也特别强调 quota 在使用的时候,需要特别注意在 reboot 时,得先将 quota 关闭才好
6.2 文件系统
# quotacheck -uvg / 开始扫描 /这一个独立分区的目录
quotacheck: Scanning /dev/hda2 [/] done 显示 /分区为 /dev/sda2
quotacheck: Checked 10032 directories and 171300 files 扫描完毕,有 10032 目录与 171300 文件。
# ls -l / 查看一下 /这个目录底下,两个档案产生了!
-rw------- 1 root root 7168 May 6 18:37 aquota.group
-rw------- 1 root root 7168 May 6 18:37 aquota.user
6.2 文件系统
edquota [-u user] [-g group] [-t]
# edquota -p user_demo -u user
参数说明:
-u :编辑 user 的 quota
-g :编辑 group 的 quota
-t :编辑宽限时间(就是超过 quota 值后,还能使用硬盘的宽限期限)
-p :copy 范本(以建立好的使用者或群组)到另一个使用者(或群组)
6.2 文件系统
edquota指令就是在编辑每一个『个人』或者是『群组』的 quota 数值。通常我们以 edquota -u username 或者是 edquota -g groupname 来编辑个人与群组的 quota 设定值。不过,也可以直接 copy 一个人的设定值给其他人,利用已经建立好的 user1 来建立 user2 这个人的 quota 限额!
# edquota -p user1 -u user2
6.2 文件系统
相关信息:
1.filesystem:这个是 partition 的设备文件。以上面来说,就是 /dev/sda2
2.blocks:这个是目前使用者 user1 ( uid 501 )在 /dev/sda2 这个 filesystem ,所耗掉的磁盘容量,也就是目前的使用掉的空间。单位是 Kbytes ,这个信息是 quota 程序自己计算出来的,不要修改!
6.2 文件系统
3.soft 与 hard :这个是目前的 user1 在这个 filesystem 之内的 quota 限制值!当 soft 与 hard 数值为 0 的时候,表示『没有限制』的意思!而数值的单位仍是 Kbytes !
4.inodes :是目前使用掉 inode 的状态,也是 quota 自己计算出来而得到的,所以不要去变更。一般而言, inode 不容易控制,所以可以不必去限制 inode
6.2 文件系统
# edquota -u user1 设定 user1 这个使用者的 quota 数值,会直接进入 vi 画面 Disk quotas for user user1 (uid 501):
Filesystem blocks soft hard inodes soft hard /dev/hda3 2564 0 0 320 0 0
修改一下成为: Disk quotas for user user1 (uid 501):
Filesystem blocks soft hard inodes soft hard /dev/hda3 2564 50005000 320 50005000
6.2 文件系统
# edquota -p user1 -u user2 将 user1 这个人的 quota 资料复制给 user2 这个人!
# edquota -t 设定宽限时间,也就是超过 quota 值之后的修正时间!
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/hda3 0minutes 0minutes
上面的 0minutes 可以改成 60minutes 即可!也就是 60 分钟之内必须要赶快整理硬盘的意思!
6.2 文件系统
quotaon [-a] [-uvg directory]
参数说明:
-a :全部的 quota 设定都启动(会自动去寻找 /etc/mtab 的设定)
-u :使用者的 quota 启动
-g :群组的 quota 设定启动
这个指令是在启动 quota 的!不过,由于这个指令是启动 aquota.group 与 aquota.user 的,所以您就必须要先完成 qutoacheck 的工作了!然后简单的下达 quotaon -a 即可启动!
6.2 文件系统
# quotaon -a 全部的 quota 限制都启动 # quotaon -uv /home 只有启动 /home 底下的使用者 quota 限额,group 不启动
6.2 文件系统
quotaoff -a
参数说明:
-a :全部的 quota 设定都关闭(会自动去寻找 /etc/mtab 的设定)
这个指令就是关闭了 quota 的限制
# quotaoff -a 全部的 quota 限制都关闭了
6.2 文件系统
quota 可以作用的功能有很多,包括了:
1、限制某一群组所能使用的最大磁盘配额(使用 群组 限制):你可以将你的主机上的使用者分门别类,
2、限制某一使用者的最大磁盘配额(使用 使用者 限制):在限制了群组之后,您也可以再继续针对个人来进行限制,使得同一群组之下还可以有更公平的分配!
6.2 文件系统
3. 开启磁盘的 quota 功能:编辑 /etc/fstab ,使得准备要开放的 quota 磁盘可以支持 quota
4. 预扫描磁盘的使用情况:使用 quotacheck 来扫描一下我们要使用的磁盘;
5. 建立使用者的 quota :使用 edquota 来编辑每个使用者或群组的可使用空间;
6. 启动 quota :使用 quotaon !
整个步骤大致上就只有这几步,
6.2 文件系统
1. 建立 user1、user2 使用者
2. 开启磁盘的 quota 功能
3. 重新开机;也可以选择重新 mount filesystem 来驱动设定值
4. 扫描磁盘的使用状况,并产生重要的 aquota.group 与 aquota.user
5.启动 quota 的限额,要看到turned on 的出现,才是真的成功
6.2 文件系统
6.编辑使用者的可使用空间,数值代表的是 KB
7.设定宽限时间
8.编辑群组使用空间
9.设定开机时启动,/sbin/quotaon -aug
10.如果要关闭 qutoa 就是用 quotaoff
11.repquota -a
6.3 核心文件缓存
Sync内核核心在内存维护着一个文件数据的缓存,周期的写到磁盘。降低对磁盘的直接访问,提升系统性能
Shutdown –h time
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -