服务器Raid级别调整

服务器Raid级别调整

一. 调整背景

系统磁盘是两块600G HDD 通过Raid1做的操作系统,而服务器共有600G HDD磁盘4块,为了保障磁盘的冗余性都需要配置raid1,这样可用空间1.2T,浪费磁盘2块。

近期由于系统资源不足,本着降成本,提升资源最大科学可用率的原则,需要进行磁盘raid级别调整,由两组Raid 1 ,优化至 一组Raid5 冗余盘1块。(所有服务器均计划长期续保,即损坏磁盘一周内会进行及时更换)

raid级别调整需求

PS: 前提,磁盘io正常使用没有瓶颈。难点,系统盘刷新和逻辑卷PV大小调整。注意点,raid重建时io存在损耗,建议业务低估期或业务迁移后进行。

二. 调整步骤

2.1 准备资源:

提前将另外一组RAID业务迁移,资源释放;

2.2 执行RAID基本迁移:

raid级别调整步骤1
raid级别调整步骤2

2.3 等待RAID重建

raid重建

重建是一个漫长的过程,600G数据大概需要重建12小时左右, 重建过程中io会出现缓慢。当然存在数据丢失重建失败的情况,建议做好一切准备。

2.4 刷新系统硬盘识别

raid重建完成

从系统带外管理中看到,raid资源已经重建完毕,界别有 RAID1==》RAID5 ,容量由 600G ===》 1675G。

第一个难题出现:如何刷新呢?

使用partproble 使系统内核重新加载分区情况,未果。

使用重启大法,系统重新加载,有效。

但重启大法过于笨重,服务器还有边缘业务呢。

使用命令: “echo 1 > /sys/block/sda/device/rescan”

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

partd分区操作

2.6 刷新PV大小

/dev/sda3 大小已经刷新,但pv大小,vg剩余大小依然没有变更.

使用命令: “pvresize /dev/sda3”

lvm扩容

三. 调整总结

  1. 执行raid任何相关操作已经要迁移业务,做好数据丢失不影响业务的准备
  2. 系统盘容量调整是一个大的问题,多数情况下都需要重启系统.
  3. 本次操作的步骤:
    • dell raid 迁移,重建
    • 系统磁盘容量刷新
    • 系统gpt分区容量刷新
    • pv数据刷新

操作有风险,操作需谨慎。备份第一的原则

猜你喜欢

转载自blog.csdn.net/weixin_43423965/article/details/128558598