OVH Cloud OVH Cloud

Partition en lecture seule

18 réponses
Avatar
Yann
J'ai un petit problème avec ma Mandriva 2007.1 (encore que je me demande
s'il ne s'agit pas d'un problème matériel).

Je possède 1 disque dur IDE et 1 disque dur SATA2. De temps en temps,
une partition ou une autre devient Read Only (c'est ce que me dit le
système si je veux écrire sur la partition en question). Je crois avoir
découvert que c'est quand je veux transférer de grosses masses de
données depuis le disque IDE sur le disque SATA: la partition d'origine
(sur le disque IDE donc) devient "en lecture seule".

un "mount" me montre pourtant que la partition est bien montée
correctement...

Dès lors, je n'ai pas trouvé d'autre solution que de rebooter. La
procédure d'extinction se déroule correctement, sauf pour le démontage,
résultat, au reboot, je me retrouve avec un message indiquant que le
filesystem contient des erreurs, et de je dois faire un e2fsck sur la
partition en question...

D'une part, je crains d'abimer mon disque dur, d'autre part, j'ai peur
que le filesystem souffre et que je me retrouve avec des données
effacées, et puis c'est franchement ch... à force...

Est-ce que quelqu'un a une idée?

Merci d'avance

8 réponses

1 2
Avatar
Nicolas S.

Aug 9 03:06:53 Ordiyann smartd[3097]: Device: /dev/sda, SMART Usage
Attribute: 190 Temperature_Celsius changed from 69 to 70
Aug 9 03:06:53 Ordiyann smartd[3097]: Device: /dev/sda, SMART Usage
Attribute: 194 Temperature_Celsius changed from 145 to 148


Quel résultat as-tu avec ces commandes (dans cet ordre):
# smartctl -a /dev/sda
# smartctl -t long /dev/sda

--
Nicolas S.

Avatar
Yann
Quel résultat as-tu avec ces commandes (dans cet ordre):
# smartctl -a /dev/sda


smartctl version 5.37 [i586-mandriva-linux-gnu] Copyright (C) 2002-6
Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION == Model Family: SAMSUNG SpinPoint T133 series
Device Model: SAMSUNG HD401LJ
Serial Number: S0HVJ1CP103730
Firmware Version: ZZ100-15
User Capacity: 400,088,457,216 bytes
Device is: In smartctl database [for details use: -P show]
ATA Version is: 7
ATA Standard is: ATA/ATAPI-7 T13 1532D revision 4a
Local Time is: Fri Aug 10 13:58:39 2007 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION == SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status: (0x05) Offline data collection activity
was aborted by an interrupting
command from host.
Auto Offline Data Collection:
Disabled.
Self-test execution status: ( 0) The previous self-test routine
completed
without error or no self-test
has ever
been run.
Total time to complete Offline
data collection: (7418) seconds.
Offline data collection
capabilities: (0x5b) SMART execute Offline immediate.
Auto Offline data collection
on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 126) minutes.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE
UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 100 100 051 Pre-fail
Always - 0
3 Spin_Up_Time 0x0007 100 100 015 Pre-fail
Always - 7936
4 Start_Stop_Count 0x0032 100 100 000 Old_age
Always - 72
5 Reallocated_Sector_Ct 0x0033 253 253 010 Pre-fail
Always - 0
7 Seek_Error_Rate 0x000f 253 253 051 Pre-fail
Always - 0
8 Seek_Time_Performance 0x0025 253 253 015 Pre-fail
Offline - 0
9 Power_On_Hours 0x0032 100 100 000 Old_age
Always - 2283
10 Spin_Retry_Count 0x0033 253 253 051 Pre-fail
Always - 0
11 Calibration_Retry_Count 0x0012 253 253 000 Old_age
Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age
Always - 72
190 Temperature_Celsius 0x0022 071 054 000 Old_age Always
- 29
194 Temperature_Celsius 0x0022 151 100 000 Old_age Always
- 29
195 Hardware_ECC_Recovered 0x001a 100 100 000 Old_age Always
- 11474015
196 Reallocated_Event_Count 0x0032 253 253 000 Old_age Always
- 0
197 Current_Pending_Sector 0x0012 253 253 000 Old_age Always
- 0
198 Offline_Uncorrectable 0x0030 253 253 000 Old_age
Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always
- 0
200 Multi_Zone_Error_Rate 0x000a 253 100 000 Old_age Always
- 0
201 Soft_Read_Error_Rate 0x000a 100 100 000 Old_age Always
- 0
202 TA_Increase_Count 0x0032 253 253 000 Old_age Always
- 0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num Test_Description Status Remaining
LifeTime(hours) LBA_of_first_error
# 1 Extended offline Completed without error 00% 2148
-
# 2 Extended offline Completed without error 00% 1994
-
# 3 Extended offline Completed without error 00% 1692
-

