如何对阿里云ecs服务器数据盘进行缩容

如何对阿里云ecs服务器数据盘进行缩容

ecs不支持直接缩容,需要另购一块数据盘,挂载后把数据拷贝过去

1.临时挂载新的数据盘,购买一块合适大小的数据盘,直接通过阿里云控制台挂载到ECS服务器

2.备份文件

cp -r 原文件夹 目标文件夹

3.删除原数据盘上的swap虚拟内存

[root@iZ8vbgkra5t3d356no16srZ app2]# swapon -s ##查看当前的swap分区信息
Filename                                Type            Size    Used    Priority
/app/swap                               file    10239996        0       -2
[root@iZ8vbgkra5t3d356no16srZ app2]# swapoff -a  ## 禁用所有的swap分区

sudo swapoff -v /path/to/swap/file_or_partition  ## 禁用指定的swap分区

[root@iZ8vbgkra5t3d356no16srZ app2]# swapon -s

[root@iZ8vbgkra5t3d356no16srZ app2]# vim /etc/fstab
[root@iZ8vbgkra5t3d356no16srZ app2]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Thu Jul 11 02:52:01 2019
#
# 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
#
UUID=1114fe9e-2309-4580-b183-d778e6d97397 /                       ext4    defaults        1 1
UUID=418f18ac-af41-4b3e-ac57-dab81da77014 /app                    ext4    defaults        0 0
# /app/swap      swap         swap    defaults        0 0 
## 从/etc/fstab文件中移除swap分区的条目

sudo rm /path/to/swap/file
## 删除swap文件

4.卸载原数据盘

[root@iZ8vbgkra5t3d356no16srZ app2]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        3.8G     0  3.8G   0% /dev
tmpfs           3.8G     0  3.8G   0% /dev/shm
tmpfs           3.8G  752K  3.8G   1% /run
tmpfs           3.8G     0  3.8G   0% /sys/fs/cgroup
/dev/vda1        40G   34G  4.0G  90% /
/dev/vdb        493G   22G  446G   5% /app
tmpfs           768M     0  768M   0% /run/user/0
/dev/vdc1        40G   24G   14G  64% /app2
[root@iZ8vbgkra5t3d356no16srZ app2]# umount /dev/vdb
umount: /app: target is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
## 卸载时遇到用户还在使用该分区,可使用lsof或fuser命令来查找正在使用该挂载点的进程
[root@iZ8vbgkra5t3d356no16srZ app2]# lsof /app
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
bash    1601 root  cwd    DIR 253,16     4096 20709377 /app/sqlbak

[root@iZ8vbgkra5t3d356no16srZ app2]# fuser -muv /app
                     USER        PID ACCESS COMMAND
/app:                root     kernel mount (root)/app
                     root       1601 ..c.. (root)bash

## 如果杀不掉,就重启系统,再执行umount

5.重启系统后,查看新数据盘分区的UUID信息,写入/etc/fstab中
注意:因为新数据盘要使用原数据盘的路径,所以拷贝完数据,还得先卸载新盘,再重新挂载

[root@iZ8vbgkra5t3d356no16srZ ~]# blkid
/dev/vda1: UUID="1114fe9e-2309-4580-b183-d778e6d97397" TYPE="ext4"
/dev/vdb: UUID="418f18ac-af41-4b3e-ac57-dab81da77014" TYPE="ext4"
/dev/vdc1: UUID="94ce117a-922a-4e69-97c3-ad8f2e77405e" TYPE="ext4" PARTLABEL="Linux" PARTUUID="e4789975-40b3-4052-9942-b8f82149427d"

[root@iZ8vbgkra5t3d356no16srZ /]# vim /etc/fstab
[root@iZ8vbgkra5t3d356no16srZ /]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Thu Jul 11 02:52:01 2019
#
# 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
#
UUID=1114fe9e-2309-4580-b183-d778e6d97397 /                       ext4    defaults        1 1
#UUID=418f18ac-af41-4b3e-ac57-dab81da77014 /app                    ext4    defaults        0 0
## 写入新的UUID
UUID=94ce117a-922a-4e69-97c3-ad8f2e77405e /app                    ext4    defaults        0 0
# /app/swap      swap         swap    defaults        0 0
[root@iZ8vbgkra5t3d356no16srZ /]# 

