如何对硬盘进行分区?创建文件系统?挂载?
如何自动挂载?
硬盘概念
基本概念
- 硬盘是一种计算机的存储设备,通常是由一个或多个磁盘片组成,硬盘可以安装在计算机的内部,也可以外接计算机,就是保存数据。
- 数据:数字符号的集合,如操作系统,应用程序,文档多媒体文件等等。
- 计算机读取硬盘中的数据时,硬盘先把数据读取到计算机内存当中进行处理。
- 当你对数据内容进行修改时,未保存的数据在内存里,只有用户保存之后,数据才会被写入硬盘。
- 机械硬盘相对固态硬盘较便宜、数据恢复转移较安全
硬盘的组成
- 盘片:可以是一个,也可以是多个,它的两面都可以读写数据。
- 磁头:读取磁盘上的数据
- 永磁铁:保证磁性稳定
- 空气滤纸片:过滤进入磁盘的空气
- 主轴:让磁盘转动,读取数据
硬盘的数据结构
扇区:硬盘最小的存储单位,512 字节
硬盘的分区和使用:MBR和GPT以及其他分区
- 磁盘的空间2T以下,使用MBR进行分区
- 磁盘的空间2T及以上下,使用GPT进行分区
其他分区类型:
- 系统引导分区,就是存放系统的引导文件和Linux的内核文件
- swap分区,交换分区,系统的物理内存不足时,从一些长时间未运行的程序当中释放一部分内存,释放出来的保存到swap分区,这些未运行的程序一旦运行还要从swap空间再返回去。
MBR分区
主引导记录,有主分区、扩展分区、逻辑分区。
有分区表,记录磁盘分区的信息,64字节,一个分区要占16个字节,故最多4个分区。
- 主分区最多只能有四个,编号1-4
- 扩展分区可以有一个,编号1-4
- 逻辑分区:先有扩展分区,才能创建逻辑分区,没有分区数量的限制,编号5开始
GPT分区
有分区表,不再以空间大小进行分配。
使用全局的唯一标识GUID来标识分区,分区更多,分的空间越大,最多有128个分区,而且不再区分分区的类型。
分区的优缺点
分区的原因:
- 不分区没法使用磁盘
- 优化l/O的性能 iuput output 读写性能
- 提高修复的速度
- 可以对一个磁盘的不同分区采用不同的文件系统
分区的缺点:
- 分区一旦建立,不能修改;只能推倒重来,会造成数据格式化,数据丢失,不够灵活。
- 没有提高可用功能,也没有备份功能,而且不能够扩容(分区的时候必须是连续的空间)
Linux分区的命令
Linux系统上创建硬盘
Linux系统上想要分区,首先要在操作界面添加硬盘
查看硬盘信息:lsblk
当我们添加硬盘后,发现并未显示我们添加的硬盘信息,那是因为我们未更新硬盘。
所以需要我们在 /opt/disk.sh 脚本编辑下,具体操作如下:
for i in {0..32}
do
echo "- - -" > /sys/class/scsi_host/host${i}/scan
done
#这个脚本就是直接硬件接口,自动获取磁盘信息
并赋予这个文件最高权限,并刷新这个接口:
这时候我们再查看发现已出现我们创建的新硬盘sdb,接着就可以进行分区了。
MBR分区方式:fdisk
fdisk命令主要是给磁盘进行分区的,也可以查看硬盘大小
fdisk -l /dev/磁盘名称
可见:sda3是我们可用空间( / 下),其他空间被sda1和sda2占用
第一步:分区(fdisk)
命令:fdisk /dev/sdb
- s:硬盘设备的类型scsi (系统的接口,个人电脑服务的,速度快)/ sata(抗干扰能力更强,速度更快,是主流)
- d:无实意
- b:序号
分区操作界面的命令:
- n——新建分区
- p——查看分区情况
- d——删除分区
- t——变更分区的类型
- w——保存操作并退出
- q——不保存操作并退出
由上可见,输入命令后进入分区界面,选择相应的新建命令 n
输入n后,显示我们这个磁盘是空的,主分区、扩展和逻辑分区都是空的,所以我们新建主分区,分区号定位1,再给他5G空间,保存退出。
第二步:为分区安装文件系统(mkfs.)
文件系统:负责管理存储设备的数据访问,以及增删改查等相关操作的系统,作用如下:
- 数据的组织和存储:可以把文件分为不同类型,方便用户的使用和操作
- 数据的保护:提供了权限机制,对数据进行控制和保护
- 数据的访问:文件系统提供了访问硬盘的接口,通过接口访问硬盘数据
- 数据的管理:提高增删改查的功能
- 还可以提高日志记录,快照压缩、解压
文件系统的类型
- ubtuntu默认的文件系统:ext4 (Linux系统原生文件系统,稳定和性能高)
- centos7以后默认的文件系统:xfs (centos7独创的,适合大型文件)
- Windows默认的文件系统:NTFS
- 光盘默认的文件系统:ISO 9660 (只读)
- 网络默认的文件系统:NFS
具体操作:mkfs.
我们是Ubuntu系统,所以选择mkfs.ext4 来未分区安装环境系统
这时候我们还未进行挂载,也就说可以返回,一旦挂载成功,我们就不能推倒重来。
第三步:挂载(mount)
硬件设备必须要和系统的目录挂载后才能使用(挂载最好需要一个新的目录)
我们将创建的主分区sdb1和目录data1做挂载,并用df -hT查看挂载点和挂载类型
这时候,分区就成功了,我们可以在data1上正常操作了
补充:
解除挂载:umount /dev/sdb1
强制解除挂载:umount if /dev/sdb1 (慎用)
扩展分区和逻辑分区
扩展分区不能使用,不能创建文件系统也无法挂载,只能保存逻辑分区的信息,而且是逻辑分区的创建条件。
我们使用相同的方法建立扩展分区,这时候我们发现给扩展分区多少空间都没有,都是1K,因为他只能保存逻辑分区的信息,但是不创建扩展分区,就不能创建逻辑分区。
主分区和逻辑分区的区别:
- 主分区既可以作为操作系统的分区,也可以作为存储数据的分区
- 逻辑分区只能作为存储数据的分区
建立逻辑分区如下:
当我们创建逻辑分区时,给他的空间不得超出扩展分区的剩余空间,因为逻辑分区是在扩展扩展分区基础上建立的。
GPT分区方法:gdisk
首先我们使用同样的方法,在Linux系统操作界面添加3000G的硬盘,并刷新接口 ./disk.sh
使用gdisk进行分区
命令:gdisk /dev/sdc
具体操作如下:
因为GPT分区不分主、扩展分区,所以直接建立分区,8300代表分区类型。
特殊情况:
如果分区后显示空间为空,可以使用下面操作方式:
- partprobe #重新读取硬盘的分区表(分区的uid号),更新内核的分区设备信息
- reboot #系统重启(partprobe没用情况下)
接下来为其安装操作系统和挂载,具体操作和MBR方式一样。
自动挂载
如果重启系统,sdb1和sdc1两个挂载点失效了,这便是临时挂载。
vim /etc/fstab #实现设备永久挂载的配置文件
mount -a #自动挂载
补充:
查看uuid——blkid 文件
UUID:Linux系统分配给硬件设备的唯一标识,包括软件也会分配给一个uuid的唯一标识。
也可以用UUID号来挂载