免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 923 | 回复: 1
打印 上一主题 下一主题

红帽企业 Linux 3: 系统管理指南 3 (zt) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-05-03 23:11 |只看该作者 |倒序浏览
第 5章 . 管理磁盘贮存区
许多用户可能想查看现存的分区表,改变分区的大小,删除分区,或从空闲空间或附加的硬盘驱动器上添加分区。parted 工具会允许你执行这些任务。本章讨论如何使用 parted 命令来执行文件系统任务。

如果你想查看或监视系统的磁盘空间用量,请参考第 42.3 节。

你必须安装了 parted 软件包才能使用 parted 工具。要启动 parted,在 shell 提示下以根用户身份键入命令 parted /dev/hdb,这里的 /dev/hdb 是你想配置的设备名称。你会看到一个 (parted) 提示。键入 help 来查看可用命令的列表。

如果你想创建、删除分区或重新划分分区大小,分区所在设备不能正在被使用(分区不能被挂载,并且交换空间不能被启用)。分区表在被使用时不能被修改的原因是,这样做会使内核无法正确的识别所做改变。由于分区表和所挂载的分区不匹配,数据可能会被写入错误的分区而被覆盖。达到这个目的的最简单方法是在救援模式中引导系统。请参考第11章 来获得引导到救援模式的说明。当提示挂载文件系统时,选择「跳过」。

如果驱动器不包含任何正在被使用的分区,你可以使用 umount 命令来卸载分区,使用swapoff 命令来关闭硬盘驱动器上的交换空间。

表 5-1包含一列最常用的 parted 命令。随后各节详细地解释了其中的一部分。

命令 描述
check minor-num 执行文件系统的简单检查
cp from to 把文件系统从一个分区复制到另一个分区;from 和 to 是分区的次要号码
help 显示可用的命令列表
mklabel label 为分区表创建磁盘标签
mkfs minor-num file-system-type 创建类型为 file-system-type 的文件系统
mkpart part-type fs-type start-mb end-mb 不创建新文件系统而制作分区
mkpartfs part-type fs-type start-mb end-mb 制作分区并创建指定的文件系统
move minor-num start-mb end-mb 移动分区
name minor-num name 仅为 Mac 和 PC98 磁盘标签的分区命名
print 显示分区表
quit Quit parted
rescue start-mb end-mb 拯救一个丢失的分区,从 start-mb 到 end-mb
resize minor-num start-mb end-mb 重新划分分区大小,从 start-mb 到 end-mb
rm minor-num 删除分区
select device 选择另一个设备来配置
set minor-num flag state 在分区上设置标志;state 要么是 on,要么是 off

表 5-1. parted 命令

5.1. 查看分区表
启动了 parted 后,键入以下命令来查看分区表:

print


一个和以下相似的表会出现:

Disk geometry for /dev/hda: 0.000-9765.492 megabytes
Disk label type: msdos
Minor    Start       End     Type      Filesystem  Flags
1          0.031    101.975  primary   ext3        boot
2        101.975    611.850  primary   linux-swap  
3        611.851    760.891  primary   ext3        
4        760.891   9758.232  extended              lba
5        760.922   9758.232  logical   ext3        


第一行显示了磁盘的大小;第二行显示了磁盘标签类型;剩余的输出显示了分区表。在分区表中,Minor(次要)标签是分区号码。例如,次要号码为1的分区和 /dev/hda1 相对。Start(开始)和 End(结束)值以MB为单位。Type(类型)是 primary、extended、logical 中的一个。Filesystem(文件系统)是文件系统的类型,它可以是 ext2、ext3、FAT、hfs、jfs、linux-swap、ntfs、reiserfs、hp-ufs、sun-ufs 或 xfs 之一。Flags(标志)列列出了分区被设置的标志。可用的标志有:boot、root、swap、hidden、raid、lvm 或 lba。


窍门
  要不重新启动 parted 来选择不同的设备,使用 select 命令,再紧跟设备名,如 /dev/hdb。然后,你便可以查看或配置它的分区表。

5.2. 创建分区

警告
  不要试图在正在被使用的设备上创建分区。


在创建分区前,引导入救援模式(或卸载设备上的所有分区并关闭设备上的交换空间)。

启动 parted,/dev/hda 是要在其中创建分区的设备:

parted /dev/hda


查看当前的分区表来判定设备上是否有足够的空闲空间。

print


如果空闲空间不够,你可以重新划分现存分区的大小。详情请参阅第 5.4 节。

5.2.1. 制作分区
根据分区表来决定新分区的起止点和分区类型。每个设备上只能有四个主分区(无扩展分区)。如果你想有四个以上分区,你可以有三个主分区,一个扩展分区,在扩展分区内你可以有多个逻辑分区。关于磁盘分区的概述,请参阅《红帽企业 Linux 安装指南》中的附录“磁盘分区介绍”。

