磁盘空间管理、MBR与GPT分区模式、fdisk命令使用、件系统、开机自动挂载、GPT分区模式划分、parted使用、交换空间介绍、交换分区制作、使用交换分区

1 往日再来:仰天大笑出门去,我辈岂是蓬蒿人

2 环境准备:还原快照"安装系统完成"状态

3 虚拟机添加硬盘

关闭虚拟机

    [root@localhost ~]# poweroff 

一共添加两块硬盘,然后开启虚拟机

查看本机识别的新的硬盘

    [root@localhost ~]# lsblk 
    NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sr0          11:0    1 10.5G  0 rom  
    /dev/sda     259:0    0   20G  0 disk 
    ├─sda1 259:1    0    1G  0 part /boot
    └─sda2 259:2    0   19G  0 part 
      ├─rl-root 253:0    0   17G  0 lvm  /
      └─rl-swap 253:1    0    2G  0 lvm  [SWAP]
    /dev/sdb     259:3    0   20G  0 disk 
    /dev/sdc    259:4    0   20G  0 disk 
    [root@localhost ~]#

计算机容量单位:

一般用B,KB,MB,GB,TB,PB,EB,ZB,YB,BB来表示,它们之间的关系是:

1KB (Kilobyte 千字节)=1024B,

1MB (Megabyte 兆字节 简称"兆")=1024KB,

1GB (Gigabyte 吉字节 又称"千兆")=1024MB,

1TB (Terabyte 万亿字节 太字节)=1024GB,

1PB (Petabyte 千万亿字节 拍字节)=1024TB,

1EB (Exabyte 百亿亿字节 艾字节)=1024PB,

1ZB (Zettabyte 十万亿亿字节 泽字节)= 1024 EB,

1YB (Yottabyte 一亿亿亿字节 尧字节)= 1024 ZB,

1BB (Brontobyte 一千亿亿亿字节)= 1024 YB.

4 硬盘分区思路

一块硬盘的"艺术"之旅(硬盘空间使用,经历的步骤)

•识别硬盘 => 分区规划 => 格式化 => 挂载使用

5 识别硬盘

[root@localhost ~]# lsblk #列出当前系统识别的硬盘

6 分区规划

•分区方案(分区模式): MBR与GPT

•MBR(msdos)分区模式(如图-12所示)

--分区类型:主分区、扩展分区(占用所有剩余空间)、逻辑分区

--最多只能有4个主分区

--扩展分区可以没有,至多有一个

--1~4个主分区,或者 3个主分区+1个扩展分区(n个逻辑分区)

--最大支持容量为 2.2TB 的磁盘

--扩展分区不能格式化,空间不能直接存储数据

--可以用于存储数据的分区:主分区与逻辑分区

