LINUX.ORG.RU
ФорумAdmin

Перенос SW RAID1 на диски большего объема.

 ,


0

1

Добрый день, в связи с заполнением, стоит задача перенести RAID1, в который сейчас входят два диска по 250гб, на диски по 1тб.

df -h
Файл.система         Размер Использовано  Дост Использовано% Cмонтировано в
/dev/mapper/vg0-root   938M         644M  247M           73% /
udev                   2,0G         4,0K  2,0G            1% /dev
tmpfs                  396M         296K  395M            1% /run
none                   5,0M            0  5,0M            0% /run/lock
none                   2,0G            0  2,0G            0% /run/shm
/dev/mapper/vg0-boot    87M          60M   23M           73% /boot
/dev/mapper/vg0-tmp    2,8G          69M  2,6G            3% /tmp
/dev/mapper/vg0-var    9,2G         993M  7,8G           12% /var
/dev/mapper/vg0-usr    9,2G         806M  8,0G           10% /usr
/dev/mapper/vg0-home   1,9G         106M  1,7G            6% /home
/dev/mapper/vg0-opt    202G         190G  2,1G           99% /opt
/dev/md0:
        Version : 1.2
  Creation Time : Wed May 29 18:23:01 2013
     Raid Level : raid1
     Array Size : 244066112 (232.76 GiB 249.92 GB)
  Used Dev Size : 244066112 (232.76 GiB 249.92 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Thu Jun 30 09:01:03 2016
          State : clean 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           Name : mail:0
           UUID : c38280a9:88e8f6f9:539896a8:4aad2212
         Events : 1059

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8        1        1      active sync   /dev/sda1
NAME                  MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                     8:0    0 232,9G  0 disk  
└─sda1                  8:1    0 232,9G  0 part  
  └─md0                 9:0    0 232,8G  0 raid1 
    ├─vg0-boot (dm-0) 252:0    0    92M  0 lvm   /boot
    ├─vg0-root (dm-1) 252:1    0   952M  0 lvm   /
    ├─vg0-swap (dm-2) 252:2    0   1,9G  0 lvm   [SWAP]
    ├─vg0-tmp (dm-3)  252:3    0   2,8G  0 lvm   /tmp
    ├─vg0-var (dm-4)  252:4    0   9,3G  0 lvm   /var
    ├─vg0-usr (dm-5)  252:5    0   9,3G  0 lvm   /usr
    ├─vg0-home (dm-6) 252:6    0   1,9G  0 lvm   /home
    └─vg0-opt (dm-7)  252:7    0 204,9G  0 lvm   /opt
sdb                     8:16   0 232,9G  0 disk  
└─sdb1                  8:17   0 232,9G  0 part  
  └─md0                 9:0    0 232,8G  0 raid1 
    ├─vg0-boot (dm-0) 252:0    0    92M  0 lvm   /boot
    ├─vg0-root (dm-1) 252:1    0   952M  0 lvm   /
    ├─vg0-swap (dm-2) 252:2    0   1,9G  0 lvm   [SWAP]
    ├─vg0-tmp (dm-3)  252:3    0   2,8G  0 lvm   /tmp
    ├─vg0-var (dm-4)  252:4    0   9,3G  0 lvm   /var
    ├─vg0-usr (dm-5)  252:5    0   9,3G  0 lvm   /usr
    ├─vg0-home (dm-6) 252:6    0   1,9G  0 lvm   /home
    └─vg0-opt (dm-7)  252:7    0 204,9G  0 lvm   /opt

Прочитав достаточно материалов по теме переноса, представляю это себе так:

  • Помечаю один диск сбойным
  • удаляю его из массива
  • подключаю новый
  • копирую на него разделы
  • провожу такие же манипуляции со вторым диском.

    Интересует вот что: как это провернуть с минимальным шансом потери данных(само собой, резервные копии есть), верен ли мой алгоритм действий и как бы это сделали вы?

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


Ответ на: комментарий от DALDON

Уже начал! Но все же, интересуют более широкие ответы

twixt
() автор топика

Не удаляй, просто добавь третий и четвёртый. Потом выкидываешь первый и второй, и делаешь ресайз. Поскольку ресайз в большую сторону, то я даже не представляю, как тут можно накосячить. Это вот RAID1 в RAID5 конвертировать немного сложнее :))

