中标普华Linux系统讲座-贮存空间管理.ppt

上传人:牧羊曲112 文档编号:6534106 上传时间:2023-11-10 格式:PPT 页数:51 大小:499KB
返回 下载 相关 举报
中标普华Linux系统讲座-贮存空间管理.ppt_第1页
第1页 / 共51页
中标普华Linux系统讲座-贮存空间管理.ppt_第2页
第2页 / 共51页
中标普华Linux系统讲座-贮存空间管理.ppt_第3页
第3页 / 共51页
中标普华Linux系统讲座-贮存空间管理.ppt_第4页
第4页 / 共51页
中标普华Linux系统讲座-贮存空间管理.ppt_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《中标普华Linux系统讲座-贮存空间管理.ppt》由会员分享,可在线阅读,更多相关《中标普华Linux系统讲座-贮存空间管理.ppt(51页珍藏版)》请在三一办公上搜索。

1、中标普华Linux系统讲座 存贮空间管理,1、硬盘种类硬盘的种类主要是SCSI、IDE以及现在流行的SATA等;任何一种硬盘的生产都要一定的标准;随着相应的标准的升级,硬盘生产技术也在升级;比如 SCSI标准已经经历了SCSI-1、SCSI-2、SCSI-3;目前经常在服务器网站看到的Ultral-160就是基于SCSI-3标准的;IDE遵循的是ATA标准,而目前流行的SATA,是ATA标准的升级版本;IDE是并口设备,而SATA是串口,SATA的发展目的是替换IDE;2、物理结构硬盘的物理几何结构是由磁盘、磁盘表面、柱面、扇区组成,一个张硬盘内部是由几张碟片叠加在一起,这样形成一个柱体面;每

2、个碟片都有上下表面;磁头和磁盘表面接触从而能读取数据;,硬盘分区常识,3、硬盘容量及分区大小的算法通过fdsik-l 可以发现如下的信息:,硬盘分区常识,其中 heads 是磁盘面;sectors 是扇区;cylinders 是柱面;每个扇区大小是512byte,也就是0.5K;通过上面的例子,我们发现此硬盘有 255个磁盘面,有63个扇区,有9729个柱面;,整个硬盘体积换算公式应该是:硬盘体积(单位bytes)=磁面个数 X 扇区个数 X 每个扇区的大小512(bytes)X 柱面个数在本例中磁盘的大小应该计算如下:255 x 63 x 512 x 9729=80023749120 byt

3、es 提示:由于硬盘生产商和操作系统换算不太一样,所以在换算成M或者G时,不同的算法结果却不一样;所以硬盘有时标出的是80G,但在操作系统下看却少几M。硬盘厂家算法 和 操作系统算数比较:硬盘厂家:80023749120bytes=80023749.120K=80023.749120M(硬盘厂家以10进位制来换算,向大单位换算,每次除以1000)操作系统:80023749120bytes=78148192.5K=76316.594238281M(操作系统以2进位制来换算,向大单位换算,每次除以1024)我们在查看分区大小的时候,可以用生产厂家提供的算法来简单推算分区的大小;把小数点向前移动六位

4、就是以G表示的大小;比如 hda1 的大小约为 6.144831G;,硬盘分区常识,4、硬盘分区方案PC硬盘的最初的分区方案只允许4个分区(基本分区/主分区),实际使用中这太少了,比如有人想装多于4个操作系统(Linux,MS-DOS,OS/2,Minix,FreeBSD,NetBSD,Windows/NT等),或有时一个操作系统有多个分区更好,例如由于速度的原因Linux的交换区最好单独使用自己的分区而不是在主 Linux分区中。为克服这个问题,发明了扩展分区这个方法。允许将基本分区(主分区)分为若干子分区,因而被子分区的基本分区称为扩展分区,其子分区称为逻辑分区,他们的表现类似基本分区,但

5、产生方法不同,他们之间没有速度差别。,硬盘分区常识,5、设备分区规定设备管理 在Linux中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等IDE或SCSI设备也不例外。Linux把各种IDE设备分配了一个由hd前缀组成的文件;而对于各种SCSI设备,则分配了一个由sd前缀组成的文件。例如,第一个IDE设备,Linux就定义为hda;第二个IDE设备就定义为hdb;下面以此类推。而SCSI设备就应该是sda、sdb、sdc等。分区数量 要进行分区就必须针对每一个硬件设备进行操作,这有可能是一块 IDE硬盘 或 SCSI硬盘。对于每一个硬盘(IDE或SCSI)设备,Linux分配了一个1

