站长手记 - 站长手记
打印】【收藏此页
热加硬盘及热转RAID LEVEL操作记录
作者:本站:苏信东  来源:本站:苏信东  发布日期:2020-02-27  最后修改日期:2020-02-27  

RAID 控制器的功能越来越灵活。热转RAID模式这个功能大约是在2015年时开始出现的。

整个操作过程其实还不是足够顺畅简单,因为这个过程涉及到很多方面。如果可以停机,通过RAID控制器的嵌入式管理界面(开机时根据提示按CTRL+S 进入的界面)进行操作是最可靠的操作方式。但这就不是热处理了。

本次热处理服务器是DELL POWEREDGE R730,带外管理器IDRAC版本是8。暂不清楚新的版本9是否有所增强。

首先是安装新购置的硬盘PD。增购硬盘的大前提是:

(1)和原有的硬盘参数一致(转速、容量等)

(2)最好还是买厂家认证,虽然DELL比较宽容

只有VD和PD的关系比较简单时才能执行这样的扩容过程,否则不行。比如:

(1) 多个PD组成1个VD:可以

(2) 多个PD组成多个VD:不可以

安装到位后,登录进入iDRAC界面检查存储信息,可见如下:

情况是原有4个硬盘,新增4个硬盘。

点开“物理磁盘”观察,发现新增的4个硬盘之前是某个RAID的组成部分,所以“状况”写着“外来”:

于是转到“控制器”这边处理这个外来RAID配置:

点击“清除”按钮,确认清除外来配置:

清除过程属于后台作业:

可以检查作业进度,耗时应在1~2分钟左右:

期间可能产生子作业:

作业完成:

可以再回去“控制器”页面检查情况,此时报告没有外部配置:

如果是在嵌入的RAID控制固件中操作,则相关功能应在“虚拟磁盘/VD”下,但iDRAC 8尚未集成这个功能。在下图中可以看到没有转换RAID的选项:

所以后面就要换个方式进行操作。这里先记录一下我们这次转换的目标结果(另一台服务器的情况):要建立RAID 10模式、有热备硬盘的虚拟磁盘(如下图)。

注:磁条大小/strip size目前还是无法更改的,这个可惜。

注意上图的“专用热备”和“全局热备”。

下面请出另一个工具:MegaRAID Storage Manager。这是RAID卡原厂的带内管理工具。简单来说,可以在服务器上完整安装后登录服务器操作,也可以在服务器上安装代理端,然后在管理员终端安装控制台,远程 操作。当然我是用的后者。远程操作时,登录MSM需要给出服务器操作系统的管理员账号和密码。

登录后,转到Logical页面,在Drive Group上右键点击,选择Modify Drive Group:

提醒你需要备份,并确认操作。说到底这个操作还是有危险性的,如果不能确认后备电源正常工作去防止意外掉电,则一定不能执行。即使现在的RAID控制器 有专门的CACHE内存和内置电池,但都不要冒险。不过,正常关机还是可以下次开机继续的。

选择需要转换的目标RAID 模式,原来是RAID 6,转成RAID 1(多个盘时自动成为RAID 10)

RAID模式转换可能需要增加硬盘,视乎具体如何转。一般地RAID 6转RAID1刚好不需要加硬盘(RAID6至少4个硬盘,2个是冗余;转RAID 1时4个硬盘中也是2个冗余)。不过这次我们还需要同步扩容,因此选择两个新增的硬盘。注意不要全选,因为另外两个留作热备。还有就是RAID 1必须成对,所以也不可能选3个。

最后MSM给出一个转换设置的汇总,确认无误后就可以点FINISH按钮。

随后,转换过程也是后台任务(RAID控制器自己在处理),点MSM的刷新按钮可以刷新进度。注意进度不会自动刷新,必须手工刷新。

1578322474(1)

本次例子计算出来要7小时,但实际上跑了12小时。因为机械硬盘越到最后读写速度越慢(恒定角速度的原因,越内圈越慢):

1578322501(1)

可以尝试通过控制器菜单去调整重建的速率(控制器的处理能力的分配比例),但实际运行时没有发现效果。记得以前做的测试也是没有效果。

