Linux系统应用 第七章 Linux系统中的硬盘管理

  • Post author:
  • Post category:linux




7.1硬盘分区及格式化

分区->格式化->挂载才可使用



硬盘分区及格式化——具体步骤

Linux操作系统在安装过程中,必须对硬盘进行分区操作,并将分区格式化为不同的文件系统之后,才可以挂载使用。但这是在安装过程中使用的是图形界面,下面通过命令方式,为新增加的硬盘进行分区和格式化操作。


1.硬盘分区介绍



考点:


硬盘的分区分为主分区和扩展分区。

一个硬盘最多可以划分为4个主磁盘分区,这时不能再创建扩展分区。一个硬盘中最多只能创建一个扩展分区,扩展分区不能直接使用,必须在扩展分区中再划分出逻辑分区才可以使用。 逻辑分区是从5开始的,每多1个分区,数字加1就可以。

因此,

如果想拥有超过4个分区数,合理的分区结构应该是:先划分出不超过3个的主分区,然后创建一个扩展分区,再从扩展分区中划分出多个逻辑分区。


2.硬盘标识

Linux系统安装好后,整个磁盘和每个分区都被Linux表示为/dev目录中的文件,硬盘类型不同标识也不同。有以下两种类型的硬盘:

(1)

IDE硬盘hd


驱动器标识符为hd[a-d]*,hd表示硬盘类型为IDE,中括号中的字母为a、b、c、d中的一个,a是基本盘,b是从盘,c是辅助主盘,d是辅助从盘,*指分区,即主分区和扩展分区。例如:

hda1代表第一个IDE硬盘上的第一个分区。hdb5代表第二个IDE硬盘的第一个逻辑分区。

(2)

SCSI/SATA硬盘sd


驱动器标识符为sd[a-p]*,sd表示SCSI/SATA硬盘。SCSI/SATA的引导盘使用设备文件/dev/sda1、/dev/sda2、/dev/sda3、/dev/sda4作为主分区或者扩展分区,而以/dev/sda5,/dev/sda6等作为逻辑分区。


3.为新硬盘分区



fsck 检查未挂载的分区是否正常



fdisk创建主分区,扩展分区,逻辑分区,修改分区类型


(1)查看系统中的新硬盘

在系统中增加SCSI硬盘,重新启动计算机,即可在/dev目录中看到新的硬盘设备文件。

执行ls /dev/sd*或ls /dev/sd命令后,可看到三块sd开头的硬盘,其中sdc是新增加的硬盘。

(2)查看分区

使用fdisk命令可以查看指定硬盘的分区情况,也可以对硬盘进行分区操作。

执行fdisk –l /dev/sda命令后可看到第1块硬盘的分区情况,它包含3个主分区,1个逻辑分区,其中,第1个分区是启动分区(Boot字段为*)。

对新增硬盘sdc使用fdisk查看分区,提示用户该设备没有分区表,需要进行分区操作。

(3)创建主分区

输入fdisk  /dev/sdc命令,进入分区界面,输入字母m可显示帮助信息;
输入n增加一个新的分区;
程序提示用户选择创建主分区还是扩展分区,这里我们先创建主分区,因此输入p;
输入分区编号1,建立第1个主分区;
然后在新分区的起始柱面处直接按Enter键使起始柱面为1,在新分区的结束柱面处,输入+1000M或+1G,表示新建分区的大小为1000MB或1024MB。

创建好分区之后,输入命令字符p可以查看分区表的情况,可看出fdisk命令将分区的结束柱面调整到了128

(4)创建扩展分区

输入增加分区的命令字符n;
接着输入字符e创建一个扩展分区;
输入分区号2,输入分区的起始柱面;
直接按Enter键使用默认值,在结束柱面处直接按Enter键使用默认值,让扩展分区占用所  有的未分配空间;

输入字符命令p,从分区情况可以看出/dev/sdc2的分区类型为Extended(扩展分区)。 

(5)创建逻辑分区

新建的扩展分区并不能直接使用,必须将其划分为逻辑分区。
输入字符n,此时将不会显示扩展分区字符e,取而代之的是逻辑分区字符l(logic逻辑,legal法律)。
输入l,直接按Enter键输入分区的起始柱面,在结束柱面处输入+1000M或+1G。
用类似的方法创建其余4个逻辑分区;
最后输入字符命令p,查看分区的情况。
最后输入字符w,保存分区修改并退出fdisk程序。


作为了解:


