背景,之前的 pg 数据库数据目录使用的是物理盘,不支持扩展,随着数据增大,磁盘空间告警,现在需要将新的磁盘制作成逻辑卷,以便之后扩展使用。
之前使用的数据目录为 /u01
停止数据库
停止数据库
停止数据库
1添加2块新的磁盘
#新添加了2块磁盘 sdb 和 sdc
[root@pgmaster ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 49G 0 part
├─centos-root 253:0 0 45.1G 0 lvm /
└─centos-swap 253:1 0 3.9G 0 lvm [SWAP]
sdb 8:16 0 25G 0 disk
sdc 8:32 0 25G 0 disk
sr0 11:0 1 1024M 0 rom
loop0 7:0 0 9.5G 0 loop /mnt
2制作第一块盘为lvm
#给磁盘分区
[root@pgmaster ~]# fdisk /dev/sdb
#输入
n
p
1
回车
回车
w
[root@pgmaster ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 49G 0 part
├─centos-root 253:0 0 45.1G 0 lvm /
└─centos-swap 253:1 0 3.9G 0 lvm [SWAP]
sdb 8:16 0 25G 0 disk
└─sdb1 8:17 0 25G 0 part
sdc 8:32 0 25G 0 disk
sr0 11:0 1 1024M 0 rom
loop0 7:0 0 9.5G 0 loop /mnt
#创建卷组
[root@pgmaster ~]# vgcreate pgdataVg /dev/sdb1
Physical volume "/dev/sdb1" successfully created.
Volume group "pgdataVg" successfully created
#创建逻辑卷
#报错 有的版本不支持
[root@pgmaster ~]# lvcreate --size 100%FREE -n pgdataLVM pgdataVg
Can't parse size argument.
Invalid argument for --size: 100%FREE
Error during parsing of command line.
#上面命令报错了,我们指定大小重新创建
[root@pgmaster ~]# lvcreate -L 24G -n pgdataLVM pgdataVg
Logical volume "pgdataLVM" created.
#查看lvm
[root@pgmaster ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 49G 0 part
├─centos-root 253:0 0 45.1G 0 lvm /
└─centos-swap 253:1 0 3.9G 0 lvm [SWAP]
sdb 8:16 0 25G 0 disk
└─sdb1 8:17 0 25G 0 part
└─pgdataVg-pgdataLVM 253:2 0 24G 0 lvm
sdc 8:32 0 25G 0 disk
sr0 11:0 1 1024M 0 rom
loop0 7:0 0 9.5G 0 loop /mnt
#格式化逻辑卷
[root@pgmaster ~]# mkfs.xfs /dev/pgdataVg/pgdataLVM
meta-data=/dev/pgdataVg/pgdataLVM isize=512 agcount=4, agsize=1572864 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=6291456, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=3072, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
#挂载
#使用uuid或者直接使用 /dev/pgdataVg/pgdataLVM 挂载
#查看uuid
[root@pgmaster ~]# blkid /dev/pgdataVg/pgdataLVM
/dev/pgdataVg/pgdataLVM: UUID="e3a84235-9a93-4ff4-ae57-118d9997654d" TYPE="xfs"
3挂载逻辑卷
停止数据库
停止数据库
停止数据库
#创建挂载目录,将之前的目录备份
[root@pgmaster ~]# mv /u01 /u01_old
[root@pgmaster ~]# mkdir /u01
#书写配置,开机自动挂载
[root@pgmaster ~]# cat >> /etc/fstab << 'EOF'
UUID=e3a84235-9a93-4ff4-ae57-118d9997654d /u01 xfs defaults 0 0
EOF
#挂载并验证
[root@pgmaster ~]# mount -a
[root@pgmaster ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 12M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 46G 12G 34G 25% /
/dev/loop0 9.5G 9.5G 0 100% /mnt
/dev/sda1 1014M 151M 864M 15% /boot
tmpfs 378M 0 378M 0% /run/user/0
/dev/mapper/pgdataVg-pgdataLVM 24G 33M 24G 1% /u01
#同步数据到新挂载的目录
yum -y install rsync.x86_64
[root@pgmaster ~]# rsync -av --delete /u01_old/ /u01/
启动数据库并验证
4添加第二块盘
停止数据库
停止数据库
停止数据库
#分区
[root@pgmaster ~]# fdisk /dev/sdc
n
p
1
回车
回车
w
#新分区初始化为物理卷
[root@pgmaster ~]# pvcreate /dev/sdc1
Physical volume "/dev/sdc1" successfully created.
#将新物理卷添加到现有的卷组中
[root@pgmaster ~]# vgextend pgdataVg /dev/sdc1
Volume group "pgdataVg" successfully extended
#查看卷组可用空间
[root@pgmaster ~]# vgdisplay pgdataVg
--- Volume group ---
VG Name pgdataVg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 49.99 GiB
PE Size 4.00 MiB
Total PE 12798
Alloc PE / Size 6144 / 24.00 GiB
Free PE / Size 6654 / 25.99 GiB
VG UUID l6qKQb-RnAq-Uco7-NCr4-d9i6-C18a-JrwdpC
#使用lvdisplay /dev/vg_name/lv_name命令来查看逻辑卷lv_name的详细信息,包括其当前大小和是否可以在线扩展。
[root@pgmaster ~]# lvdisplay /dev/pgdataVg/pgdataLVM
--- Logical volume ---
LV Path /dev/pgdataVg/pgdataLVM
LV Name pgdataLVM
VG Name pgdataVg
LV UUID 8IbaiC-eZXm-KHUE-Oz5M-Vu0Z-Armg-8HFJu8
LV Write Access read/write
LV Creation host, time pgmaster, 2024-06-27 15:39:35 +0800
LV Status available
# open 1
LV Size 24.00 GiB
Current LE 6144
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
#扩展逻辑卷
[root@pgmaster ~]# lvextend -L +25G /dev/pgdataVg/pgdataLVM
Size of logical volume pgdataVg/pgdataLVM changed from 24.00 GiB (6144 extents) to 49.00 GiB (12544 extents).
Logical volume pgdataVg/pgdataLVM successfully resized.
#文件系统 resize:扩展逻辑卷后,逻辑卷上的文件系统也需要相应地扩大。这一步骤依赖于你使用的文件系统类型。对于大多数现代Linux系统上常见的文件系统(如ext4、xfs等),可以使用以下命令:
对于ext4文件系统:
resize2fs /dev/vg_name/lv_name
#xfs
[root@pgmaster ~]# xfs_growfs /dev/pgdataVg/pgdataLVM
meta-data=/dev/mapper/pgdataVg-pgdataLVM isize=512 agcount=4, agsize=1572864 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=6291456, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=3072, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 6291456 to 12845056
5启动数据库
#启动pg,测试
[root@pgmaster ~]# systemctl start postgresql-15.service
完成
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 数据库数据目录磁盘扩展,物理卷扩展为逻辑卷
发表评论 取消回复