目录
磁盘管理
硬盘
-
机械硬盘
- 盘片:专门保存数据
- 主轴电机
- 磁头:对数据进行读和写
- 传动手臂:带动磁头移动
- 电路板
- 电源接口
- 数据接口
-
固态硬盘
- 电路板
- 存储芯片(flash闪存)
服务器
- 做存储:机械硬盘
- 做系统:固态硬盘
硬盘的数据接口(串口、并口)
- ATA硬盘:ide接口
- SAS硬盘:通常用于服务器
- SATA硬盘:通常用于个人主机
- SCSI硬盘:已经淘汰,通常用于服务器
- M.2硬盘
Linux系统磁盘管理
命令 | 说明 |
fdisk -l | 列出硬盘的基本信息 |
df -h | 显示系统的磁盘空间分配信息 |
硬盘基本信息
磁盘类型
使用fdisk -l命令后,会列出硬盘的基本信息。
磁盘路径为sd的,代表SAS、SATA等硬盘
磁盘路径为hd的,代表早期的ATA硬盘
磁盘路径中,硬盘代表缩写后的字母为该主机上的第几块硬盘
sda :sd代表硬盘,a代表主机上的第一块硬盘
sda1:该主机第一块硬盘的第一个分区
磁盘字节换算
8位(bit)=1B(Byte字节)
1024B=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
1024TB=1PB
1024PB=1EB
1024EB=1ZB
1024ZB=1YB
1024YB=1BB
1024BB=1NB
1024NB=1DB
扇区
是指磁盘上划分的区域。磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区,硬盘的读写以扇区为基本单位。
磁盘标签类型
-
dos
- MBR(主引导记录)分区方式(类型)
- 最大支持2T的硬盘空间
- 主分区的数量只能有4个
- 没有数据保护机制
-
gpt
- gpt(全局分区表)分区类型
- 最大支持18E的硬盘空间
- 主分区的数量对于Linux:无限;对于Windows:128个
- 通过CRC(循环冗余校验码)
-
分区类型
- 主分区
- 扩展分区(逻辑分区),是一种特殊主分区,只能有一个
磁盘标识符
该硬盘在该主机上的唯一标识
设备
路径后带*号的是该分区是引导分区
-
Start
- 开始的扇区位置
-
End
- 结束的扇区位置
-
Block
- 该扇区有几个块,磁盘管理数据时,一个block是1024字节
硬盘的分区 - fdisk命令
命令 | 说明 |
fdisk /dev/sdb(硬盘路径) | 该硬盘命令视图 |
- -l:显示设备的分区表信息。
- -n:创建一个新的分区。
- -d:删除一个分区。
- -p:打印分区表的内容。
- -t:更改分区的类型。
- -u:以扇区单位显示分区信息。
- -w:将分区表写入磁盘。(保存并退出)
创建分区
- 用 n 命令来创建主分区
- 选择要创建的分区类型,主分区:p
- 选择分区号,不输入回车默认为1,选择第一个分区
- 选择扇区范围,回车默认为2048
- 设置结束扇区,假如要设置10个G的范围:填写+10G
- 计算公式:(结束的扇区 - 开头的扇区 + 1) * 512 = 10*1024*1024*1024
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free) # p 主分区(0 主分区数量,0 扩展分区数量,4 自由分区数量)
e extended # e 扩展分区
Select (default p): p # 你要创建的分区类型,不输入内容回车默认p
分区号 (1-4,默认 1):1
起始 扇区 (2048-209715199,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-209715199,默认为 209715199):+10G
分区 1 已设置为 Linux 类型,大小设为 10 GiB
# 当新建了3个主分区后,最后一个分区设为扩展分区,假如要设置6个分区,就再使用n命令创建分区,此时会显示创建逻辑分区
All primary partitions are in use
添加逻辑分区 7
起始 扇区 (104865792-125829119,默认为 104865792):
将使用默认值 104865792
Last 扇区, +扇区 or +size{K,M,G} (104865792-125829119,默认为 125829119):
将使用默认值 125829119
分区 7 已设置为 Linux 类型,大小设为 10 GiB
# p命令显示分区信息
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 83 Linux
/dev/sdb2 20973568 41945087 10485760 83 Linux
/dev/sdb3 41945088 62916607 10485760 83 Linux
/dev/sdb4 62916608 125829119 31456256 5 Extended
/dev/sdb5 62918656 83890175 10485760 83 Linux
/dev/sdb6 83892224 104863743 10485760 83 Linux
/dev/sdb7 104865792 125829119 10481664 83 Linux
# id为83表示默认分区,id为5表示扩展分区
格式化
对该磁盘分区的初始化
在该分区上建立了文件系统(操作系统用来管理分区文件的一个中间系统)
- Linux:ext、ext2、ext3、ext4、xfs
- Windows:fat、fat32、NTFS、REFS
命令 | 说明 |
mkfs -t xfs /dev/sdb6 | 格式化 sdb磁盘的6号分区的类型为xfs文件系统 |
mkfs -t xfs -f /dev/sdb6 | 强制格式化 |
yum -y install dosfstools | 安装fat格式化所需软件包 |
mkfs -t vfat /dev/sdb5 | 将sdb磁盘的5号分区格式化为Windows系统的fat文件系统 |
yum -y install ntfsprogs | 安装ntfs格式化所需软件包 |
mkfs -t ntfs /dev/sdb3 | 将sdb磁盘的3号分区格式化为Windows系统的ntfs文件系统 |
挂载格式化后的硬盘
光盘、xfs、fat挂载
mount 要挂载的分区 挂载目录
例如:mount /dev/sdb1 /aaa
ntfs挂载
先安装软件包:yum -y install ntfs-3g
命令 | 说明 |
mount -t ntfs-3g 要挂载的分区 挂载路径 | 挂载ntfs类型的分区 |
umount 挂载目录 | 取消挂载该目录 |
umount -f 挂载目录 | 强制取消挂载 |
umount -l 挂载目录 | 延迟取消挂载 |
df -hT | 查看系统当前挂载情况,容量换算和显示文件系统的类型 |
更改磁盘标签类型
- parted /dev/sdb
- mklabel gpt
- 忽略,输入i
- 忽略,输入i
- 是,输入y
- 退出,输入q
swap分区
在Linux中叫做swap
在Windows中叫做虚拟内存
交换分区,任务是交换数据
当物理内存不足时,要把数据放到硬盘中(swap)。
弥补物理内存不足时的情况,但速度会变慢,因为硬盘的速度没有内存快
- 如果物理内存时1G、2G的小内存,swap分区就设置为内存的两倍
- 如果物理内存是4G,swap分区就设置为4G
交换分区相关命令
命令 | 说明 |
mkswap /dev/sdb6 | 将sdb次方的第6分区格式化为交换分区 |
swapon /dev/sdb6 | 激活该文件中的定义的所有交换分区 |
swapoff /dev/sdb6 | 关闭指定的 swap 分区 |
free -h | 当前的内存使用情况。 |