6、到16的序列号码,这就代表了这块硬盘上面的分区号码。例如,第一个IDE硬盘的第一个分区,在Linux下面映射的就是hda1,第二个分区就称作是hda2。对于SCSI硬盘则是sda1、sda2、sdb1、sdb2等。,硬盘分区常识,各分区的作用 在Linux中规定,每一个硬盘设备最多能有4个主分区(其中包含扩展分区)构成,任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是4个。对于早期的 DOS 和 Windows 2000以前的Windows版本,系统只认一个主分区,可以通过在扩展分区上增加逻辑盘符(逻辑分区)的方法,进一步地细化分区。Linux规定了主分区

7、(或者扩展分区)占用1至16号码中的前4个号码。以第一个IDE硬盘(had)为例说明,主分区(或者扩展分区)占用了hda1、hda2、hda3、hda4,而逻辑分区占用了hda5到hda16等12个号码。因此,Linux下面每一个硬盘总共最多有16个分区。,硬盘分区常识,主分区的作用就是计算机用来进行启动操作系统的,因此每一个操作系统的启动(引导)程序,都应该存放在主分区上。这就是主分区和扩展分区及逻辑分区的最大区别。我们在指定安装引导Linux的boot loader的时候,都要指定在主分区上,就是最好的例证。对于逻辑分区,Linux规定它们必须建立在扩展分区上(在DOS和Windows系统

8、上也是如此规定),而不是主分区上。因此,我们可以看到扩展分区能够提供更加灵活的分区模式,但不能用来作为操作系统的引导。,硬盘分区常识,6、分区指标对于每一个Linux分区来讲,分区的大小和分区的类型是最主要的指标。分区容量的大小很容易理解,但是分区的类型就不是那么容易接受了。分区的类型规定了这个分区上面的文件系统的格式。Linux支持多种的文件系统格式,其中包含了我们熟悉的FAT32、FAT16、NTFS、HP-UX,以及各种Linux特有的Linux Native和Linux Swap分区类型。在Linux系统中,可以通过分区类型号码来区别这些不同类型的分区。各种类型号码在介绍fdisk的使

9、用方式的时候将会介绍。,硬盘分区常识,7、合理的规划分区 最合理的分区结构:主分区在前,扩展分区在后,然后在扩展分区中划分逻辑分区;主分区的个数+扩展分区个数要控制在四个之内;比如下面的分区结构是比较好的:主|分区1 主|分区2 主|分区3 扩展分区 逻辑|分区5 逻辑|分区6 逻辑|分区7.主|分区1 主|分区2 扩展分区 逻辑|分区5 逻辑|分区6 逻辑|分区7.主|分区1 扩展分区 逻辑|分区5 逻辑|分区6 逻辑|分区7.,硬盘分区常识,最不合理的分区结构:主分区包围扩展分区;比如下面的分区结构:主|分区1主|分区2扩展分区主|分区4空白未分区空间 逻辑|分区5 逻辑|分区6 逻辑|分

10、区7.这样 主|分区2 和 主|分区4 之间的 扩展分区 是有自由度,但主|分区4后的空白未分区空间怎么办?除非把主分区4完全利用扩展分区后的空间,否则您想在主分区4后再划一个分区是不可能的,划分逻辑分区更不可能;虽然类似此种办法也符合一个磁盘四个主分区的标准,但这样主分区包围扩展分区的分区方法实在不可取;,硬盘分区常识,fdisk 是一款功能强大的分区工具,也是目前在Unix类操作系统中最流行的工具之一能够划分磁盘成为若干个分区能够为每个分区指定该分区的文件系统比如linux、fat32、linux、linux swap、fat16 以及其它类Unix类操作系统的文件系统等;当然我们用fdi

11、sk 对磁盘操作分区时,并不是一个终点,我们还要按所需要的文件系统对分区进行格式化;这样一个分区才能使用;,FDISK讲解FDISK简介,以root用户,使用fdisk命令对安装操作系统时预留的裸设备空间,按照应用空间大小要求进行磁盘线性分区:#fdiskUsage:fdisk-l-b SSZ-u deviceE.g.:fdisk/dev/hda(for the first IDE disk)or:fdisk/dev/sdc(for the third SCSI disk)or:fdisk/dev/eda(for the first PS/2 ESDI drive)or:fdisk/dev/r

