天天看点

磁盘及文件管理系统入门(一)

linux磁盘及文件系统管理初步

目录

<code>    </code><code>1</code><code>.磁盘及文件系统管理</code>

<code>    </code><code>2</code><code>.机械磁盘结构</code>

<code>    </code><code>3</code><code>.mknod命令</code>

<code>    </code><code>4</code><code>.parted命令</code>

<code>    </code><code>5</code><code>.GPT分区&amp;UEFI</code>

<code>    </code><code>6</code><code>.二进制单位</code>

Linux系统管理

磁盘分区及文件系统管理

RAID

LVM

网络属性管理

程序包管理

sed and awk

进程查看和管理

内核管理(编译和安装)

系统启动流程

定制、编译内核、busybox

系统安装:kickstart,dhcp,pxe

shell脚本编程

1.磁盘及文件系统管理

cpu、内存、I/O

IO:ram,disk,NIC(network interface card)

键盘鼠标:南桥

ram:北桥

|———————|

|北桥   |ram

|--------------|------------------------

|CPU    |

|   南桥       |键盘,鼠标,硬盘

|--------------|

硬盘接口:

IDE接口:133MB/s

并行总线,双向四车道

//并行数据容易产生干扰,导致数据损坏重传,因此效率低

//并行越高,干扰频率越高

SCSI:并口,Ultrascci320,320MB/s

Ultrascci640,640MB/s

SCSI的费用更高

sata接口:6Gbps

串行总线,有前后,不能并行传输

SAS:串口时的scsi技术6Gbps

USB:串口3.0,480MB/s 理论

并口:同一线缆可以接多块硬盘

IDE:两个,主、从

SCSI:

宽带:16-1个设备

窄带:8-1个设备

串口:同一线缆,只可以接一个设备

IOps //IO per second 

IDE:100次左右IO

SCSI:150左右

SATA:100多

SAS:100多到200

固态硬盘:400左右

7200  rpm的磁盘 IOPS = 1000 / (9 + 4.17)  = 76 IOPS

10000 rpm的磁盘IOPS = 1000 / (6+ 3) = 111 IOPS

15000 rpm的磁盘IOPS = 1000 / (4 + 2) = 166 IOPS

PCI-E接口的固态硬盘IOPS都是

440k IOPS //44万

硬盘:机械硬盘,固态硬盘

固态硬盘:类似于U盘,内部是多个并行

CPU和硬盘设备之间的 连接器:适配器

负责硬盘控制芯片和CPU之间信号的翻译与转换

2.机械硬盘结构

多块盘片

track:磁道一个同心圆

角速度一致,

每一个盘片的双面都可以读取//每一个盘片的每一面都有磁头

rpm:rotation per minute //一分钟

5400rpm,7200rpm,10000rpm

每个磁道的周长是不一样的,因此不能按照磁道进行存储,不便于管理

磁道划分扇区:更容易管理

//扇区大小一般是固定的,一般为512字节

Cylinder:柱面:不同盘面的同一个编号的磁道上,就成为一个柱面

//第一个盘面的1号磁道,第二个盘面的1号磁道,第三个盘面的1号磁道,称为一个柱面

//磁头是固定的,上下两个,多个盘面

分区:基于柱面进行

越靠近外部磁道的分区,性能越好

//单位时间内划过的距离教程,获取的数据较多

//C盘及时最外面的分区

track磁道:同心圆,从外圈开始,磁道被分成0磁道,1磁道,2磁道

Cylinder:柱面,具有相同磁道编号的同心圆组成柱面,那么这柱面就像一个没了底的铁桶

柱面数:就是磁盘上的磁道数

磁面数==磁头数

不同盘片相同半径构成的圆柱面即柱面

扇区sector:扇区就是每一个磁道中被分成若干等分的区域.相邻磁道是有间隔的,这是因为磁化单元太近会产生干扰.

每个柱面包括512个字节。固定值

硬盘的容量=柱面数(CYLINDER)*磁头数(HEAD)*扇区数(SECTOR)*512B.

存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数

Linux的哲学思想:一切皆文件

设备类型:

块(block):随机访问,数据交换单位是“块”

//sda,sdb

字符(character):线性访问,数据交换单位是字符

//tty1,tty2,pts

设备文件:FHS

/dev目录下

    设备文件:用于实现将设备关联至其驱动程序

    //任何时候打开一个设备文件,其实相当于打开该文件的驱动程序

设备号:major :主设备号,区分设备类型,用于标明设备所需要的驱动程序

    minor:次设备号,区分同种类型下的不同设备;是特定设备的访问入口

3.mknod命令

mknod命令

创建块设备和字符设备

mknod [OPTION] ... NAME TYPE [MAJOR MINOR]

mknod /dev/testdev c 111 1

-m MODE 直接指定其权限 //调用系统调用来实现权限修改

TYPE:

b 块设备

c,u 字符设备,(unbuffered)

p FIFO设备

设备文件名:是统一定义的,ICANN

磁盘:

IDE:/dev/hd

SCSI,SATA,USB,SAS :/dev/sd[a-z]

引用设备的方式:

设备文件名

卷标

UUID//128位

分区:

