微信订阅号二维码

本页内容二维码:

本栏目热门内容
  • Acrobat虚拟PDF打印机执行...
  • LINKSYS交换机登录WEB界面...
  • 又一次RAID 5阵列故障记录...
  • 解决VMware vSphere ESXi ...
  • 修改CentOS发行信息以绕过...
  • Windows Server 2008 重命...
  • 解决虚拟化运行的 Windows...
  • Intel Nehalem CPU Errata...
  • 某卢瑟装机搞得一踏糊涂,...
  • 解决MySQL Cluster 备份总...
  • MegaCli安装及使用杂记
  • 解决WSUS显示客户端不全的...
  • 解决 VMWare vSphere 6 客...
  • 解决Windows Server 2008 ...
  • 本站服务器RAID 5阵列双硬...
  • 网站数据库从MySQL 5.0升...
  • 解决MariaDB使用Percona X...
  • 修改arpwatch使通知邮件主...
  • Linux 下的分区调整工具GP...
  • DELL PowerEdge 820 报CPU...
  • 程序员漫画:如何用8种不...
  • 解决很好用的多合一即时通...
  • 使用 GParted 进行虚拟机...
  • 解决Samba WINS服务的错误...
  • 解决Squid代理HTTP时在浏...
  • 用Delphi编写使用到ADO的D...
  • 网站简单改版
  • 索尼系列手提电脑备份失败...
  • Dell R900服务器 BMC firm...
  • 更多...

    服务器热加硬盘、热转RAID模式,配合LINUX卷操作实现不重启服务器完成扩容

    作者:Sender  来源:WaveCN.com  发布日期:2020-02-27  最后修改日期:2020-02-28

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

      但从管理员角度看,整个操作过程其实还不是足够顺畅简单,因为这个过程涉及到很多方面。

      如果可以停机,通过RAID控制器的嵌入式管理界面(开机时根据提示按CTRL+S 进入的界面)进行操作是最可靠的操作方式。但这就不是热处理了,而是冷处理,需要停机。

      所以,有必要尝试一下,能否全过程热处理。答案是成功的。

      本次热处理服务器品牌型号是DELL POWEREDGE R730,带外(out-of-band)管理器IDRAC版本是8。

      一、安装和检查物理硬盘

      首先是安装新购置的物理盘PD(Physical Disk)。增购硬盘的大前提是:

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

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

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

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

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

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

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

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

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

      点击“清除”按钮,确认清除外来配置(这个操作也可以在后面的热处理过程中进行而不是在这里处理,本文顺便描述一下iDRAC存储管理界面操作):

      清除过程属于后台作业:

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

      期间可能产生子作业:

      作业完成:

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

      二、转换RAID模式

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

      这里先记录一下我们这次转换的目标结果(参照另一台服务器的情况):要建立RAID 10模式、有热备(hot-spare)硬盘的虚拟磁盘(如下图)。

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

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

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

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

      MSM会提醒你需要备份,并确认操作。说到底这个操作还是有危险性的,如果不能确认后备电源正常工作去防止意外掉电,则一定不能执行。

      即使现在的RAID控制器有专门的CACHE内存和内置电池,但都不要冒险。可以放心的是,正常关机后还是可以下次开机继续的。

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

      RAID模式转换可能需要增加硬盘,视乎具体如何转。一般地RAID6转RAID1刚好不需要加硬盘。因为RAID6至少4个硬盘,2个是冗余;转RAID 1时4个硬盘中也是2个冗余。

      不过这次我们还需要同步扩容,因此选择两个新增的硬盘。注意不要全选,因为另外两个留作热备。还有就是RAID1必须成对,所以也不可能选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
    [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
    

    最后检查,一切正常。

    欢迎关注微信公众号后私信讨论文章内容!
    本栏目相关
  •  2013-11-01 又一次RAID 5阵列故障记录
  •  2015-09-20 本站服务器RAID 5阵列双硬盘失效挽救记录
  •  2020-02-27 服务器热加硬盘、热转RAID模式,配合LINUX卷操作实现不重启服务器完成扩容
  •  2022-02-24 如何安装使用 Broadcom RAID卡命令行管理工具 StorCLI(或称PercCLI)?
  •  2022-05-13 2022年甲方系统管理运维人员必备远程访问工具
  •  2022-05-20 内网DNS服务实现公网域名在内网转换解析
  •  2022-02-28 三个服务器基础运维必备软件工具
  •  2022-10-17 安装 MegaRAID 存储管理器集中监控 DAS 存储状态
  •  2022-12-12 Linux Kernel 日志排错分析和处置三例
  • 返回页首