例如,要在某个硬盘驱动器上从 1024 MB 到 2048 MB 间创建一个文件系统为 ext2 的主分区,键入以下命令:

mkpart primary ext3 1024 2048



窍门
  如果你使用 mkpartfs 命令,分区创建后文件系统也会被创建。然而,parted 不支持创建 ext3 文件系统。因此,如果你想创建一个 ext3 文件系统,请使用 mkpart,然后使用稍后会说明的 mkfs 命令来创建文件系统。mkpartfs 可以在 linux-swap 文件系统类型上使用。


只有你一按[Enter]键,改变就会发生,因此在执行前请检查一下命令。

创建了分区后,使用 print 命令来确认所建分区在分区表中,并具备正确的分区类型、文件系统类型和大小。 你还需要记住新分区的次要号码,这样你才可以给它注以标签。你应该查看

cat /proc/partitions


的输出来确定内核能够识别这个新分区。

5.2.2. 格式化分区
分区现在还没有文件系统。用下面的命令来创建文件系统:

        /sbin/mkfs -t ext3 /dev/hdb3



警告
  格式化分区会永久地破坏目前存在于该分区上的任何数据。


5.2.3. 给分区注明标签
下一步,给分区注明标签。例如,如果新分区是 /dev/hda3,你想把它标为 /work:

e2label /dev/hda3 /work


安装程序默认使用分区的挂载点作为分区的标签来确定标签的独特性。你可以使用任何想用的标签。

5.2.4. 创建挂载点
以根用户身份创建挂载点:

mkdir /work


5.2.5. 添加到 /etc/fstab
以根用户身份编辑 /etc/fstab 文件来包括新分区。新添的这一行应该类似:

LABEL=/work           /work                 ext3    defaults        1 2


第一列应该包含 LABEL=,然后跟随你给分区注明的标签。第二列应该包含新分区的挂载点,下一列应该是文件系统类型(如 ext3 或 swap)。如果你想了解更多关于格式化的信息,请阅读 man fstab 的说明书(man)页。

如果第四列是 defaults 这个词,分区就会在引导时被挂载。要不重新引导而挂载分区,以根用户身份键入以下命令:

mount /work

5.3. 删除分区

警告
  不要试图删除正在被使用的设备上的分区。


在删除分区前,引导入救援模式(或卸载设备上的所有分区,关闭设备上的交换空间)。

启动 parted,这里的 /dev/hda 是你要在其中删除分区的设备:

parted /dev/hda


查看当前的分区表来判定要删除的分区的次要号码:

print


使用 rm 命令来删除分区。例如,要删除次要号码为 3 的分区:

rm 3


只有你一按[Enter]键,改变就会发生,因此在执行前请检查一下命令。

删除了分区后,使用 print 命令来确认分区在分区表中已被删除。你还应该查看

cat /proc/partitions


的输出来确定内核知道分区已被删除。

最后一步是把它从 /etc/fstab 文件中删除。找到和已被删除的分区相应的行,然后从文件中删除它。
5.4. 重新划分分区大小

警告
  不要试图重新划分正在被使用的设备上的分区的大小。


在重新划分分区大小前,引导入救援模式(或卸载设备上的所有分区并关闭设备上的交换空间)。

启动 parted,/dev/hda 是要在其中重新划分分区大小的设备:

parted /dev/hda


查看当前的分区表来判定要重划大小的分区的次要号码以及它的起止点:

print



警告
  要重划大小的分区上已用的空间必须大于新建的大小。


要重新划分分区大小,使用 resize 命令,然后跟随分区的次要号码,以 MB 为单位的起始点和终止点。例如:

resize 3 1024 2048


分区被重新划分了大小后,使用 print 命令来确认分区已被正确地重新划分了大小,并且具备正确的分区类型和文件系统类型。

在正常模式下重新引导了系统后,使用 df 命令来确定分区已被挂载,并且它们的新大小也已被识别。

论坛徽章:
0
2 [报告]
发表于 2004-05-03 23:12 |只看该作者

红帽企业 Linux 3: 系统管理指南 3 (zt)

第 6章 . 实现磁盘配额
你可以通过实现磁盘配额来限制磁盘空间,因此当用户使用了过多的磁盘空间或分区将要充满时,系统管理员就会接到警告。

磁盘配额可以为个体用户配置也可以为用户组配置。这种灵活性既能够给每个用户分配一个较小的配额来处理“个人”文件(如电子邮件和报告),又使他们正从事的项目能够拥有较大的配额(假定项目有自己的组群)。

除此以外,配额不仅能够被设置成对所用磁盘块数量的控制,还能够被设置成对内节点数量的控制。由于内节点包含文件相关的信息,对内节点的控制能够控制可被创建的文件数量。

