分区表

Linux基础命令:fdisk

孤街浪徒 提交于 2019-11-28 01:08:05
1、什么是分区? 分区是将一个硬盘驱动器分成若干个逻辑驱动器,分区是把硬盘连续的区块当做一个独立的磁硬使用。分区表是一个硬盘分区的索引,分区的信息都会写进分区表。 2、为什么要有多个分区? 防止数据丢失:如果系统只有一个分区,那么这个分区损坏,用户将会丢失所的有数据。 增加磁盘空间使用效率:可以用不同的区块大小来格式化分区,如果有很多1K的文件,而硬盘分区区块大小为4K,那么每存储一个文件将会浪费3K空间。这时我们需要取这些文件大小的平均值进行区块大小的划分。 数据激增到极限不会引起系统挂起:将用户数据和系统数据分开,可以避免用户数据填满整个硬盘,引起的系挂起。 3、分区工具fdisk用法介绍 fdisk命令参数介绍 p、打印分区表。 n、新建一个新分区。 d、删除一个分区。 q、退出不保存。 w、把分区写进分区表,保存并退出。 实例: [root@localhost ~]# fdisk /dev/hdd 按"p"键打印分区表 这块硬磁尚未分区 按"n"键新建一个分区。 出现两个菜单e表示扩展分区,p表示主分区 按"p"键出现提示:"Partition number (1-4): "选择主分区号 输入"1"表示第一个主分区。 直接按回车表示1柱面开始分区。 提示最后一个柱面或大小。 输入+5620M 按回车 表示第一个分区为5G空间。 按"p"查看一下分区 这样一个主分区就分好了。

详解MBR分区结构以及GPT分区结构

人走茶凉 提交于 2019-11-27 22:03:52
一、MBR分区结构 MBR磁盘分区是一种使用最为广泛的分区结构,它也被称为DOS分区结构,但它并不仅仅应用于Windows系统平台,也应用于Linux,基于X86的UNIX等系统平台。它位于磁盘的0号扇区(一扇区等于512字节),是一个重要的扇区(简称MBR扇区)。 MBR扇区由以下四部分组成: 引导代码:引导代码占MBR分区的前440字节,负责整个系统启动。如果引导代码被破坏,系统将无法启动。 Windows磁盘签名:占引导代码后面的4字节,是Windows初始化磁盘写入的磁盘标签,如果此标签被破坏,则系统会提示“初始化磁盘”。 MBR分区表:占Windows磁盘标签后面的64个字节,是整个硬盘的分区表。 MBR结束标志:占MBR扇区最后2个字节,一直为“55 AA”。 注意:分析磁盘使用的工具是Winhex,如果读者需要请自行下载。 下面详细分析分区表结构 磁盘在使用前都要进行分区,也就是将硬盘划分为一个个逻辑的区域。每一个分区都有一个确定的起始结束位置。MBR磁盘的分区形式一般有3种,既主分区,扩展分区和非DOS分区。主分区既主DOS分区,扩展分区既扩展的DOS分区(扩展分区可以分逻辑分区),非DOS分区对于主分区的操作系统来说是一块被划分出去的区域,只能非DOS分区中操作系统可以管理。 如下:是MBR分区表 MBR一共占用64个字节,其中每16个字节为一个分区表项

Fat32文件系统分析二

会有一股神秘感。 提交于 2019-11-27 21:42:01
在SD卡文件系统中,主引导记录(Master Boot Record)和分区表存在于物理第一分区中。 第一个数据区域有主引导记录,其中包含可执行代码和分区表如下: BP0~BP445:主引导记录 该位置的内容没有说明 BP446~BP461:分区表1,在Table 4-2 中有详细说明 BP462~BP477:分区表2,全部为0 BP478~BP493: 分区表3,值为0 BP494~BP509:分区表4,值为0 BP510~BP511:0x55 0xAA 签名字 分区表1说明: BP0:Boot Indicator 引导标志,如果为SD卡存储区引导,该值应该为0x80,否则应该为0x00 BP1: 该字节应该指定分区的起始字节,如果分区的起始位置超过8032.5MB,该值应该为0xFE BP2~BP3:磁盘的启动扇区。 BP4:系统ID, 如果结束分区位置是8032.5MB 该位应该为0x0B,否则应该为0x0C BP5: Ending Head, This filed shall specify the ending head of the ppartition. BP6~BP7:结束扇区 BP8~BP11:Relative Sector 相关扇区,该字段指定了在开始前存在的扇区分区数。此处物理地址为主引导目录 BP12~BP15:Total Sector

Hive SQL之分区表与分桶表