SMART Selective Self-Test Log Data Structure Revision Number (0) should be 1
SMART Selective self-test log data structure revision number 0
Warning: ATA Specification requires selective self-test log data
structure revision number = 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

# smartctl -t long /dev/sda


smartctl version 5.37 [i586-mandriva-linux-gnu] Copyright (C) 2002-6
Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION == Sending command: "Execute SMART Extended self-test routine immediately
in off-line mode".
Drive command "Execute SMART Extended self-test routine immediately in
off-line mode" successful.
Testing has begun.
Please wait 126 minutes for test to complete.
Test will complete after Fri Aug 10 16:05:43 2007

Use smartctl -X to abort test.


Et retour à la console.

Après 126 minutes, je n'ai aucune sortie de ce test à l'écran.
Je suis allé dans les logs, et j'y ai trouvé uniquement:

Dans les messages:

Aug 10 13:54:14 Ordiyann kernel: SCSI device sda: 781422768 512-byte
hdwr sectors (400088 MB)
Aug 10 13:54:14 Ordiyann kernel: sda: Write Protect is off
Aug 10 13:54:14 Ordiyann kernel: SCSI device sda: drive cache: write back
Aug 10 13:54:14 Ordiyann kernel: SCSI device sda: 781422768 512-byte
hdwr sectors (400088 MB)
Aug 10 13:54:14 Ordiyann kernel: sda: Write Protect is off
Aug 10 13:54:14 Ordiyann kernel: SCSI device sda: drive cache: write back
Aug 10 13:54:14 Ordiyann kernel: sda: sda1 sda2 <<6>ACPI: PCI Interrupt
0000:00:08.0[A] -> GSI 19 (level, low) -> IRQ 17
Aug 10 13:54:14 Ordiyann kernel: sda5 >
Aug 10 13:54:14 Ordiyann kernel: sd 0:0:0:0: Attached scsi disk sda
Aug 10 13:54:14 Ordiyann kernel: EXT3 FS on sda1, internal journal
Aug 10 13:54:14 Ordiyann kernel: EXT3 FS on sda5, internal journal
Aug 10 13:54:22 Ordiyann smartd[2671]: Device: /dev/sda, opened
Aug 10 13:54:22 Ordiyann smartd[2671]: Device /dev/sda: ATA disk
detected behind SAT layer
Aug 10 13:54:22 Ordiyann smartd[2671]: For example: '/dev/sda -a -d sat'
Aug 10 13:54:23 Ordiyann smartd[2671]: Device: /dev/sda, opened
Aug 10 13:54:23 Ordiyann smartd[2671]: Device: /dev/sda, found in smartd
database.
Aug 10 13:54:23 Ordiyann smartd[2671]: Device: /dev/sda, enabled SMART
Attribute Autosave.
Aug 10 13:54:23 Ordiyann smartd[2671]: Device: /dev/sda, enabled SMART
Automatic Offline Testing.
Aug 10 13:54:23 Ordiyann smartd[2671]: Device: /dev/sda, is SMART
capable. Adding to "monitor" list.
Aug 10 14:24:25 Ordiyann smartd[3042]: Device: /dev/sda, SMART Usage
Attribute: 190 Temperature_Celsius changed from 71 to 69
Aug 10 14:24:25 Ordiyann smartd[3042]: Device: /dev/sda, SMART Usage
Attribute: 194 Temperature_Celsius changed from 151 to 145
Aug 10 15:24:25 Ordiyann smartd[3042]: Device: /dev/sda, SMART Usage
Attribute: 200 Multi_Zone_Error_Rate changed from 253 to 100



Et dans Syslog:

