Linux新磁盘挂载到/home目录

经常会遇到服务用着用着发现空间不够啦!怎么办呢?

备份数据=》使用更大的磁盘重新安装系统 =》转移数据。这样太麻烦了,如果是生产环境,还要停机。
增加新的磁盘。
这里我选择方法 2

空间不足时,需要挂载新的磁盘扩容。如何操作呢?我把我的操作过程记录下来。

友情提醒:
数据无价,谨慎操作。
本教程,只是记录了我的操作过程,仅供参考,操作前请自行备份好数据。 出现任何数据问题,本文不负责。

本文是自己摸索的结果,不一定是最佳的方案。仅供参考。推荐自己在虚拟机中测试后,符合自己的需求在尝试。

环境

我在自己虚拟机中操作。
CentOS Linux release 7.9.2009 (Core)

挂载新磁盘前的分区结构:

[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 575M     0  575M    0% /dev
tmpfs                    586M     0  586M    0% /dev/shm
tmpfs                    586M  9.0M  577M    2% /run
tmpfs                    586M     0  586M    0% /sys/fs/cgroup
/dev/mapper/centos-root   17G  1.4G   16G    9% /
/dev/sda2               1014M  160M  855M   16% /boot
/dev/sda1                200M   12M  189M    6% /boot/efi
tmpfs                    118M     0  118M    0% /run/user/0

新增磁盘

把虚拟机关机

设置中添加设备
Linux新磁盘挂载到/home目录_第1张图片
点击新硬盘
Linux新磁盘挂载到/home目录_第2张图片
增加新硬盘
Linux新磁盘挂载到/home目录_第3张图片
查看当前磁盘情况

fdisk -l

Linux新磁盘挂载到/home目录_第4张图片
磁盘格式化

mkfs.ext3 /dev/sdb

执行日志如下:

[root@localhost ~]# mkfs.ext3 /dev/sdb
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb is entire device, not just one partition!
无论如何也要继续? (y,n) y
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
786432 inodes, 3145728 blocks
157286 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=3221225472
96 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

挂载

以下操作没有特殊说明都是使用root权限操作的。

创建目录

mkdir /media/home

/dev/sdb挂载到/media/home

mount /dev/sdb /media/home

同步/home到/media/home

使用cp也行,只要能备份好数据就行。

同步时间根据数据量大小决定,建议在系统空闲时操作。

安装rsync

yum install rsync

同步数据

rsync -aXS /home/. /media/home/.

卸载分区

umount /media/home/

直接把新分区挂载到/home

mount /dev/sdb /home

现在我们在来查看一下分区情况

[root@localhost home]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 575M     0  575M    0% /dev
tmpfs                    586M     0  586M    0% /dev/shm
tmpfs                    586M  9.0M  577M    2% /run
tmpfs                    586M     0  586M    0% /sys/fs/cgroup
/dev/mapper/centos-root   17G  1.5G   16G    9% /
/dev/sda2               1014M  160M  855M   16% /boot
/dev/sda1                200M   12M  189M    6% /boot/efi
tmpfs                    118M     0  118M    0% /run/user/0
/dev/sdb                  12G   31M   12G    1% /home

发现新的磁盘已经成功的挂载到了/home
/dev/sdb 12G 31M 12G 1% /home

这个时候还没有完全成功,因为当系统重启和,挂载点就会消失。我们要配置开机自动挂载。
比如我现在重新后,分区信息如下:

[root@localhost home]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 575M     0  575M    0% /dev
tmpfs                    586M     0  586M    0% /dev/shm
tmpfs                    586M  8.9M  578M    2% /run
tmpfs                    586M     0  586M    0% /sys/fs/cgroup
/dev/mapper/centos-root   17G  1.5G   16G    9% /
/dev/sda2               1014M  160M  855M   16% /boot
/dev/sda1                200M   12M  189M    6% /boot/efi
tmpfs                    118M     0  118M    0% /run/user/0

配置开机自动挂载

因为mount命令会在重启服务器后失效,所以要将分区信息写到/etc/fstab文件中让它永久挂载:

sudo vi /etc/fstab

增加如下一行:

/dev/sdb                /home          ext3    defaults        0 0

第1列是设备名或者卷标

第2列是挂载点(也就是挂载目录)

第3列是所要挂载设备的文件系统或者文件系统类型

第4列是挂载选项,通常使用defaults就可以

第5列设置是否使用dump备份,置0为不备份,置1,2为备份,但2的备份重要性比1小

第6列设置是否开机的时候使用fsck检验所挂载的磁盘,置0为不检验,置1,2为检验,但置2盘比置1的盘晚检验。

当前的配置文件全部内容如下:

#
# /etc/fstab
# Created by anaconda on Fri Jan 15 21:11:57 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=b35b2005-ebc2-4f8d-bde2-783ee0f560db /boot                   xfs     defaults        0 0
UUID=49C9-E843          /boot/efi               vfat    umask=0077,shortname=winnt 0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/dev/sdb                /home                   ext3    defaults        0 0

这时就算重启机器,分区也是正常的。

本文结束。

参考

https://blog.csdn.net/lxyoucan/article/details/113697472
https://zhuanlan.zhihu.com/p/307657410

你可能感兴趣的:(笔记)