6.恢复swap虚拟内存

## 使用dd命令创建一个指定大小的文件。
dd if=/dev/zero of=/app/swap bs=1G count=8

[root@iZ8vbgkra5t3d356no16srZ /]# dd if=/dev/zero of=/app/swap bs=1G count=8
8+0 records in
8+0 records out
8589934592 bytes (8.6 GB) copied, 64.0275 s, 134 MB/s
[root@iZ8vbgkra5t3d356no16srZ /]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        3.8G     0  3.8G   0% /dev
tmpfs           3.8G     0  3.8G   0% /dev/shm
tmpfs           3.8G  620K  3.8G   1% /run
tmpfs           3.8G     0  3.8G   0% /sys/fs/cgroup
/dev/vda1        40G   34G  3.9G  90% /
/dev/vdc1        40G   32G  5.6G  86% /app
tmpfs           768M     0  768M   0% /run/user/0
[root@iZ8vbgkra5t3d356no16srZ /]# cd /app
[root@iZ8vbgkra5t3d356no16srZ app]# ls
fastdfs  lost+found  oracle  oradata  soft  sqlbak  swap
[root@iZ8vbgkra5t3d356no16srZ app]# ll
total 8388648
drwxr-xr-x 4 root   root           4096 Nov  4 15:04 fastdfs
drwx------ 2 root   root          16384 Nov  4 15:00 lost+found
drwxr-xr-x 5 oracle oinstall       4096 Nov  4 15:17 oracle
drwxr-xr-x 2 oracle oinstall       4096 Nov  4 15:19 oradata
drwxr-xr-x 6 root   root           4096 Nov  4 15:36 soft
drwxr-xr-x 2 oracle dba            4096 Nov  4 15:37 sqlbak
-rw-r--r-- 1 root   root     8589934592 Nov  4 16:33 swap
[root@iZ8vbgkra5t3d356no16srZ app]# ll -h
total 8.1G
drwxr-xr-x 4 root   root     4.0K Nov  4 15:04 fastdfs
drwx------ 2 root   root      16K Nov  4 15:00 lost+found
drwxr-xr-x 5 oracle oinstall 4.0K Nov  4 15:17 oracle
drwxr-xr-x 2 oracle oinstall 4.0K Nov  4 15:19 oradata
drwxr-xr-x 6 root   root     4.0K Nov  4 15:36 soft
drwxr-xr-x 2 oracle dba      4.0K Nov  4 15:37 sqlbak
-rw-r--r-- 1 root   root     8.0G Nov  4 16:33 swap


## 将swap文件的权限设置为600
chmod 600 /app/swap

[root@iZ8vbgkra5t3d356no16srZ app]# chmod 600 /app/swap
[root@iZ8vbgkra5t3d356no16srZ app]# ll -h
total 8.1G
drwxr-xr-x 4 root   root     4.0K Nov  4 15:04 fastdfs
drwx------ 2 root   root      16K Nov  4 15:00 lost+found
drwxr-xr-x 5 oracle oinstall 4.0K Nov  4 15:17 oracle
drwxr-xr-x 2 oracle oinstall 4.0K Nov  4 15:19 oradata
drwxr-xr-x 6 root   root     4.0K Nov  4 15:36 soft
drwxr-xr-x 2 oracle dba      4.0K Nov  4 15:37 sqlbak
-rw------- 1 root   root     8.0G Nov  4 16:33 swap

## 格式化为swap文件
mkswap /app/swap

[root@iZ8vbgkra5t3d356no16srZ app]# mkswap /app/swap
Setting up swapspace version 1, size = 8388604 KiB
no label, UUID=83b6bfc9-21f0-4726-88f7-b664003ebc4c

## 启用swap文件
swapon /app/swap

[root@iZ8vbgkra5t3d356no16srZ app]# free
              total        used        free      shared  buff/cache   available
Mem:        7862320      402968     1189556         620     6269796     7150392
Swap:             0           0           0
[root@iZ8vbgkra5t3d356no16srZ app]# swapon /app/swap
[root@iZ8vbgkra5t3d356no16srZ app]# free
              total        used        free      shared  buff/cache   available
