第5章 文件系统和磁盘管理_第1页
第5章 文件系统和磁盘管理_第2页
第5章 文件系统和磁盘管理_第3页
第5章 文件系统和磁盘管理_第4页
第5章 文件系统和磁盘管理_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、XX大学XX系 XXX 2020年6月20日,第5章 文件系统和磁盘管理,本章提要,文件系统 常用的磁盘管理工具 LVM的配置和管理 对于任何一个成熟的操作系统而言,文件系统管理都是一个十分重要的部分。文件系统管理的好坏直接影响到操作系统的性能和安全。Linux的文件系统和磁盘管理的功能非常强大。本章主要介绍文件系统的概念、各种常用的文件系统、文件系统的管理、Fedora 8下磁盘的管理及当前企业中常用的磁盘管理技术LVM的配置和管理。,文件系统,文件系统是操作系统在硬盘或者分区上保存文件信息的方法和数据结构,也就是文件在硬盘或分区上的组织方式。 Linux采用虚拟文件系统(VFS)技术,这样

2、Linux可以支持多种文件。每一个文件系统都提供一个公共的接口给VFS,不同文件系统的所有细节由软件进行转换。而从Linux的内核和Linux运行的程序来看,不同的文件系统之间没有任何差别。例如,用户可以把自己原有的Windows分区挂接到Linux中的一个目录下,也可以同时把NFS(网络文件系统)挂接到另一个目录,它们可以和平地融为一体。,图5-1 Linux的目录结构,文件系统(续),文件系统是所有数据的基础,所有文件和目录都驻留在文件系统上。在Linux系统中,所有的文件系统都被连接到一个总的目录上,这个目录就叫根目录,是由系统自动建立的目录下有许多分支,分支又有子分支,从而整个目录呈树

3、状结构。 文件系统连接目录树上的一点,这个点就叫安装点,图5-1中的每个虚框就是一个文件系统,所有不在虚框的部分也是一个文件系统,一共有3个文件系统。就这样,不同的文件系统形成了一个无缝的整体。,Fedora 8支持的文件系统类型,Fedora 8系统的一个重要特征之一就是支持多种文件系统,这样它更为灵活并可以和许多其他种类的操作系统交换数据,其中最常用的是以下几种: ext2 ext3 ReiserFS VFAT JFS ISO9660 NFS ,ext2,ext2是为解决ext文件系统的缺陷而设计的可扩展的、高性能的文件系统,它又被称为二级扩展文件系统。ext2是1993年发布的,设计者是

4、Rey Card。在常见的Intel x86兼容处理器的系统中,簇最大为4KB,单一文件大小上限为2048GB, 而文件系统的容量上限为6384GB。尽管Linux可以支持种类繁多的文件系统,但是2000年以前几乎所有的Linux发行版都使用ext2作为默认的文件系统。,ext3,ext3是ext2 的升级版本,是Fedora 8默认的文件系统类型,其主要优点是在ext2的基础上加入了记录数据的日志功能。可方便地从ext2迁移至ext3,且支持异步的日志。 日志式文件系统起源于Oracle、Sybase等大型数据库。由于数据库操作往往是由多个相关的、相互依赖的子操作组成,任何一个子操作的失败都

5、意味着整个操作的无效性,对数据库数据的任何修改都要恢复到操作以前的状态。Linux日志式文件系统就是由此发展而来的。日志文件系统通过增加一个叫做日志的、新的数据结构来解决这个“fsck”问题。这个日志是位于磁盘上的结构。在对元数据做任何改变以前,文件系统驱动程序会向日志中写入一个条目,这个条目描述了它将要做些什么,所以日志文件具有可伸缩性和健壮性。在分区中保存日志记录文件好处是:文件系统写操作首先是对记录文件进行操作,若整个写操作由于持衷(如系统掉电)而中断,则在下次系统启动时就会读日志记录文件的内容,恢复到没有完成的写操作,这个过程一般只需要两三分钟时间。 ext3最大的缺点是,它没有现代文

