老男孩运维教育基础章节-磁盘管理弹性调整_第1页
老男孩运维教育基础章节-磁盘管理弹性调整_第2页
老男孩运维教育基础章节-磁盘管理弹性调整_第3页
老男孩运维教育基础章节-磁盘管理弹性调整_第4页
老男孩运维教育基础章节-磁盘管理弹性调整_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

第4章.运础练习测验题 鸡汤部 学习方法部 口述题目部 必知必会知 命令操作部 创建一 在/data下面创建文件 为oldboy.txt增加内容"Iamstudying 把/data移动到 下 进入 下的 退出到上一 删除 (原来在 根据文件内容输出指定数据信 利用一条命令创建多 文件信息覆盖操作不提示信 只查看文件中的指定行号的字符内 文件数据内容替换操作实 附录一.常用基础操作总 常用命令总结 常用快捷方式 特殊字符说明 第第14章Linux系统LVM逻辑卷管理14.114.1LVM逻辑卷管理介绍LVM是LogicalVolumeManager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由HeinzMauelshagen在Linux2.4内核上实现,目前版本为:稳定版1.0.5,开发版1.1.0-rc2,以及LVM2开发版。Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小,即动态调整磁盘容量,从而提高磁盘管理的灵活性。14.214.2LVM逻辑卷管理详述LVM(LogicalVolumeManager)逻辑卷管理是在Linux2.4内核以上实现的磁盘管理技术。它是Linux环境下对磁盘分区进行管理的一种机制。现在不仅仅是Linux系统上可以使用LVM这种磁盘管理机制,对于其它的类UNIX操作系统,以及windows操作系统都有类似与LVM这种磁盘管理软件。LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接文件系统,从而对底层的物理硬盘进行,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上次服务的是以逻辑卷的方式。14.314.3LVM逻辑卷特点说明14.3.1LVM逻辑卷优点说明可以在系统运行的状态下动态的扩展文件系统的大小。在Linux操作系统中我们的磁盘管理机制和Windows上的都差不多,绝大多数都是使用MBR(MasterBootRecorder)都是通过先对一个硬盘进行分区,然后再将该分区进行文件系统的格式化,在Linux系统中如果要使用该分区就将其挂载上去即可,windows的话其实底层也就是自动将所有的分区挂载好,然后我们就可以对该分区进行使用了。可这样做的话会带来很多问题,比如我们使用的一个分区所剩空间大小已经不够使用了,这个时候我们没法对分区进行扩充,我们只能通过增加硬盘,然后在新的硬盘上创建分区,对分区进行格式化,然后将之前分区的所有东西都拷贝到新的分区里面才行。但是新增加的硬盘是作为独立的文件系统存在的,原有的文件系统并没有得到任何的扩充,上层应用只能到一个文件系统。这样的方式对个人的电脑来说可能还能接受,但是如果对于生产环境下的服务器来说,这是不可接受的。因为如果要把一个分区的内容都拷贝到另一个分区上去,势必要首先卸载掉之前的那个分区,然后再对整个分区进行拷贝,如果服务器上运行着一个重要的服务,要求是7*24小时运行正常的,那么卸载掉分区这是不可,同时如果该分区保存的内容非常非常的多,那么在对分区进行转移时时间可能会耗费很久,所以,这个时候我们就会受到传统磁盘管理的限制,因为其不能够进行动态的磁盘管理。因此,为了解决这个问题,LVM技术就诞生了!这也是LVM最大的优点。文件系统可以跨多个磁盘,因此文件系统大小不会受物理磁盘的限制。可以增加新的磁盘到LVM的池中可以以镜像的方式冗余重要的数据到多个物理磁盘。可以方便的导出整个卷组到另外一台机器。14.3.214.3.2LVM逻辑卷缺点说明在从卷组中移除一个磁盘的时候必须使用vgreduce命令(这个命令要求root权限,并且不允许在快照卷组中使用。当卷组中的一个磁盘损坏时,整个卷组都会受到影响。因为加入了额外的操作,存贮性能受到影响。14.3.314.3.3LVM逻辑卷14-1逻辑卷概念示意图PE(PhysicalExtend):物理区域PV中可以用于分配的最小单元,可以在创建PV的时候制定(默认为4MB,如1M,2M,4M,8M,32M,64M…组成同一VG中所有PV的PE大小应该相同。14-2逻辑卷PE念示意图PV(PhysicalVolume):物理卷处于LVM最底层,可以是物理硬盘或者分区,整个硬盘,或使用fdisk等工具建立的普通分区,包括许多默认4MB大小的PE(PhysicalExtent,基本单元。14-3逻辑卷PV念示意图VG(VolumeGroup)建立在PV之上,可以含有一个到多个PV,一个或多个物理卷组合而成的整体。14-4逻辑卷VG念示意图LV(LogicalVolume):逻辑卷建立在VG之上,相当于原来分区的概念,不过大小可以动态改变。从卷组中分割出的一块空间,用于建立文件系统。14-5逻辑卷LV念示意图14.3.114.3.1LVM逻辑卷操作命令序号功能PV物理卷命令VG卷组命令LV逻辑卷命令1扫描功能(2建立功能(3查询功能(dispvdisvgdislvdis4删除功能(5扩容功能(6缩容功能(14-1LVM辑卷管理命令汇总14.414.4LVM逻辑卷应用实战LVM逻辑卷配置部署过程推荐:14.4.114.4.1LVM逻辑卷实战环境背景公司准备在Internet中搭建邮件服务器(RHEL6系统平台面向各地的员工及部分VIP客户提供电子邮箱空间。由于用户数量众多邮件需要大量的空间考虑到动态扩容的需要计划增加两块SCSI硬盘并构建LVM逻辑卷(挂载到“/mailbox” 下)专门用于存放邮件数据。14.4.214.4.2LVM逻辑卷实战创建过程磁盘创建分区过程首先要创建两个分区为接下来的LVM做准备,在这里我添加了一块空硬盘sdb,在上面创建了两个分区sdb1和sdb2各500M。进行磁盘分区操作过程:##执行fdisk命令创建出两个分区[root@oldboyedu~]#fdisk/dev/sdbetofdisk(util-linux2.23.2).Changeswillremaininmemoryonly,untilyoudecidetowritethem.Becarefulbeforeusingthewritecommand.DevicedoesnotcontainarecognizedpartitionBuildinganewDOSdisklabelwithdiskidentifierCommand(mforhelp): 创建新的分区Partition primary(0primary,0extended,4 Select(defaultp): 创建新的主分区Partitionnumber(1-4,default1):1 创建新的主分区/dev/sdb1分区大小500MFirstsector(2048- ,default2048):UsingdefaultvalueLastsector,+sectorsor+size{K,M,G}(2048- ,default ):+500MPartition1oftypeLinuxandofsize500MiBissetCommand(mforhelp):nPartitiontype: primary(1primary,0extended, 创建新的分区 Select(defaultp): 创建新的主分区Partitionnumber(2-4,default2):2 创建新的主分区/dev/sdb1分区大小500MFirstsector( ,default UsingdefaultLastsector,+sectorsor+size{K,M,G}( ,default ):+500MPartition2oftypeLinuxandofsize500MiBissetCommand(mforhelp): 显示分区好信息Disk/dev/sdb:8589MB, Units=sectorsof1*512=512bytesSectorsize(logical/physical):512bytes/512bytesI/Osize(minimum/optimal):512bytes/512bytesDisklabeltype:dosDiskidentifier:Device Command(mforhelp): 保存当前配置信息ThepartitiontablehasbeenCallingioctl()tore-readpartitionSyncing确认磁盘分区操作成功:[root@oldboyedu[root@oldboyedu~]#llbrw-brw-rw----.1rootdisk8,16 123:25brw-rw----.1rootdisk8,17 123:25brw-rw----.1rootdisk8,18 123:25逻辑管理创建PV过程对分好的区进行PV创建操作[root@oldboyedu[root@oldboyedu~]#pvcreate/dev/sdb1Physicalvolume"/dev/sdb1"successfullycreated./dev/sdb1已创建完成PV物理卷Physicalvolume"/dev/sdb2"successfullycreated./dev/sdb1已创建完成PV物理卷说明:利用lvm逻辑卷管理执行相关命令,需要先安装lvm软件程序包lvm2创建完后我们可以用pvs查看或者pvdisy查看详细信[root@oldboyedu[root@oldboyedu~]#VG AttrPlvm2-- 500.00mlvm2-- 500.00m[root@oldboyedu~]# "/dev/sdb1"isanewphysicalvolumeof"500.00---NEWPhysicalvolume--PVVGNamePVSizePESizeTotalPEAllocatedPV500.00000utmA01-YiDk-ZKk2-uIX4-OLVd-UFPV-"/dev/sdb2"isanewphysicalvolumeof"500.00---NEWPhysicalvolume--PVVGNamePVSizePESizeTotalPEAllocatedPV500.000008xc0lu-CslB-PJsd-LNnI-BJa0-8PYH-逻辑管理创建VG过程使用vgcreate命令创建一个VG组,并将创建的两个PV加入VG[root@oldboyedu[root@oldboyedu~]#vgcreatevg1/dev/sdb1Volumegroup"vg1"successfully /dev/sdb1已创建完成PV物理卷创建完后我们可以用vgs查看或者vgdisy查看详细信[root@oldboyedu[root@oldboyedu~]# #PV#LV#SN 0wz--n-992.00m[root@oldboyedu~]# ---Volumegroup--VGSystemIDMetadataAreasMetadataSequenceNoVGAccessVGStatusMAXLVCurLVOpenLVMaxPVCurPVActPVVGSizePESizeTotalPEAllocPE/PE/VG2100022992.004.000/248/992.00P9YfEY-8vOt-MTYT-ah1u-s2uK-6qOX-vgdisy后跟卷组名可以只查看这个卷组的详细信息不跟卷组名是查看所有卷组的详细信息。这里我们看到我们创好的vg卷组PE大小为4MiB,这是PE的默认大小,PE是卷组的最小单位,我们也可以用-s参数来修改,不过这只能在创建卷组时使用,一旦卷组创建成功是没法再去修改PE大小的。逻辑管理创建LV过程使用lvcreate命令创建一个LV,是从指定VG中创建一个逻辑卷[root@oldboyedu[root@oldboyedu~]#lvcreate-L200M-nlv1Logicalvolume"lv1"说明:命令参数解释 ---参数后跟的是你要设定的逻辑卷大小,这个大小必须是是你设定的PE值的整数倍,如果不是它会给你分一个比你设定的大一点的空间,也就是向上取整数倍空间。---弊端就是有可能用不完vg里面的空间---后面跟的就是PE数量,像上个步骤中我们划分的卷组PE值为4MiB,数量为248,也可以使用-l跟数量,那划分的逻辑卷大小就为4*划分的数量。弊端是需要计算,但是不会出现用不完vg的空间的情况。---参数后跟逻辑卷名字,是对创建的逻辑卷命名,创建完后我们可以用lvs查看或者lvdisy查看详细信[root@oldboyedu[root@oldboyedu~]# PoolOrigin MoveLogCpy%SyncConvert vg1-wi-a-----[root@oldboyedu~]# ---Logicalvolume--LV LV VG LV Gi72ib-zhO0-4LHl-7w3X-fgId-heJw-LVWrite LVCreationhost,time ,2019-08-0200:20:36LVStatus # LV 200.00Current Readahead -currentlyset Block 逻辑管理设置挂载 过先使用mkfs命令对创建的卷组进行格式化操作:[root@oldboyedu[root@oldboyedu~]#mkfs.ext4/dev/vg1/lv1mke2fs1.42.9(28-Dec-2013)文件系 OStype:块大小=1024分块大小=1024Stride=0blocks,Stripewidth=051200inodes,20480010240blocks forthesuper第一个数据块umfilesystem25block8192blockspergroup,8192fragmentsper20482048inodesperSuperblockbackupsstoredon8193,24577,40961,57345,Allocatinggrouptables:完成正在写入inode表:完成Creatingjournal(4096blocks):完成Writingsuperblocksandfilesystemaccountinginformation:完成Linux下的文件系统需要被挂载后才能使用,创建一个空 ,再把创建好的逻辑卷挂载上就可以使用了。[root@oldboyedu[root@oldboyedu~]#mkdir/disk1[root@oldboyedu~]#mount/dev/vg1/lv1/disk1/[root@oldboyedu~]#df-h文件系 容 已 可 已用%挂载点/dev/mapper/vg1- 说明:如果想实现开机自动挂载,可以后续编写/etc/rc.local和/etc/fstab文件信息14.4.314.4.3LVM逻辑卷实战调整过程磁盘创建逻辑卷扩容过程LVM的强大之处不只是它可以扩容压缩更重要的是它可以支持扩容但首先要保证VG中有足够的空闲空间。使用lvextend命令来对逻辑卷进行扩容:[root@oldboyedu[root@oldboyedu~]# #PV#LV#SN 0wz--n-992.00m[root@oldboyedu~]#lvextend-L+100MSizeoflogicalvolumevg1/lv1changedfrom200.00MiB(50extents)to300.00MiB(75exteLogicalvolumevg1/lv1successfullyresized.[root@oldboyedu~]#lvscan '/dev/vg1/lv1'[300.00MiB]inherit[root@oldboyedu~]#lvs PoolOrigin MoveLogCpy%Sync vg1-wi-ao----说明:先使用vgs查看VG剩余空间是否充足,然后用-L或-l参数调整lv空间,然后跟上要扩容的逻辑卷- ---后面直接跟容量大小,需要注意+xxx表示增加多少空间,xxx是表示扩容到多少。- ---使挂载的文件系统自动识别扩容的空间,不用命令加载识别需要注意此时文件系统并没有增大,需要执行命令让文件系统识别已经扩容的空间。[root@oldboyedu[root@oldboyedu~]#df-文件系统容 已 可 已用%挂载/dev/mapper/vg1- 1% 未识别扩容空间[root@oldboyedu~]#resize2fs-f/dev/mapper/vg1- 加载识别扩容空间resize2fs1.42.9(28-Dec-Filesystemat/dev/mapper/vg1-lv1ismountedon/disk1;on-lineresizingrequiredold_desc_blocks=2,new_desc_blocks=3Thefilesystemon/dev/mapper/vg1-lv1isnow307200blocks[root@oldboyedu~]#df-文件系 容 已 可用已用%挂载点/dev/mapper/vg1- 1% 已经识别扩容空间说明:其实有更简单的操作,就是在扩容的同时加上-r参数会自动扩展文件系统大小。使用vgextend命令来对逻辑卷组进行扩容:需要首先添加一块新硬盘sdc用于对卷组进行扩容,添加新的PV14-7虚拟主机添加硬盘示意图在虚拟机中这个时候我们通常需要重启,这里我们可以使用:echoecho"---">/sys/class/scsi_host/host0/scan让系统重新扫描SCSI总线来添加设备,因为添加的是SCSI磁盘,所以扫描的是SCSI总线[root@oldboyedu[root@oldboyedu~]#8:32SIZEROTYPE20G将添加好的硬盘格式化为PV,再将新的PV添加到指定的卷组中:[root@oldboyedu[root@oldboyedu~]#pvcreatePhysicalvolume"/dev/sdc"successfully/dev/sdc已创建完成PV物理卷说明:利用lvm逻辑卷管理执行相关命令,需要先安装lvm软件程序包[root@oldboyedu~]#vgextendvg1Volumegroup"vg1"successfully /dev/sdc已扩展完成VG物理卷组[root@oldboyedu~]# #PV#LV#SN 0wz--n- 磁盘创建逻辑卷缩容过程逻辑卷扩容可以操作但是缩减必须是离线执行,需要先卸载已挂载的逻辑卷[root@oldboyedu[root@oldboyedu~]#umount扩容逻辑卷是先扩大逻辑卷再扩大文件系统,而缩小逻辑卷就需要反着来,要先缩小文件系统,再去缩小逻辑卷。[root@oldboyedu[root@oldboyedu~]#e2fsck-f/dev/vg1/lv1e2fsck1.42.9(28-Dec-2013)Pass1:Checkinginodes,blocks,andsizesPass2:CheckingdirectorystructurePass3:CheckingdirectoryconnectivityPass4:CheckingreferencecountsPass5:Checkinggroupsummary/dev/vg1/lv1:11/77824files(0.0%non-contiguous),15987/307200blocks[root@oldboyedu~]#resize2fs/dev/vg1/lv1200Mresize2fs1.42.9(28-Dec-Resizingthefilesystemon/dev/vg1/lv1to204800(1k)blocks.Thefilesystemon/dev/vg1/lv1isnow204800blockslong.说明:缩小文件系统前我们要先对文件系统做个扫描检测,如果我们直接使用resize2fs系统会提示先对文件系统进行检测,这是为了保护缩减文件系统时不对数据损害磁盘文件系统检测完毕之后,对相应逻辑卷大小进行缩容处理:[root@rihongedu[root@rihongedu~]#lvreduce-L200M/dev/vg1/lv1#警告:将活动逻辑卷减少到200.00mibWARNING:Reducingactivelogicalvolumeto200.00#这可能会破坏您的数据#这可能会破坏您的数据(文件系统等THISMAYDESTROYYOURDATA(filesystemetc.)#真的想降低vg1/lv1吗?[是/否]:是Doyoureallywanttoreducevg1/lv1?[y/n]:#逻辑卷vg1/lv1的大小从400.00mib(100区)更改为200.00mib(50区Sizeoflogicalvolumevg1/lv1changedfrom400.00MiB(100extents)to200.00MiB(50ext

温馨提示

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

评论

0/150

提交评论