天天看點

如何線上更換伺服器故障硬碟之更換并配置磁盤

前言:

上一小節中,我們介紹了怎麼定位到故障磁盤,這一小節将繼續為大家說明如何在新硬碟接入後讓硬碟配置成系統識别并使用。(非raid模式下)

1. 新硬碟接入後如何讓系統識别到磁盤并使用

如果加入的磁盤是全新的,此時的硬碟為[UGood]狀态;

如果加入的硬碟是從已使用過的,硬碟為[foreign]狀态;

這裡舉例新增兩塊硬碟

1.1. 新加入的磁盤,作業系統無法通過lsscsi指令查詢到到硬碟

root@nodeserver2:~# lsscsi
[0:0:4:0]    disk    TOSHIBA  AL13SXB300N      DF09  /dev/sdc
[0:0:5:0]    disk    TOSHIBA  AL13SXB300N      DF09  /dev/sdd
[0:0:6:0]    disk    ATA      INTEL SSDSC2KB48 0110  /dev/sde
[0:0:7:0]    disk    ATA      INTEL SSDSC2KB24 0100  /dev/sdf
[0:2:0:0]    disk    DELL     PERC H730P Mini  4.24  /dev/sdg
[10:0:0:0]   cd/dvd  PLDS     DVD+-RW DS-8ABSH LD51  /dev/sr0      

1.2. 通過陣列卡檢視硬碟:此時檢視到的兩塊新硬碟為UGood狀态

root@nodeserver2:/opt/MegaRAID/perccli# ./perccli64 /c0 show
Generating detailed summary of the adapter, it may take a while to complete.
Controller = 0
Status = Success
Description = None
Product Name = PERC H730P Mini
Serial Number = 54N000G
PD LIST :
=======
----------------------------------------------------------------------------
EID:Slt DID State DG       Size Intf Med SED PI SeSz Model               Sp
----------------------------------------------------------------------------
32:0      0 Onln   0 278.875 GB SAS  HDD N   N  512B AL13SXB300N         U
32:1      1 Onln   0 278.875 GB SAS  HDD N   N  512B AL13SXB300N         U
32:2      2 UGood  -   1.745 TB SATA SSD N   N  512B VK001920GWJPH       U
32:3      3 UGood  -   1.745 TB SATA SSD N   N  512B VK001920GWJPH       U
32:4      4 JBOD   - 278.875 GB SAS  HDD N   N  512B AL13SXB300N         U
32:5      5 JBOD   - 278.875 GB SAS  HDD N   N  512B AL13SXB300N         U
32:6      6 JBOD   - 446.625 GB SATA SSD N   N  512B INTEL SSDSC2KB480G8 U
32:7      7 JBOD   -   223.0 GB SATA SSD N   N  512B INTEL SSDSC2KB240G8 U
----------------------------------------------------------------------------      

1.3. 轉換磁盤模式

1.3.1. 設定硬碟為jbod模式

root@nodeserver2:/opt/MegaRAID/perccli# ./perccli64 /c0/e32/s2 set jbod
Controller = 0
Status = Success
Description = Set Drive JBOD Succeeded.
root@nodeserver2:/opt/MegaRAID/perccli# ./perccli64 /c0/e32/s2 show
Controller = 0
Status = Success
Description = Show Drive Information Succeeded.
Drive Information :
=================
--------------------------------------------------------------------
EID:Slt DID State DG     Size Intf Med SED PI SeSz Model         Sp
--------------------------------------------------------------------
32:2      2 JBOD  -  1.745 TB SATA SSD N   N  512B VK001920GWJPH U
--------------------------------------------------------------------
##########################################################################
root@nodeserver2:/opt/MegaRAID/perccli# ./perccli64 /c0/e32/s3 set jbod
Controller = 0
Status = Success
Description = Set Drive JBOD Succeeded.
root@nodeserver2:/opt/MegaRAID/perccli# ./perccli64 /c0/e32/s3 show
Controller = 0
Status = Success
Description = Show Drive Information Succeeded.
Drive Information :
=================
--------------------------------------------------------------------
EID:Slt DID State DG     Size Intf Med SED PI SeSz Model         Sp
--------------------------------------------------------------------
32:3      3 JBOD  -  1.745 TB SATA SSD N   N  512B VK001920GWJPH U
--------------------------------------------------------------------      

