MBR(Master Boot Record)主引导记录扇区:使用位于磁盘的0号扇区(一扇区等于512bytes),来表示整个磁盘的整体分区情况,整个0号扇区:由引导代码、MBR分区表、MBR结束标志3部分构成,一共占用512个bytes。其中引导代码占用446bytes,MBR分区表占用64bytes,MBR结束标志占用2bytes,MBR扇区一共占用512bytes。
3、MBR结束标志:占用最后2个字节,一直为"55AA".
磁道:上图中硬盘被一圈圈分成18等分的同心圆,这些同心圆就是磁道,但打开硬盘,用户不能看到这些,它实际上是被磁头磁化的同心圆.这些磁道是有间隔的,因为磁化单元太近会产生干扰。
扇区:每个磁道中被分成若干等份的区域,扇区是硬盘数据存储的最小单位。
柱面:假如一个硬盘只有上图中的3个磁盘片,每一片中的磁道数是相等的.从外圈开始,这些磁道被分成了0磁道、1磁道、2磁道...具有相同磁道编号的同心圆组成面就称作柱面.为了便于理解,柱面可以看作没有底的铁 桶.从上图可以看出,柱面数就是磁盘上的磁道数,柱面是硬盘分区的最小单位。因此,一个硬盘的容量=柱面*磁头*扇区*512。
簇:扇区是硬盘数据存储的最小单位,但操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻的扇区组合在一起,形成一个簇,然后再对簇进行管理。每个簇可以包括2、4、8、16、32、64个扇区。
磁盘连接的方式
主流的磁盘接口为SATA接口。
SATA/USB/SCSI等磁盘接口都是使用SCSI模块来驱动的,因此这些接口的磁盘设备文件名都是/dev/sd[a-p]的格式。顺序需要根据Linux内核检测到磁盘的顺序来决定。
比如PC上面有两个SATA磁盘以及一个USB磁盘,而主板上面有6个SATA的插槽。这两个SATA磁盘分别安插在转的SATA1 SATA5接口上,那么
1.SATA1插槽上的文件名 /dev/sda
2.SATA2插槽上的文件名 /dev/sdb
3.USB磁盘(开机完成后才被系统识别) /dev/sdc
二、分区
无论是Windows操作系统,还是Linux操作系统,每个分区均可以有不同的文件系统,如FAT32、NTFS、Yaffs2等。
为什么要分区
防止数据丢失:如果系统只有一个分区,那么这个分区损坏,用户将会丢失所的有数据。
增加磁盘空间使用效率:可以用不同的区块大小来格式化分区,如果有很多1K的文件,而硬盘分区区块大小为4K,那么每存储一个文件将会浪费3K空间。这时我们需要取这些文件大小的平均值进行区块大小的划分。
数据激增到极限不会引起系统挂起:将用户数据和系统数据分开,可以避免用户数据填满整个硬盘,引起的系挂起。
Linux系统默认分区
boot分区
该分区对应于/boot目录,约100MB.该分区存放Linux的Grub(bootloader)和内核源码。用户可通过访问/boot目录来访问该分区.换句话说,用户对/boot目录的操作就是操作该分区。(一般由本机MBR与硬盘MBR共同组成)
swap分区
该分区没有对应的目录,故用户无法访问。
Linux下的swap分区即为虚拟内存.虚拟内存用于当系统内存空间不足时,先将临时数据存放在swap分区,等待一段时间后,然后再将数据调入到内存中执行.所以说,虚拟内存只是暂时存放数据,在该空间内并没有执行。所以,swap分区只能由系统访问,其大小为物理内存的2倍。
/ 根分区
在Linux操作系统中,除/boot目录外的其它所有目录都对应于该分区.因此,用户可通过访问除/boot目录外的其它所有目录来访问该分区。
Linux系统分区的基本要求
1、至少要有一个根(/)分区,用来存放系统文件及程序。其大小至少在5GB以上。
2、要有一个swap(交换)分区,它的作用相当于Windows里的虚拟内存,swap分区的大小一般为物理内存容量的1.5倍(内存<8G)。但当系统物理内存大于8GB时,swap分区配置8-16GB即可,太大无用,浪费磁盘空间。swap分区不是必须的,但是大多数情况还是设置比较好,个别企业的数据库应用场景不分swap。
3、/boot分区,这是Linux系统的引导分区,用于存放系统引导文件,如Linux内核等。所有文件的总大小一般只有几十MB,并且以后也不会增大太多。因此,该分区可以设置位100~200MB,这个分区也不是必须的。
Linux系统推荐分区方案
方案1:网站集群架构中的某个节点服务器,即数据有多份或者数据不重要的服务器,建议的分区方案如下:
/boot:设置位100~200MB。
/swap:物理内存的1.5倍,当内存大于等于8GB时,给8-16GB即可
/:剩余硬盘空间大小(/usr,/home,/var等分区和/共用一份分区,这相当于在Windows系统中的C盘一样,所有数据和系统文件都放在了一起)
方案2:数据库及存储角色的服务器,即有大量重要数据的业务,建议分区方案如下:
/boot:设置为100~200MB。
/:大小设置为50~200GB,只存放系统相关文件,网站业务数据不放在这里。
/data:剩余硬盘空间大小,放数据库及存储重要数据的,data的名称也可以起别的名字。
提示:本方案其实就是把重要数据单独分区,便于备份和管理
方案3:大网站或门户级别企业的分区思路
/boot:设置为100MB
swap:物理内存的1.5倍,当内存大于等于8GB时,给8-16GB即可
/:大小设置为50~200GB,只存放系统相关文件,网站业务数据不放在这里。
剩余空间保留,不再进行分区,将来分配给部门,由他们自己根据需求再分~
提示:此种分区方案更灵活,比较适合业务线比较多需求不确定的大企业使用
请注意以下信息:
其实所谓的”分区”只是针对那个64bytes的分区表进行设置而已。
硬盘默认的分区表仅能写入四组分区信息。
这四组分区信息我们称为主(Primary)和扩展(Extended)分区。
分区的最小单位为柱面(cylinder)。
三、Linux系统分区命令
fdisk
查看硬盘分区信息
划分磁盘成为若干个区
为每个分区指定分区的文件系统
fdisk -l 查看硬盘及分区信息
fdisk -l /dev/sda 查看特定分区信息
dev/sdX 这一类的设备是指硬盘物理卷,只要装在了系统里就会显示的。
/dev/mapper/XXX 这一类是逻辑卷,逻辑卷跟物理卷不同,一个逻辑卷可以横跨N多块硬盘,且可以实时增大缩小其空间,这种灵活度已经超出了sdX这样单块硬盘的能力了。
逻辑卷是基于物理卷上的,所有的逻辑盘的大小加起来小于等于设备内装的硬盘的大小。
fdisk /dev/sda 修改磁盘分区
知识点扩展
挂载点
利用一个目录当成进入点, 将磁盘分区的数据放置在该目录下。也就是说,进入该目录就可以读取该分区的意思。
这个操作称为 “挂载”,那个进入点的目录称为 挂载点 。
根目录一定需要挂载到某个分区。
虚拟内存
虚拟内存别称虚拟存储器(Virtual Memory)。电脑中所运行的程序均需经由内存执行,若执行的程序占用内存很大或很多,则会导致内存消耗殆尽。为解决该问题,Windows中运用了虚拟内存技术,即匀出一部分硬盘空间来充当内存使用。当内存耗尽时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。若计算机运行程序或操作所需的随机存储器(RAM)不足时,则 Windows 会用虚拟存储器进行补偿。它将计算机的RAM和硬盘上的临时空间组合。当RAM运行速率缓慢时,它便将数据从RAM移动到称为“分页文件”的空间中。将数据移入分页文件可释放RAM,以便完成工作。 一般而言,计算机的RAM容量越大,程序运行得越快。若计算机的速率由于RAM可用空间匮乏而减缓,则可尝试通过增加虚拟内存来进行补偿。
主分区、扩展分区、逻辑分区
一个硬盘主分区至少有1个,最多4个;
扩展分区可以没有,最多1个;
主分区+扩展分区总共不能超过4个。
主分区也叫引导分区,Windows系统一般需要安装在这个主分区中,这样才能保证开机自动进入系统。简单来说,主分区就是可以引导电脑开机读取文件的一个磁盘分区,一块硬盘,最多可以同时创建4个主分区,当创建完四个主分区后,就无法再创建扩展分区和逻辑分区了(占用了所有硬盘空间)。此外,主分区是相互独立的,一般对应磁盘上的第一个分区,目前绝大多数电脑,在分区的时候,一般都是将C盘分成主分区。
分出主分区后,其余的部分可以分成扩展分区,一般是剩下的部分全部分成扩展分区,也可以不全分,剩下的部分就浪费了。
扩展分区不能直接使用,必须分成若干逻辑分区。所有的逻辑分区都是扩展分区的一部分。一般情况下,windows系统中的D、F等盘就是逻辑分区,也属于扩展分区。
硬盘的容量=主分区的容量+扩展分区的容量;扩展分区的容量=各个逻辑分区的容量之和+未分完的容量。
LVM逻辑卷管理(Logical Volume Manager)
LVM的做法是将几个物理的分区(或磁盘)通过软件组合成为一块看起来是独立的大磁盘(VG),然后将这块大磁盘再经过分成可使用分区(LV),最终就能够挂载使用。
物理卷:实际的物理分区
卷组:物理分区的集合
逻辑卷:从卷组中划分出的虚拟分
- linux磁盘及分区详解
1.Linux 分区简介 1.1 主分区 vs 扩展分区 硬盘分区表中最多能存储四个分区,但我们实际使用时一般只分为两个分区,一个是主分区(Primary Partion)一个是扩展分区(extend ...
- Linux 磁盘的分区
如果我们想在系统中新增一块硬盘,需要做什么呢? 1. 对磁盘进行分区,新建可用分区 2. 对该分区进行格式化,以创建系统可用的文件系统 3. 若想要仔细一点,可以对刚才新建好的文件系统进行检验 4. ...
- Linux 磁盘、分区、文件系统、挂载
磁盘 Linux所有设备都被抽象成为一个文件,保存在/dev目录下. 设备名称一般为hd[a-z]或sd[a-z].如果电脑中有多硬盘,则设备名依次为sda.adb.sdc...以此类推 IDE设备的 ...
- 7.linux磁盘管理 分区 建立文件系统 挂载使用
一.磁盘管理 分区 建立文件系统 挂载使用 逻辑卷建立 磁盘阵列的建立 磁盘配额设定 fdisk -l 查看磁盘信息 df -Th 查看硬盘对应的 ...
- linux磁盘之分区类型id
我们通过命令来查看一下linux系统定义的分区类型id及其意义(更改磁盘分区类型必须掌握)系统采样: [root@fp-web-130 ~]# cat /etc/redhat-release Cent ...
- Linux 磁盘挂载分区
举例说明: 新增磁盘的设备文件名为 /dev/vdb 大小为100GB. #fdisk -l 查看新增的的磁盘 1.对新增磁盘进行分区 #fdisk /dev/vdb 按提示操作 p打印 n新增 d ...
- 学习OpenStack之 (4): Linux 磁盘、分区、挂载、逻辑卷管理 (Logical Volume Manager)
0. 背景: inux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间.普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻 ...
- Linux磁盘及分区之wwid和uuid
背景描述,在Linux系统中,如果添加了新的SCSI磁盘或者映射SAN存储LUN操作,重启操作系统之后会出现磁盘标识符(sd*)错乱的情况. 例如之前添加的SAN存储LUN的磁盘标识符为/dev/sd ...
- LINUX 磁盘如何分区
fdisk -l 可以查看当前磁盘 假设未分配磁盘为/dev/sdb size=10G fdisk /dev/sdb (m for help) 按照提示应该可以分区成功,注意一点 一个磁 ...
随机推荐
- C# 开机自动启动
if (ConfigurationManager.AppSettings["IsBoot"].ToString().Trim().ToUpper() == "TRUE&q ...
- web-dev-server配置
webpack-dev-server是一个小型的Node.js Express服务器,它使用webpack-dev-middleware来服务于webpack的包,除此自外,它还有一个通过Sock.j ...
- RDLC报表 分组排序设置
原文:RDLC分组排序设置 RDLC中反复设置表的排序字段,设置数据源排序后绑定均无效. 需要在分组字段右击组属性中,修改对应的排序字段,即可.
- 微信小程序把玩(二十九)video组件
原文:微信小程序把玩(二十九)video组件 视频播放组件与图片加载组件也没啥差别,使用起来也没啥注意的 重要属性: wxml <!--监听button点击事件--> <button ...
- WPF 用Main函数方式启动程序
原文:WPF 用Main函数方式启动程序 WPF默认程序启动:新建project后自动生成的App.xaml中指定程序启动方式(StartupUri="MainWindow.xaml&quo ...
- 简单图标转xaml代码
工具 PhotoShopCC(2017) Blend 2017 原图 步骤 1,使用钢笔工具勾勒出大致路径 2,将工作路径转为形状路径 3,图层右键->复制SVG <svg xmlns=& ...
- Tensorflow数据读取机制
展示如何将数据输入到计算图中 Dataset可以看作是相同类型"元素"的有序列表,在实际使用时,单个元素可以是向量.字符串.图片甚至是tuple或dict. 数据集对象实例化: d ...
- How to Use the Dynamic Link Library in C++ Linux (C++调用Delphi写的.so文件)
The Dynamic Link Library (DLL) is stored separately from the target application and shared among dif ...
- WordPress中.user.ini 权限问题
安装完WordPress在给予权限或者删除的时候可能会收到下面的提示. [root@localhost default]# chmod -R 755 /home/wwwroot chmod: 更改&q ...
- 由Qmake.exe/QtCreator.exe启动速度慢挖进去(非常有趣的调试过程,作者态度不错,而且关闭Welcome插件也是常见办法)
一直用Qt Creator开发Qt程序,Nokia的Qt Creator实在太慢了,启动慢,编译速度也是超级慢.昨天,终于它慢的让我无法忍受了,我决定抛开手上的一切工作,深入挖掘Qt Creator启 ...