牧云@^-^@ 提交于 2019-11-27 18:15:46
  Hive sql是Hive 用户使用Hive的主要工具。Hive SQL是类似于ANSI SQL标准的SQL语言,但是两者有不完全相同。Hive SQL和Mysql的SQL方言最为接近,但是两者之间也存在着显著的差异,比如Hive不支持行级数据的插入、更新和删除,也不支持事务操作。    注: HIVE 2.*版本之后开始支持事务功能,以及对单条数据的插入更新等操作 Hive的相关概念 Hive数据库       Hive中的数据库从本质上来说仅仅就是一个目录或者命名空间,但是对于具有很多用户和组的集群来说,这个概念非常有用。首先,这样可以避免表命名冲突;其次,它等同于与关系型数据库中数据库的概念,是一组表或者表的逻辑组,非常容易理解 Hive表      Hive中的表和关系型数据库中table概念是类似的,每个table在Hive中都有一个相应的目录存储数据。如果说,你没有指定表的数据库,那么Hive会通过{HIVE_HOME}/conf/hive_site.xml配置文件中的hive.metastore.warehouse.dir属性来使用默认值(一般是/usr/hive/warehouse,也可以根据实际情况来进行修改该配置),所有的table都保存在这个目录中。     Hive中的表分为两类,分别为 内部表 和 外部表 内部表(managed table)     

MySQL和Oracle区别

巧了我就是萌 提交于 2019-11-27 15:49:04
由于SQL Server不常用,所以这里只针对MySQL数据库和Oracle数据库的区别 (1) 对事务的提交 MySQL默认是自动提交,而Oracle默认不自动提交,需要用户手动提交,需要在写commit;指令或者点击commit按钮 (2) 分页查询 MySQL是直接在SQL语句中写"select… from …where…limit x, y",有limit就可以实现分页;而Oracle则是需要用到伪列ROWNUM和嵌套查询 (3) 事务隔离级别 MySQL是read commited的隔离级别,而Oracle是repeatable read的隔离级别,同时二者都支持serializable串行化事务隔离级别,可以实现最高级别的 读一致性。每个session提交后其他session才能看到提交的更改。Oracle通过在undo表空间中构造多版本数据块来实现读一致性,每个session 查询时,如果对应的数据块发生变化,Oracle会在undo表空间中为这个session构造它查询时的旧的数据块 MySQL没有类似Oracle的构造多版本数据块的机制,只支持read commited的隔离级别。一个session读取数据时,其他session不能更改数据,但 可以在表最后插入数据。session更新数据时,要加上排它锁,其他session无法访问数据 (4) 对事务的支持

fdisk分区命令

谁说胖子不能爱 提交于 2019-11-27 15:26:44
fdisk是Linux系统中最常用的分区工具,通过这个命令也可以查看系统中所有可用的分区,但是这个命令只支持MBR的分区表(这句话应该只对某些系统,CentOS7-1810适用,Debian9.5和openSUSE15应该已经支持GPT分区表,下面对fdisk的操作都是在Debian9.5下操作),所以这个命令不能对大于2T的硬盘进行分区,大于2T的硬盘我们需要用GPT分区表来进行分区,GPT分区我们就要用gdisk或parted分区工具来进行分区。 Linux 内核是如何理解硬盘的? 作为人类,我们可以很轻松地理解一些事情;但是电脑就不是这样了,它们需要合适的命名才能理解这些。 在 Linux 中,外围设备都位于 /dev 挂载点,内核通过以下的方式理解硬盘: /dev/hdX[a-z]: IDE 硬盘被命名为 hdX /dev/sdX[a-z]: SCSI 硬盘被命名为 sdX /dev/xdX[a-z]: XT 硬盘被命名为 xdX /dev/vdX[a-z]: 虚拟硬盘被命名为 vdX /dev/fdN: 软盘被命名为 fdN /dev/scdN or /dev/srN: CD-ROM 被命名为 /dev/scdN 或 /dev/srN 一、fdisk参数使用方法: fdisk [-l] 设备名 参数 -l :显示指定磁盘设备的分区表信息,如果没有指定磁盘设备,则显示

linux文件系统详解

时间秒杀一切 提交于 2019-11-27 12:18:53
主要结构: 磁盘组成与分区 文件系统特性 linux的EXT2文件系统 与目录树的关系 EXT2/ext3文件的存取与日志式文件系统功能 linux文件系统的运行 挂载点的意义 其他linux支持的文件系统与vfs xfs文件系统简介 1.整颗磁盘的组成 圆形的盘片(竹雅颂记录数据的部分) 机械手臂,与机械手臂上的磁头(可读写盘片上的数据) 主轴马达,可以转动盘片,让机械手臂的磁头在盘片上读写数据 2.盘片上物理组成 扇区为最小的物理存储单位,且依据磁盘设计的不同,目前主要有512Bytes与4K两种格式。 将扇区组成一个圆,那就是柱面。 磁盘分区表主要有两种格式,一种是限制较多的MBR分区表,一种是较新且限制较少的GPT分区表。 MBR分区表中,第一个扇区最重要,里面有:(1)主要开机区(master boot record,MBR)及分区表(partition table),其中MBR占有446Bytes,而partition table 则占有64Bytes。 GPT分区表除了分区数量扩充较多之外,支持的磁盘容量也可以超过2TB。 3.实体磁盘及虚拟磁盘 4.三个数据的意义 superblock:记录此filesystem的整体信息,包inode/block的总量,使用量,剩余量,以及文件系统的格式与相关信息等。 inode:记录文件的属性,一个文件占用一个inode