anonymous
()
Ответ на: комментарий от anonymous

Вариант с добавлением откинул сразу, т.к. сервер имеет только два разъема питания под диски, а городить лишние сущности в лице внешних блоков питания я хз. Но как вариант рассматриваю и такой способ.

twixt
() автор топика
Ответ на: комментарий от twixt

посадить временно 2 диска на внешний блок не проблема, зато синхронизацию за 1 раз сделаешь.

anonymous
()
Ответ на: комментарий от anonymous

посадить временно 2 диска на внешний блок не проблема, зато синхронизацию за 1 раз сделаешь.

Вот не факт, зависит от дисков сильно. Разное питание на мать и девайс, подключенный к ней, может выжечь всю цепочку. Для синхронизации фаз разных БП применяются специальные релешки и вопрос не самый тривиальный, если интересно, смотри форумы моддеров и оверклокеров.

BaBL ★★★★★
()

А если так:

1) Убрать один диск

2) Вставить большой диск

3) Синхронизировать массив

4) Убрать второй диск

5) Добавить второй диск

6) Синхронизировать массив

7) Изменить размер разделов

Второй результат в гугле http://howitmake.ru/blog/FAQ/137.html

Если hotswap включен, то по идее даже сервер гасить не придётся.

Radjah ★★★★★
()
Ответ на: комментарий от Radjah

Дык у них земля так и так общая будет.

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

Я лично ТСу никаких гарантий что 2 БП не выжгут его сервер дать не могу.

BaBL ★★★★★
()
Ответ на: комментарий от Radjah

Вот как раз на этой статье остановился, дошел до загрузки с нового диска, система не грузится, уходит в grub-rescue, grub при попытке восстановления пишет uniknow filesystem, хотя grub-install /dev/sdb прошел без ошибок. (Это все на виртуалке)

twixt
() автор топика
Ответ на: комментарий от anonymous

А как по-твоему работают USB-устройства с внешним питанием? А внешние диски с eSata? :)

внешние интерфейсы имеют дополнительную защиту по питанию и токи не пересекают или же в самих девайсах синхронизация фаз происходит.

Давай я погуглю за тебя:
http://www.overclockers.ru/lab/15898.shtml

BaBL ★★★★★
()
Ответ на: комментарий от twixt

Вот как раз на этой статье остановился, дошел до загрузки с нового диска, система не грузится, уходит в grub-rescue, grub при попытке восстановления пишет uniknow filesystem, хотя grub-install /dev/sdb прошел без ошибок. (Это все на виртуалке)

А у тебя точно initrd собран с поддержкой raid ? На старых дисках /boot не был вне рейда вынесен?

BaBL ★★★★★
()
Ответ на: комментарий от BaBL

В первом посте, есть выхлоп lsblk, там видно что boot находится в raid-e, вот что сейчас на виртуалке, к сожалению по другому она загружаться не хочет:

NAME           MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda              8:0    0    8G  0 disk  
└─sda1           8:1    0    8G  0 part  
  └─md0          9:0    0    8G  0 raid1 
    ├─vg0-root 252:0    0  3,7G  0 lvm   /
    ├─vg0-swap 252:1    0  952M  0 lvm   [SWAP]
    └─vg0-home 252:2    0  3,3G  0 lvm   /home
sdb              8:16   0    8G  0 disk  
└─sdb1           8:17   0    8G  0 part  
  └─md0          9:0    0    8G  0 raid1 
    ├─vg0-root 252:0    0  3,7G  0 lvm   /
    ├─vg0-swap 252:1    0  952M  0 lvm   [SWAP]
    └─vg0-home 252:2    0  3,3G  0 lvm   /home
sdc              8:32   0   15G  0 disk  
└─sdc1           8:33   0   15G  0 part  
  └─md0          9:0    0    8G  0 raid1 
    ├─vg0-root 252:0    0  3,7G  0 lvm   /
    ├─vg0-swap 252:1    0  952M  0 lvm   [SWAP]
    └─vg0-home 252:2    0  3,3G  0 lvm   /home
