The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"swap в программном RAID на Ubuntu"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Резервное копирование / Linux)
Изначальное сообщение [ Отслеживать ]

"swap в программном RAID на Ubuntu"  +/
Сообщение от laytnez (ok) on 12-Сен-12, 09:15 
При установке Ubuntu был собран программный RAID1 (зеркало):

md0 - основной раздел
md1 - своп

Физически винта два.

После установки, для теста заменил один из винтов на чистый (но аналогичный, естес-но)
Скопировал на него всю разметку с первого диска

sudo dd if=/dev/sda of=/dev/sdb bs=1M
114473+1 records in
114473+1 records out
120034123776 bytes (120 GB) copied, 4184,9 s, 28,7 MB/s


Далее, при подключении разделов к рэйду основной подключился (md0), а своп (md1) - нет.

sudo mdadm /dev/md0 --add /dev/sdb1
mdadm: added /dev/sdb1

sudo mdadm /dev/md1 --add /dev/sdb5
mdadm: /dev/sdb2 not large enough to join array


Хотя, по размеру все совпадает:

sudo fdisk -l

Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0007f614

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1       14411   115751936   fd  Linux raid autodetect
/dev/sda2           14411       14594     1466369    5  Extended
/dev/sda5           14411       14594     1466368   fd  Linux raid autodetect

Disk /dev/sdb: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0007f614

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1       14411   115751936   fd  Linux raid autodetect
/dev/sdb2           14411       14594     1466369    5  Extended
/dev/sdb5           14411       14594     1466368   fd  Linux raid autodetect

Disk /dev/md0: 118.5 GB, 118529916928 bytes
2 heads, 4 sectors/track, 28937968 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/md0 doesn't contain a valid partition table

Disk /dev/md1: 1501 MB, 1501495296 bytes
2 heads, 4 sectors/track, 366576 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/md1 doesn't contain a valid partition table

Disk /dev/sdc: 1999 MB, 1999568384 bytes
32 heads, 63 sectors/track, 1937 cylinders
Units = cylinders of 2016 * 512 = 1032192 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00dd6ccb

cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : active raid1 sda5[0]
      1466304 blocks [2/1] [U_]
      
md0 : active raid1 sdb1[1] sda1[0]
      115751872 blocks [2/2] [UU]

Что не так? Как быть?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "swap в программном RAID на Ubuntu"  +/
Сообщение от PavelR (ok) on 12-Сен-12, 13:01 

> Скопировал на него всю разметку с первого диска
> sudo dd if=/dev/sda of=/dev/sdb bs=1M
> 120034123776 bytes (120 GB) copied, 4184,9 s, 28,7 MB/s

Это п-ц, других слов просто нет. Вы не просто "разметку" скопировали, вы склонировали _весь_ диск. А так нельзя, диски в рейде не идентичны по содержимому метаданных.

Попробуйте сначала статейки почитать, хотя бы на данном сайте.
Поиск по ключевым словам 'mdadm, raid'.

http://www.opennet.me/search.shtml?exclude=index%7C...

>Далее, при подключении разделов к рэйду основной подключился (md0), а своп (md1) - нет.

А система уже знает, что у винта разметка изменилась? Видимо нет. Потому и не подключилось.


>sudo dd if=/dev/sda of=/dev/sdb bs=1M

Как вы думаете, ваша система что-нибудь писала на первый жесткий диск, пока с него снималась копия или нет? Какова, по результатам ваших размышлений, целостность и идентичность полученной в результате вашей команды копии?

Собственно, далее вы снова пытаетесь запустить процесс копирования:

>sudo mdadm /dev/md0 --add /dev/sdb1

Итого, неправильное использование команды dd приводит к "дурной работе".


>Что не так?

Мало читаете, мало размышляете.

>Как быть?

Больше читать, больше размышлять над прочитанным и вообще.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "swap в программном RAID на Ubuntu"  +/
Сообщение от laytnez (ok) on 12-Сен-12, 15:42 
Спасибо за ответ.

> Это п-ц, других слов просто нет. Вы не просто "разметку" скопировали, вы
> склонировали _весь_ диск. А так нельзя, диски в рейде не идентичны
> по содержимому метаданных.

Пробовал
sudo sfdisk -d /dev/sdb | sfdisk /dev/sda

Но консоль выругалась:

/dev/sdb: Permission denied
sfdisk: cannot open /dev/sdb read-write
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.

Других способов не знаю.

Про различие данных понимаю, но не заморачивался, т.к. знал, что после mdadm /dev/md0 --add /dev/sdb1 начнется синхронизация.


>>Далее, при подключении разделов к рэйду основной подключился (md0), а своп (md1) - нет.
> А система уже знает, что у винта разметка изменилась? Видимо нет. Потому
> и не подключилось.

