Questione : Come diagnosticare gli errori fisici & logici del disco rigido?


 Abbiamo un assistente di Dell che ha 6 azionamenti fisici.

Gli azionamenti sono configurati using il RAID

L'OS è configurato con il RAID 1
Gli azionamenti di dati sono configurati con il RAID 5

Stiamo ottenendo alcuni errori dell'azionatore del disco.


1.  Come so se gli errori di disc sono collegati con il disc fisico o il disc logico?

2.  Gli errori di disc fisici possono essere fissi, l'uno o l'altro sostituendo gli azionamenti dopo avere sostenuto i dati,
     ora se relativo un errore logico, come ripararlo?

3.  Può ci essere un errore di disc logico dovuto la configurazione impropria di RAID degli azionamenti?

4. Può ci essere un errore di disc logico dovuto incompatibilità fra gli azionamenti dei fissaggi?

5.  i fissaggi sono 64-bit, sistema operativo che abbiamo caricato siamo Microsoft Windows 2008 (a 32 bits).

6. Come diagnosticare se ci sono della corruzione di RAID o delle edizioni logiche del disc?

Risposta : Come diagnosticare gli errori fisici & logici del disco rigido?

Bene, dentro

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

avete che entrata molto duplicata - rimuoverla appena dopo che è fascicolata, per esempio.
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  

using il namespace std;

struct StudentAttempt
{
   distanza di int;
   studentName della stringa;
};

bool cmpEntry (StudentAttempt lasciato, destra di StudentAttempt) {
   == di ritorno right.studentName del && left.studentName del == right.distance di left.distance;
}
cmpAttempts di bool (StudentAttempt lasciato, destra di StudentAttempt) {
   se (left.distance < right="">& v, StudentAttempt& sa, stringstream& ss del const) {

   vettore:: const_iterator i = v.begin ();
  size_t la SZ = 0;
  il bFirst di bool = allinea;

  mentre (i! = v.end ()) {

    se (isDistEqual (*i, sa)) {
    
      se (! studentName del bFirst) <>ss;
      ++sz;
    }

    ++i; 
    bFirst = falso;
  }

  la SZ di ritorno;
}
 

conduttura di int () {

   throwDist di 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„}
   };


   insieme trattato;

   int len = sizeof)/sizeof (throwDist [0] (di throwDist);

   dist di vettore (throwDist, throwDist + len);
   vettore:: iterator esso = dist.begin ();

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

   unico (dist.begin (), dist.end (), cmpEntry); // rimuove i duplicati identici dal vettore fascicolato


   per (; esso! = dist.end (); it++) {

      stringstream ss;

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

      se (! p.second) continuano; // già trattato

      se (0  < printAllEqual="">
           
Altre soluzioni  
 
programming4us programming4us