玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下

2022-10-27 23:11:35 17点赞 141收藏 22评论

NAS的操作系统99%都是Linux系统,包括威联通和群晖的系统,不懂Linux就无法理解为什么威联通和群晖要这样操作和设置。学点Linux知识,玩NAS会更加得心应手。

 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下

本人的Linux系统下面有4块固态硬盘,一块1TB的京造nvme SSD作系统盘,另外两块2TB的移速SSD,一块1TB的梵想SSD(见下图)。我要将两块2TB的移速SSD,一块1TB的梵想SSD共3块5GB的SSD合并在一起,然后挂载到同一个目录下。

为什么要合并呢?一块一块硬盘单独用不行吗?真不行,一块硬盘最大2TB,有时候一个程序文件解压缩后就超过2TB了,老是报硬盘空间不够,无法继续。基于实际需要,因此有了本文的多个硬盘空间合并在一起的做法。这是Linux基础操作,必须掌握的基础用法。

 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下


终端下,查看硬盘信息的命令是:sudo fdisk -l

输入命令并回车后,看到的信息见下图:

 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下

往下拉,可以看到我的1TB的京造nvme M.2 固态被挂载到nvme0n1p1~nvme0n1p3共3个目录下面了,分别是BIOS启动、EFI系统和Linux操作系统文件:


 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下

下图的/dev/sda就是我的2TB的移速SSD,/dev/sdb就是我的1TB的梵想SSD,dev/sdc就是我的2TB的移速SSD。本文的目的就是要将sda、sdb、sdc共3个sata的固态SSD合并成“一个硬盘”然后挂载到一个目录下来使用。

 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下

基础知识:

PV(physical volume)就是物理卷,也就是物理磁盘,例如我在上文是通过 fdisk -l 来查看我的操作系统有几块硬盘,我一共是4块硬盘。

VG(volume group)就是卷组,也就是一组物理磁盘的组合,VG可以有单块硬盘也可以有好多块硬盘。

LV(logical volume)就是逻辑卷,也就是在VG(指定的物理磁盘组)里面划分出来的东西,一个VG可以划分出多个LV。

下面用一张图来解释PV、VG和LV三者的关系(下图转载自网路):

 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下


第一步、pvcreate命令将物理硬盘分区初始化为物理卷

输入下面的三个命令并分别回车:

pvcreate /dev/sda

pvcreate /dev/sdb

pvcreate /dev/sdc

假如遇到下面的提示,就按照提示操作,先安装lvm2:


 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下

如果遇到提示,说权限不够的话,就在命令前面添加sudo,即:

sudo pvcreate /dev/sda

 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下

如果提示报错: cannot use /dev/sda:device is partitioned的话,用命令lsblk看看:

 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下

原来,sda下面还有一个sda1,修改命令为:

sudo pvcreate /dev/sda1

成功后出现下面的提示:

 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下

接下来,将第2块硬盘sdb加进去:

sudo pvcreate /dev/sdb

 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下

接下来,将第3块硬盘sdc加进去:

sudo pvcreate /dev/sdc

 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下


第二步、vgcreate 命令创建VG卷组

用下面的命令创建一个名字为VG_5G的卷组(卷组名字自己取即可,你也可以取一个abcd之类的名字的卷组):我的这三个硬盘加起来5GB,所以我取名为VG_5G:

sudo vgcreate VG_5G /dev/sda1

 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下


第三步、vgextend命令向卷组VG_5G中添加物理卷(名称VG_5G可自定义)

将第2个硬盘sdb加进去:

sudo vgextend VG_5G /dev/sdb

 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下

将第3个硬盘sdc也加进去:

sudo vgextend VG_5G /dev/sdc

 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下


第四步、lvcreate 命令创建逻辑卷

用下面的命令,将刚才3个磁盘的卷组(名词为VG_5G)创建为一个叫做my5G的逻辑卷(-l后面的100%VG这个参数的意思是,将3个磁盘100%的空间全部划分到my5G的逻辑卷上):

sudo lvcreate -l 100%VG -n my5G VG_5G

 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下

成功后显示上图的信息。

第五步、格式化逻辑卷

用下面的命令格式化刚才创建的逻辑卷,将/dev/VG_5G/my5G格式化为ext4文件系统(我记得ext4文件系统的单个文件最大16TB,不知道有没有记错,反正ext4文件系统一般情况下是够用了):

sudo mkfs -t ext4 /dev/VG_5G/my5G

