目录

(1) 查看新增的的磁盘

(2) 分区格式化

(3) 将新硬盘临时挂载在一个目录下(比如/mnt/home)

(4) 同步(复制)原/home路径下的资料到新硬盘中

(5) 重新挂载硬盘到/home下

(6) 设置开机自动挂载


在服务器的使用过程中,往往会随着使用时间增长,出现home空间不够的问题。比如一开始挂载了一块100g的硬盘。那么在买了新的大容量硬盘之后,应该怎么把新硬盘挂载到/home呢?

(1) 查看新增的的磁盘

fdisk -l 

4eeeb7ef8f02375

这里发现新硬盘的名字是 /dev/sdb

 

(2) 分区格式化

将新硬盘格式化为ext4格式

mkfs -t ext4 /dev/sdb  


(3) 将新硬盘临时挂载在一个目录下(比如/mnt/home)

  1. mkdir /mnt/home
  2. mount /dev/sdb /mnt/home

通过 df -h 命令查看,出现如下图内容则说明挂载成功

a23919798eaf209

(4) 同步(复制)原/home路径下的资料到新硬盘中

① 把home下的东西拷到新硬盘的临时目录下

cp -a /home/* /mnt/home/  

也可以使用同步命令,同步时间根据数据量大小决定,建议在系统空闲时操作

sudo rsync -aXS /home/. /mnt/home/.

② 同步完成后重命名/home

可以选择直接  rm -rf /home/*   把原来home下的东西删干净,
但是这里我建议先保留原home中的文件,只是重命名备份一下,等后续步骤操作无误再删

sudo mv /home /home_old

 

(5) 重新挂载硬盘到/home下

① 取消挂载硬盘

sudo umount /dev/sdb

② 新建/home

sudo mkdir /home

③ 重新挂载到新硬盘到/home

sudo mount /dev/sdb /home

(6) 设置开机自动挂载

① 查看/dev/sdb的UUID

通过UUID (硬盘通用唯一识别码)来指定分区可以确保唯一性,多块硬盘的情况下,设备文件名可能改变

sudo blkid

blkid -o list或者lsblk -pf(貌似可以看见移动硬盘uudi)都可以  查看各硬盘的UUID,并复制属于/dev/sdb硬盘的那一行, UUID=”9aa48a41-cbab-452c-85e2-9a4602190e84″

cce5fd9c02354b1

 

② 修改/etc/fstab文件,实现开机自动挂载

如果存在之前自动挂载/home的内容,则先删除这行内容。

没有的话,修改fstab

sudo vi /etc/fstab  

在文件最后直接添加以下内容,并 :wq 保存退出:

UUID=9aa48a41-cbab-452c-85e2-9a4602190e84  /home  ext4  defaults  0  2

fstab 格式说明

# <file system> <mount point>   <type>  <options>       <dump>  <pass>

  • 第一列:设备名或者设备卷标名,(UUID或者/dev/sdb)
  • 第二列:设备挂载目录        (例如上面的“/”或者“/home”)
  • 第三列:设备文件系统          (例如上面的“ext4”或者“vfat”)
  • 第四列:挂载参数
    • defaults 大多数系统使用defaults就可以满足需要。 为了安全起见,也可以指明其他挂载参数,例如:
    • noexec(不允许可执行文件可执行,但千万不要把根分区挂为noexec,那就无法使用系统了,连mount 命令都无法使用了,这时只有重新做系统了!
    • nodev(不允许挂载设备文件)
    • nosuid,nosgid(不允许有suid和sgid属性)
    • nouser(不允许普通用户挂载)
  • 第五列:指定分区是否被dump备份 (0代表不备份,1代表每天备份,2代表不定期备份,一般根分区要备份)
  • 第六列:指明自检顺序。 (0为不自检,1或者2为要自检,如果是根分区要设为1,其他分区只能是2)

③ 重启系统,检查一下成果,看看有没有挂载成功

df-h