Linux磁盘管理
什么是磁盘
磁盘是利用磁记录技术存储数据的存储器。
磁盘是计算机主要的存储介质,可以存储大量的二进制数据所以断电后也能保持数据不丢失。早期计算机使用的磁盘是软磁盘(Floppy Disk,简称软盘),如今常用的磁盘是硬磁盘(Hard disk, 简称硬盘)。
磁盘运行原理:
多个盘片之间靠主轴连接,电机带动主轴做旋转运动,通过多个磁头臂的摇摆和磁盘的旋转,磁头就可以在磁盘旋转的过程中读取到磁盘中存储的各种数据.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e1gqOY4v-1624455144187)(img/2843224-46fb935cd31addbd.png)]
磁盘的扇区、磁道、柱面
(1)磁道:磁盘的每个盘片被划分为许多同心圆,划分圆的线条叫做磁道。
(2)扇区:硬盘的盘片被磁道划分为多个扇区。硬盘的读写以扇区为基本单位。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BwdGYKms-1624455144194)(img/2843224-56f2056f0b36009f.png)]
(3) 柱面:每个盘片上同样大小的同心圆可以看成是连在一起的柱面。柱面是磁盘分区的最小单位,每一个盘片的上下面都可以读取数据,每一个磁头不可以跨盘面读取数据。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M70LYHpC-1624455144198)(img/2843224-e0854f19c817c83c.png)]
磁盘管理
Linux磁盘管理通常分为5个步骤
添加硬盘,做RAID或逻辑卷LVM,分区,对分区进行格式化,挂载到文件系统中。
添加硬盘
当给计算机添加了一个信硬盘,可以怎么利用呢?
RAID(redundant arrays of independent disks)
磁盘阵列是由很多快独立的磁盘组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生的加成效果提升整个磁盘系统效能。利用该技术将数据切割成许多区段分别存放在各个硬盘上。
RAID0
RAID0将数据分散在n个磁盘中,以独立的方式并行读取n个磁盘的数据,理论上,一个由n块磁盘组成的RAID0是单个磁盘性能的n倍。
RAID1
将数据分别写到两组磁盘中,分别为工作磁盘和镜像磁盘,相当于做了一次冗余,安全性高,但是成本也高。
RAID10
RAID10兼备了RAID1和RAID0的有优点。首先基于RAID1模式将磁盘分为2份,当要写入数据的时候,将所有的数据在两份磁盘上同时写入,相当于写了双份数据,起到了数据保障的作用。且在每一份磁盘上又会基于RAID0技术讲数据分为N份并发的读写,这样也保障了数据的效率。
LVM
LVM是Logical Volume Manager(逻辑卷管理)的简写,是Linux环境下对磁盘分区进行管理的一种机制。
Linux经常会遇到磁盘分区空间不足的问题而调整分区大小非常麻烦。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候可以继续将其他的硬盘的分区加入其中实现对硬盘分区的动态管理。
分区
当硬盘添加成功后便可以对硬盘进行分区。
分区常用命令
fdisk [选项] [磁盘] #更改分区表
fdisk [选项] -l [磁盘] #列出分区表
选项 | 功能 |
---|---|
-b | 显示扇区计数和大小 |
-B | 创建新标签时不要擦除 bootbits |
-c | 模式,为“dos”或“nondos”(默认) |
-L | 彩色输出(auto, always 或 never) |
-l | 显示分区并退出 |
-o | 输出列 |
-t | 只识别指定的分区表类型 |
-u | 显示单位,“cylinders”柱面或“sectors”扇区(默认) |
-w | 擦除签名(auto, always 或 never) |
-W | 擦除新分区的签名(auto, always 或 never) |
-C | 指定柱面数 |
-H | 指定磁头数 |
-S | 指定每条磁道的扇区数 |
-h | 帮助文档 |
对某个磁盘分区,如 fdisk /dev/sda,则会出现以下菜单进行选择
- m :显示菜单和帮助信息
- a :活动分区标记/引导分区
- d :删除分区
- l :显示分区类型
- n :新建分区
- p :显示分区信息
- q :退出不保存
- t :设置分区号
- v :进行分区检查
- w :保存修改
- x :扩展应用,高级功能
格式化
格式化
格式化一般是指逻辑格式化,是指根据用户选定的文件系统在磁盘的特定区域写入特定数据,以达到初始化磁盘或磁盘分区、清楚原磁盘或磁盘分区中所有文件的一个操作。
文件系统是指在存储设备上组织文件的方法。
格式化命令
mkfs [选项] [-t 类型] [文件系统选项] <设备> <大小>
选项 | 功能 |
---|---|
-t | 文件系统类型;若不指定,将使用 ext2 |
-V | 解释正在进行的操作; |
-h | 帮助文档 |
-v | 展示版本信息 |
挂载
什么是挂载
在Linux系统中一切皆是文件,所有文件都放置在以根目录为树根的树形目录结构中。在Linux看来任何硬件设备都是文件,都有各自的一套文件系统(文件目录结构)。挂载指的是将设备文件中的顶级目录连接到Linux根目录下的某一目录,访问此目录就等同于访问设备文件。
挂载命令
mount [-lhV]
mount -a [选项]
mount [选项] [--source] <源> | [--target] <目录>
mount [选项] <源> <目录>
mount <操作> <挂载点> [<目标>]
因选项过多,这里不做详解,可以在命令行输入 mouunt -h 获取帮助文档。
示例1
mount /dev/usb /mnt/usb
用默认方法将/dev/usb 挂载到 /mnt/usb