[toc]

新开了一台 ORACLE Cloud,默认磁盘 46G,现扩容到200G。纪录下:

磁盘扩容

默认的磁盘空间如下:

1
2
3
4
5
6
7
8
9
10
11
[[email protected] ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 12G 0 12G 0% /dev/shm
tmpfs 4.5G 9.2M 4.5G 1% /run
/dev/mapper/ocivolume-root 30G 11G 20G 35% /
/dev/sda2 2.0G 332M 1.7G 17% /boot
/dev/sda1 100M 6.5M 94M 7% /boot/efi
/dev/mapper/ocivolume-oled 15G 253M 15G 2% /var/oled
tmpfs 2.3G 0 2.3G 0% /run/user/1000
tmpfs 2.3G 0 2.3G 0% /run/user/984

web 扩容

web 页面进行磁盘扩容,点击确认之后会弹出窗口,让执行的命令,具体如下:

刷新磁盘

1
2
sudo dd iflag=direct if=/dev/oracleoci/oraclevda of=/dev/null count=1
echo "1" | sudo tee /sys/class/block/`readlink /dev/oracleoci/oraclevda | cut -d'/' -f 2`/device/rescan

登录 操作系统 执行 lsblk检查磁盘

1
2
3
4
5
6
7
8
[[email protected] ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 196G 0 disk
├─sda1 8:1 0 100M 0 part /boot/efi
├─sda2 8:2 0 2G 0 part /boot
└─sda3 8:3 0 44.5G 0 part
├─ocivolume-root 252:0 0 29.5G 0 lvm /
└─ocivolume-oled 252:1 0 15G 0 lvm /var/oled

可以看到 sda 的size 变成了 196G,当然可以通过lvm的磁盘管理进行扩容,但是 oracle 提供了/usr/libexec/oci-growfs -y

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
[[email protected] ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda3 ocivolume lvm2 a-- 44.50g 0
[[email protected] ~]# /usr/libexec/oci-growfs -y
Volume Group: ocivolume
Volume Path: /dev/ocivolume/root
Mountpoint Data
---------------
mountpoint: /
source: /dev/mapper/ocivolume-root
filesystem type: xfs
source size: 29.4G
type: lvm
size: 29.5G
physical devices: ['/dev/sda3']
physical volumes: ['/dev/sda', '/dev/sda']
partition number: ['3']
volume group name: ocivolume
volume group path: /dev/ocivolume/root

Partition dry run expansion "/dev/sda3" succeeded.
CHANGE: partition=3 start=4401152 old: size=93325312 end=97726463 new: size=406640607 end=411041758

Expanding partition /dev/sda3: Confirm? Partition expand expansion "/dev/sda3" succeeded.
update-partition set to true
FLOCK: try exec open fd 9, on failure exec exits this program
FLOCK: /dev/sda: obtained exclusive lock
resizing 3 on /dev/sda using resize_sfdisk_gpt
411041792 sectors of 512. total size=210453397504 bytes
## sfdisk --unit=S --dump /dev/sda
label: gpt
label-id: C6D5D6CC-AD6F-429B-A89A-6B66E6751930
device: /dev/sda
unit: sectors
first-lba: 34
last-lba: 97727250
sector-size: 512

/dev/sda1 : start= 2048, size= 204800, type=C12A7328-F81F-11D2-BA4B-00A0C93EC93B, uuid=7B47A8B9-7E4B-4524-BBC0-DE85EF8268B0, name="EFI System Partition"
/dev/sda2 : start= 206848, size= 4194304, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=F45B9334-7171-4983-A111-E930193151B7
/dev/sda3 : start= 4401152, size= 93325312, type=E6D6D379-F507-44C2-A23C-238F2A3DF928, uuid=C7F10104-AB57-44BA-9DD8-D88666B22FE0
padding 33 sectors for gpt secondary header
max_end=411041758 tot=411041792 pt_end=97726463 pt_start=4401152 pt_size=93325312
resize of /dev/sda returned 0.
FLOCK: /dev/sda: releasing exclusive lock

CHANGED: partition=3 start=4401152 old: size=93325312 end=97726463 new: size=406640607 end=411041758

Extending /dev/sda3 succeeded.
Device /dev/sda3 extended successfully.
Logical volume /dev/ocivolume/root extended successfully.
[[email protected] ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 196G 0 disk
├─sda1 8:1 0 100M 0 part /boot/efi
├─sda2 8:2 0 2G 0 part /boot
└─sda3 8:3 0 193.9G 0 part
├─ocivolume-root 252:0 0 178.9G 0 lvm /
└─ocivolume-oled 252:1 0 15G 0 lvm /var/oled

可以看到 / 变成了 178G,但是 /var/oled 仍然占有 15G,现把 /var/oled 缩小 7G,给到 /

但是磁盘是xfs

1
2
3
4
5
6
7
8
9
10
11
[[email protected] oled]# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
devtmpfs devtmpfs 4096 0 4096 0% /dev
tmpfs tmpfs 11751184 0 11751184 0% /dev/shm
tmpfs tmpfs 4700476 9344 4691132 1% /run
/dev/mapper/ocivolume-root xfs 187523072 11818236 175704836 7% /
/dev/sda2 xfs 2031616 339412 1692204 17% /boot
/dev/sda1 vfat 102156 6586 95570 7% /boot/efi
/dev/mapper/ocivolume-oled xfs 15663104 261496 15401608 2% /var/oled
tmpfs tmpfs 2350236 0 2350236 0% /run/user/1000
tmpfs tmpfs 2350236 0 2350236 0% /run/user/984

由于xfs不能缩容,采用重建的方式

/var/oled缩容(XFS 文件系统专用方案):

1. 备份 /var/oled 数据

1
2
sudo mkdir /tmp/oled_backup
sudo rsync -av /var/oled/ /tmp/oled_backup/

2. 卸载文件系统

1
sudo umount /var/oled

3. 删除原逻辑卷

1
sudo lvremove /dev/ocivolume/oled

输入 y 确认删除

4. 创建新逻辑卷(缩小为 7GB)

1
sudo lvcreate -L 7G -n oled ocivolume

5. 格式化新逻辑卷为 XFS

1
sudo mkfs.xfs /dev/ocivolume/oled

6. 重新挂载并恢复数据

1
2
sudo mount /dev/mapper/ocivolume-oled /var/oled
sudo rsync -av /tmp/oled_backup/ /var/oled/

7. 扩展根目录(使用释放的 8GB 空间)

1
2
3
4
5
# 扩展逻辑卷
sudo lvextend -L +8G /dev/ocivolume/root

# 扩展 XFS 文件系统
sudo xfs_growfs /

8. 清理备份

1
sudo rm -rf /tmp/oled_backup

9. 更新 fstab(确保永久挂载)

umount: /var/oled: target is busy.

但是 /var/oled/ 被占有,无法umount,检查占有 /var/oled/ 的进程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
sudo umount /var/oled
umount: /var/oled: target is busy.
[[email protected] ~]# lsof /var/oled
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
pmcd 2777 pcp cwd DIR 252,1 159 8388736 /var/oled/pcp/pmcd
pmcd 2777 pcp 1w REG 252,1 25778 8388737 /var/oled/pcp/pmcd/pmcd.log
pmcd 2777 pcp 2w REG 252,1 25778 8388737 /var/oled/pcp/pmcd/pmcd.log
pmdaroot 2784 root cwd DIR 252,1 159 8388736 /var/oled/pcp/pmcd
pmdaroot 2784 root 2w REG 252,1 861 8388738 /var/oled/pcp/pmcd/root.log
pmdaproc 2810 root cwd DIR 252,1 159 8388736 /var/oled/pcp/pmcd
pmdaproc 2810 root 2w REG 252,1 327 8388739 /var/oled/pcp/pmcd/proc.log
pmdaxfs 2820 root cwd DIR 252,1 159 8388736 /var/oled/pcp/pmcd
pmdaxfs 2820 root 2w REG 252,1 76 8388740 /var/oled/pcp/pmcd/xfs.log
pmdalinux 2826 root cwd DIR 252,1 159 8388736 /var/oled/pcp/pmcd
pmdalinux 2826 root 2w REG 252,1 658 8388741 /var/oled/pcp/pmcd/linux.log
pmdakvm 2830 root cwd DIR 252,1 159 8388736 /var/oled/pcp/pmcd
pmdakvm 2830 root 2w REG 252,1 76 8388742 /var/oled/pcp/pmcd/kvm.log
pmie 3618 pcp cwd DIR 252,1 22 134 /var/oled/pcp/pmie/liups.com
pmie 3618 pcp 1w REG 252,1 679 136 /var/oled/pcp/pmie/liups.com/pmie.log
pmie 3618 pcp 2w REG 252,1 679 136 /var/oled/pcp/pmie/liups.com/pmie.log
pmlogger 3644 pcp cwd DIR 252,1 143 8388743 /var/oled/pcp/pmlogger/liups.com
pmlogger 3644 pcp 2w REG 252,1 29268 8388745 /var/oled/pcp/pmlogger/liups.com/pmlogger.log
pmlogger 3644 pcp 4w REG 252,1 13092 8388746 /var/oled/pcp/pmlogger/liups.com/20250610.08.46.index
pmlogger 3644 pcp 5w REG 252,1 1510943 8388747 /var/oled/pcp/pmlogger/liups.com/20250610.08.46.meta
pmlogger 3644 pcp 10w REG 252,1 19937816 8388752 /var/oled/pcp/pmlogger/liups.com/20250610.08.46.1
pmdadm 6519 root cwd DIR 252,1 159 8388736 /var/oled/pcp/pmcd
pmdadm 6519 root 2w REG 252,1 75 8388744 /var/oled/pcp/pmcd/dm.log
python3 8612 root cwd DIR 252,1 159 8388736 /var/oled/pcp/pmcd
python3 8612 root 2w REG 252,1 82 8388750 /var/oled/pcp/pmcd/nfsclient.log
python3 9001 root cwd DIR 252,1 159 8388736 /var/oled/pcp/pmcd
python3 9001 root 2w REG 252,1 545 8388751 /var/oled/pcp/pmcd/openmetrics.log

经过查询是 pcp 占有,你可以直接卸载,也可以关闭服务

卸载 pcp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
[[email protected] ~]#  dnf list pcp
Last metadata expiration check: 2:20:08 ago on Tue 10 Jun 2025 09:13:54 AM GMT.
Installed Packages
pcp.aarch64 6.2.2-7.0.1.el9_5 @System
Available Packages
pcp.aarch64 6.3.7-1.el9_6 ol9_appstream
pcp.src 6.3.7-1.el9_6 ol9_appstream
[[email protected] ~]# dnf remove pcp
Dependencies resolved.
==========================================================================================================================================================================================================
Package Architecture Version Repository Size
==========================================================================================================================================================================================================
Removing:
pcp aarch64 6.2.2-7.0.1.el9_5 @System 7.7 M
Removing dependent packages:
pcp-oracle-conf aarch64 1-6.0.3.el9 @System 58 k
pcp-pmda-dm aarch64 6.2.2-7.0.1.el9_5 @System 183 k
pcp-pmda-nfsclient aarch64 6.2.2-7.0.1.el9_5 @System 67 k
pcp-pmda-openmetrics aarch64 6.2.2-7.0.1.el9_5 @System 74 k
pcp-system-tools aarch64 6.2.2-7.0.1.el9_5 @System 1.1 M
pcp-zeroconf aarch64 6.2.2-7.0.1.el9_5 @System 20 k
python3-pcp aarch64 6.2.2-7.0.1.el9_5 @System 599 k

Transaction Summary
==========================================================================================================================================================================================================
Remove 8 Packages

Freed space: 9.9 M
Is this ok [y/N]: y

关闭 pcp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
[[email protected] pcp]#  systemctl status pmcd pmie pmlogger
● pmcd.service - Performance Metrics Collector Daemon
Loaded: loaded (/usr/lib/systemd/system/pmcd.service; enabled; preset: disabled)
Active: active (running) since Tue 2025-06-10 08:46:07 GMT; 2h 51min ago
Docs: man:pmcd(1)
Main PID: 2777 (pmcd)
Tasks: 9 (limit: 146408)
Memory: 46.6M
CPU: 13.496s
CGroup: /system.slice/pmcd.service
├─2777 /usr/libexec/pcp/bin/pmcd -A
├─2784 /var/lib/pcp/pmdas/root/pmdaroot
├─2810 /var/lib/pcp/pmdas/proc/pmdaproc -A -d 3
├─2820 /var/lib/pcp/pmdas/xfs/pmdaxfs -d 11
├─2826 /var/lib/pcp/pmdas/linux/pmdalinux -A
├─2830 /var/lib/pcp/pmdas/kvm/pmdakvm -d 95
├─6519 /var/lib/pcp/pmdas/dm/pmdadm -d 129
├─8612 /usr/bin/python3 /var/lib/pcp/pmdas/nfsclient/pmdanfsclient.python
└─9001 /usr/bin/python3 /var/lib/pcp/pmdas/openmetrics/pmdaopenmetrics.python

Jun 10 08:46:18 liups.com pmcd[8741]: [Tue Jun 10 08:46:18] pmdaopenmetrics(8741) Info: Initializing ... currently in notready state.
Jun 10 08:46:18 liups.com pmcd[8741]: [Tue Jun 10 08:46:18] pmdaopenmetrics(8741) Info: Config change detected, traversed 2 config entries in 0.0001s, rescanning ...
Jun 10 08:46:18 liups.com pmcd[8741]: [Tue Jun 10 08:46:18] pmdaopenmetrics(8741) Info: Found source grafana cluster 1
Jun 10 08:46:18 liups.com pmcd[8741]: [Tue Jun 10 08:46:18] pmdaopenmetrics(8741) Info: Found source kepler cluster 2
Jun 10 08:46:18 liups.com pmcd[8741]: [Tue Jun 10 08:46:18] pmdaopenmetrics(8741) Info: Ready to process requests
Jun 10 08:46:18 liups.com pmcd[8755]: [Tue Jun 10 08:46:18] pmdaopenmetrics(8755) Info: Initializing ... currently in notready state.
Jun 10 08:46:18 liups.com pmcd[8755]: [Tue Jun 10 08:46:18] pmdaopenmetrics(8755) Info: Config change detected, traversed 2 config entries in 0.0001s, rescanning ...
Jun 10 08:46:18 liups.com pmcd[8755]: [Tue Jun 10 08:46:18] pmdaopenmetrics(8755) Info: Found source grafana cluster 1
Jun 10 08:46:18 liups.com pmcd[8755]: [Tue Jun 10 08:46:18] pmdaopenmetrics(8755) Info: Found source kepler cluster 2
Jun 10 08:46:18 liups.com pmcd[8755]: [Tue Jun 10 08:46:18] pmdaopenmetrics(8755) Info: Ready to process requests

● pmie.service - Performance Metrics Inference Engine
Loaded: loaded (/usr/lib/systemd/system/pmie.service; enabled; preset: disabled)
Active: active (running) since Tue 2025-06-10 08:46:07 GMT; 2h 51min ago
Docs: man:pmie(1)
Main PID: 3618 (pmie)
Tasks: 1 (limit: 146408)
Memory: 2.3M
CPU: 320ms
CGroup: /system.slice/pmie.service
└─3618 /usr/bin/pmie -b -m pmie_check -F -P -l /var/oled/pcp/pmie/liups.com/pmie.log -c config.default

Jun 10 08:46:07 liups.com systemd[1]: Starting Performance Metrics Inference Engine...
Jun 10 08:46:07 liups.com systemd[1]: Started Performance Metrics Inference Engine.

● pmlogger.service - Performance Metrics Archive Logger
Loaded: loaded (/usr/lib/systemd/system/pmlogger.service; enabled; preset: disabled)
Active: active (running) since Tue 2025-06-10 08:46:07 GMT; 2h 51min ago
Docs: man:pmlogger(1)
Main PID: 3644 (pmlogger)
Tasks: 1 (limit: 146408)
Memory: 135.5M
CPU: 2.732s
CGroup: /system.slice/pmlogger.service
└─3644 /usr/libexec/pcp/bin/pmlogger -N -P -d "\"/var/oled/pcp/pmlogger/LOCALHOSTNAME\"" -r -T24h10m -c config.ora -v 100mb -m pmlogger_check %Y%m%d.%H.%M

Jun 10 08:46:07 liups.com systemd[1]: Starting Performance Metrics Archive Logger...
Jun 10 08:46:07 liups.com systemd[1]: Started Performance Metrics Archive Logger.
[[email protected] pcp]# systemctl stop pmcd pmie pmlogger

[[email protected] pcp]# lsof /var/oled
[[email protected] pcp]# cd
[[email protected] ~]# sudo umount /var/oled

原文作者: liups.com

原文链接: http://liups.com/posts/4bcead0b/

许可协议: 知识共享署名-非商业性使用 4.0 国际许可协议