6、件系统所具有的、能提高文件数据处理速度和解压的高性能。,ReiserFS,ReiserFS的第一次公开亮相是在1997年7月23日,Hans Reiser把他的基于平衡树结构的ReiserFS文件系统在网上公布。ReiserFS 3.6.x(作为Linux 2.4一部分的版本)是由Hans Reiser和他的Namesys开发组共同开发设计的。SuSE Linux也对它的发展起了重大的帮助。 ReiserFS一个最受批评的缺点是,每升级一个版本都将要将磁盘重新格式化一次,而且它的安全性能和稳定性与ext3相比有一定的差距。因为ReiserFS文件系统还不能正确处理超长的文件目录,如果创建一个超

7、过768字符的文件目录,并使用ls或其它echo命令,将有可能导致系统挂起。,vfat,vfat虚拟文件分配表(Virtual File Allocation Table)文件系统是伴随Windows 95的推出而产生的,它拥有多项重要功能,而其中最具代表性的就是对长文件名的支持。vfat通过对FAT文件系统的扩展,长文件名问题得到妥善解决,它对FAT16文件系统进行扩展,并提供支持长文件名功能,文件名可达255个字符。vfat仍然保留有扩展名,而且支持文件日期和时间属性,为每个文件保留了文件创建日期/时间、文件最近被修改的日期/时间和文件最近被打开的日期/时间这三项内容。,JFS,JFS是一

8、种提供日志的字节级文件系统。该文件系统主要是为满足服务器(从单处理器系统到高级多处理器和群集系统)的高吞吐量和可靠性需求而设计、开发的。JFS文件系统是为面向事务的高性能系统而开发的。在IBM的AIX系统上,JFS已经过较长时间的测试,结果表明它是可靠、快速和容易使用的。2000年2月,IBM宣布在一个开放资源许可证下移植Linux版本的JFS文件系统。JFS也是一个有大量用户安装使用的企业级文件系统,具有可伸缩性和健壮性。 JFS的缺点是,使用JFS日志文件系统性能上会有一定损失,系统资源占用的比率也偏高,因为当它保存一个日志时,系统需要写许多数据。,iso9660,iso9660是CD-R

9、OM的国际标准文件系统,它定义了CD-ROM上文件和目录的格式。此标准允许有不同操作系统的不同计算机访问同样的数据格式,CD-ROM在全世界范围内得到了迅速推广。CD-ROM当前的成功不仅是由于媒体自身明显的优势,而且是由于通过iso9660之类的标准完成了媒体的全世界认同和彼此协作。所有计算机平台将数据作为一个文件系统放在光盘,文件系统被设计成为UNIX、Linux、DOS、Windows和Mac及它们的各种派生系统所公认。iso9660意味着与不同操作系统兼容。这种兼容性是通过使用所有目标系统共有功能来实现的。因此iso9660要求以下几条限制: (1)目录树不可以超过8级,即子目录名和子

10、目录深度最多8级; (2)文件名加上扩展名必须少于30个字符,且目录不能使用扩展名; (3)文件名可以使用字母、数字和符号,但英文字母只能使用大写字母,不允许一些特殊字符如%或。,NFS,允许在多台计算机之间共享文件系统的网络文件系统。 此外,还支持一些较老的文件系统类型,如 MINIX、MSDOS、HPFS、SysV等。 要查看Linux支持的文件系统,可以在命令提示符状态下输入如下命令: rootCandy root# cat /lib/modules/-42.fc8/kernel/fs 输出结果如图5-2所示:,图5-2 Fedora 8支持的文件系统,以fdisk进行磁

11、盘分区,前面了解了文件系统的相关内容,而创建ext3文件系统主要的步骤分为磁盘磁盘分区和格式化为ext3,在这一小节将要介绍如对磁盘进行分区。硬盘分区的工具很多,比较常用的有fdisk和parted,这里以fdisk介绍磁盘的分区。Fdisk是一种功能强大的磁盘分区工具,功能强大,使用灵活。各种Linux发行版中都带有fdisk工具,但它让初学者有点望而却步,因为fdisk要求用户对硬盘分区有一定的了解,并能够适应简单的文本界面。以下介绍fdisk的使用。 假设系统有两块硬盘:/dev/sda、/dev/sdb,现在需要对/dev/sdb进行分区并创建文件系统,分区的步骤如下:,查看系统分区情

