Linux数据盘扩容时,磁盘挂载后,无法正常卸载的解决方法

因业务需要需要将阿里云的一台云主机 100G数据盘扩容到150G。
扩容数据盘需要先将之前挂载的磁盘卸载掉。

有时候会遇到Linux磁盘挂载后,无法正常卸载的情况。

查看磁盘挂载情况

# df -h
文件系统	      		容量  已用  可用 已用%% 挂载点
...
/dev/vdb            99G   48G   47G  51% /data

运行 umount 命令卸载指定,提示

# umount /dev/vdb
umount: /data: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))

-f 强制卸载 /data,提示

# umount -f /data
umount2: 设备或资源忙
umount: /data: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
umount2: 设备或资源忙

只能使用 上面命令行提示 fuser 或者 lsof命令 杀死所有访问该设备的进程,完事在卸载磁盘。

# fuser -cu /data
# fuser -ck /data

命令参数说明
-c 查看所有挂载该设备的进程
-u 查看正在操作该设备的用户名
-k 杀死所有访问该设备的进程
注意:这将杀死访问该设备的进程,如果有其他设备也在用这个进程,记得卸载后重启该服务进程避免影响正常业务

再次执行 umount /data。此时,卸载成功。


简单介绍下阿里云 扩容数据盘_Linux

阿里云官方文档,扩容数据盘_Linux

文档说明已经很明晰了,通常来说按着步骤操作就行,当然须要看下 前提条件注意事项

前提条件
  • 实例处于 运行中 (Running) 或 已停止(Stopped) 状态。
  • 数据盘的状态为 待挂载 或 使用中。
  • 数据盘已做分区。
  • 建议在扩容数据盘之前手动创建快照,以备份数据。
注意事项
  • 扩容这种数据盘需要在控制台上重启实例后才能使扩容后的容量生效,而重启实例会停止实例,中断您的业务,所以请您谨慎操作。

  • 包年包月实例如果做过 续费降配 操作,当前计费周期的剩余时间内,实例上的包年包月云盘不支持扩容磁盘操作。

  • 如果数据盘正在创建快照,则不允许执行扩容数据盘的操作。

  • 磁盘扩容功能只能扩容数据盘,不能扩容系统盘或本地盘(本地 SSD 盘等)。

再注意。注意。。注意。。。

阿里云通常扩容数据盘不会导致数据丢失,但是万一,万一呢, 所以 在扩容数据盘之前手动创建快照,备份数据才是关键。1个小时也没多少钱 100G 1分钱的样子吧。 磁盘扩容完,没问题,快照直接删掉就行。


最后,说明一点,阿里云文档 步骤 2. 登录实例扩容文件系统 中,
使用 fdisk命令删除原来的分区并创建新分区。
操作的是 /dev/vdb1文件系统。

本人服务器的文件系统 默认是 /dev/vdb所以就不需要fdisk方式了,卸载掉数据盘后,直接执行
检查文件系统,并变更文件系统大小。

# e2fsck -f /dev/vdb # 检查文件系统
# resize2fs /dev/vdb # 变更文件系统大小

然后直接将扩容完成的文件系统挂载到原来的挂载点(本人是挂在到 /data)

# mount /dev/vdb /data

运行命令 df -h,如果出现扩容后的文件系统信息,说明挂载成功。

猜你喜欢

转载自blog.csdn.net/xiaowubit/article/details/89371896