fdisk常用交互指令:专门用来划分MBR分区模式

  • m 列出指令帮助

  • p 查看现有的分区表(存放分区信息的表格)

  • n 新建分区

  • d 删除分区

  • q 放弃更改并退出

  • w 保存更改并退出

        [root@localhost ~]# fdisk    /dev/vdb   
        n 创建新的分区----->分区类型 回车----->分区编号 回车---->起始扇区 回车----->在last结束时 +2G
        p 查看分区表
        n 创建新的分区----->分区类型 回车----->分区编号 回车---->起始扇区 回车----->在last结束时 +1G
        w 保存并退出                            
        [root@localhost ~]# lsblk                    
        [root@localhost ~]# ls    /dev/vdb[1-2]
    

    7 格式化:赋予空间文件系统的过程

    文件系统:数据在空间中,存放的规则

    Windows常见的文件系统:NTFS FAT(兼容性强)

    Linux常见的文件系统:ext4(6系列) xfs(7系列以上) FAT

    [root@localhost ~]#  mkfs.(tab)(tab)             #连续按两次tab键
    [root@localhost ~]#  mkfs.ext4   /dev/vdb1    #格式化文件系统ext4
    [root@localhost ~]#  mkfs.xfs   /dev/vdb2     #格式化文件系统xfs
                                                                                                                        
    [root@localhost ~]#  blkid     /dev/vdb1    #查看文件系统类型  
    [root@localhost ~]#  blkid     /dev/vdb2     #查看文件系统类型
    [root@localhost ~]#  mkfs.xfs   -f    /dev/vdb2     #强制格式化文件系统xfs
    

    8 临时挂载使用

        [root@localhost ~]#  mkdir   /mypart1
        [root@localhost ~]#  mount   /dev/vdb1    /mypart1
        [root@localhost ~]#  df   -h    /mypart1  #显示正在挂载设备的使用情况显示
        [root@localhost ~]#  mkdir    /mypart2
        [root@localhost ~]#  mount    /dev/vdb2    /mypart2
        [root@localhost ~]#  df    -h     /mypart1    /mypart2
            #显示正在挂载的设备信息,使用情况的显示
    

    9 开机自动挂载/etc/fstab

    设备路径 挂载点 文件系统类型 参数 备份标记 检测顺序

        [root@localhost ~]# blkid  /dev/vdb1   #查看文件系统类型
        [root@localhost ~]# blkid  /dev/vdb2   #查看文件系统类型
        [root@localhost ~]# vim    /etc/fstab    #vmware虚拟机
        /dev/sdb1   /mypart1   ext4    defaults   0   0
        /dev/sdb2   /mypart2    xfs    defaults   0    0
        [root@localhost ~]# vim    /etc/fstab    #KVM虚拟机
        /dev/vdb1   /mypart1   ext4    defaults   0   0
        /dev/vdb2   /mypart2    xfs    defaults   0   0 
    

    10 开机自动挂载/etc/fstab 测试

    设备路径 挂载点 文件系统类型 参数 备份标记 检测顺序

        [root@localhost ~]# umount   /mypart1       #卸载
        [root@localhost ~]# umount   /mypart2       #卸载
        [root@localhost ~]# df  -h  |   grep  mypart  #没有输出
        [root@localhost ~]# mount   -a         
        检测/etc/fstab开机自动挂载配置文件,格式是否正确
        检测/etc/fstab中,书写完成,但当前没有挂载的设备,进行挂载 
        [root@localhost ~]# df  -h  |    grep  mypart  #有输出   
                                                                  
        [root@localhost ~]# reboot     #不是必须的    
    

    11 如果/etc/fstab文件有误:修复办法

    1.输入root的密码,如图-13所示)

2.修改/etc/fstab文件内容(如图-14所示)

12 综合分区

    [root@localhost ~]# fdisk   /dev/vdb  
    p 查看分区表
    n 创建主分区--->回车--->回车--->回车--->在last结束时 +2G
    p 查看分区表
    n 创建主分区--->p回车 --->起始回车--->结束回车   将所有剩余空间给最后一个分区
    p 查看分区表           
    w 保存并退出
    [root@localhost ~]# lsblk

练习逻辑分区划分(了解)

    [root@localhost ~]# fdisk   /dev/vdc   
    p 查看分区表
    n 创建主分区--->回车--->回车--->回车--->在last结束时 +2G
    n 创建主分区--->回车--->回车--->回车--->在last结束时 +2G
    n 创建主分区--->回车--->回车--->回车--->在last结束时 +2G
    p 查看分区表
    n 创建扩展分区 --->回车--->起始回车--->结束回车   将所有剩余空间给扩展分区
    p 查看分区表
    n 创建逻辑分区----->起始回车------>在last结束时+2G
    n 创建逻辑分区----->起始回车------>在last结束时+2G
    n 创建逻辑分区----->起始回车------>在last结束时回车
    p 查看分区表
    w 保存并退出
    [root@localhost ~]# lsblk
    [root@localhost ~]# parted    /dev/vdc     print  #查看分区类型

13 补充命令partprobe刷新分区表

14 分区模式GPT

1.关闭虚拟机,添加新的20G硬盘

    [root@localhost ~]# poweroff 
    [root@localhost ~]# lsblk    

2.分区模式GPT

•GPT,GUID Partition Table

--全局唯一标识分区表

--突破固定大小64字节的分区表限制

--可支持4个以上的主分区,最大支持18EB容量

** 1 EB = 1024 PB = 1024 x 1024 TB

•parted常用分区指令

--help //查看指令帮助

--mktable gpt //建立指定模式分区表

--mkpart 分区的名称 文件系统类型 start end //指定大小或百分比%作为起始、结束位置

--print //查看分区表

--rm 序号 //删除指定的分区

--quit //退出交互环境

