linux硬盘扩展拥有人生第二块硬盘–在也不担心系统不稳定数据丢失了

前言

  • 如果你的主机是 windows 的话,那么装个虚拟机就很有必要,毕竟有的时候在预研某项技术的时候最好的环境就是 linux 上安装相应的服务进行单元功能点研究以及测试,至于为什么选择 linux 这里没啥好赘述的。
  • 因为主机硬盘大小的限制,虚拟机的硬盘空间正常不会分配的太大,但是随着虚拟机承载的功能点越来越多,扩容就很有必要。包括我们的 linux 服务器也会遇到硬盘空间扩容的场景。

硬盘信息

image-20221117182237476.png

  • 一个硬盘上可以分为 主分区 扩展分区 逻辑分区 . 在 linux 中 通过 sd 或者 hd 用来标识硬盘前缀 。比如我们系统中就一块硬盘 通过ls /dev/ | grep sd 查看能够发现只有一块名称叫做sda。而通过数字来进行区分分区。

  • sda1~sda4 用来标识主分区 、扩展分区分配一块硬盘上 主分区+扩展分区<=4 。 主分区用Primary 标识 ;扩展分区用 Exetend标识。

  • 主分区主要用来存放系统的,扩展分区无法直接使用。在扩展分区里需要创建逻辑分区用来存放文件。

image-20221117163730692.png

  • 我们可以通过 ls /dev | grep sd 来查看当前系统一共有几块硬盘。 sda sda1 表示是同一块硬盘。包括后面我们在虚拟机上扩容也是同一块硬盘。

分区的意义

  • 分区的意义就在于能够分离管理。主分区主要用来放系统,逻辑分区主要用来存放文件。这样当系统奔溃的时候只有主分区受影戏,就算我们想重新安装系统也只有系统文件被更新了,和我们平时自己产生的文件没有丝毫关联。这里的分区和 windows 的盘符一个作用。
  • 我们创建不同的逻辑分区就是对应 windows 上的不同的盘符 。 将不同的逻辑分区挂载到不同的目录下就可以分工合作了。在使用时只是不同的目录,但是数据确实存储在不同的分区上的,甚至是不同的硬盘上,这样做的好处是坏也只会坏1个分区或者1块硬盘,其他分区是不会受影响的。

文件系统

  • 存放在分区里的文件我们叫做文件系统。每一块分区只能存储一种文件系统。这个在我们格式化分区的时候需要我们指定的。关于文件系统有好多类型
文件系统 说明
FAT16 老的文件系统;4G以内的分区系统
FAT32 管理2TB以内的分区适合的文件系统
NTFS 日志型文件系统。Windows 大多使用的是这种
ext2 Linux系统专用类型
ext3 Linux系统专用类型
ext4 Linux系统专用类型

系统扩容

  • 有了上面的基础知识的铺垫 , 下面我们再来为我们的 Linux 系统进行扩容就很容易理解了。

    1. 给硬盘创建扩展分区
    2. 给硬盘创建逻辑分区
    3. 给逻辑分区创建文件系统
    4. 将逻辑分区挂载到空的目录上
  • 光知道理论知识可能还不够,我们还需要了解相关的指令才能清除的知道该创建什么分区。

指令 作用
lsblk 查看硬盘情况
df -lh 查看硬盘使用情况,以及挂载点信息
sudo fdisk -l 查看硬盘分区情况
sudo fdisk /dev/sda 给指定的sda 硬盘创建分区
sudo mkfs.ext4 /dev/sda 格式化硬盘,并写入文件系统。sudo mkfs.ext4 /dev/sda4 : 格式化 sda4 分区
sudo mount /dev/sda4 ~/zxhtom /dev/sd4 这块逻辑分区挂载到系统用户的下的 zxhtom 目录下
cat /proc/partitions 查看当前硬盘分区数据

查看当前硬盘

  • 由于我是通过 虚拟机 演示的,所以扩展的硬盘相当于原来的硬盘,所以这里我们先查看下 /dev/sda 这块硬盘的情况。
sudo fdisk -l | grep /dev/sda

image-20221117191546500.png

  • 我们也可以通过 sudo fdisk /dev/sda 后选择 F 来查看未被分区的空间大小

image-20221117191757957.png

创建分区

  • 既然还有未分区的空间,那么我们下面就开始创建分区吧,为了体验下逻辑分区,所以这里我们需要创建扩展分区。其实主分区和逻辑分区没啥区别。只不过逻辑分区不受数量限制。
sudo fdisk /dev/sda
  • 输入上面命令进入分区界面。进入界面如果你不知道该如何操作可以 m 查看帮助文档。

  • 由文档可知,输入 n 表示创建分区

image-20221117192213718.png

  • 按下n 后系统告诉我们,当前 /dev/sda 硬盘有1个主分区, 还剩余3个分区名额可以使用。且 p 表示主分区 ; e 表示扩展分区。这里我们选择e

image-20221117192355833.png

  • 上述操作 将硬盘的剩余空间全部创建为 /dev/sda3 这块扩展分区中。

  • 在保存之前我们可以通过 p 查看下分区情况

image-20221117192516593.png

  • 说明此时我们拥有 /dev/sda1 /dev/sda3 两块分区,第二块是扩展分区Extended

image-20221117192609246.png

  • 保存后就完成了分区了,此时通过 sudo fdisk -l | grep sda 就可以看到了

image-20221117192713699.png

创建逻辑分区

  • 之前我们就说了,扩展分区是不会存储任何东西的,需要存储文件我们就需要在扩展分区中创建逻辑分区。而我也说过了逻辑分区约等于主分区 , 逻辑分区的创建和上面的步骤一样。(注意如果硬盘空间被使用了,且无扩展分区,那么在执行 n 创建分区会提示无空间使用)

image-20221117193049942.png

  • 上面我们创建的 扩展分区是 100G 空间 。 那么我们的逻辑分区大小就不得小于1G 。 这里我选择创建 2G

image-20221117193446943.png

  • 保存后就可以查看新的分区情况了

image-20221117193625603.png

格式化文件系统

  • 现在我们已经有了逻辑分区了 /dev/sda5 。 剩下的就是给他进行格式化了。

  • 还记得 lsblk 这个命令吗。这个命令可以查看硬盘信息已经分区类型等。但是通过 lsblk 这个命令却查不到 /dev/sda5 这块分区。因为需要我们先刷新下分区表

partprobe /dev/sda

image-20221117194204374.png

  • 能够通过 lsblk看到说明此时我们就能够格式化分区了。
sudo mkfs.ext4 /dev/sda5   # 如果需要格式化多个分区可以用 ; 隔开 ,在敲 sudo mkfs.ext4 /dev/sdax

image-20221117194435323.png

挂载目录

  • 在挂载之前我们得先准备一个空的文件夹。
mkdir ~/mnt
  • 否则会报错的

image-20221117194651791.png

image-20221117194722907.png

  • 这样就说明挂载完成了。此时我们可以通过 df 命令查看分区的使用以及挂载情况

image-20221117194812270.png

image-20221117194812270.png

  • 至此我们 linux 的扩容就完成了。 如果此时你想解除挂载目录 可以输入 umount /dev/sda5

  • 最后在挂载目录下会生成一个文件夹 lost+found 就说明挂载完成

image-20221117195844810.png

不挂载使用

  • 如果你的分区创建好之后并不想进行挂载 ,这个时候也是可以使用的,毕竟此时我们已经创建好逻辑分区了。此时分区的位置在 /media/${USER} 位置下, 我的登录用户名叫 zxhtom 所以我创建的分区就在 /media/zxhtom 目录下。

image-20221117195352643.png

  • 没错下面这一长串的 UUID 就是我新建的分区的文件夹名称。如果我新建了很多个分区,那我该如何知道分区对应的UUID呢?

image-20221117195532996.png

  • 通过 ls -l /dev/disk/by-uuid 就可以将当前硬盘的分区对应的UUID 显示出来了。

  • 或者执行 sudo blkid 也可以查看到UUID

image-20221117201210077.png

永久挂载

  • 上述虽然完成了挂载,但是当系统重启后你会发现之前挂载的目录空了 ,说明挂载丢了。

image-20221117200139267.png

  • 总不能系统重启后每次都要手动进行挂载吧。linux也帮我们想到了这一点了。只需要在 /etc/fstab 文件中追加如下内容

image-20221117200702984.png

  • 你也许看到第一行是配置UUID的方式配置的,分区名也就是第一列是可以配置成UUID=分区的UUID的格式的,关于分区的UUID 上面提到了两种方式

  • 配置完之后要么重启, 不重启的话 执行 mount -a 刷新 /etc/fstab 文件里内容。

  • 这样就完成了永久挂载, 及时永久挂载了,如果说你想临时解除挂载 umount 命令也是可以的。

扩展作业

  • 上面完成了创建1个逻辑分区,看完本文你试试去创建另外一个逻辑分区吧。 分区需谨慎哦。

© 版权声明
THE END
喜欢就支持一下吧
点赞0

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYXMxTvc' (Errcode: 28 - No space left on device) in /www/wwwroot/583.cn/wp-includes/class-wpdb.php on line 2345
admin的头像-五八三
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称代码图片