Day 19 磁盘管理
1.磁盘的基本概念
1.什么是磁盘
磁盘(disk)是指利用磁记录技术存储数据的存储器。
磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。
绝大多数人对硬盘都不陌生,
一块小小的硬盘里,就可以存储海量的照片音乐和电影,尤其是我们喜爱的各类**动作片。
但如此小的空间,是如何储存那么多信息的呢?

每个硬盘中心都是一摞高速运转的圆盘,在圆盘上附着的一圈金属颗粒,每个金属颗粒都有自己的磁化程度,用于储存0和1。
当记录数据时,硬盘的磁头开始通电,形成强磁场,数据在磁场的作用下转变成电流,使颗粒磁化,从而将信息记录在圆盘上。
由海量颗粒组成的信息,就是我们存在硬盘里的数据。
2.磁盘的基本结构
1.什么是盘片: 硬盘一般有一个或多个盘片,每个盘片可以有两面,即第一个盘片的正面为0面,反面为1面然后依次类推。
2.什么是磁道:每个盘片的盘面在出厂的时候被划分出了多个同心圆环,数据就存储在这样的同心圆环上面,我们将这样的圆环称为磁道(Track),每个盘面可以划分多个磁道。但肉业不可见。
3.什么是扇区: 在硬盘出厂时会对磁盘进行一次低格,其实就是再每个磁道划分为若干个弧段,每个弧段就是一个扇区 (Sector)。扇区是硬盘上存储的物理单位,现在每个扇区可存储512字节数据已经成了业界的约定。
4.什么是柱面:柱面实际上就是我们抽象出来的一个逻辑概念,简单来说就是处于同一个垂直区域的磁道称为 柱面 ,即各盘面上面相同位置磁道的集合。这样数据如果存储到相同半径磁道上的同一扇区,这样可以实现并行读取,主要是减少磁头寻道时间。
5.什么是磁头: 读取磁盘磁道上面金属块,主要负责读或写入数据。


3.磁盘的预备知识
我们需要简单了解下磁盘的接口类型、磁盘涉及的相关术语、磁盘在Linux下的命名方式。
1.磁盘的接口类型
IDE,Scsi(已经被淘汰)


SATA III 与SAS(企业使用较多)

ssd的Msata接口为超极本设计,但是被m.2接口的SSD替代,而m.2接口(支持SATA、PCI-E双通道协议)***
1、M.2接口是为超极本量身定做的新一代接口标准,以取代原来的mSATA接口。拥有更小巧的规格尺寸,还是更高的传输性能,M.2都远胜于mSATA。 m2接口百度百科 固态硬盘SATA和mSATA有什么区别
2、M.2几个名词需要各位读者知道了解,SATA和PCI-E AHCI和NVMe
3、最后呢,可以扩展了解 M.2固态硬盘使用过程中常见问题?*
2.磁盘的基本术语
尺寸: 2.5英寸 3.5英寸
容量:KB MB GB TB PB EB
转速:7500 15000
IOPS:每秒能够发生IO的次数
3.磁盘在系统上的命名方式

