5

У меня проблема с настройкой домашнего сервера. Проблема в том, что иногда, но очень редко, он возвращает (из-за отсутствия лучшего термина) все мои данные обратно в более раннее состояние (где-то между месяцами и неделями ранее).

Установка представляет собой 4 ТБ ext4 на программном RAID 5 с 3 дисками, работающими на Ubuntu 12.04 (linux 3.2). Samba обслуживает файлы этого раздела.

/proc/mdstat говорит мне, что массив smartclt -H /dev/sdX говорит, что PASSED для всех устройств. Я пытался найти что-то в журналах, но не смог найти ничего подозрительного.

В прошлый раз, когда произошла ошибка, я перезагрузил сервер, используя файлы на сдвиге, однако fsck не нашел никаких ошибок.

Природа ошибки сбивает меня с толку. Поскольку ext не является копией файловой системы записи, я бы предположил, что нечто подобное невозможно. Если вы можете подумать о диагностике, которую я могу выполнить, пожалуйста, не стесняйтесь.

Наверное, вопрос в том, что случилось с моими данными и как я могу предотвратить их повторение?

-- редактировать --

Хорошо, я нашел ошибку: проблема не имеет ничего общего с ext4. Проблема заключалась в том, как я смонтировал устройство.

У меня есть рейд 5 для моих данных и рейд 0 с резервной копией. Но способ, которым я смонтировал это при запуске, не был на 100% стабильным; иногда резервная копия монтировалась как основная.

Из /etc/fstab:

# main RAID array
/dev/md126p1 /media/Main        ext4    defaults        0       0

Из /etc/mdadm/mdadm.conf:

# definitions of existing MD arrays
ARRAY /dev/md/Main metadata=1.2 UUID=c2ccbd00:ce414404:0ee05911:eebe2832
ARRAY /dev/md/Backup metadata=1.2 UUID=b4973c41:e735e1c0:29e8be4b:4fe7c007 name=:Backup

Любой, кто ответит мне на этот маленький вопрос, получит награду: каков наилучший способ монтировать резервную и основную гарантированно стабильным образом.

--редактировать--

/ DEV / мкр / Резервное копирование:

    Version : 1.2
Creation Time : Sun Jun 19 15:45:35 2011
 Raid Level : raid0
 Array Size : 3907021824 (3726.03 GiB 4000.79 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent

Update Time : Sun Jun 19 15:45:35 2011
      State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

 Chunk Size : 512K

       Name : :Backup
       UUID : b4973c41:e735e1c0:29e8be4b:4fe7c007
     Events : 0

 Number   Major   Minor   RaidDevice State
   0       8       33        0      active sync   /dev/sdc1
   1       8       81        1      active sync   /dev/sdf1

/ DEV / мД / Main:

    Version : 1.2
Creation Time : Sun Jun 12 02:13:25 2011
 Raid Level : raid5
 Array Size : 3907021568 (3726.03 GiB 4000.79 GB)
Used Dev Size : 1953510784 (1863.01 GiB 2000.40 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent

Intent Bitmap : Internal

Update Time : Mon Jan 28 19:00:45 2013
      State : active
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0

     Layout : left-symmetric
 Chunk Size : 128K

       Name : :Neue RAID-Anordnung
       UUID : c2ccbd00:ce414404:0ee05911:eebe2832
     Events : 17846

 Number   Major   Minor   RaidDevice State
   0       8       49        0      active sync   /dev/sdd1
   1       8        1        1      active sync   /dev/sda1
   3       8       65        2      active sync   /dev/sde1

2 ответа2

3

Лучший способ - это монтировать используя UUID в вашем fstab:

UUID=c2ccbd00:ce414404:0ee05911:eebe2832 /media/Main ext4 defaults 0 0
UUID=b4973c41:e735e1c0:29e8be4b:4fe7c007 /media/Backup ext4 defaults 0 0

Как отмечает @Floyd, использование меток также хорошо, поскольку вы можете создать новое устройство с такими же данными и такой же меткой, если вам нужно что-то изменить. Так что вы можете сделать

tune2fs -L RAIDMain /dev/disk/by-uuid/c2ccbd00:ce414404:0ee05911:eebe2832
tune2fs -L RAIDBackup /dev/disk/by-uuid/b4973c41:e735e1c0:29e8be4b:4fe7c007

а потом в вашем fstab:

LABEL=RAIDMain /media/Main ext4 defaults 0 0
LABEL=RAIDBackup /media/Backup ext4 defaults 0 0
1

Как я сказал в своем комментарии к OP, все, что вам нужно сделать, это просто использовать пути, которые были объявлены в файле /etc/mdadm.conf . Вы можете использовать UUID или LABEL, как упомянул @Stefan Seidel , но в этом нет необходимости.

Пример /etc/mdadm.conf

ARRAY   /dev/md0  level=raid1  num-devices=2  UUID=37d3cabc:42393031:23c133e6:3b879f08
ARRAY   /dev/md1  level=raid5  num-devices=3  UUID=47d4cabd:42393031:23c133e6:3b879f99
MAILADDR root@krycek,root@byers,root@frohike

Пример /etc /fstab

/dev/md0      /export/raid1           ext3    defaults        1 2
/dev/md1      /export/raid2           ext4    defaults        1 2

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .