Показаны сообщения с ярлыком RAID. Показать все сообщения
Показаны сообщения с ярлыком RAID. Показать все сообщения

суббота, 12 октября 2019 г.

Загрузка с live cd ubuntu desktop и удаление следов RAID с дисков Ubuntu 18.04

Простое создание загрузочных USB-дисков 

Задача - есть Ubuntu с RAID 1 хотим
очистить диски от следов RAID

Загрузиться с live cd ubuntu desktop


$ sudo add-apt-repository universe
$ sudo apt update
$ sudo apt install ssh mc mdadm


==========================================
Можно пропустить
Для удобства  можно подключиться ssh:
(пользователь ubuntu)
Установить пароль
$ passwd
$ ip a
... 192.168.1.239 ...

Подключиться.
=========================================
смотрим где linux_raid_member part:

$ lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

NAME     SIZE FSTYPE            TYPE MOUNTPOINT
loop0    1.8G squashfs          loop /rofs
loop1     91M squashfs          loop /snap/core/6350
loop2   34.6M squashfs          loop /snap/gtk-common-themes/818
loop3  140.7M squashfs          loop /snap/gnome-3-26-1604/74
loop4    2.3M squashfs          loop /snap/gnome-calculator/260
loop5     13M squashfs          loop /snap/gnome-characters/139
loop6   14.5M squashfs          loop /snap/gnome-logs/45
loop7    3.7M squashfs          loop /snap/gnome-system-monitor/57
sda       10G                   disk
├─sda1   512M vfat              part
└─sda2   9.5G linux_raid_member part
sdb       10G                   disk
├─sdb1   512M vfat              part
└─sdb2   9.5G linux_raid_member part
sr0      1.9G iso9660           rom  /cdrom

Видим /dev/sda2 /dev/sdb2

$ sudo mdadm --zero-superblock /dev/sda2 /dev/sdb2


Если не поможет, заполнение нулями:

$ sudo dd if=/dev/zero of=/dev/sda bs=1M status=progress
$ sudo dd if=/dev/zero of=/dev/sdb bs=1M status=progress

Менее изящный способ, вставить диски в windows машину и отформатировать.
Другой способ загрузиться с установочного диска windows и отформатировать.

четверг, 10 октября 2019 г.

Ubuntu 18.04.3 установка RAID 1

https://www.nvmedeveloperdays.com/English/Collaterals/Proceedings/2018/20181204_PRECON2_Hands.pdf
https://www.supermicro.org.cn/manuals/other/AOC-VROCxxxMOD.pdf


Настраиваем программный RAID на UEFI-системах в Debian и Ubuntu
.






sudo apt update
sudo apt upgrade
sudo apt install mc
sudo journalctl -xe
sudo journalctl -b
lsblk -o +uuid

user@ubuntu:~$ lsblk -o +uuid
NAME        MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT UUID
nvme0n1     259:0    0  1,8T  0 disk
+-nvme0n1p1 259:1    0  476M  0 part             6BBB-8018
L-nvme0n1p2 259:2    0  1,8T  0 part             773d0001-5d1e-1c24-a14f-d25a61fb9817
  L-md0       9:0    0  1,8T  0 raid1 /          80c7f166-fea8-425a-a829-e8dae1f5ed6b
nvme1n1     259:3    0  1,8T  0 disk
+-nvme1n1p1 259:4    0  476M  0 part  /boot/efi  6BBB-1F76
L-nvme1n1p2 259:5    0  1,8T  0 part             773d0001-5d1e-1c24-a14f-d25a61fb9817
  L-md0       9:0    0  1,8T  0 raid1 /          80c7f166-fea8-425a-a829-e8dae1f5ed6b



$ sudo nano /etc/fstab

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/md0 during installation
UUID=80c7f166-fea8-425a-a829-e8dae1f5ed6b /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=6BBB-1F76  /boot/efi       vfat    umask=0077      0       1
/swapfile                                 none            swap    sw              0       0

#$ sudo apt install dosfstools

sudo mkdosfs -i 6BBB1F76 /dev/nvme0n1p1
mkfs.fat 4.1 (2017-01-24)
mkdosfs: /dev/nvme1n1p1 contains a mounted filesystem.

$ efibootmgr -v

Boot0010* ubuntu        HD(1,GPT,6019cb70-dd17-43f2-969b-5aa23881a694,0x800,0xee000)/File(\EFI\ubuntu\shimx64.efi)




