文件系统管理
一、磁盘识别和分区
-
磁盘物理组成
-
分区
(1)MBR:主引导扇区 master boot Recorder,512字节,存储在每块磁盘的第0个磁道的第0个扇区,内容包括:引导程序:446字节; 分区表:
64字节,最多纪录4个分区的信息,即主分区;(2)主分区和扩展分区:任何一个主分区都可以作为扩展分区,扩展分区可有可无,在扩展分区里可以建立多个逻辑分区,数目不受限制。
二、编辑分区
- 查看分区
fdisk -l
fdisk –l 的替代命令cat /proc/partitions
- 编辑分区表
fdisk /dev/sda
常用选项如下:
(1)m:获取帮助
(2)p:打印分区表
(3)d:删除分区
(4)n:添加分区
(5)q:不保存退出
(5)w:保存退出 - 使编辑分区表生效
partprobe /dev/sda
不用重新引导
三、文件系统
-
用mkfs命令可以在任何指定的块设备上建立不同类型的文件系统。
一般格式:
mkfs [选项] 文件系统名 [块数]
-t 指定文件系统类型 默认ext2
-c 检查坏块
-L 指定卷标
例如:在分区/dev/sda2上建立ext3文件系统,并检查坏块:# mkfs -t ext3 -c /dev/sda2
-
卸下的文件系统: 一个文件系统如果存在,但尚未被合并到可存取的文件系统结构中,则称为卸下的文件系统。
-
已安装的文件系统:如果它已经被并入到可存取的文件系统结构中,则称其为已安装的文件系统。
-
引导时自动安装
通过修改/etc/fstab文件(称为文件系统安装表)中的表项来选择启动时需要安装的文件系统。fstab文件中的每一行代表一个需要安装的文件系统,其格式如下:
device mnt type options dump passno
-
用mount命令手工安装
(1)mount命令的标准格式是:mount -t [fstype] [device] [dir]
告诉操作系统内核:把设备device上类型为fstype的文件系统安装到目录dir下。
(2)mount命令通常有三个主要参数:①需要安装的文件系统类型,用
-t fstype
选项来指定。
②文件系统所在分区名device
,通常是位于目录/dev中的块设备文件。
③安装新文件系统的路径名dir
,即新文件系统的安装点(mount point)。(3)例子:需要将分区/dev/hda1上ufs文件系统安装到系统的空目录/www下,并且该文件系统为只读的。应该使用以下命令:
# mount -t ufs -o ro /dev/hda1 /www
-
卸载文件系统
手工卸载文件系统必须使用umount命令。
(1)一般格式:umount [选项] [安装点或设备名]
(2)应该注意:umount命令永远不能卸载一个正在工作状态中的文件系统;
(3)举例:将安装在/mnt/floppy目录下的软盘卸载,可以使用以下命令:
# umount /mnt/floppy
或者# umount /dev/fd0
四、磁盘配额
-
磁盘配额的一般用途
(1)针对www服务器,如每个人的网页空间容量限制;
(2)针对邮件服务器,如每个人的邮件空间限制;
(3)针对文件服务器,如每个人最大的可用网络硬盘配额。 -
Linux系统是通过quota(磁盘限额)机制来实现对用户使用硬盘资源的控制。quota可以从两个方面来限制用户使用硬盘资源:
①用户所能够支配的索引节点数;
②用户可以存取的硬盘分区数。 -
通常quota的配置过程如下:
(1)首先应该确保在Linux核心中提供对quota的支持。
quota support(CONFIG_QUOTA)
应该设置为“Y”
(2)安装与quota相关的软件包:# rpm -ivh quota*.rpm
包的命名方式一般为quota-x.xx-x.i386.rpm
核查该包的命令:# rpm -q quota quota-3.12-7.i386
(3)修改用户的系统初启脚本文件,使之能够检查quota并在系统初启时开启quota功能。下面这段脚本可以添加到文件/etc/rc.d/rc.sysinit或/etc/rc.d/rc.local中。 #检查quota程序并且开启quota磁盘限额功能 if [ -x /sbin/quotacheck ] then echo "Cheching quotas……" /sbin/quotacheck -avug echo "[Done]" fi if [ -x /sbin/quotaon ] then echo "Turning on quota……" /sbin/quotaon -avug fi
(4)修改初启时文件系统的支持在/etc/fstab文件中,没有启用quota的分区一般如下所示
/dev/hda1 / ext3 defaults 1 1
/dev/hdb2 /work ext3 defaults 1 2例如,要为/dev/hdb2上的文件系统设置quota,则利用vi编辑该文件,在包含“defaults”选项的后面加上“usrquota”。修改如下:
/dev/hdb2 /work ext3 defaults,usrquota 1 2
如果需要同时支持用户quota与组quota,则修改如下:
/dev/hdb2 /work ext3 defaults,usrquota,grpquota 1 2
(5)建立quota.user和quota.group文件:
# quotacheck –avug
(6)启动磁盘配额:# quotaon -avug
(7)使用edquota(quota编辑器)修改用户配额:edquota –u user
五、练习
一、 在linux下创建分区,建立文件系统并挂载,具体要求为:
- 查看当前分区;
fdisk -l - 编辑分区表,创建一个新的主分区,默认的第一个柱面的地址为;38000,分区大小为10M;
fdisk /dev/sda
n
设置分区大小
w - 将分区表写回内存;
partprobe /dev/sda - 在新建的分区上创建ext3的文件系统,卷标为data_1;
mkfs -t ext3 -L data_1 /dev/sda4 - 建立挂载点目录为/mnt/data;
mkdir /mnt/data - 挂载新的文件系统到/mnt/data;
mount -o rw LABEL=data_1 /mnt/data - 若想在机器启动后新的文件系统就被自动挂载到系统中,应该如何做?
vi /etc/fstab
LABEL=data_1 /mnt/data ext3 defaults 0 0
保存退出
df -h 查看