12、d/c0d0 or:fdisk/dev/ida/c0d0(for RAID devices)根据以上提示选择设备类型,FDISK讲解使用FDISK,1、fdisk 操作硬盘的命令格式#fdisk 设备比如我们通过fdisk-l得知设备/dev/hda或者/dev/sda;我们如果想此设备上操作添加或者删除一些分区,可以用#fdisk/dev/hda或#fdisk/dev/sda2、fdisk参数说明#fdisk/dev/hda用户通过提示键入“m”,可以显示fdisk各个指令参数的说明。,FDISK讲解使用FDISK,Command(m for help):mCommand action a

13、toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun diskla

14、bel t change a partitions system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality(experts only),FDISK讲解使用FDISK,3、列出当前操作硬盘的分区情况使用fdisk指令:pCommand(m for help):pDisk/dev/hda:81.9 GB,81964302336 bytes255 heads,63 sectors/track,9964 cylinde

15、rsUnits=cylinders of 16065*512=8225280 bytes Device Boot Start End Blocks Id System/dev/hda1*1 38 305203+83 Linux/dev/hda2 39 3862 30716280 83 Linux/dev/hda3 3863 5137 10241437+83 Linux/dev/hda4 5138 9964 38772877+5 Extended/dev/hda5 5138 5774 5116671 83 Linux/dev/hda6 5775 5905 1052226 82 Linux swa

16、p/dev/hda7 5906 6028 987966 83 Linux,FDISK讲解使用FDISK,4、删除当前操作硬盘的一个分区使用fdisk指令:dCommand(m for help):dPartition number(1-7):7-删除 hda7,就在这里输入7 Command(m for help):q-退出分区管理或Command(m for help):w-保存分区管理结果警告:删除分区时要小心,请看好分区的序号,如果您删除了扩展分区,扩展分区之下的逻辑分区都会删除;所以操作时一定要小心;在分区操作错了之时,用q不保存退出,千万不要输入w保存退出;,FDISK讲解使用FDI

17、SK,5、在当前操作硬盘的添加一个分区使用fdisk指令:nCommand(m for help):pDisk/dev/sda:1035 MB,1035730944 bytes256 heads,63 sectors/track,125 cylindersUnits=cylinders of 16128*512=8257536 bytesDevice Boot Start End Blocks Id System/dev/sda1 1 25 201568+c W95 FAT32(LBA)/dev/sda2 26 125 806400 5 Extended/dev/sda5 26 50 2015

18、68+83 LinuxCommand(m for help):n-增加一个分区Command action-选择新分区类型(e:扩展/l:逻辑,p:基本)l logical(5 or over)-增加逻辑分区,已有sda5分区编号要大于5p primary partition(1-4)p-在这里输入p,进入划分基本分区阶段Partition number(1-4):3-主分区编号1和2都被占用,则只能从3开始No free sectors available-失败 问题:为什么失败?,FDISK讲解使用FDISK,我们注意到扩展分区的End的值,并且设备容量摘要信息中有125cylinders

19、,显然主分区+扩展分区把整个磁盘都用光了。所以我们只能增加逻辑分区了。需要提醒注意的是,如果硬盘上有扩展分区,就只能增加逻辑分区,不能增加扩展分区了。Command(m for help):n Command action l logical(5 or over)6 p primary partition(1-4)l-在这里输入l,进入划分逻辑分区阶段 First cylinder(51-125,default 51):-默认,回车注:这个就是分区的Start 值;这里最好直接按回车,如果您输入了一个非默认的数字,会造成空间浪费;Using default value 51 Last cyli

20、nder or+size or+sizeM or+sizeK(51-125,default 125):+200M Command(m for help):w-保存分区管理结果,FDISK讲解使用FDISK,6、指定分区类型使用fdisk指令:tCommand(m for help):t-在这里输入t,进入分区类型设定阶段Partition number(1-6):6-就是sda6Hex code(type L to list codes):L-在这里输入L,查看分区类型的id了=Hex code(type L to list codes):b-在这里输入分区类型的IDChanged syste

21、m type of partition 6 to b(W95 FAT32)-管理结果,FDISK讲解使用FDISK,常见格式化工具:mkfs.bfs,mkfs.ext2,mkfs.jfs,mkfs.msdos,mkfs.vfat,mkfs.cramfs,mkfs.ext3 mkfs.minix,mkfs.reiserfs,mkfs.xfs等来格式化分区。比如要格式化sda6为ext3文件系统,则输入;#mkfs.ext3/dev/sda6应用mount命令加载分区如果要加载sda6到目前系统来存取文件,首先得建一个挂载目录如/mnt/sda6;#mkdir/mnt/sda6#mount/dev