【收藏】FAT文件系统原理——MBR(主引导记录

为君一笑 提交于 2019-11-27 11:19:58
FAT文件系统原理——MBR(主引导记录) 一、硬盘的物理结构: 硬盘存储数据是根据电、磁转换原理实现的。硬盘由一个或几个表面镀有磁性物质的金属或玻璃等物质盘片以及盘片两面所安装的磁头和相应的控制电路组成(图1),其中盘片和磁头密封在无尘的金属壳中。 硬盘工作时,盘片以设计转速高速旋转,设置在盘片表面的磁头则在电路控制下径向移动到指定位置然后将数据存储或读取出来。当系统向硬盘写入数据时,磁头中“写数据”电流产生磁场使盘片表面磁性物质状态发生改变,并在写电流磁场消失后仍能保持,这样数据就存储下来了;当系统从硬盘中读数据时,磁头经过盘片指定区域,盘片表面磁场使磁头产生感应电流或线圈阻抗产生变化,经相关电路处理后还原成数据。因此只要能将盘片表面处理得更平滑、磁头设计得更精密以及尽量提高盘片旋转速度,就能造出容量更大、读写数据速度更快的硬盘。这是因为盘片表面处理越平、转速越快就能越使磁头离盘片表面越近,提高读、写灵敏度和速度;磁头设计越小越精密就能使磁头在盘片上占用空间越小,使磁头在一张盘片上建立更多的磁道以存储更多的数据。 二、硬盘的逻辑结构。 硬盘由很多盘片(platter)组成,每个盘片的每个面都有一个读写磁头。如果有N个盘片。就有2N个面,对应2N个磁头(Heads),从0、1、2开始编号。每个盘片被划分成若干个同心圆磁道(逻辑上的,是不可见的。)每个盘片的划分规则通常是一样的

MBR详解

三世轮回 提交于 2019-11-27 08:41:30
因为BIOS很小,功能有限,为了完成加载操作系统的功能,就产生了mbr! 主引导记录MBR 硬盘的0柱面、0磁头、1扇区称为 主引导记录MBR (Master Boot Record) 它由三个部分组成, 主引导程序 (boot loader)、 硬盘分区表DPT (Disk Partition table)和 硬盘有效标志 (55AA)。 在总共 512字节 的主引导扇区里 主引导程序 占 446 个字节 ,第二部分是Partition table区(分区表),即 DPT ,占 64 个字节 ,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是 magic number ,占 2 个字节 ,固定为55AA。 !!!!!!!!!!!!!!!!!!!!! 一般将 MBR 分为 广义 和 狭义 两种: 广义的MBR 包含整个扇区(引导程序、分区表及分隔标识),也就是上面所说的主引导记录;而 狭义的MBR 仅指引导程序而言。 主引导程序(boot loader) 主引导程序(boot loader) 是 直接写入 第一个扇区的前446个字节 ,如 grub 是直接写进mbr硬盘的主引导记录中的,计算机BIOS 在启动时,按照预定的方式, 将 mbr 内的代码加载至内存指定位置 , 然后跳转至那里,mbr的代码就开始运行了! 如果将grub写入mbr,bios就引导grub;

MySQL分区与传统的分库分表

℡╲_俬逩灬. 提交于 2019-11-27 07:29:08
传统的分库分表 传统的分库分表都是通过应用层逻辑实现的,对于数据库层面来说,都是普通的表和库。 分库 分库的原因 首先,在单台数据库服务器性能足够的情况下,分库对于数据库性能是没有影响的。在数据库存储上, database 只起到一个 namespace 的作用。 database 中的表文件存储在一个以 database名 命名的文件夹中。比如下面的 employees 数据库: mysql> show tables in employees; +---------------------+ | Tables_in_employees | +---------------------+ | departments | | dept_emp | | dept_manager | | employees | | salaries | | titles | +---------------------+ 在操作系统中看是这样的: # haitian at haitian-coder.local in /usr/local/var/mysql/employees on git:master ● [21:19:47] → ls db.opt dept_emp.frm dept_manager.ibd salaries.frm titles.ibd departments.frm dept