Cuestión : ¿Cómo diagnosticar errores físicos y lógicos del disco duro?


 Tenemos un servidor de Dell que tenga 6 impulsiones físicas.

Las impulsiones se configuran usar el RAID

El OS se configura con RAID 1
Las impulsiones de los datos se configuran con RAID 5

Estamos consiguiendo algunos errores del accionamiento de disco.


1.  ¿Cómo sé si los errores en el disco se relacionan con el disco físico o el disco lógico?

2.  Los errores en el disco físicos pueden ser fijos, cualquiera substituyendo las impulsiones después de sostener datos,
     ¿ahora si su un error lógico, cómo fijarlo?

3.  ¿Puede haber un error en el disco lógico debido a la configuración incorrecta del RAID de las impulsiones?

4. ¿Puede haber un error en el disco lógico debido a la incompatibilidad entre las impulsiones del hardware?

5.  el hardware es sistema 64-bit, operativo que hemos cargado somos Microsoft Windows 2008 (de 32 bits).

6. ¿Cómo diagnosticar si hay alguna corrupción del RAID o algunas ediciones lógicas del disco?

Respuesta : ¿Cómo diagnosticar errores físicos y lógicos del disco duro?

Bien, adentro

      {33, “B”}, {22, “C”}, {22, “D”}, {44, “E”}, {22, “D”}

usted tiene que entrada muy duplicado - apenas quitarla después de que se clasifique, e.g.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
#include  
#include  
#include  
#include  
#include  
#include  
#include  

usar namespace std;

struct StudentAttempt
{
   distancia de la internacional;
   studentName de la secuencia;
};

bool cmpEntry (StudentAttempt dejado, la derecha de StudentAttempt) {
   == de vuelta right.studentName del && left.studentName del == right.distance de left.distance;
}
cmpAttempts del bool (StudentAttempt dejado, la derecha de StudentAttempt) {
   si (left.distance < right="">y v, StudentAttempt& sa, stringstream& ss del const) {

   vector:: const_iterator i = v.begin ();
  size_t SZ = 0;
  el bFirst del bool = verdad;

  ¡mientras que (i! = v.end ()) {

    si (isDistEqual (*i, sa)) {
    
      ¡si (! studentName de los ss del bFirst <>);
      ++sz;
    }

    ++i; 
    bFirst = falso;
  }

  SZ de vuelta;
}
 

cañería de la internacional () {

   throwDist de StudentAttempt [] = {
      {50, “A”},      {22, “A”},      {16, “B”},      {44, “C”},
      {33, “D”},      {34, “E”},      {22, “F”},      {21, “G”},
      {49, “A”},      {5, “B”},      {2, “C”},      {22, “A”},
      {33, “B”},      {22, “C”},      {22, “D”},      {44, “E”}, {22, “D”}
   };


   sistema manejado;

   internacional len = sizeof ()/sizeof (throwDist [0] del throwDist);

   dist del vector (el throwDist, throwDist + len);
   vector:: iterator él = dist.begin ();

   clase (dist.begin (), dist.end (), cmpAttempts);

   único (dist.begin (), dist.end (), cmpEntry); // quita los duplicados idénticos del vector clasificado


   para (; ¡él! = dist.end (); it++) {

      stringstream ss;

      pares:: iterator, bool> p = handled.insert (it->distance);

      ¡si (! p.second) continúan; // dirigido ya

      si (0  < printAllEqual="">
           
Otras soluciones  
 
programming4us programming4us