Первоначально у меня была система Ubuntu 12.04 с массивом RAID5, созданная с использованием mdadm.

Из-за проблем с графическими драйверами система 12.04 потерпела крах, и мне пришлось переустановить операционную систему. После различных попыток установки / переустановки (и попытки попробовать и использовать boot-repair из livecd). Я наконец-то восстановил свою систему под управлением Ubuntu-Gnome 14.04. Но теперь мой рейд исчез.

Боюсь, что-то случилось, когда я использовал boot-repair. Я продолжал получать сообщения: Raid Detected вы должны установить mdadm (после чего я это сделал), а затем он спросил о какой-то другой программе md и сказал, что я должен удалить это, потому что это вызвало проблемы с mdadm или чем-то еще. Также во время испытания gparted несколько раз кричал на меня о поврежденной таблице разделов GUUID на одном из дисков.

С помощью gparted я могу проверить, что 3 диска, которые я использовал для создания RAID5, все еще там и все еще отформатированы с файловой системой ext4.

Для трех дисков вывод

sudo sgdisk -p /dev/sdb
sudo sgdisk -p /dev/sdd
sudo sgdisk -p /dev/sde

является

mycomputer:/dev$ sudo sgdisk -p /dev/sdb
Disk /dev/sdb: 3907029168 sectors, 1.8 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): D3E28B01-CBD8-40EB-B421-4BA0BEF275D9
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 3907029134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2157 sectors (1.1 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048      3907028991   1.8 TiB     8300  R1b


mycomputer:/dev$ sudo sgdisk -p /dev/sdd
Disk /dev/sdd: 3907029168 sectors, 1.8 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): 21E3C879-F658-47E1-AB34-D1EA25EC6FFC
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 3907029134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2157 sectors (1.1 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048      3907028991   1.8 TiB     8300  R2d


mycomputer:/dev$ sudo sgdisk -p /dev/sde
Disk /dev/sde: 3907029168 sectors, 1.8 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): 48CFD331-24FC-4D30-B8A2-EFFA709B9600
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 3907029134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2157 sectors (1.1 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048      3907028991   1.8 TiB     8300  R3e

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

Вот мой оригинальный сценарий. Есть части этого, которые я, очевидно, не хочу повторно выполнять, поскольку они будут удалять данные.

sudo sgdisk -p /dev/sdb
sudo sgdisk -p /dev/sdd
sudo sgdisk -p /dev/sde

# DELETE ALL DATA 
#sudo sgdisk --clear /dev/sdb
#sudo sgdisk --clear /dev/sdd
#sudo sgdisk --clear /dev/sde

sudo sgdisk -n 1:2048:3907028991 /dev/sdb -c 1:"R1b"
sudo sgdisk -n 1:2048:3907028991 /dev/sdd -c 1:"R2d"
sudo sgdisk -n 1:2048:3907028991 /dev/sde -c 1:"R3e"

#sudo mkfs.ext4 -t ext4 /dev/sdb1 
#sudo mkfs.ext4 -t ext4 /dev/sdd1 
#sudo mkfs.ext4 -t ext4 /dev/sde1 

#https://raid.wiki.kernel.org/index.php/RAID_setup
#chunk size = 128kB (set by mdadm cmd, see chunk size advise above)
#block size = 4kB (recommended for large files, and most of time)
#stride = chunk / block = 128kB / 4k = 32
#stripe-width = stride * ( (n disks in raid5) - 1 ) = 32 * ( (3) - 1 ) = 32 * 2 = 64

sudo mkfs.ext4 -v -m .1 -b 4096 -E stride=32,stripe-width=64 /dev/sdb1 
sudo mkfs.ext4 -v -m .1 -b 4096 -E stride=32,stripe-width=64 /dev/sdd1 
sudo mkfs.ext4 -v -m .1 -b 4096 -E stride=32,stripe-width=64 /dev/sde1 


# make sure you have RAID module in the linux kernel
sudo modprobe raid456
cat /proc/mdstat

# Create RAID 5
sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3  /dev/sdb1 /dev/sdd1 /dev/sde1
sudo mdadm --detail --scan 
sudo mdadm --query --detail /dev/md0
sudo mdadm --detail --scan >> /etc/mdadm/mdadm.conf

cat /proc/mdstat

# Start RAID
sudo mdadm --assemble --scan 
sudo mdadm --assemble /dev/md0

# Stop RAID
sudo mdadm --stop /dev/md0

# Format the RAID
sudo mkfs.ext4 -v -m .1 -b 4096 -E stride=32,stripe-width=64 /dev/md0 

# Mount the RAID (dont forget to modify fstab)
sudo mkdir /media/raid
sudo chown username:username /media/raid
sudo mount /dev/md0 /media/raid
echo "/dev/md0    /media/raid       ext4  defaults     1  2" >> /etc/fstab

# Stop Rebuild
sudo /usr/share/mdadm/checkarray -xa
# Reconfigure initramfs
sudo update-initramfs -u

Короче говоря, мне нужна помощь в выборе подмножества этих команд (или, может быть, я могу сделать что-то более простое). Мое лучшее предположение примерно так: это так просто, как?

# Create RAID 5
sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3  /dev/sdb1 /dev/sdd1 /dev/sde1
# Mount the RAID (dont forget to modify fstab)
sudo mkdir /media/raid
sudo chown username:username /media/raid
sudo mount /dev/md0 /media/raid
echo "/dev/md0    /media/raid       ext4  defaults     1  2" >> /etc/fstab

или это не будет работать / убить мои данные?

1 ответ1

0
sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3  /dev/sdb1 /dev/sdd1 /dev/sde1

Если вы сделаете это, ваш рейд мертв, так как написан совершенно новый суперблок. К сожалению, вы не можете использовать «--build» на 5 уровне.

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

mdadm --assamble --scan

В обычных условиях «mdadm --assmeble --scan» автоматически собирает ваш raidset и создает подключаемое устройство (обычно /dev /md0).

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

mdadm - проверить - scan blkid cat /proc /mdstat

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