Как? Подскажите.
Учитывая, что основной раздел (sdb1) подключился к рейду без проблем (!), считаю логичным предположить, что система знает.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "swap в программном RAID на Ubuntu"  +/
Сообщение от PavelR (ok) on 12-Сен-12, 15:49 
> Спасибо за ответ.
>> Это п-ц, других слов просто нет. Вы не просто "разметку" скопировали, вы
>> склонировали _весь_ диск. А так нельзя, диски в рейде не идентичны
>> по содержимому метаданных.
> Пробовал
> sudo sfdisk -d /dev/sdb | sfdisk /dev/sda

ну-ну. Вообще вы копировали А на Б, а команды с sfdisk - приведены наоборот.

> Но консоль выругалась:
> /dev/sdb: Permission denied

=)  конечно, sudo будет выполнять от рута только первый sfdisk.

> Других способов не знаю.
> Про различие данных понимаю, но не заморачивался, т.к. знал, что после mdadm
> /dev/md0 --add /dev/sdb1 начнется синхронизация.

=) ну если времени вагон....

> Как? Подскажите.
> Учитывая, что основной раздел (sdb1) подключился к рейду без проблем (!)

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

> считаю логичным предположить, что система знает.

Не знает.

Но sfdisk -R иногда помогает узнать. man sfdisk


Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "swap в программном RAID на Ubuntu"  +/
Сообщение от laytnez (ok) on 12-Сен-12, 16:29 
>> sudo sfdisk -d /dev/sdb | sfdisk /dev/sda
> ну-ну. Вообще вы копировали А на Б, а команды с sfdisk - приведены наоборот.

Да, туплю. изначально и было Б потом А. Про sudo дважды - не знал. спс.

Сейчас вывел второй винт из рейда, очистил таблицу разделов на нем (dd if=/dev/zero of=/dev/sdb bs=512 count=1).

Затем пытаюсь скопировать таблицу разделов на него корректно:

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

Checking that no-one is using this disk right now ...
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
OK

Disk /dev/sdb: 14593 cylinders, 255 heads, 63 sectors/track

sfdisk: ERROR: sector 0 does not have an msdos signature
/dev/sdb: unrecognized partition table type
Old situation:
No partitions found
New situation:
Units = sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
/dev/sdb1          2048 231505919  231503872  fd  Linux raid autodetect
/dev/sdb2     231507966 234440703    2932738   5  Extended
/dev/sdb3             0         -          0   0  Empty
/dev/sdb4             0         -          0   0  Empty
/dev/sdb5     231507968 234440703    2932736  fd  Linux raid autodetect
Warning: partition 1 does not end at a cylinder boundary

sfdisk: I don't like these partitions - nothing changed.
(If you really want this, use the --force option.)


sfdisk видит таблицу "не так" (с чем я абсолютно согласен), посему и не хочет без --force размечать таким образом.

Понимаю, что проблема в кривизне рук и отсутствии опыта. Как?

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "swap в программном RAID на Ubuntu"  +/
Сообщение от PavelR (ok) on 12-Сен-12, 16:36 

> sfdisk видит таблицу "не так" (с чем я абсолютно согласен), посему и
> не хочет без --force размечать таким образом.

Мм... не подскажу. Может кто-то другой это сделает..


Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "swap в программном RAID на Ubuntu"  +/
Сообщение от pavel_simple (ok) on 13-Сен-12, 08:24 
>>> sudo sfdisk -d /dev/sdb | sfdisk /dev/sda
>> ну-ну. Вообще вы копировали А на Б, а команды с sfdisk - приведены наоборот.
> Да, туплю. изначально и было Б потом А. Про sudo дважды -
> не знал. спс.
> Сейчас вывел второй винт из рейда, очистил таблицу разделов на нем (dd
> if=/dev/zero of=/dev/sdb bs=512 count=1).

сдесь нужно echo 1 > /sys/block/sda/device/rescan

>[оверквотинг удален]
>          0  
>  0  Empty
> /dev/sdb5     231507968 234440703    2932736  
> fd  Linux raid autodetect
> Warning: partition 1 does not end at a cylinder boundary
> sfdisk: I don't like these partitions - nothing changed.
> (If you really want this, use the --force option.)
> sfdisk видит таблицу "не так" (с чем я абсолютно согласен), посему и
> не хочет без --force размечать таким образом.
> Понимаю, что проблема в кривизне рук и отсутствии опыта. Как?

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

2. "swap в программном RAID на Ubuntu"  +/
Сообщение от PavelR (ok) on 12-Сен-12, 13:02 
И таки да, RAID - это не резервное копирование, а отказоустойчивость.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру