Восстановите RAID1 с существующего диска и добавьте еще один

Этот вопрос является проблемой, возникающей при решении другой проблемы, которую вы можете увидеть в этой теме .

Короче говоря, мой выделенный сервер имеет массив RAID1 с жестким диском 2x3TB. Неделю назад один из них потерпел неудачу. Компания, которая владеет сервером, заменила его, поэтому теперь у меня есть хороший диск со всеми данными, а новый полностью пуст.

Я ОБЩИЙ NEWBIE в Linux и связанных с оборудованием материалах, поэтому, простите меня, вопрос очень очевиден, но я понятия не имею, как перестроить RAID из того, что у меня есть.

Эта информация может быть полезна (я понимаю, что сейчас нет RAID):

root@rescue /dev # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 2.7T 0 disk sdb 8:16 0 2.7T 0 disk ├─sdb1 8:17 0 1M 0 part ├─sdb2 8:18 0 127M 0 part ├─sdb3 8:19 0 200M 0 part ├─sdb4 8:20 0 2.7T 0 part └─sdb5 8:21 0 455.5K 0 part loop0 7:0 0 1.5G 1 loop root@rescue /dev # cat /proc/mdstat Personalities : [raid1] unused devices: <none> 

UPDATE 1 Краткая информация:

  CPU1: Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz (Cores 8) Memory: 15974 MB Disk /dev/sda: 3000 GB (=> 2794 GiB) doesn't contain a valid partition table Disk /dev/sdb: 3000 GB (=> 2794 GiB) Total capacity 5589 GiB with 2 Disks 

ОБНОВЛЕНИЕ 2:

Как было предложено Trinue:

 root@rescue ~ # lspci 00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09) 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09) 00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) 00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04) 00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05) 00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5) 00:1c.5 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 6 (rev b5) 00:1c.6 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 7 (rev b5) 00:1c.7 PCI bridge: Intel Corporation 82801 PCI Bridge (rev b5) 00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05) 00:1f.0 ISA bridge: Intel Corporation H67 Express Chipset Family LPC Controller (rev 05) 00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 05) 00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05) 03:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller 04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06) 05:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 01) 

ОБНОВЛЕНИЕ 3:

Как было предложено @Koko, я попытался установить 4 раздела, но получил ошибки на 3 из них. Может ли этот диск также сломаться?

 root@rescue / # mount -o ro /dev/sdb1 /mnt/disk mount: you must specify the filesystem type root@rescue / # mount -o ro /dev/sdb4 /mnt/disk ntfs_attr_pread_i: ntfs_pread failed: Input/output error Failed to calculate free MFT records: Input/output error NTFS is either inconsistent, or there is a hardware fault, or it's a SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows then reboot into Windows twice. The usage of the /f parameter is very important! If the device is a SoftRAID/FakeRAID then first activate it and mount a different device under the /dev/mapper/ directory, (eg /dev/mapper/nvidia_eahaabcc1). Please see the 'dmraid' documentation for more details. root@rescue / # mount -o ro /dev/sdb2 /mnt/disk mount: you must specify the filesystem type root@rescue / # mount -o ro /dev/sdb3 /mnt/disk root@rescue / # cd /mnt/disk root@rescue /mnt/disk # dir EFI 

ОБНОВЛЕНИЕ 4:

Как предложил Майкл Мартинес и Коко, я попытался дублировать данные из sdb в sda со следующими ошибками:

 root@rescue /mnt/disk # dd if=/dev/sdb of=/dev/sda dd: reading `/dev/sdb': Input/output error 6619712+0 records in 6619712+0 records out 3389292544 bytes (3.4 GB) copied, 67.7475 s, 50.0 MB/s 

ОБНОВЛЕНИЕ 5:

Эти инструкции, которые владелец сервера предоставляет: http://wiki.hetzner.de/index.php/Festplattenaustausch_im_Software-RAID/en для замены жесткого диска на одном из своих серверов. Однако вы заметите, что у меня нет рейда или разделов, как в примерах, которые они предоставляют.

ОБНОВЛЕНИЕ 6:

Хетцнер уже ответил мне: «Из-за того, что вы не заказали аппаратный RAID-контроллер, у него есть программный RAID».

ОБНОВЛЕНИЕ 7:

 root@rescue / # mount /dev/sda1 /mnt/disk mount: you must specify the filesystem type root@rescue / # mount /dev/sda2 /mnt/disk mount: you must specify the filesystem type root@rescue / # mount /dev/sda3 /mnt/disk root@rescue / # mount /dev/sda4 /mnt/disk mount: you must specify the filesystem type root@rescue / # mount /dev/sda5 /mnt/disk mount: you must specify the filesystem type root@rescue / # cd /mnt/disk root@rescue /mnt/disk # dir EFI 

ОБНОВЛЕНИЕ 8:

