Re: [freebsd] Перезапись gpart разделов и последующее их восстановление, как?
вт, 19 авг. 2014 г. в 1:29, Vladislav V. Prodan : > > > > > 18 августа 2014 г., 22:56 пользователь Andrey V. Elsukov > написал: >> >> On 18.08.2014 17:12, Vladislav V. Prodan wrote: >> > >> > 18 августа 2014 г., 7:05 пользователь Andrey V. Elsukov >> > mailto:bu7c...@yandex.ru>> написал: >> > >> > Если данные не пропали после dd, то gpart destroy с ними тоже ничего не >> > сделает. >> > >> > >> > А другие варианты залить MfsBSD.img в первые два слайса и не потерять >> > третий слайс с данными? >> >> Во можете записать этот образ в своп, затем поменять тип freebsd-swap >> раздела на freebsd-ufs, записать в freebsd-boot раздел образ >> загрузочного кода gptboot. Теоретически должно загрузиться. Конечно, в >> образе находится не UFS раздел, а bsdlabel с разделом, но кажется это не >> должно вызвать проблем. >> После этих манипуляций вернуть обратно gptzfsboot и тип freebsd-swap. >> >> -- >> WBR, Andrey V. Elsukov > > > Имеем установленную FreeBSD на диске. > Грузимся в rescue CD от Debian (как риск-панель в ДЦ). > Заходим по ssh. > > Как будем манипулировать фряшными разделами? > Отвечу решение: 1) Грузимся в rescue CD от Debian (как риск-панель в ДЦ). 2) В памяти создаем раздел 500-1000Мбайт 3) Кладем туда iso образ MfsBSD 4) Скачиваем vkvm и запускаем qemu с параметрами - export image12="/mnt/mfsbsd-se-11.2-RELEASE-amd64.iso" /tmp/qemu-system-x86_64 -net nic -net user,hostfwd=tcp::1022-:22 -m 4192M -localtime -enable-kvm -cpu host,+nx -M pc -smp 4 -vga std -usbdevice tablet -k en-us -cdrom $image12 -hda /dev/sda -hdb /dev/sdb -boot once=d -vnc :1 Важные параметры - -cdrom $image12 -hda /dev/sda -hdb /dev/sdb 5) Далее заходим в виртуалку по VNC ( порт 5901) или по ssh (порт 1022). IPv4 или ipv6 сервера, которые ДЦ выдал для риск режима -- Vladislav V. Prodan System & Network Administrator support.od.ua ___ freebsd mailing list freebsd@uafug.org.ua http://mailman.uafug.org.ua/mailman/listinfo/freebsd
[freebsd] Re: [freebsd] Re: [freebsd] Re: [freebsd] Re: [freebsd] Перезапись gpart разделов и последующее их восстановление, как?
под линух есть модуль поддержки zfs-а для кернела, если мы все еще о zfs говорим. 19 августа 2014 г., 1:29 пользователь Vladislav V. Prodan < ad...@support.od.ua> написал: > > > > 18 августа 2014 г., 22:56 пользователь Andrey V. Elsukov < > bu7c...@yandex.ru> написал: > >> On 18.08.2014 17:12, Vladislav V. Prodan wrote: >> > >> > 18 августа 2014 г., 7:05 пользователь Andrey V. Elsukov >> > mailto:bu7c...@yandex.ru>> написал: >> > >> > Если данные не пропали после dd, то gpart destroy с ними тоже >> ничего не >> > сделает. >> > >> > >> > А другие варианты залить MfsBSD.img в первые два слайса и не потерять >> > третий слайс с данными? >> >> Во можете записать этот образ в своп, затем поменять тип freebsd-swap >> раздела на freebsd-ufs, записать в freebsd-boot раздел образ >> загрузочного кода gptboot. Теоретически должно загрузиться. Конечно, в >> образе находится не UFS раздел, а bsdlabel с разделом, но кажется это не >> должно вызвать проблем. >> После этих манипуляций вернуть обратно gptzfsboot и тип freebsd-swap. >> >> -- >> WBR, Andrey V. Elsukov >> > > Имеем установленную FreeBSD на диске. > Грузимся в rescue CD от Debian (как риск-панель в ДЦ). > Заходим по ssh. > > Как будем манипулировать фряшными разделами? > > > > -- > Vladislav V. Prodan > System & Network Administrator > support.od.ua >
[freebsd] Re: [freebsd] Re: [freebsd] Re: [freebsd] Перезапись gpart разделов и последующее их восстановление, как?
18 августа 2014 г., 22:56 пользователь Andrey V. Elsukov написал: > On 18.08.2014 17:12, Vladislav V. Prodan wrote: > > > > 18 августа 2014 г., 7:05 пользователь Andrey V. Elsukov > > mailto:bu7c...@yandex.ru>> написал: > > > > Если данные не пропали после dd, то gpart destroy с ними тоже ничего > не > > сделает. > > > > > > А другие варианты залить MfsBSD.img в первые два слайса и не потерять > > третий слайс с данными? > > Во можете записать этот образ в своп, затем поменять тип freebsd-swap > раздела на freebsd-ufs, записать в freebsd-boot раздел образ > загрузочного кода gptboot. Теоретически должно загрузиться. Конечно, в > образе находится не UFS раздел, а bsdlabel с разделом, но кажется это не > должно вызвать проблем. > После этих манипуляций вернуть обратно gptzfsboot и тип freebsd-swap. > > -- > WBR, Andrey V. Elsukov > Имеем установленную FreeBSD на диске. Грузимся в rescue CD от Debian (как риск-панель в ДЦ). Заходим по ssh. Как будем манипулировать фряшными разделами? -- Vladislav V. Prodan System & Network Administrator support.od.ua
Re: [freebsd] Re: [freebsd] Re: [freebsd] Перезапись gpart разделов и последующее их восстановление, как?
On 18.08.2014 17:12, Vladislav V. Prodan wrote: > > 18 августа 2014 г., 7:05 пользователь Andrey V. Elsukov > mailto:bu7c...@yandex.ru>> написал: > > Если данные не пропали после dd, то gpart destroy с ними тоже ничего не > сделает. > > > А другие варианты залить MfsBSD.img в первые два слайса и не потерять > третий слайс с данными? Во можете записать этот образ в своп, затем поменять тип freebsd-swap раздела на freebsd-ufs, записать в freebsd-boot раздел образ загрузочного кода gptboot. Теоретически должно загрузиться. Конечно, в образе находится не UFS раздел, а bsdlabel с разделом, но кажется это не должно вызвать проблем. После этих манипуляций вернуть обратно gptzfsboot и тип freebsd-swap. Но, как я уже сказал, если сохранить все смещения без изменений, данные на разделах никуда не денутся. Есть одно НО с полным пересозданием таблицы разделов. На сколько я помню, в 11-ой фре слегка поменяли код поддержки GPT и теперь по-умолчанию резервируется не 34 сектора под таблицу разделов, а бОльшее количество, чтобы быть кратным 4к секторам. Это может вызвать проблемы при пересоздании - резервная таблица откушает больше секторов в конце диска. -- WBR, Andrey V. Elsukov signature.asc Description: OpenPGP digital signature
Re: [freebsd] Re: [freebsd] Re: [freebsd] Перезапись gpart разделов и последующее их восстановление, как?
On 18.08.2014 17:16, Vladislav V. Prodan wrote: > Я уже писал в начале - это тестовые виртуалки с 7ГБ данных > Сервера имеют или 1 SSD на 120Гб или 1-2 HDD на 500ГБ-1ТБ. > B поэтому сделать dd всего диска очень проблематично. > -b 34 - это для винтов с секторами 512 байт > -b 40 - это смещение для винтов с секторами 4000 байт > размер freebsd-boot может быть от 64K до 512K gpart(8) в состоянии автоматически определить смещение начала раздела. При указании -a 4k он сам выберет подходящее смещение. К тому же, если системе известно, что диск с 4к секторами, то даже -a не нужно указывать (*). * http://bu7cher.blogspot.ru/2011/06/gpart.html -- WBR, Andrey V. Elsukov signature.asc Description: OpenPGP digital signature
[freebsd] Re: [freebsd] Re: [freebsd] Перезапись gpart разделов и последующее их восстановление, как?
18 августа 2014 г., 8:35 пользователь Vasiliy P. Melnik написал: > я все конечно понимаю, но переразбивать на живую винт и рисковать данными > это как-то совсем странно. > > Разве сложно через dd сделать образ и потом его развернуть? при нынешних > скоростях интернета 7 гигов это просто ни о чем. > > З.Ы.и кстати, по поводу вот этих -b 34 - это лишнее. > > Вот таблица после разбивки диска с установщика. > gpart show > =>34 3907029101 ada0 GPT (1.8T) >34 6- free - (3.0K) > 401024 1 freebsd-boot (512K) > 1064 4194304 2 freebsd-swap (2.0G) > 4195368 3902833760 3 freebsd-zfs (1.8T) > 3907029128 7- free - (3.5K) > > > Я уже писал в начале - это тестовые виртуалки с 7ГБ данных Сервера имеют или 1 SSD на 120Гб или 1-2 HDD на 500ГБ-1ТБ. B поэтому сделать dd всего диска очень проблематично. -b 34 - это для винтов с секторами 512 байт -b 40 - это смещение для винтов с секторами 4000 байт размер freebsd-boot может быть от 64K до 512K -- Vladislav V. Prodan System & Network Administrator support.od.ua
[freebsd] Re: [freebsd] Re: [freebsd] Перезапись gpart разделов и последующее их восстановление, как?
18 августа 2014 г., 7:05 пользователь Andrey V. Elsukov написал: > Если данные не пропали после dd, то gpart destroy с ними тоже ничего не > сделает. > А другие варианты залить MfsBSD.img в первые два слайса и не потерять третий слайс с данными? -- Vladislav V. Prodan System & Network Administrator support.od.ua
[freebsd] Re: [freebsd] Re: [freebsd] Перезапись gpart разделов и последующее их восстановление, как?
я все конечно понимаю, но переразбивать на живую винт и рисковать данными это как-то совсем странно. Разве сложно через dd сделать образ и потом его развернуть? при нынешних скоростях интернета 7 гигов это просто ни о чем. З.Ы.и кстати, по поводу вот этих -b 34 - это лишнее. Вот таблица после разбивки диска с установщика. gpart show =>34 3907029101 ada0 GPT (1.8T) 34 6- free - (3.0K) 401024 1 freebsd-boot (512K) 1064 4194304 2 freebsd-swap (2.0G) 4195368 3902833760 3 freebsd-zfs (1.8T) 3907029128 7- free - (3.5K) 18 августа 2014 г., 7:05 пользователь Andrey V. Elsukov написал: > On 18.08.2014 06:03, Vladislav V. Prodan wrote: > > > # gpart add -b 34 -s 128 -t freebsd-boot -a 4k -l boot-ada0 ada0 > > > gpart: Invalid argument > > > > BSD схема не поддерживает метки. Вам нужно использовать не `gpart > > delete`, а `gpart destroy -F ada0`. После чего пересоздать таблицу > > разделов и нужные разделы. > > > > -- > > WBR, Andrey V. Elsukov > > > > > > Так пропадут данные на 3-ем слайсе > >2099200 14677983 3 freebsd-zfs (7.0G) > > Их-то и не хочется терять :( > > Если данные не пропали после dd, то gpart destroy с ними тоже ничего не > сделает. > > > -- > WBR, Andrey V. Elsukov > >
Re: [freebsd] Re: [freebsd] Перезапись gpart разделов и последующее их восстановление, как?
On 18.08.2014 06:03, Vladislav V. Prodan wrote: > > # gpart add -b 34 -s 128 -t freebsd-boot -a 4k -l boot-ada0 ada0 > > gpart: Invalid argument > > BSD схема не поддерживает метки. Вам нужно использовать не `gpart > delete`, а `gpart destroy -F ada0`. После чего пересоздать таблицу > разделов и нужные разделы. > > -- > WBR, Andrey V. Elsukov > > > Так пропадут данные на 3-ем слайсе >2099200 14677983 3 freebsd-zfs (7.0G) > Их-то и не хочется терять :( Если данные не пропали после dd, то gpart destroy с ними тоже ничего не сделает. -- WBR, Andrey V. Elsukov signature.asc Description: OpenPGP digital signature
[freebsd] Re: [freebsd] Re: [freebsd] Перезапись gpart разделов и последующее их восстановление, как?
18 августа 2014 г., 6:47 пользователь Vitaly Dodonov написал: > > > > 18 августа 2014 г., 6:03 пользователь Vladislav V. Prodan < > ad...@support.od.ua> написал: > > >> >> >> 18 августа 2014 г., 4:31 пользователь Andrey V. Elsukov < >> bu7c...@yandex.ru> написал: >> >> On 17.08.2014 04:06, Vladislav V. Prodan wrote: >>> > Перегружаем VM1 >>> > Логинимся в VM1 и видим: >>> > >>> > # gpart show >>> > => 0 16777216 ada0 BSD (8.0G) >>> > 016- free - (8.0K) >>> > 16 83952 1 !0 (41M) >>> > 83968 16693248- free - (8.0G) >>> > >>> > => 0 16777216 diskid/DISK-VBab59de7b-778e8846 BSD (8.0G) >>> > 016 - free - (8.0K) >>> > 16 839521 !0 (41M) >>> > 83968 16693248 - free - (8.0G) >>> > >>> > Удаляем диск с MfsBSD >>> > # gpart delete -i 1 ada0 >>> > >>> > И дальше уже не получается восстановить старые разделы >>> > >>> > # gpart add -b 34 -s 128 -t freebsd-boot -a 4k -l boot-ada0 ada0 >>> > gpart: Invalid argument >>> >>> BSD схема не поддерживает метки. Вам нужно использовать не `gpart >>> delete`, а `gpart destroy -F ada0`. После чего пересоздать таблицу >>> разделов и нужные разделы. >>> >>> -- >>> WBR, Andrey V. Elsukov >>> >>> >> Так пропадут данные на 3-ем слайсе >>2099200 14677983 3 freebsd-zfs (7.0G) >> Их-то и не хочется терять :( >> >> > Средствами zfs отзеркалить на другой раздел и после пересоздания вернуть > на место. > Это сработает, если два винта и то синхронизация будет довольно долгой. Сейчас у меня сервера с 1 винтом/SSD. -- Vladislav V. Prodan System & Network Administrator support.od.ua
[freebsd] Re: [freebsd] Re: [freebsd] Перезапись gpart разделов и последующее их восстановление, как?
18 августа 2014 г., 6:03 пользователь Vladislav V. Prodan < ad...@support.od.ua> написал: > > > > 18 августа 2014 г., 4:31 пользователь Andrey V. Elsukov > написал: > > On 17.08.2014 04:06, Vladislav V. Prodan wrote: >> > Перегружаем VM1 >> > Логинимся в VM1 и видим: >> > >> > # gpart show >> > => 0 16777216 ada0 BSD (8.0G) >> > 016- free - (8.0K) >> > 16 83952 1 !0 (41M) >> > 83968 16693248- free - (8.0G) >> > >> > => 0 16777216 diskid/DISK-VBab59de7b-778e8846 BSD (8.0G) >> > 016 - free - (8.0K) >> > 16 839521 !0 (41M) >> > 83968 16693248 - free - (8.0G) >> > >> > Удаляем диск с MfsBSD >> > # gpart delete -i 1 ada0 >> > >> > И дальше уже не получается восстановить старые разделы >> > >> > # gpart add -b 34 -s 128 -t freebsd-boot -a 4k -l boot-ada0 ada0 >> > gpart: Invalid argument >> >> BSD схема не поддерживает метки. Вам нужно использовать не `gpart >> delete`, а `gpart destroy -F ada0`. После чего пересоздать таблицу >> разделов и нужные разделы. >> >> -- >> WBR, Andrey V. Elsukov >> >> > Так пропадут данные на 3-ем слайсе >2099200 14677983 3 freebsd-zfs (7.0G) > Их-то и не хочется терять :( > > Средствами zfs отзеркалить на другой раздел и после пересоздания вернуть на место.
[freebsd] Re: [freebsd] Перезапись gpart разделов и последующее их восстановление, как?
18 августа 2014 г., 4:31 пользователь Andrey V. Elsukov написал: > On 17.08.2014 04:06, Vladislav V. Prodan wrote: > > Перегружаем VM1 > > Логинимся в VM1 и видим: > > > > # gpart show > > => 0 16777216 ada0 BSD (8.0G) > > 016- free - (8.0K) > > 16 83952 1 !0 (41M) > > 83968 16693248- free - (8.0G) > > > > => 0 16777216 diskid/DISK-VBab59de7b-778e8846 BSD (8.0G) > > 016 - free - (8.0K) > > 16 839521 !0 (41M) > > 83968 16693248 - free - (8.0G) > > > > Удаляем диск с MfsBSD > > # gpart delete -i 1 ada0 > > > > И дальше уже не получается восстановить старые разделы > > > > # gpart add -b 34 -s 128 -t freebsd-boot -a 4k -l boot-ada0 ada0 > > gpart: Invalid argument > > BSD схема не поддерживает метки. Вам нужно использовать не `gpart > delete`, а `gpart destroy -F ada0`. После чего пересоздать таблицу > разделов и нужные разделы. > > -- > WBR, Andrey V. Elsukov > > Так пропадут данные на 3-ем слайсе 2099200 14677983 3 freebsd-zfs (7.0G) Их-то и не хочется терять :( -- Vladislav V. Prodan System & Network Administrator support.od.ua
Re: [freebsd] Перезапись gpart разделов и последующее их восстановление, как?
On 17.08.2014 04:06, Vladislav V. Prodan wrote: > Перегружаем VM1 > Логинимся в VM1 и видим: > > # gpart show > => 0 16777216 ada0 BSD (8.0G) > 016- free - (8.0K) > 16 83952 1 !0 (41M) > 83968 16693248- free - (8.0G) > > => 0 16777216 diskid/DISK-VBab59de7b-778e8846 BSD (8.0G) > 016 - free - (8.0K) > 16 839521 !0 (41M) > 83968 16693248 - free - (8.0G) > > Удаляем диск с MfsBSD > # gpart delete -i 1 ada0 > > И дальше уже не получается восстановить старые разделы > > # gpart add -b 34 -s 128 -t freebsd-boot -a 4k -l boot-ada0 ada0 > gpart: Invalid argument BSD схема не поддерживает метки. Вам нужно использовать не `gpart delete`, а `gpart destroy -F ada0`. После чего пересоздать таблицу разделов и нужные разделы. -- WBR, Andrey V. Elsukov signature.asc Description: OpenPGP digital signature
[freebsd] Перезапись gpart разделов и последующее их восстановление, как?
Здравствуйте. Некоторые ДЦ предоставляют сервера без IP-KVM и live-cd MfsBSD, в связи с этим собрал тестовую схему на виртуалках. VM1 - FreeBSD 10 # gpart show => 34 16777149 ada0 GPT (8.0G) 34 6- free - (3.0K) 40 128 1 freebsd-boot (64K) 168 1880- free - (940K) 2048 2097152 2 freebsd-swap (1.0G) 2099200 14677983 3 freebsd-zfs (7.0G) VM2 - FreeBSD 10 c VM2 запускаем перезапись диска на VM1: # cat mfsbsd-10.0-RELEASE-amd64.img | ssh root@192.168.66.102 "sysctl kern.geom.debugflags=16 && dd of=/dev/ada0 bs=64k" Password for r...@vm-10-2.domain.com: kern.geom.debugflags: 0 -> 16 132+2091 records in 656+0 records out 42991616 bytes transferred in 2.496771 secs (17218887 bytes/sec) Перегружаем VM1 Логинимся в VM1 и видим: # gpart show => 0 16777216 ada0 BSD (8.0G) 016- free - (8.0K) 16 83952 1 !0 (41M) 83968 16693248- free - (8.0G) => 0 16777216 diskid/DISK-VBab59de7b-778e8846 BSD (8.0G) 016 - free - (8.0K) 16 839521 !0 (41M) 83968 16693248 - free - (8.0G) Удаляем диск с MfsBSD # gpart delete -i 1 ada0 И дальше уже не получается восстановить старые разделы # gpart add -b 34 -s 128 -t freebsd-boot -a 4k -l boot-ada0 ada0 gpart: Invalid argument Реально данные изменены в блоках 16 и до83952 Что надо еще перезаписать, чтоб возвратился третий слайс - 2099200 14677983 3 freebsd-zfs (7.0G) И было возможность заново пересоздать 1,2 слайс и перезаписать загрузчик. Заранее благодарю за мысли, подсказки и решения :) -- Vladislav V. Prodan System & Network Administrator support.od.ua