扩展分区的设备名为/dev/sdc2,在该分区下包含5个逻辑分区,在实际应用中不能直接访问/dev/sdc2中的数据,而只能通过逻辑分区进行访问。逻辑分区的编号是从5开始的,所以5个逻辑分区的名字分别为/dev/sdc5、/dev/sdc6、/dev/sdc7、/dev/sdc8、/dev/sdc9。

(6)修改分区类型


新创建的分区类型默认为Linux类型

,下面我们使用fdisk的t选项来修改分区类型,

/dev/sdc9改为swap分区。具体步骤为:
执行fdisk   /dev/sdc命令,输入p显示分区信息,
输入t修改分区类型,输入分区序号9,输入分区类型的代码,输入大写字母L可显示不同分区类型对应的编号。
在此输入82 (是swap分区的代码),输入p命令字符,可以看到/dev/sdc9的分区类型已经改为Linux swap分区 ,
输入w保存分区,退出fdisk程序

(7)格式化分区

创建好分区以后,在/dev目录中将看到对应分区的设备名称。

刚建立的分区还不能使用,必须使用mkfs命令格式化为指定的文件系统以后才能使用。

   mkfs –t  ext4  /dev/sdc1
   命令将主分区格式化为ext4文件系统。

(8)磁盘检查命令

对于磁盘这种外部存储设备,当然有出问题的时候,所以,我们平时最好多进行检查,防患于未然。

①fsck 检查未挂载的分区是否正常
fsck -t ext4 /dev/sdb6 //检查/dev/sdb6是否正常。
② badblocks  检查是否有坏的扇区
badblocks  /dev/sdb5


硬盘分区及格式化——挂载文件系统

将磁盘进行分区并格式化好以后,还需要

使用mount命令将磁盘分区挂载到根目录的某一个空的子目录中。


1.挂载硬盘分区

首先在文件系统中创建一个空目录作为挂载点,
如将格式化后的分区/dev/sdc5用来保存音乐文件,
可使用 mkdir  /usr/music和mount   /dev/sdc5  /usr/music命令,执行完这两条命令后,即可以通过/usr/music目录访问/dev/sdc5分区中的内容。


2.挂载光驱

如果想使用光驱,必须将光驱挂载到文件系统中。
通常情况下将光驱挂载到/mnt/cdrom目录下,
执行mkdir   /mnt/cdrom和mount  /dev/cdrom  /mnt/cdrom这两条命令后,就可以使用ls   /mnt/cdrom命令显示光驱中的文件。


3.挂载U盘

将U盘插入计算机USB接口中,使用ls    /dev/sd*命令查看U盘的设备名,假如sdd就是U盘设备,sdd1就是U盘的分区。
执行mkdir   /mnt/usb和mount    /dev/sdd1    /mnt/usb这两条命令后,就可以使用ls   /mnt/usb命令显示U盘中的文件。


4.挂载Windows下的C盘(FAT32格式)

执行mkdir  /mnt/dosc和mount   -t   vfat  /dev/sda1  /mnt/dosc这两条命令后,就可以使用ls   /mnt/dosc命令显示C盘中的文件。
注意:C盘必须已经被格式化为FAT32格式。


5.自动挂载文件系统

自动挂载文件系统指的是系统启动以后自动将硬盘中的分区挂载到文件系统中,我们就可以直接使用这些分区中的内容了,而

不用在每次需要使用某个分区的时候,再去手动输入命令进行挂载。

因为每次关机重启都需要再重新挂载

在Linux系统中,/etc/fstab文件存储了自动挂载文件系统的参数,若想要系统在每次启动时自动挂载指定的文件系统,则必须修改该文件中的参数。


使用cat命令打开/etc/fstab文件

,如下图所示。

在这里插入图片描述

每条记录由6个字段组成,

第1个字段是设备名称,第2个字段设备挂载点,第3个字段显示文件系统的类型,第4个字段是挂载选项,使用defaults表示系统自动识别文件系统进行挂载,第5个字段设置是否备份,0表示不备份,1表示要备份,第6个字段设置自检顺序,该字段被fsck命令用来决定在系统启动时需要被扫描的文件系统的顺序,根文件系统“/”对应该字段的值为1,其他文件系统为2,如果某文件系统在启动时不需要扫描,则该字段的值设置为0。


注意:由于fstab文件非常重要,如果这个文件有错误,就可能会造成系统不能正常启动。因此向fstab文件中添加数据时应非常小心。



