Abaixo está o comando ssacli da HP para ver os detalhes do RAID de hardware configurado:
ssacli ctrl slot=0 show config
e sua saída é como abaixo:
HPE Smart Array P408i-a SR Gen10 in Slot 0 (Embedded)
Internal Drive Cage at Port 1I, Box 1, OK
Internal Drive Cage at Port 2I, Box 0, OK
Port Name: 1I (Mixed)
Port Name: 2I (Mixed)
Array A (Solid State SAS, Unused Space: 0 MB)
logicaldrive 1 (447.10 GB, RAID 1, OK)
physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS SSD, 480 GB, OK)
physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SAS SSD, 480 GB, OK)
SEP (Vendor ID HPE, Model Smart Adapter) 379 (Port: Unknown)
Eu tenho que descobrir o Array nome para excluí-lo, procurando as informações de disco correspondentes que eu recebo como entrada do usuário. Por exemplo, se a entrada do disco for 1I: 1: 1 , eu terei que procurar essa string na saída do comando acima. Como esse disco está disponível e correspondente, tenho que extrair o nome da Matriz (aqui é ' A ') e assim que obtenho esse parâmetro da Matriz, posso excluir a configuração RAID existente.
ssacli ctrl slot=0 show config | grep -B 4 '1I:1:1' | grep Array | awk '{print $2}'
O problema com o comando acima é
-
O valor 4 no grep -B não pode ser sempre constante, pois o disco correspondente pode vir em primeiro, segundo ou terceiro, etc., sob uma matriz na saída.
-
pode haver várias configurações de matriz RAID disponíveis na saída, então pode haver Array A , B , C etc ., Tenho que encontrar e recuperar a string " Array " mais próxima que corresponde ao meu disco de entrada