Linux磁盘管理

磁盘结构

  • 盘片:硬盘有多个盘片,每盘片有2面(正反两面)

  • 磁头:每面一个磁头,并不是只有一个磁头,磁头也不会碰到盘面,磁头等于盘片数量

硬盘的数据结构

  • 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据(扇区越多容量越大) 存放数据的最小单位 512字节

  • 磁道:同一盘片不同半径的同心圆

  • 柱面:不同盘片相同半径构成的圆(柱面和磁道数量相同)

  • 不难看出读取速度还是外面快一点

  • 一个扇区 512 字节

    硬盘存储容量

  • 硬盘存储容量=磁头数(8个2进制)×磁道(柱面)数×每道扇区数(6个二进制)×每扇区字节数

    1柱面=512 * 扇区数/磁头数×磁道=51263255=7.84M

  • 可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域

  • 硬盘接口的类型

  • 机械机械 硬盘(HDD):Hard Disk Drive,即是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电
  • 固态硬盘(SSD):Solid State Drive,用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单 元(FLASH芯片、DRAM芯片)组成。

MBR与磁盘分区

为什么分区

  • 优化I/O性能 读写

  • 实现磁盘空间配额限制

  • 提高修复速度

  • 隔离系统和程序

  • 安装多个OS

  • 采用不同文件系统

MBR  分区 (老的技术)GPT 分区(新技术)
2T 以下 的硬盘 fdisk

可以支持 2T 以上的硬盘 gdisk

MBR: 一共 512 字节,主引导记录, 是硬盘上的第一个扇区, 想要读数据得从这个扇区开始
前 446 字节 开机引导程序,引导硬件找到我们的操作系统后64字节分区表 表明了分区的范围,分区从哪里到那里结束最后两字节代表MBR结束位

66 /16 =4 ............2

MBR 分区只可以分4个分区, 一个分区表要占 16字节

扩展分区:不可以直接使用, 需要再 划分逻辑分区,   让分区超过4个  

逻辑分区:可以直接使用, 存储文件

扩展分区是特殊的主分区

主分区的序号为 1-4

逻辑分区的序号 从5 开始

文件系统

  • 内核中的模块:ext4, xfs, vfat

  • Linux的虚拟文件系统:VFS

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

常见的硬件设备在/dev目录下

[root@localhost test]# ll /dev/sd*
brw-rw----. 1 root disk 8,  0 4月  15 13:39 /dev/sda
brw-rw----. 1 root disk 8,  1 4月  15 13:39 /dev/sda1
brw-rw----. 1 root disk 8,  2 4月  15 13:39 /dev/sda2
brw-rw----. 1 root disk 8, 16 4月  15 13:39 /dev/sdb
brw-rw----. 1 root disk 8, 32 4月  15 13:39 /dev/sdc
brw-rw----. 1 root disk 8, 33 4月  15 13:39 /dev/sdc1
brw-rw----. 1 root disk 8, 37 4月  15 13:39 /dev/sdc5

 

文件系统最大文件支持最大文件系统支持特性
XFS8EB8EB- 64位文件系统
- 快速恢复磁盘文件
- 优化的日志算法
- 接近裸设备I/O的性能
Swap无(非文件存储)无(虚拟内存)- 内存的虚拟扩展
- 当RAM不足时使用
- 过多配置可能导致浪费
FAT16/32FAT32 最大 4GBFAT32 最大 32GB- 简单、广泛兼容
- 单个文件最大4GB
- 分区最大32GB
NTFS64GB不明(大于64GB)- 错误预警
- 磁盘自我修复
- 日志功能
EXT416TB1EB- 支持纳秒级时间戳
- 最大文件系统1EB
- 最大文件16TB
- 适用于不太大的分区,如/boot
JFS16TB1PB- 为服务器高吞吐量和可靠性设计
- 单个文件最大16TB
- 文件系统最大支持1PB

添加磁盘

 

[root@localhost /]# rscan
[root@localhost /]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   50G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   49G  0 part 
  ├─centos-root 253:0    0   47G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
sr0              11:0    1  4.2G  0 rom  /run/media/root/CentOS 7 x86_64

创建分区:

[root@localhost /]# fdisk
用法:
 fdisk [选项] <磁盘>    更改分区表
 fdisk [选项] -l <磁盘> 列出分区表
 fdisk -s <分区>        给出分区大小(块数)

选项:
 -b <大小>             扇区大小(512、1024、2048或4096)
 -c[=<模式>]           兼容模式:“dos”或“nondos”(默认)
 -h                    打印此帮助文本
 -u[=<单位>]           显示单位:“cylinders”(柱面)或“sectors”(扇区,默认)
 -v                    打印程序版本
 -C <数字>             指定柱面数
 -H <数字>             指定磁头数
 -S <数字>             指定每个磁道的扇区数

[root@localhost /]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x3a730f47 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):y
y: unknown command
命令操作
   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 获取帮助):^C
[root@localhost /]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xc83cbe11 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):20480  
分区 1 已设置为 Linux 类型,大小设为 9 MiB

命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): e
分区号 (2-4,默认 2):
起始 扇区 (20481-41943039,默认为 22528):
将使用默认值 22528
Last 扇区, +扇区 or +size{K,M,G} (22528-41943039,默认为 41943039):
将使用默认值 41943039
分区 2 已设置为 Extended 类型,大小设为 20 GiB

命令(输入 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 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

 blkid

可以查看块设备属性信息

[root@localhost /]# blkid 
/dev/sr0: UUID="2017-09-06-10-51-00-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/sda1: UUID="7f69d7b0-f61d-4348-a220-242866ae685a" TYPE="xfs" 
/dev/sda2: UUID="i1RJlM-mpgD-XyQP-jA8O-vekT-JaJL-w9DSpe" TYPE="LVM2_member" 
/dev/mapper/centos-root: UUID="f93daaff-d3bc-48d2-9989-4d01c3621cbe" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="3ccc073a-2c11-4c7b-96aa-d138f46fcca3" TYPE="swap" 

lsblk

[root@localhost /]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   50G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   49G  0 part 
  ├─centos-root 253:0    0   47G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0    9M  0 part 
└─sdb2            8:18   0    1K  0 part 
sr0              11:0    1  4.2G  0 rom  /run/media/root/CentOS 7 x86_64

永久挂载

需要 将文件写入 /etc/fstab

格式:

UUID=7f69d7b0-f61d-4348-a220-242866ae685a /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值