下图是可调节的任务速率比例:

1578322695(1)

重建完成后,在Logical页面,对剩下的两个硬盘设置全局热备和指定热备。其实如果整个服务器就只会创建1个VD的话可以只设1个热备。但如果是偏 执狂,那么设两个也没啥问题。

设指定热备时要选择对哪个VD进行设置。VD重建期间是不可选的:

神奇地,指定全局热备没有给出提示说什么data protection的事情:

Whatever,这本来就是个新硬盘,提示来干嘛呢。

最后的结果:

如前所述,strip size不可修改,这是个遗憾了。

接下来,就是在操作系统上的扩容了。

登录到LINUX服务器,检查XFS挂载点情况:

[root@db242 ~]# mount -l -t xfs
/dev/mapper/centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
/dev/sda3 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
/dev/mapper/centos-var on /var type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

用fdisk命令检查磁盘和分区

[root@db242 ~]# fdisk -l
磁 盘 /dev/sda:1199.1 GB, 1199101181952 字节,2341994496 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇 区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁 盘标签类型:dos
磁 盘标识符:0x5c07603d
设备 Boot Start End Blocks Id System
/dev/sda1 63 208844 104391 de Dell Utility
/dev/sda2 * 208896 4403199 2097152 c W95 FAT32 (LBA)
/dev/sda3 4403200 6500351 1048576 83 Linux
/dev/sda4 6500352 2341994495 1167747072 5 Extended
/dev/sda5 6502400 2341994495 1167746048 8e Linux LVM
磁 盘 /dev/mapper/centos-root:88.0 GB, 88046829568 字节,171966464 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇 区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁 盘 /dev/mapper/centos-swap:33.8 GB, 33755758592 字节,65929216 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇 区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁 盘 /dev/mapper/centos-var:1074.0 GB, 1073964122112 字节,2097586176 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇 区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

需要让操作系统重新加载已经完成扩容后的RAID VD容量信息

[root@db242 ~]# ls /sys/class/scsi_device/
0:2:0:0 10:0:0:0
echo 1 > /sys/class/scsi_device/0\:2\:0\:0/device/rescan
echo 1 > /sys/class/scsi_device/10\:0\:0\:0/device/rescan

[root@db242 ~]# echo 1 > /sys/class/scsi_device/0\:2\:0\:0/device/rescan

[root@db242 ~]# echo 1 > /sys/class/scsi_device/10\:0\:0\:0/device/rescan

[root@db242 ~]# fdisk -l
磁 盘 /dev/sda:1798.7 GB, 1798651772928 字节,3512991744 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇 区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁 盘标签类型:dos
磁 盘标识符:0x5c07603d
设备 Boot  Start End Blocks Id System
/dev/sda1 63 208844 104391 de Dell Utility
/dev/sda2 * 208896 4403199 2097152 c W95 FAT32 (LBA)
/dev/sda3 4403200 6500351 1048576 83 Linux
/dev/sda4 6500352 2341994495 1167747072 5 Extended
/dev/sda5 6502400 2341994495 1167746048 8e Linux LVM
磁 盘 /dev/mapper/centos-root:88.0 GB, 88046829568 字节,171966464 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇 区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁 盘 /dev/mapper/centos-swap:33.8 GB, 33755758592 字节,65929216 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇 区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁 盘 /dev/mapper/centos-var:1074.0 GB, 1073964122112 字节,2097586176 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇 区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

设备的容量出来了。但由于有扩展分区和逻辑盘。这下就不能简单地直接创建分区了,要先reize扩展分区。要通过parted命令进行:

[root@db242 ~]# parted
GNU Parted 3.1
使 用 /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: DELL PERC H730 Mini (scsi)
Disk /dev/sda: 1799GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system 标志
 1 32.3kB 107MB 107MB primary fat16 diag
 2 107MB 2254MB 2147MB primary fat32 启动, lba
 3 2254MB 3328MB 1074MB primary xfs
 4 3328MB 1199GB 1196GB extended
 5 3329MB 1199GB 1196GB logical lvm