要实现磁盘配额,quota RPM 必须在系统上被安装。 关于安装 RPM 软件包的详情,请参阅第 III 部分。

6.1. 配置磁盘配额
要实现磁盘配额,请使用以下步骤:


修改 /etc/fstab 来启用每个文件系统的配额

重新挂载文件系统

创建配额文件,重新生成磁盘用量表

分配配额

以上步骤在下面各节中被详细讨论。

6.1.1. 启用配额
以根用户身份使用一个文本编辑器来编辑 /etc/fstab 文件,给需要配额的文件系统添加 usrquota 和(或)grpquota 选项:

LABEL=/           /               ext3    defaults        1 1
LABEL=/boot       /boot           ext3    defaults        1 2
none              /dev/pts        devpts  gid=5,mode=620  0 0
LABEL=/home       /home           ext3    defaults,usrquota,grpquota 1 2
none              /proc           proc    defaults        0 0
none              /dev/shm        tmpfs   defaults        0 0
/dev/hda2         swap            swap    defaults        0 0
/dev/cdrom        /mnt/cdrom      udf,iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0          /mnt/floppy     auto    noauto,owner,kudzu 0 0


在上面的例子中,/home 文件系统上启用了用户和组群配额。

6.1.2. 重新挂载文件系统
添加了 userquota 和 grpquota 选项后,重新挂载每个 fstab 条目被修改的文件系统。如果某文件系统没有被任何进程使用,使用 umount 命令后再紧跟着 mount 命令来重新挂载这个文件系统。如果某文件系统正在被使用,要重新挂载该文件系统的最简捷方法是重新引导系统。

6.1.3. 创建配额文件
重新挂载了每个启用了配额的文件系统后,系统现在就能够使用磁盘配额了。不过,文件系统本身尚且不能支持配额。下一步是运行 quotacheck 命令。

quotacheck 命令检查启用了配额的文件系统,并为每个文件系统建立一个当前磁盘用量表。该表会被用来更新操作系统的磁盘用量文件。此外,文件系统的磁盘配额文件也被更新。

要在文件系统上创建配额文件(aquota.user 和 aquota.group),使用 quotacheck 命令的 -c 选项。例如,如果用户和组群配额都为 /home 分区启用了,在 /home 目录下创建这些文件:

quotacheck -acug /home


-a 选项意味着在 /etc/mtab 中所有挂载了的非 NFS 文件系统都会被检查来决定是否启用了配额。-c 选项指定每个启用了配额的文件系统都应该创建配额文件,-u 选项指定检查用户配额,-g 选项指定检查组群配额。

如果 -u 或 -g 选项被指定,只有用户配额文件被创建。如果只指定了 -g 选项,只有组群配额文件会被创建。

文件被创建后,运行以下命令来生成每个启用了配额的文件系统的当前磁盘用量表:

quotacheck -avug


所用选项如下:


a — 检查所有启用了配额的在本地挂载的文件系统

v — 在检查配额过程中显示详细的状态信息

u — 检查用户磁盘配额信息

g — 检查组群磁盘配额信息

quotacheck 运行完毕后,和启用配额(用户和/或组群)相应的配额文件中就会写入用于每个启用了配额的文件系统(如 /home)的数据。

6.1.4. 为每用户分配配额
最后一步是使用 edquota 命令分配磁盘配额。

要为用户配置配额,以根用户身份在 shell 提示下执行以下命令:

edquota username


为每个你想实现配额的用户执行该步骤。例如,如果在 /etc/fstab 中为 /home 分区(/dev/hda3)启用了配额,执行了 edquota testuser 命令后,系统默认的编辑器中就会有如下显示:

Disk quotas for user testuser (uid 501):
  Filesystem          blocks       soft       hard     inodes     soft     hard
  /dev/hda3           440436          0          0      37418        0        0



注记
  edquota 使用 EDITOR 环境变量所定义的文本编辑器。要改变这个编辑器,把 EDITOR 环境变量设置为到你选中的编辑器的完整路径。


第一列是启用了配额的文件系统的名称。第二列显示了用户当前使用的块数。随后的两列用来设置用户在该文件系统上的软硬块限度。inodes 列显示了用户当前使用的内节点数量。最后两列用来设置用户在该文件系统上的软硬内节点限度。

硬限是用户或组群可以使用的磁盘空间的绝对最大值。达到了该限度后,磁盘空间就不能再被用户或组群使用了。

软限定义可被使用的最大磁盘空间量。和硬限不同的是,软限可以在一段时期内被超过。这段时期被称为过渡期(grace period)。过渡期可以用秒钟、分钟、小时、天数、周数、或月数表示。