sdd              8:48   0   15G  0 disk  
└─sdd1           8:49   0   15G  0 part  
  └─md0          9:0    0    8G  0 raid1 
    ├─vg0-root 252:0    0  3,7G  0 lvm   /
    ├─vg0-swap 252:1    0  952M  0 lvm   [SWAP]
    └─vg0-home 252:2    0  3,3G  0 lvm   /home
/dev/md0:
        Version : 1.2
  Creation Time : Thu Jun 30 12:35:19 2016
     Raid Level : raid1
     Array Size : 8382464 (7.99 GiB 8.58 GB)
  Used Dev Size : 8382464 (7.99 GiB 8.58 GB)
   Raid Devices : 2
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Thu Jun 30 14:26:14 2016
          State : clean 
 Active Devices : 2
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 2

           Name : ubuntu:0  (local to host ubuntu)
           UUID : 2a10dba5:f8ed16a2:ed0306c0:22bf8318
         Events : 33

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1

       2       8       33        -      spare   /dev/sdc1
       3       8       49        -      spare   /dev/sdd1
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid1 sda1[0] sdc1[2](S) sdd1[3](S) sdb1[1]
      8382464 blocks super 1.2 [2/2] [UU]
twixt
() автор топика
Ответ на: комментарий от twixt

Может он даже не пытается искать разделы на втором диске? Первый же девственно чист на данном этапе.

Radjah ★★★★★
()
Ответ на: комментарий от twixt

А если с livecd загрузиться и просто поставить grub заново только с новыми хардами?

BaBL ★★★★★
()

Делал такое в середине нулевых, тогда mdadm grow и resize2fs опасно было пользоваться, поэтому делал так: mdadm fail/remove sdb, менял sdb на новый, делал там новый массив с missing первым диском, синкался rsync'ом, делал grub-install на второй диск, перегружался, грузился с sdb, заменял первый диск, mdadm add, grub-install /dev/sda

Самое долгое - rsync между зеркалами, т.к., если там куча мелких файлов - тушите свет :(

Deleted
()
Ответ на: комментарий от Deleted

Простыню не читай, сразу отвечай на последний.
Реально самый простой способ. rsync/cp на выбор.

anc ★★★★★
()
Ответ на: комментарий от BaBL

Для синхронизации фаз разных БП применяются специальные релешки

Какие еще фазы? Луны что-ли? На винты идет постоянка 5V и 12V. Что там может не совпасть?

anonymous
()

Выключить сервер, заменить второй диск на диск большего объёма. Диск разбить следующим образом: партиция 1 100Мб тип FD активный партиция 2 всё остальное тип FD создать дополнительно 2 райд тип 1 (md1 sdb1 и missing, md2 sdb2 и missing ) на md1 создать fs, скопировать boot, примонтировать вместо boot c md2 использовать pvcreate md2 добавить в vg0 grub-install /dev/sdb изменить fstab и mdadm update-grub update-initrd -u

выключить сервер, поменять диски местами, загрузится с нового диска.

если загрузились то pvmove на новый диск, vgreduce md0 и pvremove md0

выключить сервер удалить старый диск, установить новый, запустить. разбить диск как описано выше, добавить партиции в массив. grub-install /dev/sdb изменить mdadm update-grub update-initrd -u

изменить vg0-opt удалить vg0-boot

P.S. Чтоб не потерять данных рекомендую задуматься о подключении 4 дисков на момент переноса и посмотреть smart дисков.

anonymous
()
Ответ на: комментарий от anonymous

или мать тоже с 2 сата?

Железка INTEL SR1530AH, на блоке отсутствуют 4пин молекс, сейчас два свободных один 8пин P7, второй Р8 похож на сата дата только меньше.

По всему остальному, тренеруюсь на кошках виртуалке, сегодня вариант с livecd хочу попробовать.

twixt
() автор топика
Ответ на: комментарий от twixt

Ну на кошках, все получилось. Натренировался на виртуалке в доволь, осталось повторить проделанное на железе, вот у меня возник вопрос, а сколько по времени будут синхронизироваться винты, если учесть, что размер исходных 250Gb?

twixt
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.