格式化过程见下图:

 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下

完成后显示下面的信息:

 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下

第六步、挂载该逻辑卷到某个目录下

用下面的命令将刚才创建的逻辑卷挂载到/home/yasden/data下(注:/home/yasden/data是你自己选的目录,每个人选的目录都不一样的,想什么选就怎么选,如果没有/home/yasden/data这个目录,就用mkdir /home/yasden/data 命令来创建该目录):

sudo mount /dev/VG_5G/my5G /home/yasden/data

假如出现下图的提示,说明你的/home/yasden/目录下没有data这个文件夹,

 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下

用下面的命令:

mkdir /home/yasden/data

上面的命令回车来创建data文件夹后继续:

 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下

出现上面的信息代表已经挂载好了。

第七步、设置开机自动加载,不然每次开机都要用命令加载。

用下面的vi命令打开并编辑/etc/fstab文件(记得加sudo):

sudo vi /etc/fstab

 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下

将下面的语句加到etc/fstab里面,保存并退出(vi命令可以写一篇1万字的用法说明的文章,请自行研究vi命令的用法):

/dev/VG_5G/my5G /home/yasden/data ext4 defaults 0 0

保存之后,电脑重启一下,可以看见下面的硬盘信息,3个磁盘已经合并成一个5GB的大硬盘了:

 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下

如果发现/home/yasden/data 这个文件夹有个“锁”,代表用户权限不够,用下面的命令修改权限(777代表最高权限):

sudo chmod 777 /home/yasden/data

 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下

总结

这个方法可以将多个硬盘合并,变成“一个硬盘”来使用。

为什么要合并呢?一块一块硬盘单独用不行吗?真不行,一块硬盘最大2TB,有时候一个程序文件解压缩后就超过2TB了,老是报硬盘空间不够,无法继续。基于实际需要,因此有了本文的多个硬盘空间合并在一起的做法。

那为什么要买1TB、2TB的SSD呢?直接买一个5TB的不就好了吗?问题是5TB的SSD很贵很贵,比1TB、2TB这样买来凑在一起用的价格贵多了。为什么不买一个5TB的机械硬盘呢?因为机械硬盘太慢了,有些计算要求比较多的大数据文件,需要SSD,机械硬盘毕竟还是慢。

 玩NAS先学Linux(2):磁盘管理必学基础知识:多块硬盘存储空间合并、然后挂载到同一个目录下

全文完,谢谢观看!

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
22评论

  • 精彩
  • 最新
  • 万一一个盘坏了,那是不是所有数据都挂?另外什么程序文件解压缩后就超过2TB?纯探讨。

    校验提示文案

    提交
    理论上一个盘挂了,所有数据都会挂,我没挂过,暂时没经验。我买的是京东售后,3年内出问题找京东。一个文件解压超过2TB的数据太多了,例如gz后缀的那些压缩文件

    校验提示文案

    提交
    收起所有回复
  • 直接组raid0不就行了

    校验提示文案

    提交
    raid0浪费硬盘空间呀,nas不太合适

    校验提示文案

    提交
    raid0是怎么浪费空间的?

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 学会了就不用买NAS了

    校验提示文案

    提交
    学会了可以将linux改成nas,也可以买nas玩更多的玩法

    校验提示文案

    提交
    收起所有回复
  • 还有个问题修改etc/fstab文件时增加一行里开头不用uuid吗?

    校验提示文案

    提交
    不用,那个/开头的就代表uuid

    校验提示文案

    提交
    收起所有回复
  • 挺详细,强迫症表示5T

    校验提示文案

    提交
    嗯,我还一度怀疑是不是我自己理解问题,这只是一个命名 [皱眉]

    校验提示文案

    提交
    收起所有回复
  • 很好奇你一个2t的文件是什么?

    校验提示文案

    提交
  • 很详细的分享!支持一下 [傻笑]

    校验提示文案

    提交
  • 写的超级详细,不错

    校验提示文案

    提交
  • 让我看起来一脸懵逼

    校验提示文案

    提交
  • 步骤很详细呢,收藏备用啦

    校验提示文案

    提交
  • 学习了,很不错的分享

    校验提示文案

    提交
  • raid0不是更方便吗?速度还能快点

    校验提示文案

    提交
  • 呵呵,居然教学了一下LVM

    校验提示文案

    提交
  • 程序文件解压缩后就超过2TB了?恕我孤陋寡闻,好大的文件啊

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
141
扫一下,分享更方便,购买更轻松