如果以上值中的任何一个被设置为 0,那个限度就不会被设置。在文本编辑器中,改变想要的限度。如:

Disk quotas for user testuser (uid 501):
  Filesystem          blocks       soft       hard     inodes     soft     hard
  /dev/hda3           440436     500000     550000     37418        0        0


要校验用户的配额是否被设置,使用以下命令:

quota testuser


6.1.5. 按每组群分配配额
配额还可以根据组群来分配。例如,要为 devel 组群设置组群配额,使用以下命令(在设置组群配额前,该组群必须存在):

edquota -g devel


以上命令在文本编辑器中显示当前的组群配额:

Disk quotas for group devel (gid 505):
  Filesystem          blocks       soft       hard     inodes     soft     hard
  /dev/hda3           440400          0          0      37418        0        0


修改限度,保存文件,然后配置配额。

要校验组群配额是否被设置,使用以下命令:

quota -g devel


6.1.6. 按每文件系统分配配额
要根据每个启用了组群的文件系统来分配配额,使用以下命令:

edquota -t


和另一个 edquota 命令相似,这个命令也会在文本编辑器中打开当前的文件系统配额:

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                     7days                  7days


改变块过渡期或内节点过渡期,保存对文件的改变,然后退出文本编辑器。
6.2. 管理磁盘配额
如果配额被实现,它们就需要被维护 — 主要维护方式是观察。查看配额是否被超出并确保配额的正确性。当然,如果用户屡次超出他们的配额或者持续地达到他们的软限,系统管理员就可以根据用户类型和磁盘空间对他们工作的影响来做出几种决策。管理员可以帮助用户决定对磁盘空间的使用,也可以按需要增加用户的配额。

6.2.1. 报告磁盘配额
创建磁盘用量报告需要运行 repquota 工具。例如,repquota /home 命令会生成以下输出:

*** Report for user quotas on device /dev/hda3
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --      36       0       0              4     0     0
tfox      --     540       0       0            125     0     0
testuser  --  440400  500000  550000          37418     0     0


要查看所有启用了配额的文件系统的磁盘用量,使用以下命令:

repquota -a


这份报告虽然看起来很简单,有几点仍需要做一下说明。显示在每个用户后面的 -- 是一种判断用户是否超出其块限度或内节点限度的快速方法。如果任何一个软限被超出,相应的 - 行就会被 + 代替;第一个 - 代表块限度,第二个代表内节点限度。

grace 列通常是空白。如果某个软限被超出,这一列就会包含过渡期中的剩余时间。如果过渡期已超过了,其中就会显示 none。

6.2.2. 保持配额的正确性
当某文件系统没有被完整地卸载(如,由于系统崩溃),这就有必要运行 quotacheck。不过,即便系统没有崩溃,quotacheck 也可以被定期经常运行。定期运行以下命令来保持配额的正确性(所用选项在第 6.1.1 节中被描述):

quotacheck -avug


要定期运行它的最简单方法是使用 cron。作为根用户,你既可以使用 crontab -e 命令来调度定期的 quotacheck,也可以在以下目录之一内放置一个运行 quotacheck 的脚本(使用最适合你需要的间隔期间):


/etc/cron.hourly

/etc/cron.daily

/etc/cron.weekly

/etc/cron.monthly

最精确的配额统计数据可以在所分析的文件系统没有被活跃使用时获得。因此,cron 任务应该在文件系统被最少使用时调度。如果这一时间在使用配额的文件系统中并不统一,则使用多个 cron 任务在不同的时间为每个文件系统运行 quotacheck。

请参考第37章 来获取关于配置 cron 的详情。

6.2.3. 启用和禁用
你可以不必把配额设置为 0 来禁用它们。要关闭用户和组群配额,使用以下命令:

quotaoff -vaug


如果 -u 或 -g 选项没有被指定,只有用户配额被禁用。如果只指定了 -g 选项,只有组群配额会被禁用。

要重新启用配额,使用带有同样选项的 quotaon 命令。

例如,要为所有文件系统启用用户和组群配额:

quotaon -vaug


要为指定文件系统(如 /home)启用配额:

quotaon -vug /home


如果 -u 或 -g 选项没有指定,那么仅用户配额会被启用。如果只指定了 -g 选项,仅组群配额会被启用。
6.3. 其它资料
关于磁盘配额的更多信息,请参考以下资料。

6.3.1. 安装了的文档

quotacheck、edquota、repquota、quota、quotaon quotaoff 的说明书(man)页。

6.3.2. 相关书籍

红帽企业 Linux 系统管理介绍;Red Hat, Inc. — 在 http://www.redhat.com/docs/ 网页及文档光盘上可以找到。该手册包含为新红帽企业 Linux 系统管理员提供的有关贮存管理(包含磁盘配额)的背景信息。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP