目录
(1) 查看新增的的磁盘
(2) 分区格式化
(3) 将新硬盘临时挂载在一个目录下(比如/mnt/home)
(4) 同步(复制)原/home路径下的资料到新硬盘中
(5) 重新挂载硬盘到/home下
(6) 设置开机自动挂载
在服务器的使用过程中,往往会随着使用时间增长,出现home空间不够的问题。比如一开始挂载了一块100g的硬盘。那么在买了新的大容量硬盘之后,应该怎么把新硬盘挂载到/home呢?
(1) 查看新增的的磁盘
fdisk -l
这里发现新硬盘的名字是 /dev/sdb
(2) 分区格式化
将新硬盘格式化为ext4格式
mkfs -t ext4 /dev/sdb
(3) 将新硬盘临时挂载在一个目录下(比如/mnt/home)
mkdir /mnt/home
mount /dev/sdb /mnt/home
通过 df -h 命令查看,出现如下图内容则说明挂载成功
(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"
② 修改/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