(parted) resizepart 4 -1s
(parted) print
Model: DELL PERC H730 Mini (scsi)
Disk /dev/sda: 1799GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system 标志
 1 32.3kB 107MB 107MB primary fat16 diag
 2 107MB 2254MB 2147MB primary fat32 启动, lba
 3 2254MB 3328MB 1074MB primary xfs
 4 3328MB 1799GB 1795GB extended
 5 3329MB 1199GB 1196GB logical lvm
(parted) resizepart 5 100%
(parted) print
Model: DELL PERC H730 Mini (scsi)
Disk /dev/sda: 1799GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system 标志
 1 32.3kB 107MB 107MB primary fat16 diag
 2 107MB 2254MB 2147MB primary fat32 启动, lba
 3 2254MB 3328MB 1074MB primary xfs
 4 3328MB 1799GB 1795GB extended
 5 3329MB 1799GB 1795GB logical lvm
(parted) quit

[root@db242 ~]# partprobe -s
/dev/sda: msdos partitions 1 2 3 4 <5>

[root@db242 ~]# df -h
文 件系统 容量 已用 可用 已用% 挂载点
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 131M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/mapper/centos-root 82G 4.0G 79G 5% /
/dev/sda3 1014M 324M 691M 32% /boot
/dev/mapper/centos-var 1000G 160G 841G 16% /var
tmpfs 6.3G 0 6.3G 0% /run/user/1000
tmpfs 6.3G 0 6.3G 0% /run/user/0

接下来转到LVM配置,首先检查PV情况:

[root@db242 ~]# pvs -a
PV VG Fmt Attr PSize PFree
/dev/sda1 --- 0 0
/dev/sda2 --- 0 0
/dev/sda3 --- 0 0
/dev/sda5 centos lvm2 a-- <1.09t 4.00m

修改PV大小:

[root@db242 ~]# pvresize /dev/sda5
Physical volume "/dev/sda5" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized

[root@db242 ~]# pvs -a
PV VG Fmt Attr PSize PFree
/dev/sda1 --- 0 0
/dev/sda2 --- 0 0
/dev/sda3 --- 0 0
/dev/sda5 centos lvm2 a-- 1.63t <558.38g

检 查确认无误后,对LV进行RESIZE操作,注意参数比较特别:

[root@db242 ~]# lvresize -l +100%FREE /dev/centos/var
Size of logical volume centos/var changed from <1000.21 GiB (256053 extents) to 1.52 TiB (398998 extents).
Logical volume centos/var successfully resized.

[root@db242 ~]# lvs -a
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- 82.00g
swap centos -wi-ao---- <31.44g
var centos -wi-ao---- 1.52t

[root@db242 ~]# lvscan
ACTIVE '/dev/centos/root' [82.00 GiB] inherit
ACTIVE '/dev/centos/var' [1.52 TiB] inherit
ACTIVE '/dev/centos/swap' [<31.44 GiB] inherit

检查确认无误后,扩展XFS文件系统:

[root@db242 ~]# xfs_growfs /dev/centos/var
meta-data=/dev/mapper/centos-var isize=512 agcount=4, agsize=65549568 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=262198272, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=128026, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 262198272 to 408573952

[root@db242 ~]# xfs_info /dev/centos/var
meta-data=/dev/mapper/centos-var isize=512 agcount=7, agsize=65549568 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=408573952, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=128026, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0

[root@db242 ~]# df -hP /var
文 件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-var 1.6T 160G 1.4T 11% /var

最后检查,一切正常。
本栏目相关
  • 全格式自动改名器 Ver 4.00
  • mp3的无损版本:mp3HD已经推出!
  • 网络视频直播技术Heiro播放器界面一瞥
  • 网络实时直播Heiro的网站可以公开访问了
  • 犹抱琵琶半遮面--评武汉大学的网络实时直播技术Heiro
  • Ogg Theora 1.0 发布
  • Songbird 1.0 最终版释出!
  • 继Opera之后,Firefox(Gecko)也将支持ogg媒体格式
  • Songbird 1.1 释出!
  • Songbird升级到1.2版!