12、况,使用命令“fdisk l”查看系统分区情况。命令如下: rootCandy root# fdisk -l 查看的结果如图5-3所示。,图5-3 fdisk查看分区的结果,进入fdisk分区界面,命令格式为: fdisk 硬盘名称 要对某个硬盘分区,可以在fdisk后面加上硬盘名称,如/dev/sdb,命令执行的结果如图5-4所示。,图5-4 fdisk分区界面,获取fdisk的帮助,在执行fdisk后,光标会停留在“Command(m for help):”信息处,建议先输入“m”命令,以参考所有可用的选项说明。输入命令m后如图5-5所示。,图5-5 fdisk的帮助,新建分区,在了解fd

13、isk命令的基本功能后,接下来将说明如何利用fdisk来新增分区,以下为详细的步骤及说明。 (1)在开始磁盘分区前,建议先按“p”键,以显示目前存在的分区内容,如图5-6所示。从图中可看出,/dev/sdb还未分区。,图5-6 当前的分区情况,修改分区类型,在添加Linux分区后很重要的一点是指定分区的类型。对于已建立的分区,默认的文件系统类型都是Linux Native(代码为83)。 要指定分区的类型,可以在“Command(m for help):”处按“t”键,如图5-8所示,则fdisk程序会出现如“Partition numer:”让用户选择需要修改的分区编号,这里修改编号为“5”

14、的分区类型为8e(Linux LVM)。,图5-8 修改分区类型,删除分区,要删除硬盘某个分区,可以使用“d”命令,输入命令d后,只要输入要删除的分区编号即可。,保存并退出fdisk,在fdisk里做的分区操作,如果没有使用w命令,都不会将结果保存到硬盘中。当操作结束后可以使用w命令保存改变,如图5-9所示。如果不想保存结果,则可以直接使用q命令退出。,图5-9 保存并退出fdisk,文件系统的创建、加载与卸载,一个分区或磁盘在作为文件系统被使用之前,先要初始化以将记录数据结构写入磁盘上,这个过程叫做建立文件系统。 命令mkfs用于创建文件系统。用mkfs命令可以在任何指定的块设备上建立不同类

15、型的文件系统。 mkfs 命令的语法格式如下: mkfs -v -t fstype fs-options device size mkfs 命令中各项参数的意义如下: -v:强迫产生长格式输出; -t fstype:选择文件系统的类型; fs-option:将要建立的文件系统选项,它可以是以下的选项: -c:查找坏块,并初始化坏块列表; -l filename:从文件filename中读初始的坏块表; -v:让文件系统程序产生长格式输出; device:将创建文件系统所在设备的设备号; size:文件系统的大小。 例如:要在/dev/sdb1上创建一个 ext3 的文件系统,用以下命令: ro

16、otCandy root#mkfs t ext3 /dev/sdb1,加载文件系统,成功地建立了文件系统后,还需要将文件系统加载或称安装(mount)到 Linux 目录树的某个位置才能使用。文件系统所连接到的目录被称为加载点或安装点。对于系统硬件设备,Linux并不使用设备号或驱动器号来访问,而是将它们对应为/dev目录下的一个(也可能是多个)文件。 文件系统的安装,可以在系统引导过程中自动安装,也可以使用命令手工装载。 加载文件系统的命令为 mount,该命令的语法格式如下: mount -t fs-type device mountpoint 其中:device 代表文件系统的存储设备;

17、 mountpoint 代表文件系统将要被放置在目录系统中的位置,即载入点。 mount 命令常用如下几个选项: -a:加载符合要求的所有文件系统,如果不加其他参数,将加载 /etc/fstab 文件中列出的所有文件系统; -o:用于确定文件系统的读/写限制,ro(只读)、rw(读写)等; -f:完成操作步骤,并不真正安装文件系统。 例如:把 /dev/sdb1 上类型为 ext3 的文件系统加载到目录 /mnt/tmp 下,并使之按只读方式被安装。命令如下: rootCandy root# mount t ext3 o ro /dev/sdb1 /mnt/tmp,卸载文件系统,除了根文件系统