Aug 10 13:54:14 Ordiyann kernel: SCSI device sda: 781422768 512-byte
hdwr sectors (400088 MB)
Aug 10 13:54:14 Ordiyann kernel: sda: Write Protect is off
Aug 10 13:54:14 Ordiyann kernel: sda: Mode Sense: 00 3a 00 00
Aug 10 13:54:14 Ordiyann kernel: SCSI device sda: drive cache: write back
Aug 10 13:54:14 Ordiyann kernel: SCSI device sda: 781422768 512-byte
hdwr sectors (400088 MB)
Aug 10 13:54:14 Ordiyann kernel: sda: Write Protect is off
Aug 10 13:54:14 Ordiyann kernel: sda: Mode Sense: 00 3a 00 00
Aug 10 13:54:14 Ordiyann kernel: SCSI device sda: drive cache: write back
Aug 10 13:54:14 Ordiyann kernel: sda: sda1 sda2 <<6>ACPI: PCI Interrupt
0000:00:08.0[A] -> GSI 19 (level, low) -> IRQ 17
Aug 10 13:54:14 Ordiyann kernel: sda5 >
Aug 10 13:54:14 Ordiyann kernel: sd 0:0:0:0: Attached scsi disk sda
Aug 10 13:54:14 Ordiyann kernel: EXT3 FS on sda1, internal journal
Aug 10 13:54:14 Ordiyann kernel: EXT3 FS on sda5, internal journal
Aug 10 13:54:22 Ordiyann smartd[2671]: Device: /dev/sda, opened
Aug 10 13:54:22 Ordiyann smartd[2671]: Device /dev/sda: ATA disk
detected behind SAT layer
Aug 10 13:54:22 Ordiyann smartd[2671]: For example: '/dev/sda -a -d sat'
Aug 10 13:54:23 Ordiyann smartd[2671]: Device: /dev/sda, opened
Aug 10 13:54:23 Ordiyann smartd[2671]: Device: /dev/sda, found in smartd
database.
Aug 10 13:54:23 Ordiyann smartd[2671]: Device: /dev/sda, enabled SMART
Attribute Autosave.
Aug 10 13:54:23 Ordiyann smartd[2671]: Device: /dev/sda, enabled SMART
Automatic Offline Testing.
Aug 10 13:54:23 Ordiyann smartd[2671]: Device: /dev/sda, is SMART
capable. Adding to "monitor" list.
Aug 10 14:24:25 Ordiyann smartd[3042]: Device: /dev/sda, SMART Usage
Attribute: 190 Temperature_Celsius changed from 71 to 69
Aug 10 14:24:25 Ordiyann smartd[3042]: Device: /dev/sda, SMART Usage
Attribute: 194 Temperature_Celsius changed from 151 to 145
Aug 10 15:24:25 Ordiyann smartd[3042]: Device: /dev/sda, SMART Usage
Attribute: 200 Multi_Zone_Error_Rate changed from 253 to 100




Cela dit, je me demande si le problème n'est pas lié au système de
fichiers EXT3 lui-même (attention, je n'ai pas l'outrecuidance de dire
qu'il est buggué, mais que mon système a un problème de gestion de la
copie de gros fichiers en même temps que le test cyclique du FS): j'ai
l'impression que lorsque je copie de grosses masses de données, à partir
ou vers un disque SATA (donc avec un débit très rapide), le système n'a
pas les performances suffisantes pour, parallèlement, mettre à jour le
journal et tester le filesystem. Du coup, il détecte une erreur et
remonte le fs en read-only.

Je ne sais pas si c'est la bonne piste, d'ailleurs ça m'étonnerait quand
même un peu que personne n'ait déjà identifié un tel problème si c'était
le cas...

Avatar
Samuel Colin
Dixit Yann :
Quel résultat as-tu avec ces commandes (dans cet ordre):
# smartctl -a /dev/sda


Please wait 126 minutes for test to complete.
Test will complete after Fri Aug 10 16:05:43 2007

Use smartctl -X to abort test.


Et retour à la console.

Après 126 minutes, je n'ai aucune sortie de ce test à l'écran.
Je suis allé dans les logs, et j'y ai trouvé uniquement:

Oui mais non, il faut généralement attendre un tout petit peu plus que