$ sudo efibootmgr -c -d /dev/nvme0n1 -p 1 -L "ubuntu" -l "\EFI\ubuntu\shimx64.efi"

$ efibootmgr -v
Boot0010* ubuntu        HD(1,GPT,6019cb70-dd17-43f2-969b-5aa23881a694,0x800,0xee000)/File(\EFI\ubuntu\shimx64.efi)
Boot0011* ubuntu        HD(1,GPT,e1a12ebb-0622-4443-9825-7a9b8d64c7bb,0x800,0xee000)/File(\EFI\ubuntu\shimx64.efi)


$ sudo mount /dev/nvme0n1p1 /mnt
$ sudo cp -R /boot/efi/EFI/ /mnt
$ sudo umount /dev/nvme0n1p1

$ cat /proc/mdstat
$ sudo mdadm --detail /dev/md0

четверг, 15 августа 2019 г.

Ubuntu 16.04 удаление RAID 1


How to Configure RAID: HOW TO REMOVE RAID IN LINUX

Статьи по ссылкам относятся относятся к установкам на gpt и efi

Install Ubuntu 18.04 desktop with RAID 1 and LVM on machine with UEFI BIOS
How to Configure Software RAID on Ubuntu 18.04
Как установить Ubuntu Server 16.04 / 18.04 на программный RAID 1 (зеркальный дисковый массив)?
Установка Ubuntu Server 18.04.1 LTS на программный RAID1
Создание RAID-массивов с помощью mdadm в Ubuntu 18.04
How to Setup Software RAID for a Simple File Server on Ubuntu
How to Set Up Software RAID 1 on an Existing Linux Distribution
Настройка RAID1 в Ubuntu 18.04 и мониторинг состояния диска
How To Create RAID Arrays with mdadm on Ubuntu 18.04

Установка на mbr обычная при помощи инсталятора ubuntu server в соответствии с
Ubuntu 16.04 настройка программного RAID, замена неисправного жесткого диска

посмотреть:

$ sudo apt install gdisk
$ sudo  gdisk -l /dev/sda
$ sudo  gdisk -l /dev/sdb

Лучшие рецепты
Как стереть подпись с дискового устройства в Linux с помощью команды wipefs 

1. Демонтаж существующих RAID устройств (например для переустановки или использования дисков) картинки соответствуют Ubuntu 16.04

Вид с рабочей системы:

$ cat /proc/mdstat



$ lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT


$ sudo mdadm --detail /dev/md0


Грузимся с livecd

$ sudo add-apt-repository universe
$ sudo apt update
$ sudo apt install ssh mc mdadm


==========================================
Можно пропустить
Для удобства  можно подключиться удаленно:
(пользователь ubuntu)
Установить пароль
$ passwd
$ ip a
... 192.168.1.239 ...

Подключиться.
=========================================
смотрим остатки:
Подключаемся:
$ sudo fdisk -l




$ sudo mdadm --zero-superblock /dev/sda1 /dev/sdb1
 
Если не поможет чистить так: 
 
$ sudo dd if=/dev/zero of=/dev/sda bs=1M status=progress
$ sudo dd if=/dev/zero of=/dev/sdb bs=1M status=progress 
 
Менее изящный способ, вставить диски в windows машину и отформатировать.
Другой способ загрузиться с установочного диска windows и отформатировать. 
  

Тест скорости до и после перевода на софтовый RAID 1

Скорость Диска (Чтения/Записи): Тест HDD, SSD в Linux

postgres@test2:/tmp/1ctmp$ pgbench -c 10 -j 10 -t 10000 example
starting vacuum...end.
transaction type: <builtin: TPC-B (sort of)>
scaling factor: 500
query mode: simple
number of clients: 10
number of threads: 10
number of transactions per client: 10000
number of transactions actually processed: 100000/100000
latency average = 1.098 ms
tps = 9110.339653 (including connections establishing)
tps = 9115.198358 (excluding connections establishing)
postgres@test2:/tmp/1ctmp$ pgbench -c 10 -j 10 -t 10000 example
starting vacuum...end.
transaction type: <builtin: TPC-B (sort of)>
scaling factor: 500
query mode: simple
number of clients: 10
number of threads: 10
number of transactions per client: 10000
number of transactions actually processed: 100000/100000
latency average = 1.367 ms
tps = 7315.559556 (including connections establishing)
tps = 7318.867888 (excluding connections establishing)
postgres@test2:/tmp/1ctmp$ pgbench -c 10 -j 10 -t 10000 example
starting vacuum...end.
transaction type: <builtin: TPC-B (sort of)>
scaling factor: 500
query mode: simple
number of clients: 10
number of threads: 10
number of transactions per client: 10000
number of transactions actually processed: 100000/100000
latency average = 1.303 ms
tps = 7672.292085 (including connections establishing)
tps = 7675.608184 (excluding connections establishing)