18、之外,其他文件系统都是可以拆卸的。卸载文件系统的命令是umount,其格式如下: umount device mountpoint 如,要卸载sdb1文件系统,用如下命令: rootCandy root#umount /dev/sdb1 该命令使用设备名和安装点为参数,用于卸下与设备名或是安装点对应的文件系统。不能卸载当前正在使用的文件系统,这样系统会报出错。正确的方法是完全退出安装点所在目录后再执行卸载命令。,用fstab文件配置文件系统,一般来说,用户经常使用的文件系统是比较固定的,如果每次使用时都进行加载是很麻烦,而且有时候需要一次安装很多的文件系统,可以考虑定义一个在系统引导时自动安装

19、文件系统的方法。 Linux 中使用 /etc/fstab 文件能够完成这一功能,fstab 文件中列出了引导时需安装的文件系统的类型、加载点及可选参数。fstab 文件是一个文本文件,可以方便地通过编辑工具进行修改。 请在修改前备份原来的 /etc/fstab 文件,以防修改出错导致下次系统引导时文件系统不能正确加载。 以下给出的是一个实际的/etc/fstab文件实例,如图5-11所示:,图5-11 fstab文件实例,fstab文件格式说明,/etc/fstab文件也称为文件系统安装表,它的每一行代表一个需要安装的文件系统,其格式如下: device mountpoint fstype

20、options dump passno 其中: (1)device指定要加载的文件系统设备,可以依用户的需求来增加或删除某些文件系统,但是root文件系统一定要加载到“/”,否则系统无法开机。 另一个必须加载的文件系统为proc,它必须加载到“/proc”,以提供给Kernel使用。/proc是一个非常特殊的文件系统,它负责提供给应用程序一个安全的接口来存取某些特定数据,例如CPU和内存的使用情况,或某个程序打开的文件等信息。 (2)mountpoint指定文件系统的加载点,也称加载目录。它必须使用绝对路径来表示,唯一不需要指明路径的是“swap”,因为它并不是实际数据的存储位置,而是提供应用

21、程序执行时,因物理内存不足的暂存区,也就是一般所称的“虚拟内存”,在Windows系统中称为“内存页面文件”。 (3)fstype指文件系统,是安装文件系统的类型。 (4)options选项,该字段可以指定一个或多个该文件系统的选项,若是指定一个以上的选项,必须使用逗号隔开。此字段可用的选项非常多,表5-2列出了常用的选项以供参考。 (5)dump,这个字段只有两种数值:0和1,当此字段值为0时,则表示该文件系统不做文件系统检查的操作,如果是1则表示需要。通常只有ext2或ext3文件系统才需要做文件系统检查,其它文件系统可以设为0。 (6)passno,这个字段有3个不同的数值0、1和2。他

22、们各自表示执行文件系统检查的顺序,0表示文件系统不做检查,因此若在“dump”字段的值为0,则此字段的值也必然为0。1 表示最新执行文件系统检查,通常都是指“/”而言,因为它的重要性最高,而2表示执行文件系统检查的第二顺序。,维护文件系统,文件系统是系统数据和资源的存储位置,所以应定期检查文件系统以发现损坏的文件并及时加以修补。对文件系统进行检查可以通过使用 fsck 工具来完成,该命令的格式为: fsck options filesystem 参数选项: -t fstype:指定文件系统类型; -A:检查/etc/fstab中的所有文件系统; -V:显示fsck执行时的信息; -R:和-A同

23、时使用时,跳过根文件系统; -P:和-A同时使用时,不跳过根文件系统(要注意使用); -n:检查文件系统时,对要求回答的所有问题,全部回答“no”; -y:检查文件系统时,对要求回答的所有问题,全部回答“yes”; -p:检查文件系统时,不需要确定就可以执行所有的修复。 用fsck 检查文件系统时,最好先卸下该文件系统,这样可以防止在检查过程中有其它程序正在操作该文件系统。fsck命令检查文件系统后,如果修复了文件系统,应该重新启动Linux系统。通常fsck就擦后完文件系统后,会将没有引用的项直接连接到文件系统中的/lost+found这样的特定目录下,用户可以从这里找回丢失的数据,但这不是

