《第6章文件系统和磁盘管理课件.ppt》由会员分享,可在线阅读,更多相关《第6章文件系统和磁盘管理课件.ppt(61页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、LinuxLinux操作系统与实训操作系统与实训( (第四版第四版)杨云杨云 编著编著中国铁道出版社中国铁道出版社国家精品课程国家精品课程/国家精品资源共享课程国家精品资源共享课程配套教材配套教材第6章 文件系统和磁盘管理复习复习 用户和组管理用户和组管理 用户和组文件 用户帐户管理 组管理 使用用户管理器管理用户和组群 常用的帐户管理命令第第6 6章章 文件系统和磁盘管理文件系统和磁盘管理l文件系统lLinux文件管理权限l常见磁盘管理工具l在Linux中配置软RAIDlLVM逻辑卷管理器 46.1.1 文件系统基础文件系统(File System)是磁盘上有特定格式的一片区域,操作系统利用
2、文件系统保存和管理文件。用户在硬件存储设备中执行的文件建立、写入、读取、修改、转存与控制等操作都是依靠文件系统来完成的。文件系统的作用是合理规划硬盘,以保证用户正常的使用需求。Linux系统支持数十种的文件系统,而最常见的文件系统如下所示。(1)Ext3:是一款日志文件系统,能够在系统异常宕机时避免文件系统资料丢失,并能自动修复数据的不一致与错误。然而,当硬盘容量较大时,所需的修复时间也会很长,而且也不能百分之百地保证资料不会丢失。它会把整个磁盘的每个写入动作的细节都预先记录下来,以便在发生异常宕机后能回溯追踪到被中断的部分,然后尝试进行修复。(2)Ext4:Ext3的改进版本,作为RHEL
3、6系统中的默认文件管理系统,它支持的存储容量高达1EB(1EB=1 073 741 824GB),且能够有无限多的子目录。另外,Ext4文件系统能够批量分配block块,从而极大地提高了读写效率。(3)XFS:是一种高性能的日志文件系统,而且是RHEL 7中默认的文件管理系统。它的优势在发生意外宕机后显得尤其明显,即可以快速地恢复可能被破坏的文件,而且强大的日志功能只用花费极低的计算和存储性能。它最大可支持的存储容量为18EB,这几乎满足了所有需求。RHEL 7系统中一个比较大的变化就是使用了XFS作为文件系统,XFS文件系统可支持高达18EB的存储容量。日常在硬盘需要保存的数据实在太多了,因
4、此Linux系统中有一个名为super block的“硬盘地图”。Linux只是把每个文件的权限与属性记录在inode中,而且每个文件占用一个独立的inode表格。该表格的大小默认为128字节,里面记录着如下信息。l该文件的访问权限(read、write、execute)。l该文件的所有者与所属组(owner、group)。l该文件的大小(size)。l该文件的创建或内容修改时间(ctime)。l该文件的最后一次访问时间(atime)。l该文件的修改时间(mtime)。l文件的特殊权限(SUID、SGID、SBIT)。l该文件的真实数据地址(point)。5 文件的实际内容则保存在block块
5、中(大小可以是1KB、2KB或4KB),一个inode的默认大小仅为128B(Ext3),记录一个block则消耗4B。当文件的inode被写满后,Linux系统会自动分配出一个block块,专门用于像inode那样记录其他block块的信息,这样把各个block块的内容串到一起,就能够让用户读到完整的文件内容了。 对于存储文件内容的block块,有下面两种常见情况(以4KB的block大小为例进行说明)。情况1:文件很小(1KB),但依然会占用一个block,因此会潜在地浪费3KB。情况2:文件很大(5KB),那么会占用两个block(5KB4KB后剩下的1KB也要占用一个block)。6
6、计算机系统在发展过程中产生了众多的文件系统,为了使用户在读取或写入文件时不用关心底层的硬盘结构,Linux内核中的软件层为用户程序提供了一个VFS(Virtual File System,虚拟文件系统)接口,这样用户实际上在操作文件时就是统一对这个虚拟文件系统进行操作了。图6-1所示为VFS的架构示意图。图6-1 VFS的架构示意图76.1.2 Linux文件系统目录结构 在Linux系统中,目录、字符设备、块设备、套接字、打印机等都被抽象成了文件:Linux系统中一切都是文件。想要找到一个文件,我们要依次进入该文件所在的磁盘分区(假设这里是D盘),然后在进入该分区下的具体目录,最终找到这个文
7、件。 在Linux系统中并不存在C/D/E/F等盘符,Linux系统中的一切文件都是从“根(/)”目录开始的,并按照文件系统层次化标准(Filesystem Aierarchy Standard,FHS)采用树形结构来存放文件,以及定义了常见目录的用途。 Linux系统中的文件和目录名称是严格区分大小写的。例如,root、rOOt、Root、rooT均代表不同的目录,并且文件名称中不得包含斜杠(/)。Linux系统中的文件存储结构如图6-2所示。图6-2 Linux系统中的文件存储结构8在Linux系统中,最常见的目录以及所对应的存放内容如表6-1所示。目录名称目录名称应放置文件的内容应放置文
8、件的内容/Linux文件的最上层根目录/boot开机所需文件内核、开机菜单以及所需配置文件等/dev以文件形式存放任何设备与接口/etc配置文件/home用户家目录/binBinary的缩写,存放用户的可运行程序,如ls、cp等,也包含其他shell,如bash和cs等表6-1 Linux系统中常见的目录名称以及相应内容9在Linux系统中,最常见的目录以及所对应的存放内容如表6-1所示。表6-1 Linux系统中常见的目录名称以及相应内容/lib开机时用到的函数库,以及开机时用到的函数库,以及/bin与与/sbin下面的命令要调用的函数下面的命令要调用的函数/sbin开机过程中需要的命令/m
9、edia用于挂载设备文件的目录/opt放置第三方的软件/root系统管理员的家目录/srv一些网络服务的数据文件目录/tmp任何人均可使用的“共享”临时目录/proc虚拟文件系统,如系统内核、进程、外部设备及网络状态等/usr/local用户自行安装的软件/usr/sbinLinux系统开机时不会使用到的软件/命令/脚本/usr/share帮助与说明文件,也可放置共享文件/var主要存放经常变化的文件,如日志/lost+found当文件系统发生错误时,将一些丢失的文件片段存放在这里106.1.3 理解绝对路径和相对路径绝对路径与相对路径绝对路径与相对路径绝对路径:由根目录(/)开始写起的文件名
10、或目录名称,如/home/dmtsai/basher。相对路径:相对于目前路径的文件名写法,如./home/dmtsai或././home/dmtsai/等。 相对路径是以当前所在路径的相对位置来表示的。举例来说,你目前在/home这个目录下,如果想要进入/var/log这个目录时,可以怎么写呢?有两种方法。cd /var/log:绝对路径。cd ./var/log:相对路径。 因为你目前在/home下,所以要回到上层(./)之后,才能进入/var/log目录。特别注意两个特殊的目录。:代表当前的目录,也可以使用./来表示。:代表上层目录,也可以用./来代表。 常常看到的cd .或./comm
11、and之类的指令表达方式,就是代表上一层与目前所在目录的工作状态。116.2 Linux文件权限管理 文件是操作系统用来存储信息的基本结构,是一组信息的集合。文件通过文件名来唯一地标识。Linux中的文件名称最长可允许255个字符,这些字符可用AZ、09、.、_、-等符号来表示。 与其他操作系统相比,Linux没有“扩展名”的概念,也就是说文件的名称和该文件的种类并没有直接的关联。它的另一个特性是Linux文件名区分大小写。 在Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。通过设定权限可以从以下3种访问方式限制访问权限。只允许用户自己访问。
12、允许一个预先指定的用户组中的用户访问。允许系统中的任何用户访问。6.2.1 文件和文件权限概述12 根据赋予权限的不同,3种不同的用户(所有者、用户组或其他用户)能够访问不同的目录或者文件。所有者是创建文件的用户,文件的所有者能够授予所在用户组的其他成员以及系统中除所属组之外的其他用户的文件访问权限。 每一个用户针对系统中的所有文件都有它自身的读、写和执行权限。 第一套权限控制访问自己的文件权限,即所有者权限。 第二套权限控制用户组访问其中一个用户的文件的权限。 第三套权限控制其他所有用户访问一个用户的文件的权限。 这三套权限赋予用户不同类型(即所有者、用户组和其他用户)的读、写及执行权限,就
13、构成了一个有9种类型的权限组。我们可以用“ls -l”或者ll命令显示文件的详细信息,其中包括权限。如下所示:rootRHEL7-1 # lltotal 84drwxr-xr-x 2 root root 4096 Aug 9 15:03 Desktop-rw-r-r- 1 root root 1421 Aug 9 14:15 anaconda-ks.cfgdrwxr-xr-x 2 root root 4096 Sep 1 13:54 webmin图6-3 文件属性示意图13在上面的显示结果中,每一行的第210个字符表示文件的访问权限。这9个字符每3个为一组,左边3个字符表示所有者权限,中间3个
14、字符表示与所有者同一组的用户的权限,右边3个字符是其他用户的权限。代表的意义如下: 字符2、3、4表示该文件所有者的权限,有时也简称为u(user)的权限。 字符5、6、7表示该文件所有者所属组的组成员的权限。例如,此文件拥有者属于user组群,该组群中有6个成员,表示这6个成员都有此处指定的权限。简称为g(group)的权限。 字符8、9、10表示该文件所有者所属组群以外的权限,简称为o(other)的权限。6.2.2 一般权限14这9个字符根据权限种类的不同,也分为3种类型: r(read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。 w(write,写入)
15、:对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。 x(execute,执行):对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。-表示不具有该项权限。下面举例说明: brwxrr-:该文件是块设备文件,文件所有者具有读、写与执行的权限,其他用户则具有读取的权限。 -rw-rw-r-x:该文件是普通文件,文件所有者与同组用户对文件具有读写的权限,而其他用户仅具有读取和执行的权限。 drwx-xx:该文件是目录文件,目录所有者具有读写与进入目录的权限,其他用户能进入该目录,却无法读取任何数据。 lrwxrwxrwx:该文件是符号链接文件,文件所
16、有者、同组用户和其他用户对该文件都具有读、写和执行权限。每个用户都拥有自己的主目录,通常在/home目录下,这些主目录的默认权限为rwx-:执行mkdir命令所创建的目录,其默认权限为rwxr-xr-x,用户可以根据需要修改目录的权限。6.2.2 一般权限15文件与目录设置还有特殊权限。由于特殊权限会拥有一些“特权”,因而用户若无特殊需求,不应该启用这些权限,避免安全方面出现严重漏洞,造成黑客入侵,甚至摧毁系统。1. s或S(SUID,Set UID)可执行的文件搭配这个权限,便能得到特权,任意存取该文件的所有者能使用的全部系统资源。请注意具备SUID权限的文件,黑客经常利用这种权限,以SUI
17、D配上root账号拥有者,无声无息地在系统中开扇后门,供日后进出使用。2. s或S(SGID,Set GID)设置在文件上面,其效果与SUID相同,只不过将文件所有者换成用户组,该文件就可以任意存取整个用户组所能使用的系统资源。3. T或T(Sticky)/tmp和 /var/tmp目录供所有用户暂时存取文件,亦即每位用户皆拥有完整的权限进入该目录,去浏览、删除和移动文件。6.2.3 特殊权限16在文件建立时系统会自动设置权限,如果这些默认权限无法满足需要,可以使用chmod命令来修改权限。通常在权限修改时可以用两种方式来表示权限类型:数字表示法和文字表示法。chmod命令的格式是:chmod
18、 选项 文件1. 以数字表示法修改权限数字表示法是指将读取(r)、写入(w)和执行(x)分别以4、2、1来表示,没有授予的部分就表示为0,然后再把所授予的权限相加而成。6.2.4 文件权限修改17例如,为文件/yy/file设置权限:赋予拥有者和组群成员读取和写入的权限,而其他人只有读取权限。则应该将权限设为rw-rw-r-,而该权限的数字表示法为664,因此可以输入下面的命令来设置权限:rootRHEL7-1 # mkdir /yyrootRHEL7-1 # cd /yyrootRHEL7-1 yy# touch filerootRHEL7-1 yy# ll总用量 0-rw-r-r-. 1
19、root root 0 10月 3 21:43 file 6.2.4 文件权限修改182. 以文字表示法修改访问权限使用权限的文字表示法时,系统用4种字母来表示不同的用户:u:user,表示所有者。g:group,表示属组。o:others,表示其他用户。a:all,表示以上3种用户。操作权限使用下面3种字符的组合表示法:r:read,读取。w:write,写入。x:execute,执行。操作符号包括:添加某种权限。-:减去某种权限。:赋予给定权限并取消原来的权限。以文字表示法修改文件权限时,上例中的权限设置命令应该为:rootRHEL7-1 yy# chmod u=rw,g=rw,o=r /
20、yy/file6.2.4 文件权限修改19修改目录权限和修改文件权限相同,都是使用chmod命令,但不同的是,要使用通配符“*”来表示目录中的所有文件。例如,要同时将/yy目录中的所有文件权限设置为所有人都可读取及写入,应该使用下面的命令:rootRHEL7-1 yy# chmod a=rw /yy/*/或者rootRHEL7-1 yy# chmod 666 /yy/*如果目录中包含其他子目录,则必须使用-R(Recursive)参数来同时设置所有文件及子目录的权限。利用chmod命令也可以修改文件的特殊权限。例如,要设置文件/yy/file文件的SUID权限的方法为:rootRHEL7-1
21、yy# chmod u+s /yy/filerootRHEL7-1 yy# ll总用量 0-rwSrw-rw-. 1 root root 0 10月 3 21:43 file6.2.4 文件权限修改20要修改文件的所有者可以使用chown命令。chown命令格式如下所示:chown 选项 用户和属组 文件列表用户和属组可以是名称也可以是UID或GID。多个文件之间用空格分隔。例如,要把/yy/file文件的所有者修改为test用户,命令如下:rootRHEL7-1 yy# chown test /yy/filerootRHEL7-1 yy# ll总计 22-rw-rwSr- 1 test ro
22、ot 22 11-27 11:42 file chown命令可以同时修改文件的所有者和属组,用“:”分隔。例如,将/yy/file文件的所有者和属组都改为test的命令如下所示:rootRHEL7-1 yy# chown test:test /yy/file如果只修改文件的属组可以使用下列命令:rootRHEL7-1 yy# chown :test /yy/file修改文件的属组也可以使用chgrp命令。命令范例如下所示:rootRHEL7-1 yy# chgrp test /yy/file文件所有者与属组修改21 在Linux系统安装时,其中有一个步骤是进行磁盘分区。可以采用Disk Dru
23、id、RAID和LVM等方式进行分区。除此之外,在Linux系统中还有fdisk、cfdisk、parted等分区工具。本节将介绍几种常见的磁盘管理相关内容。6.3 常用磁盘管理工具221.fdisk fdisk磁盘分区工具在DOS、Windows和Linux中都有相应的应用程序。在Linux系统中,fdisk是基于菜单的命令。用fdisk对硬盘进行分区,可以在fdisk命令后面直接加上要分区的硬盘作为参数,例如,对新增加的第二块SCSI硬盘进行分区的操作如下所示:rootRHEL7-1 # fdisk /dev/sdb6.3 常用磁盘管理工具23Command (m for help):在c
24、ommand提示后面输入相应的命令来选择需要的操作,输入m命令是列出所有可用命令。表6-3所示是fdisk命令选项。6.3 常用磁盘管理工具24下面以在/dev/sdb硬盘上创建大小为500MB,文件系统类型为ext3的/dev/sdb1主分区为例,讲解fdisk命令的用法。(1)利用如下所示命令,打开fdisk操作菜单。rootRHEL7-1 # fdisk /dev/sdbCommand (m for help):(2)输入p,查看当前分区表。从命令执行结果可以看到,/dev/sdb硬盘并无任何分区。/利用p命令查看当前分区表Command (m for help): pDisk /dev
25、/sdb: 1073 MB, 1073741824 bytes255 heads, 63 sectors/track, 130 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id SystemCommand (m for help):6.3 常用磁盘管理工具25(3)输入n,创建一个新分区。输入p,选择创建主分区(创建扩展分区输入e,创建逻辑分区输入l);输入数字1,创建第一个主分区(主分区和扩展分区可选数字为14,逻辑分区的数字标识从5开始);输入此分区的起始、结束
26、扇区,以确定当前分区的大小。也可以使用+sizeM或者+sizeK的方式指定分区大小。以上操作如下所示:Command (m for help): n /利用n命令创建新分区Command action e extended p primary partition (1-4)p /输入字符p,以创建主磁盘分区Partition number (1-4): 1First cylinder (1-130, default 1): Using default value 1Last cylinder or +size or +sizeM or +sizeK (1-130, default 130):
27、 +500M6.3 常用磁盘管理工具26(4)输入l可以查看已知的分区类型及其id,其中列出Linux的id为83。输入t,指定/dev/sdb1的文件系统类型为Linux。如下所示:/设置/dev/sdb1分区类型为LinuxCommand (m for help): tSelected partition 1Hex code (type L to list codes): 836.3 常用磁盘管理工具27(5)分区结束后,输入w,把分区信息写入硬盘分区表并退出。(6)同样的方法建立磁盘分区/dev/sdb2、/dev/sdb3。(7)如果要删除磁盘分区,在fdisk菜单下输入d,并选择相应
28、的磁盘分区即可。删除后输入w,保存退出。/删除/dev/sdb3分区,并保存退出Command (m for help): dPartition number (1,2,3): 3Command (m for help): w6.3 常用磁盘管理工具282.mkfs 硬盘分区后,下一步的工作就是文件系统的建立。类似于Windows下的格式化硬盘。在硬盘分区上建立文件系统会冲掉分区上的数据,而且不可恢复,因此在建立文件系统之前要确认分区上的数据不再使用。建立文件系统的命令是mkfs,格式如下:mkfs 参数 文件系统 mkfs命令常用的参数选项如下。-t :指定要创建的文件系统类型。-c:建立文
29、件系统前首先检查坏块。-l file:从文件file中读磁盘坏块列表,file文件一般是由磁盘坏块检查程序产生的。-V:输出建立文件系统详细信息。6.3 常用磁盘管理工具29例如,在/dev/sdb1上建立ext4类型的文件系统,建立时检查磁盘坏块并显示详细信息。如下所示:rootRHEL7-1 # mkfs -t ext4 -V -c /dev/sdb1完成了存储设备的分区和格式化操作,接下来就是要来挂载并使用存储设备了。与之相关的步骤也非常简单:首先是创建一个用于挂载设备的挂载点目录;然后使用mount命令将存储设备与挂载点进行关联;最后使用df -h命令来查看挂载状态和硬盘使用量信息。r
30、ootRHEL7-1 # mkdir /newFSrootRHEL7-1 # mount /dev/sdb1 /newFS/rootRHEL7-1 # df -hFilesystem Size Used Avail Use% Mounted ondev/sda2 9.8G 86M 9.2G 1% /devtmpfs 897M 0 897M 0% /devtmpfs 912M 0 912M 0% /dev/shmtmpfs 912M 9.0M 903M 1% /runtmpfs 912M 0 912M 0% /sys/fs/cgroup/dev/sda8 8.0G 3.0G 5.1G 38% /
31、usr/dev/sda7 976M 2.7M 907M 1% /tmp/dev/sda3 7.8G 41M 7.3G 1% /home/dev/sda5 7.8G 140M 7.2G 2% /var/dev/sda1 269M 145M 107M 58% /boottmpfs 183M 36K 183M 1% /run/user/0 S6.3 常用磁盘管理工具303.fsckfsck命令主要用于检查文件系统的正确性,并对Linux磁盘进行修复。fsck命令的格式如下:fsck 参数选项 文件系统fsck命令常用的参数选项如下。-t:给定文件系统类型,若在/etc/fstab中已有定义或kern
32、el本身已支持的不需添加此项。-s:一个一个地执行fsck命令进行检查。-A:对/etc/fstab中所有列出来的分区进行检查。-C:显示完整的检查进度。-d:列出fsck的debug结果。-P:在同时有-A选项时,多个fsck的检查一起执行。-a:如果检查中发现错误,则自动修复。-r:如果检查有错误,询问是否修复。6.3 常用磁盘管理工具31例如,检查分区/dev/sdb1上是否有错误,如果有错误自动修复(必须先把磁盘卸载才能检查分区)。rootRHEL7-1 # umount /dev/sdb1rootRHEL7-1 # fsck -a /dev/sdb1fsck 1.35 (28-Feb
33、-2004)/dev/sdb1: clean, 11/128016 files, 26684/512000 blocks6.3 常用磁盘管理工具324.使用dd建立和使用交换文件:当系统的交换分区不能满足系统的要求而磁盘上又没有可用空间时,可以使用交换文件提供虚拟内存。rootRHEL7-1 # dd if=/dev/zero of=/swap bs=1024 count=10240上述命令的结果在硬盘的根目录下建立了一个块大小为1024字节、块数为10240的名为swap的交换文件。该文件的大小为102410240=10MB。建立/swap交换文件后,使用mkswap命令说明该文件用于交换空
34、间。rootRHEL7-1 # mkswap /swap 10240利用swapon命令可以激活交换空间,也可以利用swapoff命令卸载被激活的交换空间。rootRHEL7-1 # swapon /swaprootRHEL7-1 # swapoff /swap6.3 常用磁盘管理工具335.dfdf命令用来查看文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,以及目前还有多少空间等信息,还可以利用该命令获得文件系统的挂载位置。df命令格式如下:df 参数选项df命令的常见参数选项如下。-a:显示所有文件系统磁盘使用情况,包括0块的文件系统,如/proc文件系统。-k:以k
35、字节为单位显示。-i:显示i节点信息。-t:显示各指定类型的文件系统的磁盘空间使用情况。-x:列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。-T:显示文件系统类型。6.3 常用磁盘管理工具346.3 常用磁盘管理工具356.3 常用磁盘管理工具366.dudu命令用于显示磁盘空间的使用情况。该命令逐级显示指定目录的每一级子目录占用文件系统数据块的情况。du命令语法如下:du 参数选项 文件或目录名称du命令的参数选项如下。-s:对每个name 参数只给出占用的数据块总数。-a:递归显示指定目录中各文件及子目录中各文件占用的数据块数。-b:以字节为单位列出磁盘空间使用情况(AS
36、 4.0中默认以KB为单位)。-k:以1024字节为单位列出磁盘空间使用情况。-c:在统计后加上一个总计(系统默认设置)。-l:计算所有文件大小,对硬链接文件重复计算。-x:跳过在不同文件系统上的目录,不予统计。6.3 常用磁盘管理工具377.mount与umount(1)mount在磁盘上建立好文件系统之后,还需要把新建立的文件系统挂载到系统上才能使用。这个过程称为挂载,文件系统所挂载到的目录被称为挂载点(mount point)。Linux系统中提供了/mnt和/media两个专门的挂载点。一般而言,挂载点应该是一个空目录,否则目录中原来的文件将被系统隐藏。通常将光盘和软盘挂载到/medi
37、a/cdrom(或者/mnt/cdrom)和/media/floppy(或者/mnt/ floppy)中,其对应的设备文件名分别为/dev/cdrom和/dev/fd0。文件系统的挂载可以在系统引导过程中自动挂载,也可以手动挂载,手动挂载文件系统的挂载命令是mount。该命令的语法格式如下:mount 选项 设备 挂载点6.3 常用磁盘管理工具387.mount与umountmount命令的主要选项如下。-t:指定要挂载的文件系统的类型。-r:如果不想修改要挂载的文件系统,可以使用该选项以只读方式挂载。-w:以可写的方式挂载文件系统。-a:挂载/etc/fstab文件中记录的设备。把文件系统类
38、型为ext4的磁盘分区/dev/sdb1挂载到/newFS目录下,可以使用命令:rootRHEL7-1 # mount -t ext4 /dev/sdb1 /newFS挂载光盘可以使用下列命令:rootrhel7-1 # mkdir /media/cdrom rootRHEL7-1 # mount -t iso9660 /dev/cdrom /media/cdrom 6.3 常用磁盘管理工具397.mount与umount(2)umount文件系统可以被挂载也可以被卸载。卸载文件系统的命令是umount。umount 命令的格式为 umount 设备 挂载点例如,卸载光盘和软盘可以使用命令:
39、rootRHEL7-1 # umount /media/cdrom注意:光盘在没有卸载之前,无法从驱动器中弹出。正在使用的文件系统不能卸载。6.3 常用磁盘管理工具408.文件系统的自动挂载如果要实现每次开机自动挂载文件系统,可以通过编辑/etc/fstab文件来实现。在/etc/fstab中列出了引导系统时需要挂载的文件系统以及文件系统的类型和挂载参数。系统在引导过程中会读取/etc/fstab文件,并根据该文件的配置参数挂载相应的文件系统。以下是一个fstab文件的内容:rootRHEL7-1 # cat /etc/fstab# This file is edited by fstab-s
40、ync - see man fstab-sync for detailsLABEL=/ / ext4 defaults 1 1LABEL=/boot /boot ext4 defaults 1 2none /dev/pts devpts gid=5,mode=620 0 0none /dev/shm tmpfs defaults 0 0none /proc proc defaults 0 0none /sys sysfs defaults 0 0LABEL=SWAP-sda2 swap swap defaults 0 0/dev/sdb2 /media/sdb2 ext4 rw,grpquot
41、a,usrquota0 0/dev/hdc /media/cdrom auto pamconsole,exec,noauto,managed0 0/dev/fd0 /media/floppy auto pamconsole,exec,noauto,managed0 0/etc/fstab文件的每一行代表一个文件系统,每一行又包含6列,这6列的内容如下所示:fs_spec fs_file fs_vfstype fs_mntops fs_freq fs_passno6.3 常用磁盘管理工具418.文件系统的自动挂载/etc/fstab文件的每一行代表一个文件系统,每一行又包含6列,这6列的内容如下
42、所示:fs_spec fs_file fs_vfstype fs_mntops fs_freq fs_passno具体含义如下。fs_spec:将要挂载的设备文件。fs_file:文件系统的挂载点。fs_vfstype:文件系统类型。fs_mntops:挂载选项,决定传递给mount命令时如何挂载,各选项之间用逗号隔开。fs_freq:由dump程序决定文件系统是否需要备份,0表示不备份,1表示备份。fs_passno:由fsck程序决定引导时是否检查磁盘以及检查次序,取值可以为0、1、2。例如,如果实现每次开机自动将文件系统类型为vfat的分区/dev/sdb3自动挂载到/media/sdb
43、3目录下,需要在/etc/fstab文件中添加下面一行内容,重新启动计算机后,/dev/sdb3就能自动挂载了。/dev/sdb3 /media/sdb3 vfat defaults 0 06.4 在Linux中配置软RAID42 RAID(Redundant Array of Inexpensive Disks,独立磁盘冗余阵列)用于将多个廉价的小型磁盘驱动器合并成一个磁盘阵列,以提高存储性能和容错功能。RAID可分为软RAID和硬RAID,软RAID是通过软件实现多块硬盘冗余的。而硬RAID一般是通过RAID卡来实现RAID的。前者配置简单,管理也比较灵活,对于中小企业来说不失为一种最佳选
44、择。硬RAID在性能方面具有一定优势,但往往花费比较贵。436.4.1 软RAID概述 RAID作为高性能的存储系统,已经得到了越来越广泛的应用。RAID的级别从RAID概念的提出到现在,已经发展了六个级别,其级别分别是0、1、2、3、4、5。但是最常用的是0、1、3、5四个级别。RAID0:将多个磁盘合并成一个大的磁盘,不具有冗余,并行I/O,速度最快。 RAID 0也称为带区集。它是将多个磁盘并列起来,成为一个大硬盘。在存放数据时,其将数据按磁盘的个数来进行分段,然后同时将这些数据写进这些盘中。44 RAID1:把磁盘阵列中的硬盘分成相同的两组,互为镜像,当任一磁盘介质出现故障时,可以利用
45、其镜像上的数据恢复,从而提高系统的容错能力。对数据的操作仍采用分块后并行传输方式。所有RAID1不仅提高了读写速度,也加强了系统的可靠性。但其缺点是硬盘的利用率低,只有50。 RAID3:RAID3存放数据的原理和RAID0、RAID1不同。RAID3是以一个硬盘来存放数据的奇偶校验位,数据则分段存储于其余硬盘中。它像RAID0一样以并行的方式来存放数据,但速度没有RAID0快。如果数据盘(物理)损坏,只要将坏的硬盘换掉,RAID控制系统会根据校验盘的数据校验位在新盘中重建坏盘上的数据。45 RAID5:向阵列中的磁盘写数据,奇偶校验数据存放在阵列中的各个盘上,允许单个磁盘出错。RAID5也是
46、以数据的校验位来保证数据的安全,但它不是以单独硬盘来存放数据的校验位,而是将数据段的校验位交互存放于各个硬盘上。这样任何一个硬盘损坏,都可以根据其他硬盘上的校验位来重建损坏的数据。硬盘的利用率为n-1。 Red Hat Enterprise Linux 提供了对软RAID技术的支持。在Linux系统中建立软RAID可以使用mdadm工具建立和管理RAID设备。466.4.2 创建与挂载RAID设备 下面以4块硬盘/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde为例来讲解RAID5的创建方法。(利用VMware虚拟机,事先安装四块SCSI硬盘。)1.创建四个磁盘分区使用fd
47、isk命令重新创建4个磁盘分区/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1,容量大小一致,都为500MB,并设置分区类型id为fd(Linux raid autodetect)。47下面以创建/dev/sdb1磁盘分区为例(先删除原来的分区,如果是新磁盘直接分区)。rootRHEL7-1 # fdisk /dev/sdbWelcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them.Be careful before
48、using the write command.Command (m for help): d/删除分区命令Partition number (1,2, default 2): Partition 2 is deleted/删除分区2Command (m for help): d/删除分区命令Selected partition 1Partition 1 is deletedCommand (m for help): n/创建分区48Partition type: p primary (0 primary, 0 extended, 4 free) e extendedSelect (defau
49、lt p): p/创建主分区1Using default response pPartition number (1-4, default 1): 1 /创建主分区1First sector (2048-41943039, default 2048): Using default value 2048Last sector, +sectors or +sizeK,M,G (2048-41943039, default 41943039): +500M/分区容量为500MBPartition 1 of type Linux and of size 500 MiB is setCommand (m
50、 for help): t/设置文件系统Selected partition 1Hex code (type L to list all codes): fd/设置文件系统为fdChanged type of partition Linux to Linux raid autodetectCommand (m for help): w/存盘退出49用同样方法创建其他三个硬盘分区,运行partprobe命令或重启系统,分区结果如下:rootRHEL7-1 # partprobe/不重新启动系统而使分区划分有效,务必!rootRHEL7-1 # reboot/或重新启动计算机 rootRHEL7-