我刚买了一个新磁盘。如何在不丢失数据的情况下扩展现有的 RAID 阵列?
答案1
如果犯了错误,您可能会丢失所有数据。请先备份。然后继续。
用于storcli /c0 show
查看您拥有的驱动器和卷。TOPOLOGY
下表是一个很好的开始:
TOPOLOGY :
========
----------------------------------------------------------------------------
DG Arr Row EID:Slot DID Type State BT Size PDC PI SED DS3 FSpace TR
----------------------------------------------------------------------------
0 - - - - RAID5 Optl N 10.914 TB dflt N N none N N
0 0 - - - RAID5 Optl N 10.914 TB dflt N N none N N
0 0 0 252:0 10 DRIVE Onln N 2.728 TB dflt N N none - N
0 0 1 252:1 9 DRIVE Onln N 2.728 TB dflt N N none - N
0 0 2 252:2 11 DRIVE Onln N 2.728 TB dflt N N none - N
0 0 3 252:3 8 DRIVE Onln N 2.728 TB dflt N N none - N
0 0 4 252:4 12 DRIVE Onln N 2.728 TB dflt N N none - N
----------------------------------------------------------------------------
这会显示哪些磁盘已在 RAID 阵列中。我只有一个 RAID 阵列 ( Arr
),ID 为0
。
PD LIST
显示磁盘:
PD LIST :
=======
--------------------------------------------------------------------------------
EID:Slt DID State DG Size Intf Med SED PI SeSz Model Sp Type
--------------------------------------------------------------------------------
252:0 10 Onln 0 2.728 TB SATA HDD N N 512B WDC WD30EFRX-68AX9N0 U -
252:1 9 Onln 0 2.728 TB SATA HDD N N 512B WDC WD30EFRX-68AX9N0 U -
252:2 11 Onln 0 2.728 TB SATA HDD N N 512B WDC WD30EFRX-68EUZN0 U -
252:3 8 Onln 0 2.728 TB SATA HDD N N 512B WDC WD30EFRX-68EUZN0 U -
252:4 12 Onln 0 2.728 TB SATA HDD N N 512B WDC WD30EFRX-68EUZN0 U -
252:6 14 GHS - 2.728 TB SATA HDD N N 512B WDC WD30EFRX-68EUZN0 D -
252:7 13 UGood - 2.728 TB SATA HDD N N 512B WDC WD30EFRX-68EUZN0 D -
--------------------------------------------------------------------------------
新添加的磁盘应显示为(未配置良好)。在本例中,这是位于机柜插槽中的UGood
磁盘。13
7
252
要将磁盘添加到 RAID 阵列:
storcli /c0/v0 start migrate type=raid5 option=add drives=252:13
/c0
是控制器,是需要更改的/v0
RAID 卷(参见TOPOLOGY
上文或),是发出的命令,表示“保留为 RAID5”,我们要添加一个磁盘(),是表单中要添加的磁盘列表(参见)。VD LIST
start migrate
type=raid5
option=add
drives
EID:Slt
PD LIST
该过程可能需要几天时间。您可以继续使用 RAID 卷上的文件系统,而控制器则在后台执行工作。您甚至可以重新启动服务器,控制器将从原来的位置继续运行。
要检查进度,请使用storcli /c0/v0 show migrate
以下命令打印类似内容:
VD Operation Status :
===================
-----------------------------------------------------------
VD Operation Progress% Status Estimated Time Left
-----------------------------------------------------------
0 Migrate 38 In Progress 49 Minutes
-----------------------------------------------------------
注意:估算值有很大误差;在我看来,这 49 分钟相当于 3 小时。我的感觉是,第一次估算的 2 天 8 小时要准确得多。
迁移完成后,控制器将执行另一项后台作业(“后台初始化”)。不确定那是什么。
完成后,它将打印:
VD Operation Status :
===================
-----------------------------------------------------------
VD Operation Progress% Status Estimated Time Left
-----------------------------------------------------------
0 Migrate - Not in progress -
-----------------------------------------------------------
用于storcli /c0 show
查看 RAID 卷的新大小:
VD LIST :
=======
--------------------------------------------------------------
DG/VD TYPE State Access Consist Cache Cac sCC Size Name
--------------------------------------------------------------
0/0 RAID5 Optl RW Yes RWBD - OFF 10.914 TB data
--------------------------------------------------------------
^^^^^^
我使用 LVM 来管理磁盘。pvscan
显示磁盘大小没有改变:
PV /dev/sdb VG data lvm2 [8,19 TiB / 526,00 GiB free]
^^^^^^^^
需要重新启动(至少我找不到让 Linux 重新扫描磁盘的方法)。
至少,lsblk
现在显示正确的磁盘大小:
sdb 8:16 0 10,9T 0 disk
^^^^^
LVM 仍然看不到它(pvscan
):
PV /dev/sdb VG data lvm2 [8,19 TiB / 526,00 GiB free]
pvdisplay
提供更多详细信息:
--- Physical volume ---
PV Name /dev/sdb
VG Name data
PV Size 8,19 TiB / not usable 3,00 MiB
Allocatable yes
PE Size 4,00 MiB
Total PE 2145791
Free PE 134655
Allocated PE 2011136
PV UUID vM1WQP-CZXu-FrWJ-kRti-hMa2-I1rh-Mga6Xg
我们可以在执行下一个操作之前对其进行测试:pvresize --test -v /dev/sdb
TEST MODE: Metadata will NOT be updated and volumes will not be (de)activated.
Using physical volume(s) on command line.
Test mode: Skipping archiving of volume group.
Resizing volume "/dev/sdb" to 23437770752 sectors.
Resizing physical volume /dev/sdb from 0 to 2861055 extents.
Updating physical volume "/dev/sdb"
Test mode: Skipping backup of volume group.
Physical volume "/dev/sdb" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
Test mode: Wiping internal cache
Wiping internal VG cache
2861055
范围 a4 MiB
转换为10.91 TiB
(2861055*4096/1024/1024/1024)。
调整逻辑卷大小:pvresize -v /dev/sdb
最后,LVM 看到新的容量:
# pvdisplay
--- Physical volume ---
PV Name /dev/sdb
VG Name data
PV Size 10,91 TiB / not usable 3,00 MiB
Allocatable yes
PE Size 4,00 MiB
Total PE 2861055
Free PE 849919
Allocated PE 2011136
PV UUID vM1WQP-CZXu-FrWJ-kRti-hMa2-I1rh-Mga6Xg
您现在可以继续扩大卷组上的文件系统。