126 minutes (il me semble que c'est plus une estimation). Et surtout,
pour avoir le résultat, tu dois refaire smartctl -a /dev/sda
Tu devrais y voir une nouvelle entrée #1 dans la liste qui s'affiche
vers la fin, et qui correspond au résultat du test "-t long" que tu as
lancé.


Avatar
Yann
Oui mais non, il faut généralement attendre un tout petit peu plus que
126 minutes (il me semble que c'est plus une estimation). Et surtout,
pour avoir le résultat, tu dois refaire smartctl -a /dev/sda
Tu devrais y voir une nouvelle entrée #1 dans la liste qui s'affiche
vers la fin, et qui correspond au résultat du test "-t long" que tu as
lancé.



Oups! Merci. Désolé, mais je ne suis vraiment pas familiarisé avec cet
outil. Bon, ben c'est reparti, parce qu'entre temps, j'ai lu la man de
smartctl et j'ai lancé un test court, dont le résultat a écrasé celui du
test long...

La suite au prochain numéro...

Merci

Avatar
Samuel Colin
Dixit Yann :

Oups! Merci. Désolé, mais je ne suis vraiment pas familiarisé avec cet
outil. Bon, ben c'est reparti, parce qu'entre temps, j'ai lu la man de
smartctl et j'ai lancé un test court, dont le résultat a écrasé celui du
test long...

Non, les résultats se mettent les uns à la suite des autres dans la

liste que j'ai mentionnée, du résultat de test le plus récent (en
premier) au résultat de test le plus ancien.
Mais un test court ne renseignera guère si ce sont certains secteurs qui
posent problème, d'où le fait que nous te fassions faire des tests
longs.

Avatar
Yann
Non, les résultats se mettent les uns à la suite des autres dans la
liste que j'ai mentionnée, du résultat de test le plus récent (en
premier) au résultat de test le plus ancien.
Mais un test court ne renseignera guère si ce sont certains secteurs qui
posent problème, d'où le fait que nous te fassions faire des tests
longs.



OK, donc, j'ai décidément tout faux...

Bon, voici donc ce que me sort smartctl -a:

smartctl version 5.37 [i586-mandriva-linux-gnu] Copyright (C) 2002-6
Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION == Model Family: SAMSUNG SpinPoint T133 series
Device Model: SAMSUNG HD401LJ
Serial Number: S0HVJ1CP103730
Firmware Version: ZZ100-15
User Capacity: 400,088,457,216 bytes
Device is: In smartctl database [for details use: -P show]
ATA Version is: 7
ATA Standard is: ATA/ATAPI-7 T13 1532D revision 4a
Local Time is: Fri Aug 10 17:57:06 2007 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION == SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status: (0x05) Offline data collection activity
was aborted by an interrupting
command from host.
Auto Offline Data Collection:
Disabled.
Self-test execution status: ( 249) Self-test routine in progress...
90% of test remaining.
Total time to complete Offline
data collection: (7418) seconds.
Offline data collection
capabilities: (0x5b) SMART execute Offline immediate.
Auto Offline data collection
on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 126) minutes.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE
UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 100 100 051 Pre-fail
Always - 0
3 Spin_Up_Time 0x0007 100 100 015 Pre-fail
Always - 7936
4 Start_Stop_Count 0x0032 100 100 000 Old_age
Always - 72
5 Reallocated_Sector_Ct 0x0033 253 253 010 Pre-fail
Always - 0
7 Seek_Error_Rate 0x000f 253 253 051 Pre-fail
Always - 0
8 Seek_Time_Performance 0x0025 253 253 015 Pre-fail
Offline - 0
9 Power_On_Hours 0x0032 100 100 000 Old_age
Always - 2287
10 Spin_Retry_Count 0x0033 253 253 051 Pre-fail
Always - 0
11 Calibration_Retry_Count 0x0012 253 253 000 Old_age
Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age
Always - 72
190 Temperature_Celsius 0x0022 069 054 000 Old_age Always
- 31
194 Temperature_Celsius 0x0022 145 100 000 Old_age Always
- 31
195 Hardware_ECC_Recovered 0x001a 100 100 000 Old_age Always
- 114663230
196 Reallocated_Event_Count 0x0032 253 253 000 Old_age Always
- 0
197 Current_Pending_Sector 0x0012 253 253 000 Old_age Always
- 0
198 Offline_Uncorrectable 0x0030 253 253 000 Old_age
Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always
- 0
200 Multi_Zone_Error_Rate 0x000a 100 100 000 Old_age Always
- 0
201 Soft_Read_Error_Rate 0x000a 100 100 000 Old_age Always
- 0
202 TA_Increase_Count 0x0032 253 253 000 Old_age Always
- 0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num Test_Description Status Remaining
LifeTime(hours) LBA_of_first_error
# 1 Short captive Completed without error 00% 2285
-
# 2 Extended offline Completed without error 00% 2148
-
# 3 Extended offline Completed without error 00% 1994
-
# 4 Extended offline Completed without error 00% 1692
-