修改完该文件后务必使用mount -a命令测试有没有错误。


6.显示系统内所有已经挂载的文件系统

# mount
不带任何参数执行mount命令,则会显示当前系统中已经挂载的所有的文件系统列表。


7.卸载设备——umount


格式: umount <设备名或挂载点>

说明:卸载指定的设备,既可以使用设备名也可以使用挂载点名。

如果已经使用命令mount  /dev/cdrom   /mnt/cdrom将光驱挂载成功的话,使用以下两条命令中的任何一条都可以成功卸载刚才挂载的光盘。
# umount       /dev/cdrom
# umount       /mnt/cdrom
这两条命令均可以卸载刚才挂载的光盘。


硬盘分区及格式化——虚拟内存的增加与减少


通过将硬盘中某一个可用分区的类型转换为Linux swap /Solaris分区,然后制作成swap交换分区,就可以增加Linux操作系统内的虚拟内存,

同样,使用相关的命令也可以减少系统内的虚拟内存。


1.增加虚拟内存的具体步骤如下:


在系统中增加一块新硬盘/dev/sdb。

将新硬盘分区,并设置其中的一个可用分区类型为Linux swap交换分区,例如将/dev/sdb6的分区类型改变为Linux swap交换分区。

使用命令:mkswap /dev/sdb6制作出swap分区。

使用命令:swapon /dev/sdb6增加系统内的虚拟内存。


图形界面操作:


通过“应用程序”——>“系统工具”——>“系统监视器”——>“资源”——> “内存和交换历史”中的“交换”查看虚拟内存的数量。

在这里插入图片描述


2.减少虚拟内存的具体步骤如下:


使用swapoff /dev/sdb6删除刚才增加的虚拟内存。



7.2磁盘配额

磁盘配额是系统管理员用来监控和限制用户或组对磁盘空间的使用情况的工具。它可以保证所有用户都拥有自己独立的文件系统空间,确保用户使用系统空间的公平性和安全性。


1.使用磁盘限额的基本条件


①针对分区(也即独立的文件系统)

②内核支持

③ root无效

④分区格式 (要求格式化为ext4文件系统类型)

⑤管理员权限


2.磁盘限额的几个基本概念


①硬限制(hard limit):指每个用户或组不得超出的磁盘使用限额。

②软限制(soft limit):指每个用户或组在日常运行中应该被限制的磁盘使用限额。

③宽限时间(grace period):默认为7天。如果7天后,用户使用磁盘空间的数量仍然超出软限制,则系统将会禁止此用户帐号。要重新激活帐号,必须由系统管理员来进行。


3.用户或组使用磁盘空间的限制有以下两个方面:


考点:限制文件数和磁盘容量


–限制用户或组可以拥有的inode数(文件数)

–限制分配给用户或组的磁盘块的数目(以千字节为单位的磁盘空间)。


4.设置磁盘配额的命令:


编辑磁盘配额的命令:(1)edquota (2)setquota

查看磁盘配额的命令:(3)quota (4)repquota

扫描文件系统,生成quota日志文件aquota.user和aquota.group文件: (5)quotacheck

统计磁盘配额信息:(6)quotastats

给用户发警告: (7)warnquota

开启磁盘配额的命令:(8)quotaon

关闭磁盘配额的命令: (9)quotaoff

(1)edquota

进行磁盘限额的最常用配置程序,它会打开编辑器vi让我们对用户或者组群的磁盘配额进行设置。其语法格式如下:

#edquota [-p protoname] [-u | g] [username | groupname] [-t]

参数说明:

-u:设置用户磁盘限额,这是默认参数。

-g:设置群组磁盘限额。

-p:套用指定用户或者群组的磁盘配额限制。

-t:设置宽限时间。

举例:#edquota -u sjh

#edquota –t

#edquota -p sjh -u sjh222

(2)setquota

通过命令行对用户或群组的磁盘限额进行设置。#setquota [-u|-g] 名称 block-soft block-hard inode-soft inode-hard filesystem-name

参数说明:

-u:设置用户磁盘限额,这是默认参数。

-g:设置群组磁盘限额。

-p:套用指定用户或者群组的磁盘配额限制。

-t:设置宽限时间。

举例:

#setquota -u sjh 102400 204800 0 0 /home

#setquota -t 5 5 /home

(3)quota:单一用户或者组群的quota报表

查询单个用户或单个组群磁盘空间的限制和已经使用的空间。其语法格式如下:

#quota [-uvs] [username]

#quota [-gvs] [groupname]

参数说明:

-u:显示用户的磁盘空间限制。

-g:显示群组的磁盘空间限制。

-v:显示每个用户在文件系统中的quota值。

-s:使用1024为倍数来指定单位,会显示如M之类的单位。

举例:#quota -uvs sjh

#quota -gvs root

(4)repquota:针对文件系统的限额做报表

报告磁盘空间配额的状况,明确显示出每位用户或每个组群已使用多少空间。

#repquota -a [ugvs]

-a:直接到/etc/mtab查询具有quota标志的文件系统,并报告quota的结果。

-v:输出的数据将含有文件系统相关的详细信息。

举例:#repquota -uvs /home

#repquota -augvs

(5)quotacheck:扫描文件系统生成quota日志文件

扫描所有挂接到系统上的分区,并在各分区的文件系统根目录下产生quota的日志文件:aquota.user和aquota.group。

举例:#quotacheck -avug

#quotacheck -avug -mf

#tacheck -u /home

#quotacheck -uv /home

#quotacheck -cmug /home

(6)quotastats

显示与磁盘配额有关的统计信息。

举例:#quotastats

(7)warnquota:对超过限额者发出警告信

为超过限额的用户发送邮件,它会在后台自动运行。

举例:#warnquota

(8)quotaon:打开磁盘配额限制。

举例: #quotaon /home

#quotaon –avug

(9)quotaoff:关闭磁盘配额限制。

举例:#quotaoff /home

关闭磁盘配额功能之后,必须使用命令 #quotacheck -cmug /home更新aquota.user和aquota.group文件,再使用quota -u sjh或者repquota -u /home查看,此时可以看到为用户设置的磁盘限额已经清除。

举例:为/home目录设置磁盘限额,Linux系统中已经存在普通用户sjh,设置sjh的软限制为100M,硬限制为200M,宽限时间为14天。



磁盘配额——举例

举例:为/home目录设置磁盘限额,Linux系统中已经存在普通用户sjh,设置sjh的软限制为100M,硬限制为200M,宽限时间为14天。

实践流程1(确保文件系统支持):
(1)查看/home是不是独立的文件系统(也即独立的磁盘分区)。
命令:mount | grep  home或者df -h  /home

(2)查看/home是不是支持quota功能,ext4文件系统肯定支持quota功能,下面开启对quota的支持。
如果只是想在本次开机中实验quota,那么可以使用如下的命令来手动加入quota的支持:
mount -o remount,usrquota,grpquota  /home
然后使用命令:mount | grep  home确认开启了对quota的支持。
如果想让/home永久支持quota功能,需要修改/etc/fstab文件,在原来的defaults选项后面添加字符“,usrquota,grpquota”启用quota功能。

实践流程2(新建quota配置文件):
#quotacheck -avug
#ls  -l  /home/a*       //查看/home下是否已经生成aquota.user和aquota.group文件。

实践流程3(quota启动与限制值设置):
#quotaon  -avug  //打开磁盘限额功能。
该命令打开了/etc/mtab中已定义磁盘限额的所有分区的磁盘限额功能。
#edquota   -u   sjh   //在vi中将block的soft设置为102400,hard设置为204800
#edquota  -t     //在vi中将block的宽限时间设置为14天。

实践流程4(quota限制值的报表):
#quota -uvs sjh
#repquota  -auvs

实践流程5(测试与管理):
测试一:利用sjh的身份,创建一个150M的大文件,并查看quota的结果。
#su   -   sjh
$dd if=/dev/zero of=bigfile bs=1M  count=150
#repquota  -auvs

测试二:利用sjh的身份,再创建一个100M的大文件,让总容量超过200M。
$dd if=/dev/zero of=bigfile2  bs=1M  count=100
$du -sm
200M     //果然达到极限。
#warnquota     //使用warnquota命令同时给超过磁盘配额的用户和root发邮件,用户使用mail命令接收邮件。
#mail
下面开始清理sjh的磁盘空间,将大文件bigfile和bigfile2删除,然后查看空间使用情况:
#quota  -uvs  sjh

实践流程6(quota关闭):
#quotaoff   -a
#quota  -uvs   sjh
#quotacheck   -cmug   /home      //此条命令更新aquota.user和aquota.group文件
#quota  -uvs   sjh
#repquota    -auv     //再次查看时,sjh的配额限制已经被清除



版权声明:本文为QvQWangXiaoBao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。