1.3.1.1 此時兩塊磁盤成功被作業系統識别到

root@nodeserver2:/opt/MegaRAID/perccli# lsblk
NAME                   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdf                      8:80   0 223.6G  0 disk
sdd                      8:48   0 279.4G  0 disk
├─sdd2                   8:50   0 279.3G  0 part
└─sdd1                   8:49   0   100M  0 part /var/lib/ceph/osd/ceph-7
sdb                      8:16   0   1.8T  0 disk
sr0                     11:0    1  1024M  0 rom  
sdg                      8:96   0 278.9G  0 disk
├─sdg1                   8:97   0 232.9G  0 part /
└─sdg2                   8:98   0    46G  0 part
sde                      8:64   0 447.1G  0 disk
└─lvm_20210701_9190-lv 253:0    0 447.1G  0 lvm  /lvm_20210701_9190
sdc                      8:32   0 279.4G  0 disk
├─sdc2                   8:34   0 279.3G  0 part
└─sdc1                   8:33   0   100M  0 part /var/lib/ceph/osd/ceph-6
sda                      8:0    0   1.8T  0 disk
root@nodeserver2:/opt/MegaRAID/perccli# lsscsi
[0:0:2:0]    disk    ATA      VK001920GWJPH    HPG3  /dev/sda
[0:0:3:0]    disk    ATA      VK001920GWJPH    HPG3  /dev/sdb
[0:0:4:0]    disk    TOSHIBA  AL13SXB300N      DF09  /dev/sdc
[0:0:5:0]    disk    TOSHIBA  AL13SXB300N      DF09  /dev/sdd
[0:0:6:0]    disk    ATA      INTEL SSDSC2KB48 0110  /dev/sde
[0:0:7:0]    disk    ATA      INTEL SSDSC2KB24 0100  /dev/sdf
[0:2:0:0]    disk    DELL     PERC H730P Mini  4.24  /dev/sdg
[10:0:0:0]   cd/dvd  PLDS     DVD+-RW DS-8ABSH LD51  /dev/sr0      

1.3.2. 硬碟組合成陣列

舉例将兩塊硬碟配置為raid1,raid名稱為:test

root@nodeserver1:/opt/MegaRAID/perccli# ./perccli64 /c0 add VD r1 name=test drives=32:4-5
Controller = 0
Status = Success
Description = Add VD Succeeded
You have mail in /var/mail/root      

1.3.3. jbod模式下的磁盤,重新配置成陣列

流程:JBOD—->UGood—->raid1

  • 舉例将:c0/e32/s6-7這兩塊磁盤設定成raid1

1.3.1.1. 檢視磁盤

root@nodeserver1:/opt/MegaRAID/perccli# ./perccli64 /c0 show
Generating detailed summary of the adapter, it may take a while to complete.
................
Controller = 0
Status = Success
Description = None
PD LIST :
=======
-------------------------------------------------------------------------------
EID:Slt DID State DG       Size Intf Med SED PI SeSz Model                  Sp
-------------------------------------------------------------------------------
32:0      0 Onln   0 278.875 GB SAS  HDD N   N  512B ST300MP0026            U
32:1      1 Onln   0 278.875 GB SAS  HDD N   N  512B AL13SXB300N            U
32:2      2 JBOD   -   931.0 GB SATA SSD N   N  512B WDC WDS100T2G0A-00JH30 U
32:3      3 JBOD   - 744.625 GB SATA SSD N   N  512B INTEL SSDSC2BB800G7    U
32:4      4 JBOD   -   931.0 GB SATA SSD N   N  512B WDC WDS100T2G0A-00JH30 U
32:5      5 JBOD   -  893.75 GB SATA SSD N   N  512B INTEL SSDSC2KB960G8    U
32:6      6 JBOD   -  893.75 GB SATA SSD N   N  512B INTEL SSDSC2KB960G8    U
32:7      7 JBOD   -  893.75 GB SATA SSD N   N  512B INTEL SSDSC2KB960G8    U
-------------------------------------------------------------------------------
            ^^^^      

1.3.1.2. 設定硬碟為UNGOOD(未配置)狀态

root@nodeserver1:/opt/MegaRAID/perccli# ./perccli64 /c0/e32/s6 set good force
Controller = 0
Status = Success
Description = Set Drive Good Succeeded.
root@nodeserver1:/opt/MegaRAID/perccli# ./perccli64 /c0/e32/s7 set good force
Controller = 0
Status = Success
Description = Set Drive Good Succeeded.      

