Linux文件和磁盘管理5
5.1 Linux启动概述
( 1)计算机上电启动后,BIOS装载 MBR( Master
Boot R
ecord,主引导记录),然后从当前活动分区启动。
( 2) GRUB获得引导过程的控制权后,会显示引导菜单,允许用户手工选择引导项。
( 3)当用户选择启动 Linux操作系统后,GRUB会根据事先设置好的信息从 ROOT文件系统所在的分区读取 Linux映像,然后装入内核映像并将控制权交给
Linux内核。
Linux启动概述(续 1)
( 4)当 Linux内核获得控制权后它首先要进行自身的解压缩。
( 5)如果系统中安装有可支持特殊文本模式且 Linux
可识别的视频卡,Linux会提示用户选择适当的文本显示模式。
( 6)内核接下来会检测其他的硬件设备,并对相应的设备驱动程序进行配置。
Linux启动概述(续 2)
( 7)内核装载 ROOT文件系统。
( 8)启动 init进程,切换到多用户模式,并为每个虚拟控制台和串行线路启动一个 Getty进程。
( 9)系统引导过程结束。
5.2 Linux的文件系统文件系统( File system)是操作系统用于理解磁盘或分区上文件的方法和数据结构,即在磁盘上组织文件的方法。文件系统可以有不同的格式,叫做文件系统类型( file system types)。这些格式决定信息如何被存储为文件和目录。
Linux支持的主要文件系统
1.ext2
2.ext3
3.ReiserFS
4.Vfat
5.iso9660
6.其他文件系统 Minix,xiafs,swap
Linux文件系统组织结构
Linux文件系统的组织结构就是当用户列目录时,
所看到的 /usr,/etc,/var等目录的组织及其作用。
Linux系统采用多级树状结构的目录树实现文件和目录的组织,是一个由目录、子目录及文件等组成的集合。 Linux目录以根目录为根结点,其中属于
Linux基本文件系统的有根 /,/usr,/var,/home和
/proc。
根目录根( /)目录是 Linux文件系统的入口,也是处于最高一级的目录。其中包含启动系统和引导装入文件系统所需的文件。根文件受损将使系统无法启动。根目录部分内容:
目录名称 用途
/bin 基础系统所需要的命令位于此目录 。
/dev 设备文件存储目录 。
/etc 存放系统配置文件 。
/boot 存放 Linux内核及引导系统程序所需要的文件 。
/mnt 存放挂载储存设备的挂载目录 。
/usr目录
/usr通常存放用户的文件和程序。 /usr下的一些子目录:
目录名称 用途
/usr/bin 普通用户可执行文件目录
/usr/sbin 超级用户 root的可执行命令存放目录
/usr/X11R6 X Window System包含的文件
/usr/local 用户安装软件和文件的目录
/usr/src 存放源代码的目录
/etc目录
/etc目录用于存放系统的配置文件,一些应用程序的配置文件也放在这里。 /etc下的部分子目录:
目录,文件名称 用途
/etc/rc.d 启动或改变运行级别 scripts或 scripts的目录
/etc/fstab 启动时自动挂载的文件系统列表 。
/etc/inittab init的配置文件
/etc/mtab 当前安装的文件系统列表
/etc/login.defs login命令的配置文件
/var目录
/var存放着一些经常变动的文件,比如数据库文件或者日志文件。 /var中的子目录:
目录名称 用途
/var/lib 系统正常运行时要改变的文件
/var/local /usr/local中安装的程序的可变数据
/var/log 各种程序的 Log文件
/var/run 保存到下次引导前有效的关于系统的信息文件 。
/var/spool Mail,news,打印队列和其他队列工作的目录 。
/proc目录操作系统运行时,进程信息及内核信息都存放在
/proc目录中。但其内容不在磁盘上,而是由系统运行时在内存中创建。其部分内容为:
目录名称 用途
/proc/cpuinfo 处理器信息
/proc/devices 当前运行的核心配置的设备驱动的列表
/proc/kcore 系统物理内存映像
/proc/meminfo 存储器使用信息,包括物理内存和交换区
/proc/filesystems 核心配置的文件系统
/proc/stat 系统的不同状态
/proc/ioports 当前使用的 I/O端口
5.3 Linux文件系统管理创建文件系统,
1.创建分区
( 1)使用 fdisk -l观察硬盘的分区情况:
# fdisk -l
( 2)使用 fdisk进行硬盘分区:
# fdisk /dev/hda
创建分区,使用 n命令指定分区所用系统的类型,使用 t命令创建文件系统
2.创建文件系统,使用 mkfs命令。
语法,mkfs [选项 ] 文件系统 存储设备
-V:详细显示模式。
-t:给定档案系统的类型,Linux的预设值为 ext2。
-c:在制作档案系统前,检查该 partition是否有坏轨例 1,在 /dev/hda5上建一个 ext3的档案系统,同时检查是否有坏轨存在,并且将过程详细列出来。
#mkfs -V -t ext3 -c /dev/hda5
管理 Linux文件系统 --du命令语法,du [选项 ]
命令说明:统计目录或文件所占磁盘空间的大小。
例 1:统计 /usr目录的大小,只显示总和。
# du -sh /usr
参数选项 说明
-a 递归显示指定目录中所有子目录和文件的总合
-s 对每个参数只显示总合
-h 以容易理解的格式印出文件大小 ( 例如 1K)
-c 在处理完所有的参数后给出这些参数的总计
df命令语法,df [选项 ] 文件命令说明:显示磁盘文件系统的使用状况。
例 1:显示文件系统的使用情况。
# df
参数选项 说明
-a,--all 包含所有具有 0字节的文件
-h,--human-reble 以容易理解的格式印出文件大小
-l,--local 限制列出的文件结构
-m,--megabytes 使用 kilobytes为单位
-t,--type=TYPE 限制列出文件系统的 TYPE
dd命令语法,dd [选项 ]
命令说明:把指定的输入文件复制到指定的输出文件中,并进行格式转换。
例 1:制作光盘的 iso镜像。
#dd if=/dev/cdrom of=cdrom.iso
参数选项 说明
if=file 以 file作为源文件代替标准输入
of=file 以 file作为目标文件代替标准输出
ibs=bytes 一次读 bytes个 byte
obs=bytes 一次写 bytes个 byte
fsck命令语法,fsck [参数 ] filesys
命令说明:检查与修复 Linux文件系统。
例:检查 /dev/hda5是否正常,如有异常便自动修复。
#fsck –t ext3 –a /dev/hda5
参数选项 说明
filesys 设备名称或挂载点
-t 给定文件系统的类型
-a 如果检查有错则自动修复
-A 检查 /etc/fstab中所有列出来的文件系统
filesys 设备名称或挂载点
5.4 磁盘配额磁盘配额使各个用户和组无法占用分区的全部空间。两种管理方式:
基于对所用磁盘块数量的控制,限制一个用户或一组用户可以使用的最大磁盘 空间。
基于对内节点数量的控制,限制 一个用户或一组用户可以拥有的最大文件数量。
Linux使用 quota进行磁盘配额管理。
配置磁盘配额重新挂载文件系统2
启用配额1
重新挂载相应 fstab条目被修改的文件系统。
用 vi编辑器编辑 /etc/fstab文件给需要配额的文件系统添加 usrquota(用户配额)和 grpquota(组配额)选项。
配置磁盘配额(续 1)
运行 quotacheck命令,检查启用了配额的文件系统,并为每个文件系统建立一个当前磁盘用量表。
语法,quotacheck [选项 ] 文件系统
-a:检查所有启用了配额的本地挂载的文件系统。
-c:给每个启用了配额的文件系统都创建配额文件。
-u:检查用户磁盘配额信息。
-g:检查组群磁盘配额信息。
创建配额文件3
配置磁盘配额(续 2)
分配磁盘配额使用 edquota命令:
# edquota username
为用户分配配额4
根据组群来分配配额。为 devel组群设置组群配额:
# edquota -g devel
为组群分配配额5
改变过渡期6
改变软硬限制之间的过渡期:
# edquota -t
管理磁盘配额配额实现后,需要进行观察维护,查看配额是否被超出并确保配额的正确性。
1.报告磁盘配额创建磁盘用量报告,运行 repquota工具。例如:
# repquota /home
2.保持配额的正确性当某文件系统没有被完整卸载,运行 quotacheck。
# quotacheck –avug
管理磁盘配额(续 1)
3.启用和禁用关闭用户和组群配额,使用以下命令:
# quotaoff -vaug
例如,要为所有文件系统启用用户和组群配额:
# quotaon -vaug
要为指定文件系统(如 /home)启用配额:
# quotaon -vug /home
5.5 逻辑卷管理器( LVM)
LVM( Logical Volumes Manger逻辑卷管理器
)是一种把硬盘驱动器空间分配成逻辑卷的方法,硬盘不必使用分区而被简易地划分大小。使用 LVM,硬盘驱动器或硬盘驱动器集合就会划分为一个或多个物理卷( physical volumes),然后将物理卷合并成逻辑卷组( logical volume group)。
逻辑卷组划分成逻辑卷( logical volumes),
并被分配挂载点(如 /var和 /)和文件系统类型(如
ext3)。
逻辑卷图逻辑卷组 逻辑卷
LVM配置
( 1)从硬盘驱动器中创建物理卷。
( 2)从物理卷中创建卷组。
( 3)从卷组中创建逻辑卷,并分派逻辑卷挂载点。
安装过程中创建带有逻辑卷的逻辑卷组,步骤如下:
( 1)在 【 磁盘分区设置 】 屏幕上,选择 【 用 Disk
Druid手工分区 】,
( 2)选择 【 新建 】 选项。从 【 文件系统类型 】 下拉菜单中选择 【 physical volume ( LVM) 】 。
( 3)输入所需的物理卷的大小。
LVM配置(续 1)
创建了所有的物理卷后,请遵循以下步骤:
( 1)单击 【 LVM】 按钮来把物理卷汇集到卷组中。
( 2)选择要用在卷组中的物理卷。
( 3)创建带有 /home之类挂载点的逻辑卷。
5.6 独立磁盘冗余阵列( RAID)
RAID( Redundant Array of Independent
Disks,独立磁盘冗余阵列)是一种在多个磁盘上分散信息的方法。它使用磁盘分条( disk striping,
RAID级别 0)、磁盘镜像( disk mirroring,RAID级别 1)和带有奇偶校验的磁盘分条( disk striping
with parity,RAID级别 5)之类的技术来达到冗余性
,减低潜伏时间,增加磁盘读写的带宽,提高从硬盘崩溃中恢复的能力。
硬件 RAID和软件 RAID
软件 RAID2.
硬件 RAID1.
硬件 RAID基于硬件设备,系统独立于主机之外来管理
RAID子系统,并且它在主机处只用一个磁盘来代表每一组
RAID阵列。
软件 RAID在内核磁盘编码中实现各类 RAID级别,因此它不需要昂贵的磁盘控制器卡或热交换底盘,软件 RAID提供了最廉价的解决方法。
RAID级别级别 0,RAID级别 0,经常被称作“分条”,它是面向性能的分条数据映射技术。级别 0阵列的存储能力等于硬件 RAID所有成员磁盘的总能力或软件 RAID中所有成员分区的总能力。
级别 1,RAID级别 1称为“镜像”,它被使用的时期长于任何其它形式的 RAID。级别 1阵列的存储能力与硬件 RAID中镜像的硬盘之一或软件 RAID中镜像的分区之一的储存能力相同。
RAID级别(续 1)
级别 4:级别 4使用集中到单个磁盘驱动器上的奇偶校验来保护数据。软件级别 4的存储能力相当于所有大小相同分区去掉一个后的存储能力。
级别 5:这是最普遍的 RAID类型。通过在某些或全部阵列成员磁盘驱动器中分布奇偶校验,RAID级别 5避免了级别 4中固有的写入瓶颈。软件 RAID级别 5的存储能力相当于所有成员大小相同分区去掉一个后的存储能力。
RAID级别(续 2)
线形 RAID
线形 RAID是一种简单的驱动器聚组,以便用来创建一个较大的虚拟驱动器。线形 RAID也没有提供任何冗余性,降低了可靠性。线形 RAID的存储能力是所有成员磁盘的总和。
软件 RAID配置软件 RAID能在 Red Hat 9的图形化安装期间配置