/dev/sda[1-4]

注意:Centos6和7统统将硬盘设备文件表示为/dev/sd[a-z]#

硬盘分区:MBR,GPT

MBR:0 sector//0扇区,

master boot record//主引导记录

512字节

446字节:bootloader,程序,引导启动操作系统的程序

64字节:分区表,每16bytes标识一个分区,最多4个分区

2字节:MBR区域的有效性,55AA为有效

//假如要实现更多的分区,

//例如:用其中一个主分区不用来标识分区的开始和结束为止,而是指向一个存储空间,当做新的分区表

//这个用来指向其他分区表的成为扩展分区,但是扩展分区需要再次分区才能使用

例如:

4主分区:

3扩展分区:

扩展分区:

n个逻辑分区

主分区和扩展分区的标识:1-4

逻辑分区:5+

fdisk 命令分区

-l 列出信息

centos6:start。。end:柱面

centos7:start。。end:扇区

2.管理分区

fdisk /dev/sdb 

fdisk提供了交互式接口来管理分区,它有很多子命令,分别用于不同的管理功能,所有操作均在内存中完成,没有直接同步磁盘

直到w保存

n:创建新分区

d:删除新分区

4.parted命令

parted 分区命令

help COMMAND//获取帮助信息

print [devices|all|free] //查看所有细腻

mkpart PARTTYPE [FSTYPE] START END

PARTTYPE:primary,extended,logical,

mkpart primary ext4 30G 50G

select /dev/sdb  //选中

set NUMBER FLAG STATE

FLAG:boot引导,hidden隐藏,raid软raid,LVM等

STATE:on/off

set 1 boot on

unit UNIT //设置默认输出时表示磁盘大小的单位

MB,GB,%占用百分比,compat人类易读方式,

s扇区,cy柱面,chs柱面磁头扇区的地址

mkfs NUMBER FS-TYPE //对指定编号NUMBER的分区创建指定FS-TYPE的文件系统

print  //查看信息

resize 1 //重新修改分区

rm 2 //删除2分区

check NUMBER //检查指定编号NUMBER分区中的文件系统是否有什么错误

resize NUMBER START END //调整分区大小

move NUMBER START END //分区移动到其他位置

只能移动到空闲分区上

虽然分区被移动了,但是分区的编号不会变动

cp [FROM-DEVICE] FROM-NUMBER NUMBER-TONUMBER 

复制文件系统到分区

5.GPT分区&amp;UEFI

    GPT分区:

    GPT硬盘中,分区表的位置存储在GPT头中,处于兼容性考虑,硬盘的第一个扇区仍用MBR

        之后才是GPT头

    MBR最多支持2TB

    GPT支持18EB

        每个磁盘128个分区//windows只认,默认不受限

更安全,分区表会备份,且加入校验算法,一旦病毒感染,及时使用备份恢复

硬盘容量的识别,更安全,分区数量上

    与 MBR 分区的磁盘不同,GPT的分区信息是在分区中,而不象MBR一样在主引导扇区。

为保护GPT不受MBR类磁盘管理软件的危害,GPT在主引导扇区建立了一 个保护分区 (Protective MBR)的MBR分区表,

    这种分区的类型标识为0xEE,

        这个保护分区的大小在Windows下为128MB,Mac OS X下为200MB,

     在Window磁盘管理器里名为GPT保护分区,

可让MBR类磁盘管理软件把GPT看成一个未知格式的分区,而不是错误地当成一个未分 区的磁盘。

另外,GPT 分区磁盘有多余的主要及备份分区表来提高分区数据结构的完整性。

    UEFI:是bios的一种替代方案

UEFI已经具备文件系统的支持,能够直接读取FAT分区表中的文件

而在UEFI下,不再需要主引导记录,不再需要活动分区,不需要任何工具,

            只要复制安装文件到一个FAT32(主)分区/U盘中,然后从这个分区/U盘启动,安装Windows就是这么简单。

PMBR

GPT分区表

备份GPT分区表

可以看到,在GTP磁盘的第一个数据块中同样有一个与MBR(主引导记录)类似的标记,叫做PMBR。

PMBR的作用是,当使用不支持GPT的分区工具时,整个硬盘将显示为一个受保护的分区,以防止分区表及硬盘数据遭到破坏。

UEFI并不从PMBR中获取GPT磁盘的分区信息,它有自己的分区表,即GPT分区表。

GPT的分区方案之所以比MBR更先进,是因为在GPT分区表头中可自定义分区数量的最大值,也就是说GPT分区表的大小不是固定的。

Windows中,微软设定GPT磁盘最大分区数量为128个。另外,GPT分区方案中逻辑块地址(LBA)采用64位二进制数表示,

可以计算一下2^64是一个多么庞大的数据,以我们的需求来讲完全有理由认为这个大小约等于无限。

除此之外,GPT分区方案在硬盘的末端还有一个备份分区表,保证了分区信息不容易丢失。

6.二进制单位

    MB,GB,TB,PB,EB,ZB,YB,BB,NB,DB 

本文转自MT_IT51CTO博客,原文链接:http://blog.51cto.com/hmtk520/1943438,如需转载请自行联系原作者

继续阅读