22、/sda6/mnt/sda6#df-lhFilesystem容量 已用 可用 已用%挂载点/dev/hda811G 8.4G 2.0G 81%/dev/shm236M 0 236M 0%/dev/shm/dev/hda10 16G 6.9G 8.3G 46%/mnt/hda10/dev/sda6191M 5.6M 176M 4%/mnt/sda6这样我们就能进入/mnt/sda6目录存取文件了;具体的权限方法,请参考mount的详细用法,加载分区,一、LVM简介 Linux用户安装Linux操作系统时遇到的一个最常见的难以决定的问题就是如何正确地给评估各分区大小,以分配合适的硬盘空间。而遇到出

23、现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具(比如Patition Magic等),但这都只是暂时解决办法,没有根本解决问题。随着Linux的逻辑盘卷管理LVM(Logical Volume Manager)功能的出现,这些问题都迎刃而解,本文就深入讨论LVM技术,使得用户在无需停机的情况下方便地调整各个分区大小。,LVM讲解LVM简介,LVM是逻辑盘卷管理(Logical Volume Manager)的简称。它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管

24、理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volume group),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logical volumes),并进一步在逻辑卷组上创建文件系统。,LVM讲解LVM简介,管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘,管理员通过LVM就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。,LVM讲解LVM简介,二、

25、LVM基本术语 前面谈到,LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,它提供了一个抽象的盘卷,文件系统是建立在盘卷之上。首先我们讨论以下几个LVM术语:,LVM讲解LVM基本术语,*物理存储介质(The physical media)这里指系统的存储设备:硬盘,如:/dev/hda1、/dev/sda等等,是存储系统最低层的存储单元。*物理卷(PV-Physical Volume)物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数

26、。物理卷无法跨越一个以上驱动器。,LVM讲解LVM基本术语,*卷组(VG-Volume Group)LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。物理卷被合并成逻辑卷组(logical volume group),唯一的例外是/boot分区。/boot分区不能位于逻辑卷组,因为引导装载程序无法读取它。如果你想把/分区放在逻辑卷上,你需要创建一个分开的/boot分区,它不属于卷组的一部分。,LVM讲解LVM基本术语,*逻辑卷(LV-Logical Volume)LVM的逻辑卷类似于非LVM系统中的硬

27、盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。由于物理卷无法跨越多个驱动器,如果你想让逻辑卷组跨越多个驱动器,你就应该在每个驱动器上创建一个或多个物理卷。*物理区域(PE-Physical Extent)每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。,LVM讲解LVM基本术语,*逻辑区域(LE-Logical Extent)逻辑卷也被划分为被称为LE(Logical Extents)的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应

28、。物理卷(PV)被由大小等同的基本单元PE组成。,LVM讲解LVM基本术语,三、LVM基本结构首先可以看到,物理卷(PV)是由大小等同的基本单元PE组成。,LVM讲解LVM基本结构,一个 卷组 是由一个或多个物理卷组成。,从上图可以看到,PE和LE有着一一对应的关系。逻辑卷建立在卷组上。逻辑卷就相当于非LVM系统的磁盘分区,可以在其上创建文件系统。,LVM讲解LVM基本结构,四、创建和管理LVM,首先确定系统中是否安装了lvm工具:,如果命令结果输入类似于上例,那么说明系统已经安装了LVM管理工具;如果命令没有输出则说明没有安装LVM管理工具,则需要从网络下载或者从光盘装LVM工具包。,LVM

29、讲解创建和管理LVM,要创建一个LVM系统,一般需要经过以下步骤:1、创建分区 使用分区工具(如:fdisk等)创建LVM分区,方法和创建其他一般分区的方式是一样的 2、创建物理卷 创建物理卷的命令为pvcreate,利用该命令将希望添加到卷组的所有分区或者磁盘创建为物理卷。将整个磁盘创建为物理卷的命令为:#pvcreate/dev/hdb将单个分区创建为物理卷的命令为:#pvcreate/dev/hda5,LVM讲解创建和管理LVM,3、创建卷组 创建卷组的命令为vgcreate将使用pvcreate建立的物理卷创建为一个完整的卷组:#vgcreate web_document/dev/hd