user@test2:~$ sync; dd if=/dev/zero of=tempfile bs=10M count=1024; sync
1024+0 записей получено
1024+0 записей отправлено
10737418240 байт (11 GB, 10 GiB) скопирован, 32,6024 s, 329 MB/s
user@test2:~$ sync; dd if=/dev/zero of=tempfile bs=10M count=1024; sync
1024+0 записей получено
1024+0 записей отправлено
10737418240 байт (11 GB, 10 GiB) скопирован, 34,2939 s, 313 MB/s
user@test2:~$ sync; dd if=/dev/zero of=tempfile bs=10M count=1024; sync
1024+0 записей получено
1024+0 записей отправлено
10737418240 байт (11 GB, 10 GiB) скопирован, 34,1744 s, 314 MB/s

user@test2:~$ sudo /sbin/sysctl -w vm.drop_caches=3
vm.drop_caches = 3
user@test2:~$ dd if=tempfile of=/dev/null bs=10M count=1024
1024+0 записей получено
1024+0 записей отправлено
10737418240 байт (11 GB, 10 GiB) скопирован, 19,1499 s, 561 MB/s
user@test2:~$ sudo /sbin/sysctl -w vm.drop_caches=3
vm.drop_caches = 3
user@test2:~$ dd if=tempfile of=/dev/null bs=10M count=1024
1024+0 записей получено
1024+0 записей отправлено
10737418240 байт (11 GB, 10 GiB) скопирован, 19,1675 s, 560 MB/s
user@test2:~$ sudo /sbin/sysctl -w vm.drop_caches=3
vm.drop_caches = 3
user@test2:~$ dd if=tempfile of=/dev/null bs=10M count=1024
1024+0 записей получено
1024+0 записей отправлено
10737418240 байт (11 GB, 10 GiB) скопирован, 19,2906 s, 557 MB/s

воскресенье, 28 июля 2019 г.

Настройка программного RAID1 на работающей системе Ubuntu

The Software-RAID HOWTO
Настройка программного RAID1 на работающей системе Ubuntu
Создание RAID-массивов с помощью mdadm в Ubuntu 16.04
Настройка программного RAID-1 на работающей системе Ubuntu 14
Setting up RAID on an existing Debian/Ubuntu installation

Установка RAID1 на работающую систему с файлом подкачки

За основу взята:
Configuring Software RAID1 after installation of Ubuntu 16

Установка необходимых пакетов: 

$ sudo apt update
$ sudo apt upgrade
===========================
Если обновилось ядро:
$ sudo reboot
$ sudo apt autoremove
$ sudo reboot
$ sudo reboot
===========================
#$ sudo apt-get install mdadm initramfs-tools
$ sudo modprobe linear
$ sudo modprobe multipath
$ sudo modprobe raid0
$ sudo modprobe raid1
$ sudo modprobe raid5
$ sudo modprobe raid6
$ sudo modprobe raid10


Проверка:
$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
unused devices: <none>

Если диск sdb содержит таблицу разделов, ее нужно удалить
$ sudo fdisk /dev/sdb
p
d
o

Получение точной копии разделов диска (MBR)
$ sudo partprobe

$ sudo sfdisk -d /dev/sda | sudo sfdisk --force /dev/sdb

$ sudo fdisk -l



Удаление следов RAID:

$ sudo mdadm --zero-superblock /dev/sdb
mdadm: Unrecognised md component device - /dev/sdb
user@u1604:~$ sudo mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/sdb
mdadm: /dev/sdb appears to be part of a raid array:
       level=raid0 devices=0 ctime=Thu Jan  1 03:00:00 1970
mdadm: partition table exists on /dev/sdb but will be lost or
       meaningless after creating array
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.


Создание массива RAID 1 md0:
$ sudo mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/sdb

Проверка:
 
$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb[1]
      1048444928 blocks super 1.2 [2/1] [_U]
      bitmap: 0/8 pages [0KB], 65536KB chunk

unused devices: <none>

Форматирование:

$ sudo mkfs.ext4 /dev/md0
mke2fs 1.42.13 (17-May-2015)
Creating filesystem with 262111232 4k blocks and 65527808 inodes
Filesystem UUID: c228788a-ebff-4164-83b4-31965691aa0d
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848