•parted进行分区

    [root@localhost ~]# parted      /dev/vdd    
    (parted) mktable   gpt      #指定分区模式
    (parted) mkpart                #划分新的分区 
    分区名称? []? haha             #随意写,不写也可以
    文件系统类型? [ext2]? ext4    #随意写,不会进行格式化
    起始点? 0 
    结束点? 5G 
    忽略/Ignore/放弃/Cancel? Ignore #选择忽略,输入i(tab)补全
    (parted) print                 #查看分区表信息
    (parted) unit   GB             #使用GB作为单位
    (parted) print 
    (parted) mkpart              #划分新的分区
    分区名称? []? haha 
    文件系统类型? [ext2]? ext4 
    起始点? 5G                    #为上一个分区的结束
    结束点? 100%                 #全部空间
    (parted) print                      
    (parted) quit              #退出
    [root@localhost ~]# lsblk 

•parted进行分区使用

    [root@localhost ~]# mkfs.xfs    /dev/vdd1     #格式化文件系统
    [root@localhost ~]# blkid    /dev/vdd1     
    [root@localhost ~]# vim  /etc/fstab    #增加一行信息
    /dev/vdd1    /mypart3    xfs    defaults  0   0
    [root@localhost ~]# mkdir   /mypart3
    [root@localhost ~]# mount   -a
    [root@localhost ~]#  df  -h   /mypart3

15 分区总结

  1. 识别硬盘 :lsblk 查看识别的硬盘
  2. 硬盘分区 :fdisk命令 parted命令
  3. 分区模式:MBR分区方案 GPT分区方案
  4. 格式化 :mkfs.ext4 mkfs.xfs blkid
  5. 挂在使用:mount 手动挂载 与/etc/fstab开机自动挂载
  6. 利用mount -a检测开机自动挂载

16 交换空间(虚拟内存)

利用硬盘的空间,充当内存的空间

比如:CPU(喝水)----->内存(水缸)----->硬盘(水井)

当物理内存占满了,可以将内存的中数据,暂时放入交换空间中,缓解真实物理内存的压力

利用硬盘分区制作交换空间

    [root@localhost ~]#  ls    /dev/vdc1             
    [root@localhost ~]#  mkswap   /dev/vdc1    #格式化交换文件系统
    [root@localhost ~]#  blkid     /dev/vdc1        #查看文件系统类型
    [root@localhost ~]#  swapon                  #查看交换空间组成的成员信息
    [root@localhost ~]#  swapon   /dev/vdc1     #启用交换分区
    [root@localhost ~]#  swapon                 #查看交换空间组成的成员信息
    [root@localhost ~]#  free  -h              #查看交换空间的大小
    [root@localhost ~]#  swapoff    /dev/vdc1        #停用交换分区
    [root@localhost ~]#  swapon                #查看交换空间组成的成员信息
    [root@localhost ~]#  free   -h                 #查看交换空间的大小 

开机自动启用交换分区

    [root@localhost ~]# vim    /etc/fstab   #增加一行信息
    /dev/vdc1   swap    swap     defaults  0   0
    [root@localhost ~]# swapon  #查看交换空间组成的成员信息
    [root@localhost ~]# swapon  -a   #专门检测交换分区的书写
    [root@localhost ~]# swapon  #查看交换空间组成的成员信息
    [root@localhost ~]# reboot   #进行测试(不是必须的)

17 真机为Linux系统:真机空间不够

KVM虚拟机化:一切皆文件,真机会创建一个大文件,充当虚拟机的硬盘

需要管理员手动删除对应的硬盘文件

查看虚拟机对应的硬盘文件,如图-16所示。

真机上操作:删除不用的硬盘文件

[root@localhost /]# cd /var/lib/libvirt/images

[root@localhost images]# ls

[root@localhost images]# df -h / #查看根分区使用情况

18 案例1:硬盘分区及格式化

18.1 问题

本例要求熟悉硬盘分区结构,使用fdisk分区工具在磁盘 /dev/vde上按以下要求建立分区:

  1. 采用默认的 msdos 分区模式
  2. 第1个分区 /dev/vde1 的大小为 200MiB
  3. 第2个分区 /dev/vde2 的大小为 2000MiB
  4. 第3个分区 /dev/vde3 的大小为 1000MiB

完成分区后,能够配置开机自动挂载 /dev/vde2 分区:

  1. 文件系统类型为 EXT4
  2. 将其挂载到 /mnt/part2 目录

18.2 方案

fdisk分区工具用来建立msdos分区方案,其交互模式中的主要指令如下:

  • m:列出指令帮助
  • p:查看当前的分区表信息
  • n:新建分区
  • d:删除分区
  • q:放弃分区更改并退出
  • w:保存对分区表所做的更改

18.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:新建分区表

1)打开fdisk工具,操作磁盘/dev/vde

    [root@server0 ~]# fdisk  /dev/vde
    Welcome to fdisk (util-linux 2.23.2).
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
    Device does not contain a recognized partition table
    Building a new DOS disklabel with disk identifier 0x9ac1bc10.
    Command (m for help):                         //交互操作提示信息

2)新建第1个分区/dev/vde1

    Command (m for help): n                                  //新建分区
    Partition type:
       p   primary (0 primary, 0 extended, 4 free)
       e   extended
    Select (default p): p                                 //类型为p(主分区)
    Partition number (1-4, default 1): 1                     //分区编号1
    First sector (2048-20971519, default 2048):              //起始位置默认
    Using default value 2048
    Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +200M  
    Partition 1 of type Linux and of size 200 MiB is set      //结束位置+200MiB大小
    Command (m for help): p                                  //确认当前分区表
    .. ..
       Device Boot      Start         End      Blocks   Id  System
    /dev/vde1            2048      411647      204800   83  Linux

3)新建第2个分区/dev/vde2

    Command (m for help): n
    Partition type:
       p   primary (1 primary, 0 extended, 3 free)
       e   extended
    Select (default p): p                                 //类型为p(主分区)
    Partition number (2-4, default 2): 2                    //分区编号2
    First sector (411648-20971519, default 411648):         //起始位置默认
    Using default value 411648
    Last sector, +sectors or +size{K,M,G} (411648-20971519, default 20971519): +2000M
    Partition 2 of type Linux and of size 2 GiB is set       //结束位置+2000MiB大小
    Command (m for help): p                                  //确认当前分区表
    .. ..
       Device Boot      Start         End      Blocks   Id  System
    /dev/vde1            2048      411647      204800   83  Linux
    /dev/vde2          411648     4507647     2048000   83  Linux

4)新建第3个分区/dev/vde3

    Command (m for help): n     
    Partition type:
       p   primary (2 primary, 0 extended, 2 free)
       e   extended
    Select (default p): p
    Partition number (3,4, default 3): 3
    First sector (4507648-20971519, default 4507648): 
    Using default value 4507648
    Last sector, +sectors or +size{K,M,G} (4507648-20971519, default 20971519): +1000M
    Partition 3 of type Linux and of size 1000 MiB is set
    Command (m for help): p                                  //确认当前分区表
    .. ..
       Device Boot      Start         End      Blocks   Id  System
    /dev/vde1            2048      411647      204800   83  Linux
    /dev/vde2          411648     4507647     2048000   83  Linux
    /dev/vde3         4507648     6555647     1024000   83  Linux

5)保存分区更改,退出fdisk分区工具

    Command (m for help): w                                  //保存并退出
    The partition table has been altered!
    Calling ioctl() to re-read partition table.
    Syncing disks.

步骤二:格式化及挂载分区

1)将分区/dev/vdb2格式化为EXT4文件系统

    [root@server0 ~]# mkfs.ext4  /dev/vde2
    .. .. 
    Allocating group tables: done  
    Writing inode tables: done 
    Creating journal (8192 blocks): done
    Writing superblocks and filesystem accounting information: done

2)配置开机自动挂载

    [root@server0 ~]# vim  /etc/fstab
    .. ..
    /dev/vde2       /mnt/part2      ext4    defaults        0 0

3)创建挂载点,并验证挂载配置

    [root@server0 ~]# mkdir  /mnt/part2                 //创建挂载点
    [root@server0 ~]# mount  -a                         //挂载fstab中的可用设备
    [root@server0 ~]# df  -hT  /mnt/part2/                 //检查文档所在的文件系统及设备
    Filesystem     Type  Size  Used Avail Use% Mounted on
    /dev/vde2      ext4  1.9G  5.9M  1.8G   1% /mnt/part2

19 案例2:分区扩展Swap空间

19.1 问题

  1. 添加新硬盘上划分一个2G的分区vdf1
  2. 将/dev/vdf1格式化为Swap文件系统
  3. 启用/dev/vdf1分区,查看Swap空间大小
  4. 停用/dev/vdf1分区,查看Swap空间大小

19.2 方案

首先要明白Swap分区空间是来源于硬盘,而要想扩充Swap空间的大小,思路很简单就是把硬盘的分区格式成Swap文件系统,再扩充到Swap空间中区。

对于Swap分区有它独立的格式化命令和扩充命令,这里要和普通分区的格式化命令和挂载命令区分开。此外它还有独立查看Swap空间组成的命令。

19.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:从磁盘vdf上划分一个2G的分区vdf1

命令操作如下所示:

    [root@localhost ~]# fdisk /dev/vdf
    欢迎使用 fdisk (util-linux 2.23.2)。
    更改将停留在内存中,直到您决定将更改写入磁盘。
    使用写入命令前请三思。
    Device does not contain a recognized partition table
    使用磁盘标识符 0x6faf1c3f 创建新的 DOS 磁盘标签。
    命令(输入 m 获取帮助):n
    Partition type:
       p   primary (0 primary, 0 extended, 4 free)
       e   extended
    Select (default p):                  #回车
    Using default response p
    分区号 (1-4,默认 1):        #回车
    起始 扇区 (2048-41943039,默认为 2048):     #回车
    将使用默认值 2048
    Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+2G  
    分区 1 已设置为 Linux 类型,大小设为 2 GiB
    命令(输入 m 获取帮助):p
    磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0x6faf1c3f
       设备 Boot      Start         End      Blocks   Id  System
    /dev/vdf1            2048     4196351     2097152   83  Linux
    命令(输入 m 获取帮助):w
    The partition table has been altered!
    Calling ioctl() to re-read partition table.
    正在同步磁盘。
    [root@localhost ~]#

步骤二:将/dev/vdf1格式化为swap文件系统

命令操作如下所示:

    [root@localhost ~]# mkswap /dev/vdf1   //格式化为swap文件系统
    Setting up swapspace version 1, size = 1951740 KiB
    no label, UUID=848ca15c-a03e-4e0b-9ac0-bfd6507d0b7e

步骤三:启用/dev/vdf1分区,查看swap空间大小

命令操作如下所示:

    [root@localhost ~]# swapon --s          //未启用之前,查看swap空间组成成员
    Filename                                Type            Size    Used    Priority
    /dev/dm-1                               partition       8388600 0       -1
    [root@localhost ~]# swapon /dev/vdf1  //启用/dev/sdd1交换分区
    [root@localhost ~]# swapon --s          //启用之后,查看swap空间组成成员
    Filename                                Type            Size    Used    Priority
    /dev/dm-1                               partition       8388600 0       -1
    /dev/vdf1                               partition       1951736 0       -2
    [root@localhost ~]#

步骤四:停用/dev/vdf1分区,查看swap空间大小

命令操作如下所示:

    [root@localhost ~]# swapoff /dev/vdf1   //停用/dev/sdd1交换分区
    [root@localhost ~]# swapon -s
    Filename                                Type            Size    Used    Priority
    /dev/dm-1                               partition       8388600 0       -1
    [root@localhost ~]#
相关推荐
a_安徒生8 分钟前
linux安装TDengine
linux·数据库·tdengine
追风赶月、14 分钟前
【Linux】线程概念与线程控制
linux·运维·服务器
小字节,大梦想16 分钟前
【Linux】重定向,dup
linux
z千鑫20 分钟前
【人工智能】深入理解PyTorch:从0开始完整教程!全文注解
人工智能·pytorch·python·gpt·深度学习·ai编程
CP-DD28 分钟前
Docker 容器化开发 应用
运维·docker·容器
blessing。。1 小时前
I2C学习
linux·单片机·嵌入式硬件·嵌入式
2202_754421541 小时前
生成MPSOC以及ZYNQ的启动文件BOOT.BIN的小软件
java·linux·开发语言
蚂蚁数据AntData1 小时前
DB-GPT V0.6.2 版本更新:牵手libro社区、GraphRAG图谱构建能力增强等
gpt
努力的悟空2 小时前
国土变更调查拓扑错误自动化修复工具的研究
运维·自动化
运维&陈同学2 小时前
【zookeeper03】消息队列与微服务之zookeeper集群部署
linux·微服务·zookeeper·云原生·消息队列·云计算·java-zookeeper