30、a5/dev/hdb第一个参数是指定该卷组的逻辑名:web_document。后面参数是指定希望添加到该卷组的所有分区和磁盘。,LVM讲解创建和管理LVM,vgcreate在创建卷组 web_document 以外,还设置使用大小为4 MB的PE(默认为4MB),这表示卷组上创建的所有逻辑卷都以 4 MB 为增量单位来进行扩充或缩减。由于内核原因,PE大小决定了逻辑卷的最大大小,4 MB 的PE决定了单个逻辑卷最大容量为 256 GB,若希望使用大于256G的逻辑卷,则创建卷组时指定更大的PE。PE大小范围为8 KB 到 512 MB,并且必须总是 2 的倍数(使用-s指定,具体请参考man

31、vgcreate)。,LVM讲解创建和管理LVM,4、激活卷组 为了立即使用卷组而不是重新启动系统,可以使用vgchange来激活卷组:#vgchange-a y web_document5、添加新的物理卷到卷组中 当系统安装了新的磁盘并创建了新的物理卷,而要将其添加到已有卷组时,就需要使用vgextend命令:#vgextend web_document/dev/hdc1这里/dev/hdc1是新的物理卷。,LVM讲解创建和管理LVM,6、从卷组中删除一个物理卷 要从一个卷组中删除一个物理卷,首先要确认要删除的物理卷没有被任何逻辑卷正在使用,就要使用pvdisplay命令查看一个该物理卷信息

32、:,LVM讲解创建和管理LVM,如果某个物理卷正在被逻辑卷所使用,建议将该物理卷的数据备份到其他地方,然后再删除。删除物理卷的命令为vgreduce:#vgreduce web_document/dev/hda1,7、创建逻辑卷 创建逻辑卷的命令为lvcreate:(参数-L:设定分卷大小 k/K,m/M,g/G,t/T)#lvcreate-L1500M nwww1 web_document该命令就在卷组web_document上创建名字为www1,大小为1500M的逻辑卷,其设备入口即为/dev/web_document/www1(web_document为卷组名,www1为逻辑卷名)。,L

33、VM讲解创建和管理LVM,如果希望创建一个使用全部卷组的逻辑卷,则需要首先察看该卷组的PE数,然后在创建逻辑卷时指定:#vgdisplay web_document|grep Total PE“Total PE 45230(参数-l:设定分卷所含LE/PE的数量)#lvcreate-l 45230 web_document-n www1,LVM讲解创建和管理LVM,8、创建文件系统 例如:创建reiserfs文件系统#mkreiserfs/dev/web_document/www1 创建了文件系统以后,就可以加载并使用它:#mkdir/data/wwwroot#mount/dev/web_do

34、cument/www1/data/wwwroot如果希望系统启动时自动加载文件系统,则还需要在/etc/fstab中添加内容:/dev/web_document/www1/data/wwwroot reiserfs defaults 1 2,LVM讲解创建和管理LVM,9、删除一个逻辑卷 删除逻辑卷以前首先需要将其卸载,然后删除:#umount/dev/web_document/www1#lvremove/dev/web_document/www1lvremove-do you really want to remove/dev/web_document/www1?y/n:ylvremove-

35、doing automatic backup of volume group web_document“lvremove-logical volume/dev/web_document/www1 successfully removed,LVM讲解创建和管理LVM,10、扩展逻辑卷大小 LVM提供了方便调整逻辑卷大小的能力,扩展逻辑卷大小的命令是lvextend:#lvextend L4G/dev/web_document/www1(将逻辑卷扩大到4G)lvextend-extending logical volume/dev/web_document/www1 to 4GBlvextend-

36、doing automatic backup of volume group web_documentlvextend-logical volume/dev/web_document/www1 successfully extended上面的命令就实现将逻辑卷www1的大小扩招为4GB。#lvextend-L+1G/dev/web_document/www1(给逻辑卷增加1G)lvextend-extending logical volume/dev/web_document/www1 to 5GBlvextend-doing automatic backup of volume group

37、web_document“lvextend-logical volume/dev/web_document/www1 successfully extended,LVM讲解创建和管理LVM,增加了逻辑卷的容量以后,就需要修改文件系统大小以实现利用扩充的空间。对于使用ext2或ext3文件系统的用户可以考虑使用工具ext2resize/resize2fs。笔者推荐使用reiserfs文件系统来替代ext2或者ext3。因此这里仅仅讨论reiserfs的情况。reiserfs文件系统大小调整工具:resize_reiserfs一般建议最先将文件系统卸载,调整大小后再加载:#umount/dev/w