Allocating group tables: done
Сохранение таблицы inod'ов: done
Creating journal (32768 blocks): готово
Writing superblocks and filesystem accounting information: готово


Теперь нам нужно настроить конфигурацию mdadm, которая в настоящее время не содержит никакой информации о рейде. 
 
$ sudo cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf_orig
$ sudo su -c "mdadm --examine --scan >> /etc/mdadm/mdadm.conf"
$ sudo cat /etc/mdadm/mdadm.conf


Настройка системы на RAID1
Смонтируем в существующей файловой системе:
 
$ sudo mkdir /mnt/md0
$ sudo mount /dev/md0 /mnt/md0
$ sudo blkid /dev/md0

/dev/md0: UUID="dbc39615-7d04-44b8-b469-f2213dd99e4f" TYPE="ext4"

Откорректируем  для sda1
# / was on /dev/sda1 during installation
UUID=2d120de9-4107-4af2-9cca-f60f51c99e42 /               ext4    errors=remount-ro 0       1

$ sudo nano /etc/fstab

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda1 during installation
#UUID=2d120de9-4107-4af2-9cca-f60f51c99e42 /               ext4    errors=remount-ro 0       1
UUID=dbc39615-7d04-44b8-b469-f2213dd99e4f /               ext4    errors=remount-ro 0       1


Сохранить.

$ sudo sed -e "s/dev\/sda1/dev\/md0/" -i /etc/mtab

$ sudo cat /etc/mtab
$ sudo cat /etc/mtab | grep md0
/dev/md0 / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
/dev/md0 /mnt/md0 ext4 rw,relatime,data=ordered 0 0

Настройте загрузчик GRUB2
$ uname -r

4.15.0-54-generic



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

$ sudo cp /etc/grub.d/40_custom /etc/grub.d/09_swraid1_setup

$ sudo nano /etc/grub.d/09_swraid1_setup

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
# добавить ниже заменив на 4.15.0-55-generic
menuentry 'Ubuntu, with Linux 4.15.0-55-generic RAID Temp' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod mdraid1x
    insmod ext2
    set root='(md/0)'
    linux   /boot/vmlinuz-4.15.0-55-generic root=/dev/md0 ro   quiet
    initrd  /boot/initrd.img-4.15.0-55-generic
}

Сохранить

$ sudo update-grub
Создание конфигурационного файла grub...
Найден образ linux: /boot/vmlinuz-4.15.0-54-generic
Найден образ initrd: /boot/initrd.img-4.15.0-54-generic
Найден образ linux: /boot/vmlinuz-4.15.0-45-generic
Найден образ initrd: /boot/initrd.img-4.15.0-45-generic
завершено

$ sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-4.15.0-54-generic
W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915


Теперь нам нужно скопировать все файлы из корня файловой системы в раздел raid:

$ sudo cp -dpRx / /mnt/md0
Если вы делаете это удаленно через SSH, вы можете добавить в команду параметр verbose, чтобы увидеть, что процесс все еще выполняется. Я бы не рекомендовал делать это на сервере, так как частота обновления на мониторе замедлит процесс.


$ sudo cp -dpRxv / /mnt/md0

Теперь пришло время перезагрузиться в раздел Raid, но прежде чем мы это сделаем, нам нужно убедиться, что на обоих дисках установлен grub:
 $ sudo grub-install /dev/sda
Установка для платформы i386-pc.
Установка завершена. Ошибок нет.

$ sudo grub-install /dev/sdb
Установка для платформы i386-pc.
Установка завершена. Ошибок нет.

$ df -h
Файл.система   Размер Использовано  Дост Использовано% Cмонтировано в
udev             7,8G            0  7,8G            0% /dev
tmpfs            1,6G         2,8M  1,6G            1% /run
/dev/sda1        459G          18G  418G            5% /
tmpfs            7,8G          52K  7,8G            1% /dev/shm
tmpfs            5,0M         4,0K  5,0M            1% /run/lock
tmpfs            7,8G            0  7,8G            0% /sys/fs/cgroup
/dev/sdc1        1,8T          12G  1,7T            1% /backup
tmpfs            1,6G            0  1,6G            0% /run/user/999
tmpfs            1,6G            0  1,6G            0% /run/user/1000
/dev/md0         459G          18G  418G            5% /mnt/md0


$ sudo reboot

$ df -h
Файл.система   Размер Использовано  Дост Использовано% Cмонтировано в
udev             7,8G            0  7,8G            0% /dev
tmpfs            1,6G         1,2M  1,6G            1% /run
/dev/md0         459G          18G  418G            5% /
tmpfs            7,8G          52K  7,8G            1% /dev/shm
tmpfs            5,0M         4,0K  5,0M            1% /run/lock
tmpfs            7,8G            0  7,8G            0% /sys/fs/cgroup
/dev/sdc1        1,8T          12G  1,7T            1% /backup
tmpfs            1,6G            0  1,6G            0% /run/user/999
tmpfs            1,6G            0  1,6G            0% /run/user/1000
$ sudo fdisk -l
Диск /dev/sda: 465,8 GiB, 500107862016 байтов, 976773168 секторов
Единицы измерения: секторов из 1 * 512 = 512 байтов
Размер сектора (логический/физический): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Тип метки диска: dos
Идентификатор диска: 0x90b7283b

Устр-во    Загрузочный Start Конец Секторы   Size Id Тип
/dev/sda1  *            2048 976771071 976769024 465,8G 83 Linux


Диск /dev/sdb: 465,8 GiB, 500107862016 байтов, 976773168 секторов
Единицы измерения: секторов из 1 * 512 = 512 байтов
Размер сектора (логический/физический): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Тип метки диска: dos
Идентификатор диска: 0x90b7283b

Устр-во    Загрузочный Start Конец Секторы   Size Id Тип
/dev/sdb1  *            2048 976771071 976769024 465,8G 83 Linux


Диск /dev/sdc: 1,8 TiB, 2000398934016 байтов, 3907029168 секторов
Единицы измерения: секторов из 1 * 512 = 512 байтов
Размер сектора (логический/физический): 512 байт / 4096 байт
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Тип метки диска: dos
Идентификатор диска: 0xd2256d33

Устр-во    Загрузочный Start Конец Секторы  Size Id Тип
/dev/sdc1               2048 3907028991 3907026944  1,8T 83 Linux


Диск /dev/md0: 465,7 GiB, 499973619712 байтов, 976510976 секторов
Единицы измерения: секторов из 1 * 512 = 512 байтов
Размер сектора (логический/физический): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes



$$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb[1]
      488255488 blocks super 1.2 [2/1] [_U]
      bitmap: 4/4 pages [16KB], 65536KB chunk

unused devices: <none>

Теперь добавим диск sda в рейд-раздел

Дальше пойдет процесс синхронизации, он длительный видим на картинке:

$ sudo mdadm --add /dev/md0 /dev/sda
mdadm: added /dev/sda

$ cat /proc/mdstat


Дождаться до окончания синхронизации:

$ cat /proc/mdstat



$ sudo cp /etc/mdadm/mdadm.conf_orig /etc/mdadm/mdadm.conf
$ sudo su -c "mdadm --examine --scan >> /etc/mdadm/mdadm.conf"
$ sudo cat /etc/mdadm/mdadm.conf

$ sudo rm -f /etc/grub.d/09_swraid1_setup
$ sudo update-grub
Создание конфигурационного файла grub...
Найден образ linux: /boot/vmlinuz-4.15.0-54-generic
Найден образ initrd: /boot/initrd.img-4.15.0-54-generic
Найден образ linux: /boot/vmlinuz-4.15.0-45-generic
Найден образ initrd: /boot/initrd.img-4.15.0-45-generic
завершено

$ sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-4.15.0-54-generic
W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915

$ sudo grub-install /dev/sda
Установка для платформы i386-pc.
Установка завершена. Ошибок нет.
$ sudo grub-install /dev/sdb
Установка для платформы i386-pc.
Установка завершена. Ошибок нет.
$ sudo reboot

$ df -h
$ sudo fstrim -v ./




суббота, 27 июля 2019 г.

Ubuntu 16.04 настройка программного RAID, замена неисправного жесткого диска

Installation/SoftwareRAID
Mdadm
Восстановление GRUB
Замена неисправного жесткого диска в программном массиве RAID1
Меняем отказавший жёсткий диск в программном RAID в Linux
Замена отказавшего жёсткого диска в программном RAID в Linux
Замена диска в програмном RAID1 в Linux 

























 






.
$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb1[1] sda1[0]
      10475520 blocks super 1.2 [2/2] [UU]

unused devices: <none>


$ sudo nano /etc/fstab

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/md0 during installation
UUID=41082b79-7b98-4ec2-9cbd-073b69b04449 /               ext4    errors=remount-ro 0       1