1.3.1.3. 檢視設定結果

從下方輸出中可以看到對應兩塊磁盤變更為:UGood狀态,此時硬碟可以正常做raid

root@nodeserver1:/opt/MegaRAID/perccli# ./perccli64 /c0 show
Generating detailed summary of the adapter, it may take a while to complete.
Controller = 0
Status = Success
Description = None
......
PD LIST :
=======
-------------------------------------------------------------------------------
EID:Slt DID State DG       Size Intf Med SED PI SeSz Model                  Sp
-------------------------------------------------------------------------------
32:0      0 Onln   0 278.875 GB SAS  HDD N   N  512B ST300MP0026            U
32:1      1 Onln   0 278.875 GB SAS  HDD N   N  512B AL13SXB300N            U
32:2      2 JBOD   -   931.0 GB SATA SSD N   N  512B WDC WDS100T2G0A-00JH30 U
32:3      3 JBOD   - 744.625 GB SATA SSD N   N  512B INTEL SSDSC2BB800G7    U
32:4      4 JBOD   -   931.0 GB SATA SSD N   N  512B WDC WDS100T2G0A-00JH30 U
32:5      5 JBOD   -  893.75 GB SATA SSD N   N  512B INTEL SSDSC2KB960G8    U
32:6      6 UGood  -  893.75 GB SATA SSD N   N  512B INTEL SSDSC2KB960G8    U
32:7      7 UGood  -  893.75 GB SATA SSD N   N  512B INTEL SSDSC2KB960G8    U
-------------------------------------------------------------------------------
.....
----------------------------------------------
Model State   RetentionTime Temp Mode MfgDate
----------------------------------------------
BBU   Optimal 0 hour(s)     36C  -    0/00/00
----------------------------------------------      

1.3.1.4. 手動建立RAID

  • 參數指令:
./perccli64 /cx add vd r[0|1|5|6|00|10|50|60][Size=<VD1_Sz>,<VD2_Sz>,..|all]
[name=<VDNAME1>,..] drives=e:s|e:s-x|e:s-x,y [PDperArray=x|auto]
[SED] [pdcache=on|off|default][pi] [DimmerSwitch(ds)=default|automatic(auto)|
none|maximum(max)|MaximumWithoutCaching(maxnocache)] [WT|WB|AWB][nora|ra]
[direct|cached] [cachevd]
[Strip=<8|16|32|64|128|256|512|1024>] [AfterVd=X]
[Spares = [e:]s|[e:]s-x|[e:]s-x,y][force]
[Cbsize=0|1|2 Cbmode=0|1|2|3|4|7]      
  • 執行指令:

将硬碟:EID與Slt中的32:6 與32:7兩塊硬碟配置為raid1,raid名字為:test

root@nodeserver1:/opt/MegaRAID/perccli# ./perccli64 /c0 add VD r1 name=test drives=32:6-7

Controller = 0
Status = Success
Description = Add VD Succeeded
You have mail in /var/mail/root      
  • 檢視執行結果:
root@nodeserver1:/opt/MegaRAID/perccli# ./perccli64 /c0/vall show
Controller = 0
Status = Success
Description = None
Virtual Drives :
==============
------------------------------------------------------------------------
DG/VD TYPE  State Access Consist Cache Cac sCC       Size Name
------------------------------------------------------------------------
0/0   RAID1 Optl  RW     Yes     RWBD  -   OFF 278.875 GB Virtual Disk0
1/1   RAID1 Optl  RW     No      RWBD  -   OFF  893.75 GB test
------------------------------------------------------------------------
###### 使用之後:
root@nodeserver1:/opt/MegaRAID/perccli# ./perccli64 /c0/vall show
Controller = 0
Status = Success
Description = None
Virtual Drives :
==============
------------------------------------------------------------------------
DG/VD TYPE  State Access Consist Cache Cac sCC       Size Name
------------------------------------------------------------------------
0/0   RAID1 Optl  RW     Yes     RWBD  -   OFF 278.875 GB Virtual Disk0
1/1   RAID1 Optl  RW     Yes     RWBD  -   OFF  893.75 GB test
------------------------------------------------------------------------