服务器Raid级别调整
文章目录
一. 调整背景
系统磁盘是两块600G HDD 通过Raid1做的操作系统,而服务器共有600G HDD磁盘4块,为了保障磁盘的冗余性都需要配置raid1,这样可用空间1.2T,浪费磁盘2块。
近期由于系统资源不足,本着降成本,提升资源最大科学可用率的原则,需要进行磁盘raid级别调整,由两组Raid 1 ,优化至 一组Raid5 冗余盘1块。(所有服务器均计划长期续保,即损坏磁盘一周内会进行及时更换)
PS: 前提,磁盘io正常使用没有瓶颈。难点,系统盘刷新和逻辑卷PV大小调整。注意点,raid重建时io存在损耗,建议业务低估期或业务迁移后进行。
二. 调整步骤
2.1 准备资源:
提前将另外一组RAID业务迁移,资源释放;
2.2 执行RAID基本迁移:
2.3 等待RAID重建
重建是一个漫长的过程,600G数据大概需要重建12小时左右, 重建过程中io会出现缓慢。当然存在数据丢失重建失败的情况,建议做好一切准备。
2.4 刷新系统硬盘识别
从系统带外管理中看到,raid资源已经重建完毕,界别有 RAID1==》RAID5 ,容量由 600G ===》 1675G。
第一个难题出现:如何刷新呢?
使用partproble 使系统内核重新加载分区情况,未果。
使用重启大法,系统重新加载,有效。
但重启大法过于笨重,服务器还有边缘业务呢。
使用命令: “echo 1 > /sys/block/sda/device/rescan”
2.5 GPT分区大小修改
系统识别到sda为1.7T,但系统盘采用GPT硬盘格式,数据分布采用分区+LVM方式,即逻辑卷没有识别到.
**第二大难题: PV 刷新. **
为此尝试过救援模式修改分区大小,各种命令刷新均无效。曾考虑过系统重装。
使用 parted 命令修改分区大小
[root@bj-test-kvm-db-2-18 ~]# echo 1 > /sys/block/sda/device/rescan
[root@bj-test-kvm-db-2-18 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 263874956 0 263874956 0% /dev
tmpfs 263886916 4 263886912 1% /dev/shm
tmpfs 263886916 1283240 262603676 1% /run
tmpfs 263886916 0 263886916 0% /sys/fs/cgroup
/dev/mapper/centos-root 104806400 3879200 100927200 4% /
/dev/sda2 508580 172484 336096 34% /boot
/dev/sda1 204580 11484 193096 6% /boot/efi
/dev/mapper/vg_hdd_db02-lv_data2 4685043712 3221956368 1463087344 69% /data2
/dev/mapper/vg_ssd_db01-lv_datassd 780410564 305965012 474445552 40% /data_ssd
/dev/mapper/centos-lv_data 469205152 407205156 61999996 87% /data
/dev/mapper/vg_ssdr002-lv_datassd_2 780410564 778790216 1620348 100% /data_ssd2
tmpfs 52777384 0 52777384 0% /run/user/0
[root@bj-test-kvm-db-2-18 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1.7T 0 disk
├─sda1 8:1 0 200M 0 part /boot/efi
├─sda2 8:2 0 500M 0 part /boot
└─sda3 8:3 0 557.7G 0 part
├─centos-root 253:0 0 100G 0 lvm /
├─centos-swap 253:1 0 10G 0 lvm [SWAP]
└─centos-lv_data 253:3 0 447.7G 0 lvm /data
sdb 8:16 0 744.6G 0 disk
└─vg_ssd_db01-lv_datassd 253:4 0 744.6G 0 lvm /data_ssd
sdd 8:48 0 4.4T 0 disk
└─vg_hdd_db02-lv_data2 253:2 0 4.4T 0 lvm /data2
sde 8:64 0 744.6G 0 disk
└─vg_ssdr002-lv_datassd_2 253:6 0 744.6G 0 lvm /data_ssd2
[root@bj-test-kvm-db-2-18 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 3 0 wz--n- <557.69g 0
vg_hdd_db02 1 1 0 wz--n- <4.37t 0
vg_ssd_db01 1 1 0 wz--n- 744.62g 0
vg_ssdr002 1 1 0 wz--n- 744.62g 0
[root@bj-test-kvm-db-2-18 ~]# fdisk -l /dev/sda
Disk /dev/sda: 1798.7 GB, 1798651772928 bytes, 3512991744 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sda1 1 1170997247 585498623+ ee GPT
[root@bj-test-kvm-db-2-18 ~]# parted /dev/sda
GNU Parted 3.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Error: The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the
old backup)?
Fix/Ignore/Cancel? fix
Warning: Not all of the space available to /dev/sda appears to be used, you can fix the GPT to use all of the space (an extra 2341994496 blocks) or continue with the current setting?
Fix/Ignore? Fix
Model: DELL PERC H730P Mini (scsi)
Disk /dev/sda: 1799GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 211MB 210MB fat16 EFI System Partition boot
2 211MB 735MB 524MB xfs
3 735MB 600GB 599GB lvm
(parted) res
rescue resize resizepart
(parted) resizepart 3
End? [600GB]? 100%
(parted) p
Model: DELL PERC H730P Mini (scsi)
Disk /dev/sda: 1799GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 211MB 210MB fat16 EFI System Partition boot
2 211MB 735MB 524MB xfs
3 735MB 1799GB 1798GB lvm
2.6 刷新PV大小
/dev/sda3 大小已经刷新,但pv大小,vg剩余大小依然没有变更.
使用命令: “pvresize /dev/sda3”
三. 调整总结
- 执行raid任何相关操作已经要迁移业务,做好数据丢失不影响业务的准备
- 系统盘容量调整是一个大的问题,多数情况下都需要重启系统.
- 本次操作的步骤:
- dell raid 迁移,重建
- 系统磁盘容量刷新
- 系统gpt分区容量刷新
- pv数据刷新
操作有风险,操作需谨慎。备份第一的原则