前提:
公司实施突然反映系统无法登录,上去查看后是由于硬盘不足导致。
解决方法:
- 因为客户用的华为云ECS服务器,让客户购买了空间;
- 为保证数据的安全,登录到客户的华为云控制台,给云硬盘做了快照;
- 为进一步保证数据安全,将MongoDB的data目录全部拷贝到另一台服务器上作为备份;
- 当初没有选用lvm来作为存储盘,所以用到另一种方法进行实施。
具体实施:
# 首先停止所有的服务
# 将分区取消挂载
[root@ecs-ec79 /] umount /u01 # 在取消挂载时,退出该目录
# 通过fdisk对分区进行操作
[root@ecs-ec79 /] fdisk /dev/vdb
# 删除原分区
Command (m for help): d
Selected partition 1
Partition 1 is deleted
# 再次创建分区,将整个硬盘空间都给到此分区
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
Partition number (1-4, default 1):
First sector (2048-1174405119, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-1174405119, default 1174405119):
Using default value 1174405119
Partition 1 of type Linux and of size 560 GiB is set
# 保存退出
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
# 对分区进行检查
[root@ecs-ec79 ~] e2fsck -f /dev/vdb1
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
# 重新读取信息
[root@ecs-ec79 ~] resize2fs /dev/vdb1
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vdb1 to 146800384 (4k) blocks.
The filesystem on /dev/vdb1 is now 146800384 blocks long.
# 重新挂载分区
[root@ecs-ec79 ~] mount -a
# 查看目录,磁盘扩充成功,内容也并不会消失
[root@ecs-ec79 ~] df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 ext4 40G 2.0G 36G 6% /
devtmpfs devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs tmpfs 7.8G 8.6M 7.8G 1% /run
tmpfs tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
tmpfs tmpfs 1.6G 0 1.6G 0% /run/user/0
/dev/vdb1 ext4 552G 150G 374G 29% /u01