24、一件容易的事情。 要检查/dev/sdb1文件系统,命令如下: rootCandy root#umount /dev/ sdb1 rootCandy root#fsck V t ext3 /dev/sdb1,交换分区,交换分区是系统从硬盘中划分的一部分空间,当物理内存(RAM)被充满时,内存中不活跃的页就会被移到交换分区。交换分区的大小一般设为物理 RAM 的12倍,但不能超过2048 MB。 交换分区可以是一个或多个专用的交换分区(推荐的方式),也可以是一个或多个交换文件,或者是两者的组合。安装 Fedora 8 系统时已经创建了一个 swap 分区,即用来支持虚拟内存的交换分区。Fedor

25、a 8 系统允许用户在安装完成后重新调整交换分区的大小。,使用交换分区,一、创建和启用交换分区 Fedora 8 系统允许包含多个交换分区,每一个最大可达2048M。这些 swap分区可以根据需要随时创建并激活,其步骤如下: 1、 用 parted 或 fdisk 划分一个分区,并给予恰当的大小。 2、 格式化该分区,并检查坏块; rootCandy root# mkswap -c /dev/sda4 用实际的分区设备名代替 /dev/sda4,这里没有指明分区大小,系统会自动检测。 3、 使用如下命令激活交换分区: rootCandy root# swapon /dev/sda4 4、 如果

26、要在系统启动时自动激活此交换分区,应该在 /etc/fstab 中加入如下一行: /dev/sda4 swap swap defaults 0 0 添加交换分区并启用它后,用 cat /proc/swaps 或 free 命令查看交换分区是否被成功启用。,使用交换分区(续),二、关闭交换分区 要关闭交换分区,可以执行如下命令: rootCandy root# swapoff /dev/sda4 三、删除交换分区 1、 确认将要删除的交换分区已被关闭; 2、 删除 /etc/fstab 文件中对应的行; 3、 用 parted 或 fdisk 命令删除对应的分区。,使用交换文件,一、创建和启用交

27、换文件 交换文件一般用在临时增加交换分区的情形。对交换文件的要求是不能有空洞,即文件要占据一片连续的物理空间。下面是创建交换文件的步骤。 1. 创建一个具有您所希望大小的文件 rootCandy root# dd if=/dev/zero of=/swapfile bs=1024 count=8192 该命令将物理地创建一个交换文件 /swapfile,每一个文件块大小为1024字节,一共有8192块,文件大小为8M(因为交换文件必须是连续的,所以是不能用 cp 命令创建交换文件的)。 2. 创建交换文件 rootCandy root# mkswap /swapfile 3. 激活该交换文件,

28、激活后的文件被立即启用。 rootCandy root# swapon /swapfile,使用交换文件(续),4. 想要在系统启动时自动激活此交换文件,应该在 /etc/fstab 中加入如下一行: /swapfile swap swap defaults 0 0 添加交换文件并启用它后,用 cat /proc/swaps 或 free 命令查看交换文件是否被成功启用。 二、关闭交换文件 在使用交换文件后,可以关闭它。 rootCandy root# swapoff /swapfile 三、删除交换文件 rootCandy root# rm /swapfile,磁盘管理,系统软件和应用软件,

29、都要以文件的形式存储在计算机的磁盘空间中。因此,应该随时监视磁盘空间的使用情况。在Linux系统中,如何有效地使用和管理存储空间,是一个非常重要的问题。本节主要介绍磁盘管理命令和磁盘配额的管理。在本章后面将介绍磁盘高级管理技术LVM。,磁盘管理命令,一、du 使用 du 命令可以统计目录(或文件)所占用磁盘空间的大小,du的英文原意为“disk usage”,含义为显示磁盘空间的使用情况。该命令可以进入指定目录的每一个子目录并显示该目录占用文件系统数据库(1024字节)的情况。若没有给出目录名,则对当前目录进行统计。 du 命令的格式如下: du 参数 目录名 参数说明: -s 对每个Name

30、s参数只给出占用的数据块总数; -a 递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数; -b 以字节为单位列出磁盘空间使用情况(系统缺省以k字节为单位); -k 以1024字节为单位列出磁盘空间使用情况; -h 用友好的方式显示信息,即以KB或MB为单位,以方便用户查看; -c 最后再加上一个总计(系统缺省设置); -l 计算所有的文件大小,对硬链接文件,则计算多次; -s 对每个目录参数只给出占用的数据块总数; -x 跳过在不同文件系统上的目录不予统计。,du命令的使用举例,(1)不带参数