SMART Selective Self-Test Log Data Structure Revision Number (0) should be 1
SMART Selective self-test log data structure revision number 0
Warning: ATA Specification requires selective self-test log data
structure revision number = 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.


J'ose plus rien dire, mais j'ai l'impression que mon disque n'a pas de
problème, en fait? (rassurez-moi...)

Avatar
Nicolas S.

# smartctl -t long /dev/sda


Use smartctl -X to abort test.


Et retour à la console.

Après 126 minutes, je n'ai aucune sortie de ce test à l'écran.


C'est normal. J'ai oublié la troisième commande, que tu peux faire dès
maintenant (sans refaire les précédentes):
# smartctl -H /dev/sda


Cela dit, je me demande si le problème n'est pas lié au système de
fichiers EXT3 lui-même


C'est possible, mais si c'était le cas, fsck aurait dû corriger le problème.

(attention, je n'ai pas l'outrecuidance de dire
qu'il est buggué, mais que mon système a un problème de gestion de la
copie de gros fichiers en même temps que le test cyclique du FS): j'ai
l'impression que lorsque je copie de grosses masses de données, à partir
ou vers un disque SATA (donc avec un débit très rapide), le système n'a
pas les performances suffisantes pour, parallèlement, mettre à jour le
journal et tester le filesystem. Du coup, il détecte une erreur et
remonte le fs en read-only.


Plusieurs choses. D'abord, je ne crois pas vraiment à un problème de
copie de "gros" fichiers. Ce qui arrive le plus fréquemment, c'est un
problème physique sur une partie des plateaux du disque, voire sur une
des têtes de lecture/écriture. Le fait est qu'avec de gros fichiers, on
a statistiquement plus de chances de tomber sur une erreur.
Ensuite, question performance, puisque ta carte mère supporte SATA tu
n'as pas vraiment à te soucier d'un problème. Elle est naturellement
taillée pour.
Enfin, le travail "en parallèle" sur ton disque n'existe pas (en tout
cas, pas tel que tu le conçois).

Je ne sais pas si c'est la bonne piste, d'ailleurs ça m'étonnerait quand
même un peu que personne n'ait déjà identifié un tel problème si c'était
le cas...


Au contraire, si le problème est bien ton disque dur, c'est probablement
la panne matérielle la plus fréquente (sans compter les pannes dont la
cause est extérieure à la machine), en raison de la partie mécanique des
disques durs.

Pour exclure un bug, tu peux refaire ces tests (les 3 commandes que je
t'ai données) avec un live-cd ou un autre système. Je soupçonne tout de
même fortement ton disque d'être fatigué. Je suis prêt à parier que si
tu déplaces ton disque sur un autre PC, tu déplaces aussi le problème.

--
Nicolas S.


Avatar
Samuel Colin
Dixit Yann :
Disabled.
Self-test execution status: ( 249) Self-test routine in progress...
90% of test remaining.

Là on voit qu'un test est en train de se faire (comme tu l'avais dit

plus tôt).

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE
UPDATED WHEN_FAILED RAW_VALUE

Je ne vois aucune valeur en-dessous du seuil (si j'ai bonne mémoire),

donc pas d'erreur de ce côté-là.


SMART Self-test log structure revision number 1
Num Test_Description Status Remaining
LifeTime(hours) LBA_of_first_error
# 1 Short captive Completed without error 00% 2285
-
# 2 Extended offline Completed without error 00% 2148
-
# 3 Extended offline Completed without error 00% 1994
-
# 4 Extended offline Completed without error 00% 1692
-

J'ose plus rien dire, mais j'ai l'impression que mon disque n'a pas de
problème, en fait? (rassurez-moi...)

D'après les données du dessus, smart n'a rien détecté. Mais ça ne veut

pas dire qu'il n'y en a pas, je sais qu'un article de Google dit que
smart ne détecte au mieux que 50% des erreurs (un truc comme ça), et je
sais qu'un de mes disques indique parfois des erreurs d'accès de secteur
qui nécessite 2 passages longs de smartctl pour les détecter.
Là on réduit bien la probabilité d'une erreur matérielle, mais elle
n'est pas encore à exclure.
Bon, je prends le fil en route, il va falloir que je relise depuis le
début pour chercher d'autres causes possibles.

1 2