38、eb_document/www1#resize_reiserfs f/dev/web_document/www1#mount-treiserfs/dev/web_document/www1/data/wwwroot,LVM讲解创建和管理LVM,11、减少逻辑卷大小 使用lvreduce即可实现对逻辑卷的容量,同样需要首先将文件系统卸载:#umount/data/wwwroot#resize_reiserfs-s-2G/dev/web_document/www1#lvreduce-L-2G/dev/web_document/www1#mount-treiserfs/dev/web_documen

39、t/www1/data/wwwroot,LVM讲解创建和管理LVM,五、总结 根据上面的讨论可以看到,LVM具有很好的可伸缩性,使用起来非常方便。可以方便地对卷组、逻辑卷的大小进行调整,更进一步调整文件系统的大小。如果希望了解更多信息,请参考LVM-HOWTO。,LVM讲解创建和管理LVM,裸设备(raw device),1什么叫做裸设备?裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被操作系统通过文件系统来读取的特殊字符设备。它由应用程序负责对它进行读写操作。不经过文件系统的缓冲。2如何辨别裸设备?在类Unix系统的/dev目录下,有许多文件,其中有两个大类:字符设备文件(c)和块

40、设备文件(b)。字符设备特殊文件进行I/O操作不经过操作系统的缓冲区,而块设备特殊文件用来同外设进行定长的包传输。字符特殊文件与外设进行I/O操作时每次只传输一个字符。而对于块设备特殊文件来说,它用了cache机制,在外设和内存之间一次可以传送一整块数据。裸设备使用字符特殊文件。,裸设备(raw device),3使用裸设备的好处 因为使用裸设备避免了I/O再经过操作系统这一层,数据直接从Disk传输到应用程序或系统(例如:Oracle、informix等),所以使用裸设备对于读写频繁的数据库应用来说,可以极大地提高数据库系统的性能。当然,这是以磁盘的I/O非常大,磁盘I/O已经称为系统瓶颈的

41、情况下才成立。如果磁盘读写确实非常频繁,以至于磁盘读写成为系统瓶颈的情况成立,那么采用裸设备确实可以大大提高性能,最大甚至可以提高至40,非常明显。而且,由于使用的是原始分区,没有采用文件系统的管理方式,对于操作系统维护文件系统的开销也都没有了,比如不用再维护I-node,空闲块等,这也能够导致性能的提高。,裸设备(raw device),4如何决定是否应该使用裸设备?判断是否使用裸设备要从以下方面进行考虑:首先,应用程序或系统(如:数据库系统)本身需要已经被比较好的经过了优化。其次,辨别系统中是否存在磁盘读写瓶颈。比如操作系统的vmstat,sar等命令都可以较好的进行鉴别。如果决定采用裸设

42、备,需要磁盘上还有空闲的分区。否则,就要新添磁盘,或者对原有系统重新规划。,5创建裸设备使用fdisk或LVM进行设备分区建立裸设备映射(以root用户进行下述操作)使用raw命令:raw/dev/raw/raw6/dev/sdb6(物理分区)raw/dev/raw/raw8/dev/vg_db/lv_01(逻辑分区)系统重启后,裸设备映射会消失,因此如果想在每次系统启动时都将设备分区绑定到raw device,可将上述语句写入/etc/rc.d/rc.local,或编辑/etc/sysconfig/rawdevices文件,在该文件加入下述格式内容:/dev/raw/raw6/dev/sdb

43、6(物理分区)/dev/raw/raw8/dev/vg_db/lv_01(逻辑分区),裸设备(raw device),绑定设备 以root用户身份进行以下操作:#cd/etc/rc.d/init.d#shrawdevicedsstart#/sbin/chkconfig rawdevices on(执行chkconfig命令确保重新启动时裸设备能被绑定)#chown R 设备用户:用户属组/dev/raw/raw*系统重启后,设备属性将还原,建议在系统启动文件中/etc/rc.d/rc.local加入上述修改设备块属性的语句。注意:使用裸设备文件应注意其属组与权限是否满足进程对I/O设备或文件的属组与权限的要求。建议用户通过文件link的方式使用裸设备。,裸设备(raw device),本章结束,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号