31、的du命令 例如呀查看/etc目录的磁盘使用情况,命令如下: rootCandy root#du /etc (2) 详细显示目录和每个文件占用的空间 如果要详细显示目录下每个子目录和文件的占用空间,可以使用-a参数,如: rootCandy # du a /etc (3) 以字节为单位显示 du缺省以块为单位显示,如果要以字节为单位显示,可以使用-b参数。如: rootCandy # du b /etc (4)用友好的方式显示信息 对用户而言,无论以块还是字节为单位显示都不是很直观。如果需要du根据目录的大小自动转化成以KB或MB单位易于读懂的形式来显示,可以使用-h参数。如: rootCan

32、dy # du h /etc (5)只显示总计数 如果目标目录包含的子目录和文件非常多,显示的清单可能很长。而有时只需要目录占用空间的总计数,这时可以使用-s参数。如: rootCandy # du s /etc,df,du报告目录和子目录的空间使用情况,而df报告已安装文件系统的磁盘空间情况,可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 df命令的格式如下: df 参数 参数说明: -a 显示全部的档案系统和各分割区的磁盘使用情形; -i 显示i -nodes的使用量; -k 大小用k来表示 (默认值); -t 显示某一个档案系统的所有分割区磁盘使用量; -x 显示不

33、是某一个档案系统的所有分割区磁盘使用量; -T 显示每个分割区所属的档案系统名称。,df命令的使用举例,(1)不带参数的df命令 不带参数的df命令,列出各文件系统的磁盘空间使用情况,命令如下, rootCandy # df 结果如图5-13所示。,图5-13 不带参数的df命令,df命令的使用举例(续),(2)显示所有文件系统的磁盘使用情况 默认df不会显示隐藏的文件系统(如/proc)的磁盘使用情况,如果需要显示系统所有文件系统的磁盘使用情况,可以使用-a参数。如: rootCandy #df a (3)用友好的方式显示信息 对于用户而言,无论是以块为单位还是以字节为单位显示都不是很直观。

34、如果需要df根据目录的大小自动转化成MB或KB单位易于读懂的形式来显示,可以使用-h参数。如: rootCandy # df h 命令的执行结果如图5-14所示。 图5-14 以友好方式显示磁盘使用情况 (4)显示文件系统的类型 如果需要显示文件系统的类型,可以使用-T参数,如: rootCandy # df T,磁盘配额,为了防止某个用户或用户组占用过多的磁盘存储空间,需要对用户或用户组的可用存储空间进行限制,如FTP服务器的用户目录。磁盘限额的意义是强制使用者在大部分时间内保持他们对系统磁盘的占用在限额之下,取消其无限制地使用磁盘空间的能力。 磁盘配额允许在两种磁盘管理方式下定义磁盘限制:

35、一种是基于文件节点的磁盘管理方式,在该方式下它可以限制一个用户或一组用户可以拥有的最多文件节点数,换句话说,就是限制一个用户或一组用户可以拥有的最多文件数目(此处不包括符号链接文件);另一种方式是基于磁盘存储块的磁盘管理方式,在此方式下限制允许分配给一个用户或一组用户的最多磁盘存储块数,其实也就是限制一鲇没蛞蛔橛没梢允褂玫淖畲蟠排炭占洹 目前可以支持 ext2 和 ext3 两种文件格式。,配置磁盘限额,实现磁盘配额的操作步骤如下: 修改/etc/fstab来启用文件系统的磁盘配额支持; 重新挂载文件系统; 创建配额文件,重新生成磁盘用量表; 分配配额。,LVM逻辑卷管理,LVM 是 逻辑卷管

