Bootstrap

linux磁盘管理

磁盘结构

物理结构

在这里插入图片描述

盘片:硬盘有多个盘片,每盘片有2面(正反两面)
磁头:每面一个磁头,并不是只有一个磁头,磁头也不会碰到盘面,磁头等于盘片数量

数据结构

扇区:盘片被分为多个扇形区域,每个扇区存放512 字节的数据(扇区越多容量越大)
磁道:同一盘片不同半径的同心圆
柱面:相同半径不同盘片构成的圆(柱面和磁道数量相同)

在这里插入图片描述

硬盘存储容量

硬盘存储容量=磁头数(8个2进制)×磁道(柱面)数×每道扇区数(6个二进制)×每扇区字节数
1柱面=512 * 扇区数/磁头数×磁道=51263255=7.84M
可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域

硬盘接口类型

SCSI:640MB/s,并行接口,早期服务器
SATA:6Gbps,SATA数据端口与电源(长的,数据 线短的)端口是分开的,即需要两条线,一条数据 线,一条电源线
SAS:6Gbps,SAS是一整条线,数据端口与电源端 口是一体化的,SAS中是包含供电线的,而SATA中不 包含供电线。SATA标准其实是SAS标准的一个子集, 二者可兼容,SATA硬盘可以插入SAS主板上,反之不行。

MBR与磁盘分区

为什么分区

优化I/O性能
实现磁盘空间配额限制
提高修复速度
隔离系统和程序
安装多个OS
采用不同文件系统

硬盘分区

常见的硬盘可以划分为主分区、扩展分区和逻辑分区,通常情况下主分区只有四个,而扩展分区可以看成是一个特殊的主分区类型,只在扩展分区中可以建立逻辑分区。

  主分区一般用来安装操作系统,扩展分区则多用来存储文件数据。

    主分区序号 1 ~ 4,逻辑分区序号 从 5 开始。
分区的作用:

主分区:可以直接使用,可以装系统

扩展分区:不可以直接使用,必须要分逻辑分区

逻辑分区:依托于扩展分区,使用的是扩展分区中的空间(装操作系统的

MBR分区

MBR磁盘采用MBR分区表,由于MBR用4个字节存储分区总扇区数,最大可以表示2的32次方,一个扇区512字节,那么分区的容量或者磁盘容量都不能超过2TB。

    第一个扇区的512字节,前446是引导程序,剩余的66字节,一个分区表16字节,最多可以划分4个分区,剩余2个字节是标识符。

在这里插入图片描述

文件系统

操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统。负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,安全控制,日志,压缩,加密等。

常用文件系统

系统内核中的模块:xfs(默认)、ext4、vfat

Linux的虚拟文件系统:VFS

用户空间的管理工具:mkfs.ext4、mkfs.xfs、mkfs.vfat

分区工具

新建主分区

[root@localhost ~]# fidisk 磁盘设备   //管理MBR分区,对硬盘2T以下

                                gdisk 磁盘设备   //管理GPT分区,对硬盘2T以上
//新建分区
[root@localhost ~]#fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
 
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
 
Device does not contain a recognized partition table
使用磁盘标识符 0x46696e0e 创建新的 DOS 磁盘标签。
 
//可以按m获取帮助
命令(输入 m 获取帮助):m
命令操作
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition    --删除分区
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   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 disklabel
   t   change a partition's system id    --更改分区类型
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit   --保存退出
   x   extra functionality (experts only)
命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)    --主分区
   e   extended         --扩展分区
Select (default p): p    --默认主分区
分区号 (1-4,默认 1):1        --按顺序,起始为1分区
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{
   K,M,G} (2048-41943039,默认为 41943039):+5G   --自行设置分区大小
分区 1 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):w                   --w保存之后生效(如果q退出不保存配置)
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
//查看磁盘
[root@localhost ~]#lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   80G  0 disk
├─sda1            8:1    0    5G  0 part /boot
└─sda2            8:2    0   68G  0 part
  ├─centos-root 253:0    0   60G  0 lvm  /
  └─centos-swap 253:1    0    8G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk
└─sdb1            8:17   0    5G  0 part        --分区1创建成功
sr0              
;