( 1)在 【 磁盘分区设置 】 界面上,选择 【 用 Disk
Druid手工分区 】 。
( 2)在 Disk Druid中,选择 【 新建 】 创建一个新分区
( 3)从 【 文件系统类型 】 下拉菜单中选择 【
software RAID】 。
( 4)对于 【 允许的驱动器 】,选择要在其上创建
RAID的驱动器。
软件 RAID配置(续 1)
( 5)输入想要的分区大小。
( 6)如果想让这个分区成为主分区,选择 【 强制为主分区 】 。
( 7)单击 【 确定 】 按钮返回到主屏幕。
一旦用户创建了所有需要的软件 RAID分区,遵循以下步骤:
( 1)在 【 Disk Druid的主分区 】 界面上,单击 【
RAID】 按钮,出现 RAID选项对话框。
软件 RAID配置(续 2)
( 2)选择 【 创建 RAID设备 】 进入 RAID设备创建界面
( 3)输入挂载点。
( 4)为分区选择文件系统类型。
( 5)为 RAID设备选择设备名称,如,md0。
( 6)选择 RAID级别。可供选择的有,RAID0、
RAID1和 RAID5。
( 7)刚刚创建的 RAID分区会出现在 【 RAID成员 】 列表中。从这个列表中选择要创建 RAID设备的分区。