1、磁盘的物理组成:
圆形的磁盘(主要记录数据的部分);
机械手臂,与在机械手臂上的磁盘读取头(可擦写磁盘盘上的数据);
主轴马达,可以转动磁盘盘,让机械手臂的读取头在磁盘盘上读写数据。
扇区(Sector)为最小的物理储存单位,每个扇区为 512 bytes;
将扇区组成一个圆,那就是磁柱(Cylinder),磁柱是分割槽(partition)的最小单位;第一个扇区最重要,里面有:
主引导区(Master boot record, MBR),占有 446 bytes。
分区表(partition table),占有 64 bytes。
2、各种接口的磁盘在 Linux 中的文件名分别为:
/dev/sd[a-p] [1-15]:为 SCSI, SATA, USB, Flash 随身碟等接口的磁盘文件名;
/dev/hd[a-d] [1-63]:为 IDE 接口的磁盘文件名;
3、磁盘的分区:
主分区与扩展分区最多可以有四个(硬盘的限制)。
扩展分区最多只能有一个(操作系统的限制)。
逻辑分区是由扩展分区分割出来的分区;
能被格式化用作存储数据的分区是主分区与逻辑分区,扩展分区不能被格式化。
逻辑分区的数量根据操作系统而不同,在 Linux 系统中,IDE 硬盘最多有 59 个逻辑分区(5 号到 63 号), SATA 硬盘则有 11 个逻辑分区(5 号到 15 号)。
4、"fdisk –l"命令——查看分区信息
Device:分区的设备文件名称。
Boot:是否是引导分区。是,则带有“*”标识。
Start:该分区在硬盘中的起始位置(柱面数)。
End:该分区在硬盘中的结束位置(柱面数)。
Blocks:分区的大小,以 Blocks(块)为单位,默认的块大小为 1024 字节。
Id:分区类型的 ID 标记号,对于 EXT4 分区为 83,LVM 分区为 8e。
System:分区类型。
5、在虚拟机中添加硬盘
1、硬盘分区命令:fdisk
举例:fdisk /dev/sdb:对指定的硬盘进行分区。
2、按 m 键获取帮助信息
3、创建主分区,大小为 5G
4、查看创建的主分区信息
5、创建扩展分区
6、创建逻辑分区
7、查看分区信息
命令格式:mkfs –t 文件系统类型 分区设备
默认使用的是 ext4 文件系统,Linux 也支持 Windows 中的 FAT32 文件系统,在 Linux 中表示为 vfat。
**举例:**将/dev/sdb1 格式化为 ext4 文件系统。
[root@localhost ~]# mkfs -t ext4 /dev/sdb1
**举例:**将/dev/sdb5 格式化为 fat32 文件系统。
[root@localhost ~]# mkfs -t vfat /dev/sdb5
1、挂载文件系统
通 过 之 前 的 操 作 ,已 经 将 系 统 中 新 增 加 的 第 二 块 硬 盘 分 成 了 4 个 分 区 :/dev/sdb1、/dev/sdb4、/dev/sdb5、/dev/sdb6,其中/dev/sdb4 作为扩展分区,无法实际使用,实际可用的分区只有三个,但这个三个分区也无法直接被使用,要想使用这些分区,还必须经过最后一步操作:挂载。挂载是 Linux 系统与 windows 系统在存储设备操作方式上的一个非常重要的区别。
(1) 了解什么是挂载
挂载就是指定系统中的一个目录作为挂载点,用户通过访问这个目录来实现对硬盘分区的数据存取操作。例如把/dev/sdb5 挂载到/tmp/目录,当用户在/tmp/目录下执行数据存取操作时,Linux 系统就知道要到/dev/sdb5 上执行相关的操作。
(2)mount 命令——挂载文件系统
挂载由 mount 命令来完成,可以灵活的挂载各种类型的文件系统。
命令格式:mount [选项] [设备名] [挂载点]
选项 | 功能说明 |
---|---|
-t fstype | 指定要挂载的文件系统的类型,如果不清楚,可以使用-t auto 让系统己选择最合适的文件系统类型挂载。 |
-r | 以只读的方式挂载文件系统 |
-w | 以读写的方式挂载文件系统,默认选项 |
-o | 设置挂载属性 |
-a | 挂载/etc/fstab 文件中记录的设备 |
文件系统类型通常可以省略(由系统自动识别)
文件系统对应分区的设备文件名
挂载点为用户指定用于挂载的目录
挂载点必须是一个已经存在的目录,一般在挂载之前使用 mkdir 命令先创建一个新的目录,如果把现有的目录当做挂载点,则这个目录最好为空目录。
(3)挂载硬盘分区
将“/dev/sdb1”挂载到“/data”目录下
(4)df 命令—查看已挂载的文件系统
df 命令主要用来了解系统中已经挂载的各个文件系统的磁盘使用情况。
常用选项:
选项 | 功能说明 |
---|---|
-h | 显示更易读的容量单位 |
-T | 显示文件系统的类型 |
(5)挂载光盘
在挂载光盘和 U 盘等外围设备时一般习惯性地将挂载点放在/mnt 目录下。
**举例:**光盘对应的设备文件通常为“/dev/cdrom”,将光盘挂载到“/mnt/cdrom”目录。
(6)挂载移动存储设备
Linux 系统将 USB 接口的移动设备视作 SCSI 设备对待,使用“/dev/sdxx”的设备文件名。
(7)挂载 ISO 镜像
Linux 将 iso 镜像视为一种特殊的“回环”文件系统,在挂载时需要添加“-o loop”选项。
2、自动挂载(永久挂载)文件系统
通过 mount 命令挂载的文件系统在 Linux 系统关机或重启时都会自动被卸载,这样每次开机后管理员都需要将它们手工挂载一遍,如果在挂载的文件系统里存放了一些开机要自动运行的程序数据,就可能导致程序出现错误。在 Linux 系统中可以通过改/etc/fstab(File System Table)文件来完成文件系统的自动挂载,即表示系统启动以后自动将硬盘各分区挂载到文件系统中,用户可以直接使用这些分区中的内容。
(1)/etc/fstab 文件内容
**第 1 字段:**需要挂载的设备文件名。
**第 2 字段:**挂载点,必须是一个目录,而且必须用绝对路径。对于交换分区,这个字段定义为 swap。
**第 3 字段:**文件系统的类型。如果是 ext4 文件系统,则写成 ext4;如果是 FAT32 文件系统,则写成 vfat;如果是光盘,可以写成 auto,由系统自动检测。
**第 4 字段:**挂载选项。一般都是采用“defaults”。
**第 5 字段:**文件系统是否需要 dump 备份,1 表示需要,0 表示忽略。
**第 6 字段:**在系统启动时是否检查这个文件系统以及检查的顺序,0 表示不检查,1 表示优先检查,2 表示其次检查。
(2)修改/etc/fstab 文件,实现自动挂载
举例 1:将/dev/sdb1 永久挂载到/data 目录:
/dev/sdb1 /data ext4 defaults 0 0
**举例 2:**将光盘永久挂载到/mnt/cdrom 目录:
/dev/cdrom /mnt/cdrom auto defaults 0 0
设置完成后,可以执行“mount –a”命令,自动挂载文件中所有的文件系统。
3、umount——卸载文件系统
文件系统可以被挂载,不用时可以被卸载。卸载文件系统的命令是 umount,这个命令可以把文件系统从 Linux 系统中的挂载点上分离,将原来建立的文件系统和挂载点的连接断掉。命令格式:umount [设备名或者挂载点]
在卸载一个文件系统的时候,需要指定要卸载的文件系统的挂载点或者设备名。
例如:
[root@localhost ~]#umount /dev/sdb1 //指定设备名卸载
[root@localhost ~]#umount /mnt/sdb1 //指定挂载点卸载
如果卸载文件系统提示:“busy 状态,不可卸载时”,使用 fuser 命令查看正在使用该文件系统的用户信息。
命令格式:fuser [options] 文件系统名或者文件名
选项 | 功能说明 |
---|---|
-a | 显示所有在命令行中指定的文件系统信息。默认情况下,至少被一个进程访问的文件才会被显示。 |
-k | 杀死访问文件的进程。 |
-i | 在杀死使用文件的用户进程之前,提示确认 |
-u | 显示使用文件系统的进程的所有者信息。 |
-v | 按进程查看命令 ps 的显示模式,显示文件的使用者信息,包括 PID、USER、COMMAND等。 |
**举例:**查看哪个进程打开了当前目录下的 cdrom 文件夹。
[root@localhost~]# fuser /mnt/cdrom
/mnt/cdrom: 71992c
杀死进程的方法:
[root@localhost~]#kill -9 71992
[root@localhost~]#fuser -km /mnt/cdrom