Я должен указать, что перед запуском команды mount, i dd sdb в sda и начал создавать новый массив, используя следующие команды:

 # mdadm --create root --level=1 --raid-devices=2 missing /dev/sdb1 # mdadm --create swap --level=1 --raid-devices=2 missing /dev/sdb2 root@rescue / # mount proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) sys on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) udev on /dev type devtmpfs (rw,relatime,size=8176304k,nr_inodes=2044076,mode=755) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620) 213.133.99.101:/nfs on /root/.oldroot/nfs type nfs (ro,noatime,vers=3,rsize=8192,wsize=8192,namlen=255,acregmin=600,acregmax=600,acdirmin=600,acdirmax=600,hard,nocto,nolock,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=213.133.99.101,mountvers=3,mountproto=tcp,local_lock=all,addr=213.133.99.101) aufs on / type aufs (rw,relatime,si=1848aabe5590850f) tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=1635764k,mode=755) tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k) tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=3271520k) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620) fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime) 

ОБНОВЛЕНИЕ 9:

Когда сервер отказался загружаться в первый раз, я попросил службу поддержки для ручной перезагрузки. Ответ, который они мне дали, был:

Уважаемый клиент, мы перезапустили ваш сервер, но кажется, что один жесткий диск неисправен. Если вы хотите, мы можем их вернуть, для этого, пожалуйста, подтвердите потерю данных на этом диске и простоя около 15 минут. Теперь ваш сервер находится в спасательной системе:

Y сразу, когда на сайт робота, когда я могу управлять сервером и искать информацию о спасательной системе, и вот что я нашел:

После активации системы спасения на нашем DHCP-сервере будет создан файл конфигурации. При следующей перезагрузке ваш сервер будет загружаться из сети, и с нашего TFTP-сервера будет загружена минимальная операционная система. Тогда вы сможете использовать спасательную систему столько, сколько захотите. Заказ на спасательную систему будет активен в течение 60 минут. Если вы перезагрузите сервер, обычная система будет запущена с жесткого диска. Посетите нашу Wiki для получения дополнительной информации

Система спасения – 64-битный Debian.

ОБНОВЛЕНИЕ 10

 root@rescue ~/.oldroot/nfs # ls /root/.oldroot/nfs bash_aliases rescue32-wheezy-v006.ext2 check rescue32-wheezy-v007.ext2 copy-vnode-lvs-to rescue32-wheezy-v008.ext2 copy-vnode-lvs-to.bak rescue32-wheezy-v009.ext2 esxi rescue64-lenny-v004.ext2 firmware_update rescue64-squeeze-v011.ext2 freebsd rescue64-squeeze-v012.ext2 functions.sh rescue64-squeeze-v013.ext2 images rescue64-squeeze-v014.ext2 images.old rescue64-squeeze-v015.ext2 install rescue64-squeeze-v016.ext2 ipmi rescue64-test.ext2 iso rescue64-wheezy-v000.ext2 knoppix rescue64-wheezy-v001.ext2 lost+found rescue64-wheezy-v002.ext2 opensolaris rescue64-wheezy-v003.ext2 raid_ctrl rescue64-wheezy-v004.ext2 README rescue64-wheezy-v005.ext2 rescue32-lenny-v004.ext2 rescue64-wheezy-v006.ext2 rescue32-squeeze-v011.ext2 rescue64-wheezy-v007.ext2 rescue32-squeeze-v012.ext2 rescue64-wheezy-v008.ext2 rescue32-squeeze-v013.ext2 rescue64-wheezy-v009.ext2 rescue32-squeeze-v014.ext2 shutdown-h rescue32-squeeze-v015.ext2 shutdown-h-now rescue32-squeeze-v016.ext2 tightvnc-vkvm.tar.gz rescue32-test.ext2 vkvm64-squeeze-v001.ext2 rescue32-wheezy-v000.ext2 vkvm64-squeeze-v002.ext2 rescue32-wheezy-v002.ext2 vkvm64-test.ext2 rescue32-wheezy-v003.ext2 vkvm64-v001.ext2 rescue32-wheezy-v004.ext2 vkvm64-wheezy-overlay.ext2 rescue32-wheezy-v005.ext2 vkvm64-wheezy-overlay-v001.ext2 

ОБНОВЛЕНИЕ 11:

 root@rescue ~ # fdisk -l /dev/sdb WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted. Disk /dev/sdb: 3000.6 GB, 3000592982016 bytes 256 heads, 63 sectors/track, 363376 cylinders, total 5860533168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x8ab49420 Device Boot Start End Blocks Id System /dev/sdb1 1 4294967295 2147483647+ ee GPT Partition 1 does not start on physical sector boundary. 