36、理(Logical Volume Manager)的简写,它为计算机提供了更高层次的磁盘存储解决方案,使系统管理员可以更方便灵活地分配存储空间。,LVM的优点,LVM通常用于装备有大量磁盘的系统,但它同样适于仅有一、两块硬盘的小系统。 一、小系统使用LVM的好处 传统的文件系统是基于分区的,一个文件系统对应一个分区。这种方式比较直观,但不易改变,主要表现如下: 不同的分区相对独立,各分区空间经常利用不平衡,空间不能充分利用; 当一个文件系统/分区已满时,无法对其扩充,只能重新分区,或把分区中的数据移到另一个更大的分区中,非常麻烦; 要把硬盘上的多个分区合并在一起使用,只能采用重新分区的方式,需

37、要数据的备份与恢复。 当采用LVM时,情况会有所不同: 硬盘的多个分区由LVM统一为卷组管理,可以方便的加入或移走分区以扩大或减小卷组的可用容量,硬盘空间被充分利用; 文件系统建立在逻辑卷上,而逻辑卷可在卷组容量范围内根据需要改变大小; 文件系统建立在LVM上,可以跨分区,使用方便。,LVM的优点(续),二、大系统使用LVM的好处 在使用很多硬盘的大系统中,使用LVM主要是方便管理、增加系统的扩展性。在一个有很多不同容量硬盘的大型系统中,为不同用户分配空间是一个技巧性的工作,要在用户需求与实际可用空间中寻求平衡。 用户/用户组的空间建立在 LVM 上,可以随时根据使用情况对各逻辑卷进行调整。当

38、系统空间不足而加入新的硬盘时,不必把用户的数据从原硬盘迁移到新硬盘,而只须把新的分区加入卷组并扩充逻辑卷即可。同样,使用LVM可以在不停止服务的情况下,把用户数据从旧硬盘转移到新硬盘空间。,LVM相关概念,1、LVM LVM(逻辑卷管理)是操作系统的一个磁盘管理子系统,是与传统的静态分区完全不同的一种磁盘管理方法。如果给它下定义的话,就是一系列用于建立和控制逻辑卷区域的操作系统命令、库函数和其它工具的集合。 2、物理存储介质(The Physical Media) 系统的存储设备:硬盘或硬盘上的分区,如:/dev/sda、/dev/sda1 等等,是存储系统底层的存储单元。 3、物理卷(PV)

39、:Physical Volume 硬盘分区或从逻辑上与硬盘分区具有同样功能的设备(如 RAID),是 LVM 的基本存储逻辑块,和基本的物理存储介质(如分区、磁盘等)不同的是,其中包含有 LVM 管理参数。 4、卷组(VG):Volume Group LVM 中的最高抽象层,由一个或多个物理卷组成。可以在卷组上创建一个或多个逻辑卷。,LVM相关概念(续),5、逻辑卷(LV):Logical Volume 逻辑卷(LV)在卷组上建立,相当于非 LVM 系统中的分区,可以在其上创建文件系统,如/home或者/var等。 6、物理块(PE):Physical Extent 每一个物理卷被划分为大小相

40、等的称为 PE(Physical Extents)的基本单元,具有唯一编号的 PE 是可以被 LVM 寻址的最小单元。PE 的大小是可配置的,默认为4MB。 7、逻辑块(LE):Logical Extent 逻辑卷也被划分为被称为 LE(Logical Extents)的可被寻址的基本单位。在同一个卷组中,LE 的大小和 PE 是相同的,并且一一对应。 8、VGDA(卷组描述符区域) 和非 LVM 系统将包含分区信息的元数据保存在位于分区起始位置的分区表中一样,逻辑卷以及卷组相关的元数据被保存在位于物理卷起始处的 VGDA 中。VGDA 包括以下内容:PV 描述符、VG 描述符、LV 描述符、

41、和一些 PE 描述符。,LVM各部分的关系图,图5-20 LVM逻辑结构图,LVM的配置实例,创建逻辑卷通常包括如下步骤: 创建分区 创建物理卷 创建卷组 激活卷组 创建逻辑卷 创建文件系统,LVM的配置实例(续),【例】利用/dev/sdb、/dev/sdc和/dev/sdd这三块磁盘创建一个卷组,再在卷组上创建两个逻辑卷,并指定将其中一个逻辑卷的映射模式为条带映射,实现的步骤如下:,LVM的配置实例(续),格式化硬盘 首先需要使用fdisk等相关硬盘分区工具格式化/dev/sdb、/dev/sdc、/dev/sdd等三块硬盘,并将分区类型设置为“Linux LVM”(即十六进制的“8e”)

42、,步骤请参考本章5.1.2节。 分区后使用fdisk命令查看结果如图5-21所示。,图5-21 使用fdisk对硬盘进行分区,LVM的配置实例(续),创建物理卷 创建物理卷的命令是“pvcreate”,该命令可以将需要添加到卷组的分区或磁盘创建为物理卷。操作如下: rootCandy #pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 Physical volume /dev/sdb1 successfully created Physical volume /dev/sdc1 successfully created Physical volume /dev/sd

43、d1 successfully created,LVM的配置实例(续),创建卷组 创建卷组的命令为“vgcreate”,将使用“pvcreate”建立的物理卷创建为一个完整的卷组,命令如下: rootCandy #vgcreate vgtest /dev/sdb1 /dev/sdc1 /dev/sdd1 Volume group vgtest successfully created 其中vgcreate命令第一个参数是指定该卷组的名为“vgtest”,该名称可以根据需要随便定义,后面接添加到该卷组的物理卷。同时在使用vgcreate在创建卷组时,还可以指定PE的大小,需要加上-s参数来实现,

44、PE大小范围为8KB 到 16GB,并且必须总是2的倍数。,LVM的配置实例(续),创建逻辑卷 创建完卷组后,现在就可通过“lvcreate”命令来创建逻辑卷了,同时在创建逻辑卷的时候,还可以指定逻辑块与物理块映射的模式,逻辑卷的映射模式共有如下两种: 线性模式DD按照顺序把一定范围内的物理块与逻辑块映射,这也是默认的映射方式。例如,把逻辑卷中125的LE映射到PV1,把2650的LE映射到PV2上。 条带模式DD将把逻辑块以条带的形式映射到不同的物理卷中,这种方式与前面讲到的RAID0有些类似,这种方式可以提高逻辑卷读写的性能。例如,将逻辑卷的LE1映射为PV1的PE1,LE2映射为PV2的

45、PE1,LE3映射为PV3的PE1。 那么创建逻辑卷的操作如下: rootCandy #lvcreate -i 3 -I 4 -L 180M -n lvtest1 vgtest Using default stripesize 64.00 KB Logical volume lvtest1 created,LVM的配置实例(续),创建文件系统 在逻辑卷上创建文件系统和在分区上创建文件系统方法是一样,例如,在逻辑卷上创建ext3格式的文件系统,命令如下: rootCandy # mkfs.ext3 /dev/vgtest/lvtest1 rootCandy #mkfs.ext3 /dev/vgt

46、est/lvtest2 以上就是在Linux下创建逻辑卷的整个步骤。,LVM的维护,在LVM的日常维护工作中,通常会需要对逻辑卷扩容、添加新的物理卷等操作,下面将结合以上实例中所创建的逻辑卷来介绍LVM常用的管理操作。,激活卷组,卷组若不被激活,卷组和逻辑卷是不能被访问的,在LVM2里创建的卷组默认是激活的,那么手动激活卷组的命令是: rootCandy # vgchange -ay vgtest 2 logical volume(s) in volume group vgtest now active 其中“-a”用于设置指定的卷组是否可用,参数“y”表示激活卷组,若设置为“n”则表示暂停卷

47、组使用。,为卷组增加新的物理卷,当卷组空间不足时,可以加入新的物理卷来扩大卷组容量,这时可用“vgextend”命令来实现,如下: rootCandy #vgextend vgtest /dev/sde1 Volume group vgtest successfully extended 其中“/dev/sde1“是新增的物理卷,前提是该设备已经使用“pvcreate”进行了初始化了。,从卷组中移除物理卷,要从一个卷组中移除一个物理卷,首先要确认要移除的物理卷没有被任何逻辑卷正在使用,通过“pvdisplay”命令可查看到该物理卷信息,如下图5-24所示:,图5-24 显示/dev/sde1的情况,在物理卷间转移数据,当发现逻辑卷下的某个磁盘有错误,或有其它需求要转移其中物理卷的数据时(如,更换大容量或更高速的物理设备),那么可通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论