$ sudo mdadm -D /dev/md0




 
$ sudo dpkg-reconfigure grub-pc


Установка для платформы i386-pc.
Установка завершена. Ошибок нет.
Установка для платформы i386-pc.
Установка завершена. Ошибок нет.
Создание конфигурационного файла grub...
Найден образ linux: /boot/vmlinuz-4.15.0-45-generic
Найден образ initrd: /boot/initrd.img-4.15.0-45-generic
завершено


$ sudo fdisk -l




Замена диска в массиве RAID 1

1. Вариант
Диск физически удален из системы. (просто физически отключим диск sda)
Долгая загрузка.

$ cat /proc/mdstat

$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sda1[1]
      10475520 blocks super 1.2 [2/1] [_U]

unused devices: <none>



$ sudo mdadm -D /dev/md0



Диск sdb стал sda1.

Невозможно удалить поврежденный диск, поскольку он отсутствует физически.

Отключим диски недоступные системе:

$ sudo mdadm /dev/md0 -r detached


2. Вариант
Диск присутствует в системе.

Для начала отметим /dev/sda1 как неисправный:

$ sudo mdadm --manage /dev/md0 --fail /dev/sda1
mdadm: set /dev/sda1 faulty in /dev/md0

Удалим из массива md0

$ sudo mdadm --manage /dev/md0 --remove /dev/sda1
mdadm: hot removed /dev/sda1 from /dev/md0




Общее для Вариант 1 и Вариант 2:

$ sudo poweroff

Установим в систему новый диск, запустим систему.

В bios стоит загрузка с 1 диска sda поэтому увидим:




 Грузиться нужно со 2 диска:



Загрузимся.

$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb1[1]
      10475520 blocks super 1.2 [2/1] [_U]

unused devices: <none>


$ sudo mdadm -D /dev/md0



Диск sdb1 стал sdb1

$ sudo fdisk -l




=====================================================================
Только  для дисков MBR:
 
$ sudo sfdisk -d /dev/sdb | sudo sfdisk /dev/sda
Проверка, что никто не использует диск прямо сейчас ... OK

Диск /dev/sda: 10 GiB, 10737418240 байтов, 20971520 секторов
Единицы измерения: секторов из 1 * 512 = 512 байтов
Размер сектора (логический/физический): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Тип метки диска: gpt
Идентификатор диска: 0A23DBAB-0958-4F34-B4C9-852280FE6C35

Old situation:

Устр-во    Start Конец Секторы Size Тип
/dev/sda1   2048 20969471 20967424  10G Linux RAID

>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Created a new DOS disklabel with disk identifier 0x7a676785.
Создан новый раздел 1 типа 'Linux raid autodetect' и размера 10 GiB.
/dev/sda2:
New situation:

Устр-во    Загрузочный Start Конец Секторы Size Id Тип
/dev/sda1  *            2048 20969471 20967424  10G fd Автоопределение Linux rai

The partition table has been altered.
Calling ioctl() to re-read partition table.
Синхронизация дисков.

Конец Только  для дисков MBR.
=====================================================================
Только для дисков GPD:
(на картинках ниже для дисков MBR grub не установится)

$ sudo apt-get install gdisk
Теперь скопируем схему раздела из /dev/sdb в /dev/sda:
$ sudo sgdisk -R /dev/sda /dev/sdb

***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory.
***************************************************************

The operation has completed successfully.



Затем необходимо рандомизировать GUID на новом жёстком диске, чтобы убедится, что он уникален.

$ sudo sgdisk -G /dev/sda
The operation has completed successfully.


Посмотреть разделы, убедиться что они одинаковы:

$ sudo sgdisk -p /dev/sda
$ sudo sgdisk -p /dev/sdb
 


Конец Только для дисков GPD.
 =====================================================================
Продолжение:
 
Добавим /dev/sda1 в /dev/md0

$ sudo mdadm --manage /dev/md0 --add /dev/sda1
mdadm: added /dev/sda1


$ cat /proc/mdstat


Дождемся синхронизации:

$ cat /proc/mdstat


Можно так:
#$ sudo grub-install /dev/sda

$ sudo dpkg-reconfigure grub-pc


Установка для платформы i386-pc.
Установка завершена. Ошибок нет.
Установка для платформы i386-pc.
Установка завершена. Ошибок нет.
Создание конфигурационного файла grub...
Найден образ linux: /boot/vmlinuz-4.15.0-45-generic
Найден образ initrd: /boot/initrd.img-4.15.0-45-generic

Проверяем, загружаемся с первого диска.