Linux笔记4 磁盘管理

发布于:2024-11-28 ⋅ 阅读:(12) ⋅ 点赞:(0)

磁盘简介

概念

硬盘是由一片或多片带有磁性的铝合金制的盘片构成,是一种大容量、永久性的外部存储设备

组成:盘片、马达驱动、缓存、控制电路、接口

逻辑结构

  • 磁道:由内到外的同心圆

  • 扇区:半径组成的扇形磁道存储区

  • 柱面:多个盘片的统一磁道

虚拟机添加新硬盘

过程

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磁盘阵列