| 设备名称 | 分区信息 | 设备类型 |
|---|---|---|
| /dev/sda | /dev/sda1 | 第一块物理磁盘第一分区 |
| /dev/sdb | /dev/sdb2 | 第二块物理磁盘第二个分区 |
| /dev/vdd | /dev/vdd4 | 第四块虚拟磁盘的第四个分区 |
PS1:系统中分区由数字编号表示,1~4留给主分区使用和扩展分区,逻辑分区从5开始,为什么分区还有限制?不应该是随意分配?因为MBR分区表只能分配4个主分区?why?
MBR为什么只能划分4个主分区
PS2: 前面我们已经提到过MBR分区表只能分配4个主分区,但现在还有一种新型的分区表GPT,GPT支持分配128个主分区。注意MBR与GPT之间不能互转,会导致数据丢失。
MBR与GPT之间又有什么区别
4.磁盘基本分区Fdisk
1.添加一块小于2TB的磁盘进行使用,步骤如下:
1.给虚拟机添加一块新的硬盘
2.使用fdisk进行分区
3.使用mkfs进行格式化
4.使用mount进行挂载
PS: 生产分区建议,如无特殊需求直接使用整个磁盘即可,无需分区。
PS: 学习分区建议: 1P+1E(3L) 2P+1E(2L) 3P+1E(1L) (仅适用于练习)
[root@xuliangwei ~]# fdisk -l
[root@xuliangwei ~]# fdisk /dev/sdb
Command (m for help): m #输入m列出常用的命令
Command action
a toggle a bootable flag #切换分区启动标记
b edit bsd disklabel #编辑sdb磁盘标签
c toggle the dos compatibility flag #切换dos兼容模式
d delete a partition #删除分区
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 #创建新的Sun磁盘标签
t change a partitions system id #修改分区ID,可以通过l查看id
u change display/entry units #修改容量单位,磁柱或扇区
v verify the partition table #检验分区表
w write table to disk and exit #保存退出
x extra functionality (experts only) #拓展功能
1.fdisk创建主分区
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free) #主分区
e extended #扩展分区
Select (default p): p #选择创建主分区
Partition number (1-4, default 1): #默认创建第一个主分区
First sector (2048-2097151, default 2048): #默认扇区回车
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151): +50M #分配50MB
2.fdisk创建扩展分区
Command (m for help): n #新建分区
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): e #创建扩展分区
Partition number (2-4, default 2):
First sector (104448-2097151, default 104448):
Using default value 104448
Last sector, +sectors or +size{K,M,G} (104448-2097151, default 2097151): #空间都给到扩展分区
3.fdisk创建逻辑分区
Command (m for help): n #新建分区
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): l #创建逻辑分区
Adding logical partition 5
First sector (106496-2097151, default 106496):
Using default value 106496
Last sector, +sectors or +size{K,M,G} (106496-2097151, default 2097151): +100M #分配100MB空间
4.fdisk查看分区情况,并保存
Command (m for help): p #查看分区创建
Device Boot Start End Blocks Id System
/dev/sdb1 2048 104447 51200 83 Linux
/dev/sdb2 104448 2097151 996352 5 Extended
/dev/sdb5 106496 311295 102400 83 Linux
#保存分区
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
#检查磁盘是否是MBR分区方式
[root@xuliangwei ~]# fdisk /dev/sdb -l|grep type
Disk label type: dos
#安装parted, 刷新内核立即生效,无需重启
[root@xuliangwei ~]# yum -y install parted
[root@xuliangwei ~]# partprobe /dev/sdb
2.格式化磁盘
mkfs格式化磁盘,实质创建文件系统,文件系统类似于将房子装修成3室一厅,还是2室一厅。
#选项:
# -b 设定数据区块占用空间大小,目前支持1024、2048、4096 bytes每个块。
# -t 用来指定什么类型的文件系统,可以是ext4, xfs
# -i 设定inode的大小
# -N 设定inode数量,防止Inode数量不够导致磁盘不足
#1.格式化整个磁盘
[root@xuliangwei ~]# mkfs.ext4 /dev/sdb
#2.格式化磁盘的某个分区
[root@xuliangwei ~]# mkfs.xfs /dev/sdb1
3.使用mount挂载并使用
如果需要使用该磁盘的空间,需要准备一个空的目录作为挂载点,与该设备进行关联
磁盘挂载方式Mount
前面我们已经提到过,如果需要使用磁盘的空间,需要准备一个空的目录作为挂载点,与该设备进行关联。mount主要是为文件系统指定一个访问入口。
PS: 类似我的商场没有门,那么就无法进入购买商品,此时通过mount命令可以创建一个入口。给超市安装一个门。如图:
1.通过mount进行挂载,但重启将会失效。我们称为临时生效。
选项:-t指定文件系统挂载分区 -a 挂载/etc/fstab中的配置文件 -o 指定挂载参数
挂载/dev/sdb1至db1目录
[root@xuliangwei ~]# mkdir /db1
[root@xuliangwei ~]# mount -t xfs /dev/sdb1 /db1/
2.挂载的磁盘,如果不想使用可以使用umount进行卸载。
选项: -l 强制卸载
1.卸载目录方式
[root@xuliangwei ~]# umount /db1
2.卸载设备方式
[root@xuliangwei ~]# umount /dev/sdb1
3.umount不能卸载的情况
[root@xuliangwei db1]# umount /db1
umount: /db1: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1)
PS: 如上情况解决办法有两种, 1.切换至其他目录 2.使用'-l'选项强制卸载
[root@student db1]# umount -l /db1
4.如果需要实现永久挂载则需要将挂载信息写入/etc/fstab配置文件中实现。