Mem:        7862320      409260     1183052         620     6270008     7144100
Swap:       8388604           0     8388604

[root@iZ8vbgkra5t3d356no16srZ app]# swapon --show
NAME      TYPE SIZE USED PRIO
/app/swap file   8G   0B   -2


## 写入/etc/fstab,永久挂载swap文件

[root@iZ8vbgkra5t3d356no16srZ /]# vim /etc/fstab
[root@iZ8vbgkra5t3d356no16srZ /]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Thu Jul 11 02:52:01 2019
#
# 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
#
UUID=1114fe9e-2309-4580-b183-d778e6d97397 /                       ext4    defaults        1 1
#UUID=418f18ac-af41-4b3e-ac57-dab81da77014 /app                    ext4    defaults        0 0
UUID=94ce117a-922a-4e69-97c3-ad8f2e77405e /app                    ext4    defaults        0 0
 /app/swap      swap         swap    defaults        0 0

7.通过命令挂载磁盘,或者重启系统通过/etc/fstab自动挂载磁盘

mount /dev/vdb /mnt/data

8.遇到的问题

因为拷贝文件时用的root用户,oradata文件属组变了,导致下列问题,可通过chown -R命令恢复

[oracle@iZ8vbgkra5t3d356no16srZ ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Mon Nov 4 16:41:20 2024

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 3156725760 bytes
Fixed Size                  2217504 bytes
Variable Size            2382367200 bytes
Database Buffers          754974720 bytes
Redo Buffers               17166336 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
ORA-01110: data file 6: '/app/oradata/jlrcwebdata.dbf'


SQL> quit


[root@iZ8vbgkra5t3d356no16srZ app]# ll
total 8388648
drwxr-xr-x 4 root   root           4096 Nov  4 15:04 fastdfs
drwx------ 2 root   root          16384 Nov  4 15:00 lost+found
drwxr-xr-x 5 oracle oinstall       4096 Nov  4 15:17 oracle
drwxr-xr-x 2 oracle oinstall       4096 Nov  4 15:19 oradata
drwxr-xr-x 6 root   root           4096 Nov  4 15:36 soft
drwxr-xr-x 2 oracle dba            4096 Nov  4 15:37 sqlbak
-rw------- 1 root   root     8589934592 Nov  4 16:37 swap
[root@iZ8vbgkra5t3d356no16srZ app]# pwd
/app
[root@iZ8vbgkra5t3d356no16srZ app]# ls
fastdfs  lost+found  oracle  oradata  soft  sqlbak  swap
[root@iZ8vbgkra5t3d356no16srZ app]# chown -R oracle oinstall oracle
chown: cannot access ‘oinstall’: No such file or directory
[root@iZ8vbgkra5t3d356no16srZ app]# chown -R oracle:oinstall oracle
[root@iZ8vbgkra5t3d356no16srZ app]# chown -R oracle:oinstall oradata
[root@iZ8vbgkra5t3d356no16srZ app]# ls
fastdfs  lost+found  oracle  oradata  soft  sqlbak  swap
[root@iZ8vbgkra5t3d356no16srZ app]# ll
total 8388648
drwxr-xr-x 4 root   root           4096 Nov  4 15:04 fastdfs
drwx------ 2 root   root          16384 Nov  4 15:00 lost+found
drwxr-xr-x 5 oracle oinstall       4096 Nov  4 15:17 oracle
drwxr-xr-x 2 oracle oinstall       4096 Nov  4 15:19 oradata
drwxr-xr-x 6 root   root           4096 Nov  4 15:36 soft
drwxr-xr-x 2 oracle dba            4096 Nov  4 15:37 sqlbak
-rw------- 1 root   root     8589934592 Nov  4 16:37 swap

[oracle@iZ8vbgkra5t3d356no16srZ ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Mon Nov 4 16:51:08 2024

Copyright (c) 1982, 2009, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> startup
ORACLE instance started.

Total System Global Area 3156725760 bytes
Fixed Size                  2217504 bytes
Variable Size            2382367200 bytes
Database Buffers          754974720 bytes
Redo Buffers               17166336 bytes
Database mounted.
Database opened.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值