ОБНОВЛЕНИЕ 12:

 root@rescue ~ # parted -l Error: The backup GPT table is corrupt, but the primary appears OK, so that will be used. OK/Cancel? OK Model: ATA ST3000DM001-9YN1 (scsi) Disk /dev/sda: 3001GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Number Start End Size File system Name Flags 1 17.4kB 1066kB 1049kB LDM metadata partition 2 1066kB 134MB 133MB Microsoft reserved partition msftres 3 135MB 345MB 210MB fat16 EFI system partition boot 4 345MB 3001GB 3000GB ntfs LDM data partition 5 3001GB 3001GB 466kB LDM data partition Model: ATA ST3000DM001-9YN1 (scsi) Disk /dev/sdb: 3001GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Number Start End Size File system Name Flags 1 17.4kB 1066kB 1049kB LDM metadata partition 2 1066kB 134MB 133MB Microsoft reserved partition msftres 3 135MB 345MB 210MB fat16 EFI system partition boot 4 345MB 3001GB 3000GB ntfs LDM data partition 5 3001GB 3001GB 466kB LDM data partition Model: Linux Software RAID Array (md) Disk /dev/md126: 133MB Sector size (logical/physical): 512B/4096B Partition Table: loop Number Start End Size File system Flags 1 0.00B 133MB 133MB linux-swap(v1) Model: Linux Software RAID Array (md) Disk /dev/md127: 983kB Sector size (logical/physical): 512B/4096B Partition Table: loop Number Start End Size File system Flags 1 0.00B 983kB 983kB ext4 

  • grub2 lvm2 raid1 / boot
  • mdadm - Создание RAID1 в LiveUSB не сохраняется при повторной загрузке
  • ubuntu - емкость RAID-массива без изменений после RAID1-RAID5 до RAID6
  • Являются ли диски взаимозаменяемыми в зеркальной настройке RAID?
  • md raid1 ext3 и 4k сектора медленно работают с каталогами
  • Настройка RAID 1 в Funtoo
  • Как проверить RAID 1
  • Как правильно воссоздать RAID1
  • 2 Solutions collect form web for “Восстановите RAID1 с существующего диска и добавьте еще один”

    Вы говорите, что разговаривали с Хетзнером, который говорит, что у него есть программный RAID. Проблема в том, что нет. Ваш cat /proc/mdstat говорит что-то вроде

     Personalities : [raid1] unused devices: <none> 

    Это означает отсутствие программного RAID. Если у вас сломанный программный RAID, он будет выглядеть примерно так:

     Personalities : [raid1] md0 : active raid1 sdb1[1] (F) sda1[0] 1020032 blocks [2/2] [_U] md1 : active raid1 sda2[2] sdb2[1] (F) 975739772 blocks super 1.1 [2/2] [_U] bitmap: 3/8 pages [12KB], 65536KB chunk unused devices: <none> 

    Я получил это с моего сервера, поэтому некоторые детали будут отличаться для вас, и я восстановил это из заметок во время последнего отказа жесткого диска, поэтому некоторые из деталей могут быть неправильными, но важные биты

    1. [_U] (это означает, что одно из зеркал [_U] если все было хорошо, он сказал бы [UU] ) и
    2. (F) (который сообщает вам, какая половина не сработала, в этом случае это раздел на /dev/sdb в обоих случаях).

    Их собственные инструкции, на которые вы ссылаетесь, показывают что-то очень похожее.

    Если вы заметили это, добавление нового жесткого диска в существующие массивы было бы простым делением нового диска и использованием mdadm для добавления разделов в зеркала. Но поскольку в настоящее время у вас есть система без RAID, мы не можем этого сделать.

    Я бы спросил Хетзнера, почему он не показывает никаких признаков программного RAID, ссылаясь на собственную документацию. Возможно, они вынуждены были разорвать ссылки на MD-RAID, чтобы система вообще загружалась, но если это так, то при этом они прикрутили все возможности, которые вам, возможно, пришлось бы восстановить RAID.

    Вы говорите, что вы « TOTAL NEWBIE в Linux и аппаратных средствах ». Честно говоря, если это так, значит, ты плохо себя чувствуешь здесь. Я хотел бы получить профессиональную помощь, как только смогу, и быть готовым к некоторому простоя, когда система будет скопирована, а затем полностью восстановлена ​​на шасси с чистой перестройкой и RAID.

    Кажется, вам не хватает нескольких строк из cat /proc/mdstat . Было бы полезно узнать, что это такое. для добавления нового диска в существующий массив RAID:

    mdadm --add RAID_DEV NEW_DISK .

    ex: mdadm --add /dev/md0 /dev/sdd

    Вам нужно будет узнать ваше устройство рейда, которое иногда можно найти в выходном dmesg :

    # dmesg | grep md [7563017.386737] md: data-check of RAID array md0 [7563017.386747] md: minimum _guaranteed_ speed: 1000 KB/sec/disk.

    Если массив активен / деградирован, добавление нового диска автоматически запустит процесс перестройки (который можно контролировать с помощью /proc/mdstat ). В зависимости от вашего дистрибутива Linux вы также можете иметь файл /etc/mdadm/mdadm.conf который может отображать больше информации о массиве.

    Interesting Posts
    Linux и Unix - лучшая ОС в мире.