当前位置: 首页 > 科技观察

Linux目录结构、Linux分区大小、挂载点以及如何分区

时间:2023-03-15 23:50:38 科技观察

1、关于硬盘类型、物理几何、硬盘容量、分区大小计算;1、硬盘类型和物理几何硬盘的类型主要有SCSI和IDE,还有现在流行的SATA等;任何一种硬盘的生产都必须有一定的标准;随着相应标准的升级,硬盘生产技术也在升级;例如,SCSI标准经历了SCSI-1、SCSI-2、SCSI-3;其中,我们在服务器网站上经常看到的Ultral-160是基于SCSI-3标准的;IDE遵循ATA标准,目前流行的SATA是ATA标准的升级版;IDE是并口设备,SATA是串口,SATA的发展目的是为了替代IDE;硬盘的物理几何结构由磁盘、磁盘表面、柱面和扇区组成。硬盘由若干个盘片叠加在一起形成一个圆柱面。;每个圆盘都有上下表面;磁头与磁盘表面接触,以便读取数据;2、硬盘容量和分区大小的算法;wecanfindthefollowinginformationthroughfdsik-l:Disk/dev/hda:80.0GB,80026361856bytes255heads,63sectors/track,9729cylindersUnits=cylindersof16065*512=8225280bytesDeviceBootStartEndBlocksIdSystem/dev/hda1*176561448317HPFS/NTFS/dev/hda2766280516386300cW95FAT32(LBA)/dev/hda328069729556170305Extended/dev/hda5280638258193118+83Linux/dev/hda6382651001024140683Linux/dev/hda751015198787153+82Linuxswap/Solaris/dev/hda8519966571171938683Linux/dev/hda9665877518787523+83Linux/dev/hda107752972915888253+83Linuxwhereheadsaredisksurfaces;扇区就是扇区;气缸是气缸;,我们发现这个硬盘有255个盘面,有6个扇区3个,柱面9729个;所以整个硬盘体积的换算公式应该是:磁面数×扇区数×每个扇区的大小512×柱面数=硬盘体积(单位字节)所以在这个例子中,磁盘的大小应该计算如下:255x63x512x9729=80023749120bytes注:由于硬盘厂商和操作系统换算不一样,硬盘厂商换算成十进制,而操作系统使用二进制conversion,所以在转换为M或者G的时候,不同算法的结果是不一样的;所以我们的硬盘有时标为80G,但在操作系统中却少了几个M;上例中,硬盘厂商算法与操作系统的算术比较:硬盘厂商:80023749120bytes=80023749.120K=80023.749120M(换算成大单位,每次除以1000)操作系统:80023749120bytes=78148192.5K=76316.594238281M(每次换算成大单位,取1024)我们在查看分区大小时,可以使用厂商提供的算法简单计算出分区的大小;将小数点前移六位,得到以G表示的尺寸;例如hda1的大小约为6.144831G;2、关于硬盘分区标准和合理的分区结构;1、硬盘分区标准硬盘分区由主分区、扩展分区和逻辑分区组成;所以我们在对硬盘进行分区的时候一定要遵循这个标准;主分区(包括扩展分区)***个数为4个,主分区(包括扩展分区)的个数由硬盘的主引导记录MBR(MasterBootRecorder)决定,MBR存放引导管理程序(GRUB、LILO、NTLOARDER等)和分区表记录扩展分区也被认为是主分区;扩展分区可以包含更多的逻辑分区;所以主分区(包括扩展分区)从1到4,逻辑分区从5开始;forexample,thefollowingexample:DeviceBootStartEndBlocksIdSystem/dev/hda1*176561448317HPFS/NTFS/dev/hda2766280516386300cW95FAT32(LBA)/dev/hda328069729556170305Extended/dev/hda5280638258193118+83Linux/dev/hda6382651001024140683Linux/dev/hda751015198787153+82Linuxswap/Solaris/dev/hda8519966571171938683Linux/dev/hda9665877518787523+83Linux/dev/hda107752972915888253+83Linux通过这个例子我们可以看到有3个主分区,hda1-hda3,扩展分区是hda5-hda10;该硬盘没有主分区4,所以不显示主分区hda4;但是逻辑分区不能从4开始,因为那是主分区的位置,大家理解一下;2、硬盘设备(包括移动存储设备)在Linux或其他类Unix系统中的表示;IDE硬盘在Linux或其他类Unix系统中一般表示为hd*,例如hda、hdb……,我们可以通过fdisk-l查看;有时你可能只有一个硬盘,但在操作系统中看到hdb,这与硬盘的跳线有关;另外,hdc多半是指光驱设备;如果您有两个硬盘驱动器,则主要是hda和hdb。这方面说多了也没用,不如用fdisk-l;SCSI和SATA硬盘在Linux中通常表示为sd*,如sda、sdb......使用fdisk-l移动存储设备在linux中表示为sd*,如sda、sdb...以fdisk-l为准。算作主分区;存在以下情况:1)分区结构之一:四个主分区,无扩展分区;[初级|分区1][主|分区2][主|分区3][主|partition4]在这种情况下,如果你想在一个磁盘上划分五个以上的分区,这是行不通的;三个主分区和一个扩展分区;[初级|分区1][主|分区2][主|partition3][Extendedpartition]|[logic|partition5][logic|partition6][logic|partition7][logic|partition8]...这种情况可行,partition的自由度比较大;partition也是不受约束的,可以分成5个以上的partition;这只是一个例子;2)最合理的分区方式;最合理的分区结构:主分区在前,扩展分区在后,然后在扩展分区Partition中进行逻辑划分;主分区数+扩展分区数控制在4个以内;比如下面的分区比较好;[初级|分区1][主|分区2][主要|分区3][扩展分区]|[逻辑|分区5][逻辑|分区6][逻辑|分区7][逻辑|分区8]......[主|分区1][主|分区2][扩展分区]|[逻辑|分区5][逻辑|分区6][逻辑|分区7][逻辑|分区8]......[主|分区1][扩展分区]|[逻辑|分区5][逻辑|分区6][Logical|Partition7][Logical|Partition8]......最不合理的分区结构:主分区包围扩展分区;例如以下;[初级|分区1][主|分区2][扩展分区][primary|partition4][空的未分区空间]|[logical|partition5][logical|partition6][logical|partition7][logical|partition8]......so[primary|partition2]和[primary|之间的[extendedpartition]partition4]是免费的,但是[primary|之后的[blankunpartitionedspace]呢?分区4]?除非主分区4在扩展分区之后被充分利用,否则你不可能在主分区4之后再分分区,更不可能分逻辑分区;面积标准,但这种主分区包围扩展分区的分区方式不可取;我们按照这个题目来检查一下我们的例子,是否符合这个标准?LBA)/dev/hda328069729556170305Extended/dev/hda5280638258193118+83Linux/dev/hda6382651001024140683Linux/dev/hda751015198787153+82Linuxswap/Solaris/dev/hda8519966571171938683Linux/dev/hda9665877518787523+83Linux/dev/hda107752972915888253+83Linux接下来介绍Linux常用分区挂载点常识以及桌面和服务器分区挂载点的推荐配置。当然,这个配置是天元自己写的。某个挂载点应该扩容哪类服务,我们一起来讨论一下。至于独立不独立,就看个人了。一、Linux分区挂载点介绍Linux分区挂载点介绍。实际根据系统使用情况、硬盘空间配额等因素调整:分区类型介绍说明/boot引导分区一般设置为100M-200M。boot目录包含了操作系统的内核和系统启动过程中要用到的文件。/root分区所有没有指定挂载点的目录都会放在这个挂载点下。/home用户目录一般每个用户100M左右,特殊用途,如放大文件,也可以加G。分区大小取决于有多少用户。对于多人使用的电脑,建议将/home分开,它也可以控制普通用户的权限,比如限制磁盘配额,为用户或用户组访问用户权限。/tmp临时文件一般设置为1-5G,方便加载ISO镜像文件,对于多用户系统或网络服务器也需要独立挂载。临时文件目录也是最常出问题的目录之一。/usr文件系统一般设置为3-15G,用户安装的大部分软件程序都在这里。就像Windows目录和ProgramFiles目录一样。许多Linux家族系统有时单独使用/usr/local作为挂载点。/var变量数据目录包含系统运行时变化的数据。通常这些数据所在目录的大小经常变化,系统日志记录也在/var/log下。一般多用户系统或网络服务器都需要建立这个分区。设置这个分区对于系统日志的维护很有帮助。一般大小设置为2-3G,硬盘剩余空间也可以划分为var。/srv系统服务目录用于存放service服务启动所需的文件和数据目录,不经常更改。/opt附加应用程序存储可选的安装文件。个人一般把自己下载的软件资料存放在里面,比如Office,QQ等。swapswap分区一般是内存的2倍大小,最多可以指定2G。以下是其他常用的分区挂载点。/bin二进制可执行目录存放二进制可执行程序。转到程序所在的文件夹。/sbin系统管理员命令存放目录,存放标准系统管理员文件/dev存放设备文件,驱动文件等...不多介绍了...当然上面这么多挂载点,其实并没有比较每个目录单独挂载,我们只需要根据自己的实际需要挂载个别目录即可,这样系统结构看起来会精简很多。一般来说,Linux系统中最少有两个挂载点,一个是根挂载点/,一个是swap。虽然swap也可以用其他类似的方式代替,但是从使用的角度来说,天元认为没有必要。单独为swap设置挂载点似乎更能支持Linux系统的标准化。二、Linux系统桌面和服务器分区推荐方案下面以在80G独立硬盘上安装Ubuntu为例,列出了一个简单的分区方案。1、普通桌面用户推荐分区方案(例:80G桌面用户):2、服务器用户推荐分区方案1(例:80GWEB服务器用户,用户程序和系统程序共享usr):2、推荐分区方案2服务器用户(例如:80GWEB服务器用户,用户程序和系统程序分别使用opt和usr):分区方案要点:——大型数据库一般需要增加/usr挂载点——多用户、下载类、多存储文件等应扩大/home挂载点-文件较小,用户应多注意/tmp和/var挂载点的大小