Day 19 磁盘管理的更多相关文章
- 磁盘管理 之 parted命令添加swap,文件系统
第1章 磁盘管理 1.1 必须要了解的. 1.1.1 ps aux 命令中 RSS 与VSZ的含义 rss 进程占用的物理内存的大小 单位:kb : vsz 进程占用的虚拟的内存大小(物理内存+swa ...
- linux磁盘管理系列-软RAID的实现
1 什么是RAID RAID全称是独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想是把多个磁盘组合起来,组合一个磁盘阵列组,使得性能大幅提高. R ...
- linux磁盘管理系列二:软RAID的实现
磁盘管理系列 linux磁盘管理系列一:磁盘配额管理 http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_040_quota.html l ...
- centos Linux下磁盘管理 parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpfs ,nr_inodes, LVM,传统方式扩容文件系统 第七节课
centos Linux下磁盘管理 parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpf ...
- LVM逻辑磁盘管理
一.简介 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵 ...
- Windows Server 2008磁盘管理
下面学习一下磁盘管理,基本磁盘 分区 空间只能是同一块磁盘的空间,动态磁盘 卷 空间可以是多块硬盘上的空间,怎么创建 RAID-0 条带卷 读写快 无容错 适合存放不太重要的数据 ,RAID-1 ...
- Linux RAID 磁盘管理
Linux RAID 磁盘管理 RAID工作模式介绍:https://www.cnblogs.com/xiangsikai/p/8441440.html 本章主要讲解 Linux下 RAID5 与 R ...
- Kvm--02 安装centos6系统 ,kvm磁盘管理
目录 1.安装一个CentOS6的系统的虚拟主机 2.虚拟机的备份 3.企业案例: 4.Kvm磁盘管理 1.安装一个CentOS6的系统的虚拟主机 #上传一个CenOS6系统的镜像到/opt目录下 [ ...
- linux 系统磁盘管理体系
目录 linux 系统磁盘管理体系 一.磁盘的基本概念 二.磁盘的内部结构 三.磁盘的外部结构 四.磁盘的接口及类型 五.fdisk磁盘分区实践 六.gdisk 分区 七.parted 高级分区工具. ...
随机推荐
- 使用Cmake编译CEF时遇到Error in configuration process,project file may be invalid的解决办法
今天在用Cmake编译cef框架时,弹出了错误,如图: 可以排查一下几种原因: 1.在64位计算机编译32位程序 可以更换编译环境,或者下载64位版本来解决这个问题. 2.选择的Visual Stud ...
- Java8中Instant和LocalDate来计算时间或者日期间隔
/** * java.time.Instant * java.time.Duration * Instant 默认使用UTC时区:2019-01-24T14:01:32.258Z * mongo中的时 ...
- odoo项目结构参数属性详解
1.基础文件及目录结构 在认识odoo ORM框架前,先介绍一下odoo中模块目录结构. data:存放模块预制数据i18n:存放国际化文件models:存放模型等py代码security:存放权 ...
- 使用 Docker Compose 快速构建 TiDB 集群
本文档介绍如何在单机上通过 Docker Compose 快速一键部署一套 TiDB 测试集群.Docker Compose 可以通过一个 YAML 文件定义多个容器的应用服务,然后一键启动或停止. ...
- Redis学习总结(二)--Redis数据结构
Redis支持六种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). 结构类型 存储的值 string 可以是字符串.浮 ...
- Spring学习之旅(十三)--使用NoSQL数据库
除了关系型数据库之外,现在还有一种 NoSQL 数据库非常流行,而 Spring 自然也没有放过对它的支持. NoSQL 数据库有很多种,如: MongoDBGenericJackson2JsonRe ...
- cookies和sessionstorage和localstorage区别
相同点:客户端都会存储 不同点 不同点 存储大小 有效时间 数据与服务器交互方式 cookies <=4K 在设置cookie过期之前一直有效(无论窗口浏览器是否关闭) 正常情况下,cookie ...
- ionic 删除返回按钮文字,及自定义nav两侧的按钮和title格式
1.删除返回按钮文字 1)可以在app.js进行配置 .config(function($stateProvider, $urlRouterProvider,$ionicConfigProvider) ...
- Android进阶之路(2)-详解MVP
### MVP简介 >MVP 全称:Model-View-Presenter :MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的[地方](https://baike.baidu.co ...
- Setup Factory 9 简单打包
由于项目资源太大,使用VS自带打包工具无法实现需求,所以Setup Factory 9进行打包生成多个文件的方案,下面记录使用方法: 一:这里点击下载:下载,提取码:tt7a 二:下载完安装需要注册码 ...


