磁盘简介
概念
硬盘是由一片或多片带有磁性的铝合金制的盘片构成,是一种大容量、永久性的外部存储设备
组成:盘片、马达驱动、缓存、控制电路、接口
逻辑结构
磁道:由内到外的同心圆
扇区:半径组成的扇形磁道存储区
柱面:多个盘片的统一磁道
虚拟机添加新硬盘
过程
1、关机
2、编辑虚拟机设置
3、点击添加
4、选择硬盘后下一步
5、选择磁盘类型(SATA(A))
6、创建新虚拟磁盘
7、20GB,单个文件
8、命名默认(也可更改),点击完成
硬盘分区概念
MBR分区
类型
主分区(primary partition)
一块硬盘最多4个主分区,主分区不可以再进行二次分区
主分区可以直接建立文件系统,存放数据
可以用来引导、启动操作系统
扩展分区(extended partition)
一块硬盘最多一个扩展分区,加主分区最多4个
不能创建文件系统
可以划分逻辑分区
逻辑分区(logical partition)
可以创建文件系统,存放数据
逻辑分区的数量没有限制。
支持的分区数量:4个主分区或者3个主分区1个扩展分区
DPT分区
概念
GPT(GUID Partition Table,全局唯一标识分区表)是一种比MBR分区更先进、更灵活的磁盘分区模式
GPT分区表使用LBA(Logical Block Address)逻辑区块地址来记录磁盘引导、分区的相关信息
LAB区块大小(512B-4KB),默认为512B
LAB区块共68个,前34个记录分区信息,后34个进行备份
不在区分主分区与其它分区,默认情况下,GPT最多可支持128个分区
支持大于2.2TB的总容量及大于2.2TB的分区,最大支持18EB(1EB=1024PB,1PB=1024TB,1TB=1024GB)
GPT分区机制在较老的BIOS中不能识别,则提供了一个UEFI (Unified Extensible Firmware Interface)统一的可扩展固件接口,来取代传统的BISO,又称为UEFI BIOS,UEFI使用C语言编写,支持较多的平台
lsblk概念
作用:查看磁盘信息
格式:lsblk 参数 设备名
参数
-d :仅列出硬盘本身信息,不显示分区信息
-f :列出磁盘的内的文件系统名称
-i : 使用ASCII码格式输出信息
-t :显示磁盘的详细信息
-p :显示设备完整名称
硬盘分区
使用fdisk管理分区
作用
fdisk命令工具默认将磁盘划分为==MBR==格式的分区
命令:fdisk 设备名
注意:fdisk命令以交互方式进行操作的,在菜单中选择相应功能键即可
使用gdisk管理分区
注意
注意:gdisk命令针对GPT分区格式,若在MBR分区格式下进行添加分区,则所有数据会全部丢失,切记:一块硬盘中fdisk与gdisk不能混用
格式:gdisk 设备名
实际工作中,硬盘分区是应保留一定的自由空间,以备将来分区空间不足时可以临时扩容 。
格式化
查看文件系统格式
[root@server ~]# mkfs # 点击2次tab
mkfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.fat mkfs.minix mkfs.msdos mkfs.vfat mkfs.xfs
格式化命令
mkfs.xfs -参数 硬盘分区名
mkfs.ext4 -参数 硬盘分区名
参数
-f:强制格式化,已存在文件系统时需要使用
-c:建立文件系统前先检查坏块。
-V:输出建立文件系统的详细信息
blkid命令
作用:显示设备的UUID值和文件系统名称
UUID:全局单一标识符(Universally Unique Identifier),Linux系统会给所有设备分配一个唯一的UUID值,以方便挂载
格式:blkid 设备名
挂载
mount point:挂载点,是一个目录,该目录是进入磁盘分区(文件系统)的入口
挂载:将一个分区或者设备挂载至挂载点目录,建立连接,通过挂载点目录进入分区空间
mount命令
格式:mount [-t 文件系统类型] 设备名 挂载点目录
参数
-a:依照配置文件/etc/fstab的数据将所有未挂载的磁盘都挂载上来
-t:指定文件系统类型
-o 特殊设备选项:挂载设备时使用逗号分割输入额外参数
注意:
单一文件系统不应该被重复挂载在不同的挂载点(目录)中
单一目录不应该重复挂载多个文件系统
作为挂载点的目录,应为空目录,否则原有数据会隐藏
umount命令
作用:卸载分区,要移除USB磁盘、U盘、光盘和硬盘时,需要先卸载
格式:umount 参数 设备名称[挂载点]
参数:-f :强制卸载
开机挂载
作用:由于mount为手动挂载,重启后就会卸载,则修改/etc/fstab配置文件,实现开机自动挂载。
[root@server ~]# mount /dev/sda1 /msda1
[root@server ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 2G 0 part /msda1 # 已挂载
……[root@server ~]# reboot
[root@server ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 2G 0 part
……
特殊挂载
挂载大文件
当只有一个分区,剩余空间还很大,自由空间很小不能进行新的分区,则可以在当前分区制作一个大文件,在进行挂载,相当于一个新的分区来使用
例:建立根目录下新建1GB大文件,挂载并开机挂载使用
[root@server ~]# dd if=/dev/zero of=/loopdev count=1 bs=1G
[root@server ~]# mkfs.xfs -f /loopdev
[root@server ~]# mkdir /mloop
[root@server ~]# mount -o loop /loopdev /mloop
[root@server ~]# lsblk
[root@server ~]# vim /etc/fstab
/loopdev /mloop xfs defaults 0 0
[root@server ~]# mount -a
[root@server ~]# reboot
[root@server ~]# lsblk
查看磁盘空间使用量
df命令
作用:列出文件系统的磁盘空间占用情况
格式:df -参数 目录或文件名
参数
-a:列出所有的文件系统,包括系统特有的/proc等文件系统
-k:以KB的容量显示各文件系统
-m:以MB的容量显示各文件系统
-h:以人们较易阅读的GB,MB,KB等格式自行显示
-H:以M=1000K替代M=1024K的进位方式
-T:连同该分区的文件系统名称(例如ext3)也列出
-i:不用硬盘容量,而以inode的数量来显示# 由于df主要读取的数据几乎都是针对整个文件系统,因此读取的范围主要是在Super block内的信息,所以这个命令显示结果的速度非常快速。
du命令
作用:du:显示磁盘空间使用量(统计目录或文件所占磁盘空间大小),在默认情况下,文件大小的单位是KB。
格式:du -参数 文件或目录名
参数
-a : 列出所有的文件与目录容量,因为默认仅统计目录下面的文件量而已;
-h : 以人们较易读的容量格式(G/M)显示;
-s : 列出总量,而不列出每个个别的目录占用了容量;
-S : 不包括子目录下的总计,与-s有点差别;
-k : 以KB列出容量显示;
-m : 以MB列出容量显示
mdadm命令
作用:mdadm命令
格式:mdadm [模式] <RAID设备名> -参数 [成员设备名称]
参数
-a :检测设备名称
-n :指定硬盘数量
-l :指定RAID级别
-C :创建RAID
-v :显示过程
-f :模拟设备损坏
-r :移除设备
-Q : 查看摘要
-D :查看详细信息
-S :停止RAID磁盘阵列