BSDPORTAL.RU

На этом сайте обсуждаются вопросы использования ОС FreeBSD
 Портал  •  Статьи  •  Форум  •  Wiki  •  Поиск  •  FAQ  •  Обои  •   Официальная документация  •  Новые темы 

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: Пн 28 янв, 2019 10:48 am 
Не в сети

Зарегистрирован: Ср 11 апр, 2018 6:15 pm
Сообщения: 17
Цитата:
Вы правда не понимаете что происходит при выполнении:

Код:
root@freebsd01:~ # zpool import main-pool


?

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

Цитата:
Тогда наводящая идея: попробуйте на лету перемонтировать
/, /usr и тд и тп?

Не совсем понял, куда вы ведете...

Цитата:
Ну это мелочи, Вы хотите реализовать технологию: multiple bootable root pool zfs?

Я хочу реализовать технологию, как было бы проще и быстрее переключаться на другую установленную FreeBSD
Мне нужно всего-то из сервера A на сервер B zfs send/receive и на сервере B переключаться на загрузку копии сервера A.
Цитата:
Не уверен что ZFS snaphots сделает небезопасный срез БД.
Для БД есть технология Master - Slave.

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

Может быть я и правда не понимаю как мне это реализовать в zfs...
Тогда вопрос спрошу такой, какой будет эталон структуры zfs, если на ней установлены две операционные системы FreeBSD и между ними нужно выполнять только переключение загрузки?
не важно абсолютно, на одном или на нескольких дисках HDD.
Я видел статьи по репликации системы во freeNAS, но для меня не понятно как можно потом быстро из этого бэкапа загрузиться..


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пн 28 янв, 2019 11:55 am 
Не в сети

Зарегистрирован: Пт 03 сен, 2004 1:26 pm
Сообщения: 2354
ramzes508 писал(а):
Цитата:
Вы правда не понимаете что происходит при выполнении:

Код:
root@freebsd01:~ # zpool import main-pool


?

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


те кроме слова импорт, Вы не знаете что происходит?

Цитата:
Цитата:
Тогда наводящая идея: попробуйте на лету перемонтировать
/, /usr и тд и тп?

Не совсем понял, куда вы ведете...


да все туда же, про то что происходит при импорте, если не можете
представить ситуацию, попробуйте remount на живую хотя бы: "/", "/usr","/var"

Цитата:
Цитата:
Ну это мелочи, Вы хотите реализовать технологию: multiple bootable root pool zfs?

Я хочу реализовать технологию, как было бы проще и быстрее переключаться на другую установленную FreeBSD
Мне нужно всего-то из сервера A на сервер B zfs send/receive и на сервере B переключаться на загрузку копии сервера A.


Ну и переключайтесь, только если Вы не будете думать и Вам все нужно
разжевывать, это плохо.
Не получается именно потому что не можете представить себе "физику",
или не хотите представить, даже после намеков.

Цитата:
Цитата:
Не уверен что ZFS snaphots сделает небезопасный срез БД.
Для БД есть технология Master - Slave.

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

Может быть я и правда не понимаю как мне это реализовать в zfs...
Тогда вопрос спрошу такой, какой будет эталон структуры zfs, если на ней установлены две операционные системы FreeBSD и между ними нужно выполнять только переключение загрузки?
не важно абсолютно, на одном или на нескольких дисках HDD.
Я видел статьи по репликации системы во freeNAS, но для меня не понятно как можно потом быстро из этого бэкапа загрузиться..


Что Вы понимаете под структурой ZFS? Есть понятие пул, есть понятие dataset,
dataset - это грубо говоря файловая система.

"Быстро" - ничего не бывает, как Вы полагаете, разница между:
1GB, 10GB, 30GB zfs есть? Для них снапшоты будут одного размера?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пн 28 янв, 2019 3:13 pm 
Не в сети

Зарегистрирован: Ср 11 апр, 2018 6:15 pm
Сообщения: 17
Цитата:
Что Вы понимаете под структурой ZFS? Есть понятие пул, есть понятие dataset,
dataset - это грубо говоря файловая система.

Я могу в рамках одного пула использовать операционную систему для работы самого сервера бэкапа и передачи в него целого пула с боевого сервера?


Цитата:
"Быстро" - ничего не бывает, как Вы полагаете, разница между:
1GB, 10GB, 30GB zfs есть? Для них снапшоты будут одного размера?

Я уже знаю, что не бывает быстро, если использовать архивацию снэпшотов, потом извлечение 200GB происходит только сутки.
Если у меня будет резервный сервер, который готов принимать пул с боевого сервера, то мне достаточно один раз передать полный снэпшот, потом я уже буду пересылать инкременты.
По идее же мне только останется просто загрузиться с бэкап пула на резервном сервере, в случае какого-либо сбоя на основном.
А это в пределах получаса у меня уже работающий сервер.
Я сейчас не могу сложить в голове как мне это организовать грамотно, два пула или один пул, может использовать не фрибсд а еще какую-то ось для бэкап сервера. Но задача стоит такая - организовать сервер репликацию боевого.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пн 28 янв, 2019 4:07 pm 
Не в сети

Зарегистрирован: Пт 03 сен, 2004 1:26 pm
Сообщения: 2354
ramzes508 писал(а):
Цитата:
Что Вы понимаете под структурой ZFS? Есть понятие пул, есть понятие dataset,
dataset - это грубо говоря файловая система.

Я могу в рамках одного пула использовать операционную систему для работы самого сервера бэкапа и передачи в него целого пула с боевого сервера?


можете, почему нет. Только у Вас какое-то собственное представление о ZFS,
не соответствующее реалии.

Цитата:
Цитата:
"Быстро" - ничего не бывает, как Вы полагаете, разница между:
1GB, 10GB, 30GB zfs есть? Для них снапшоты будут одного размера?

Я уже знаю, что не бывает быстро, если использовать архивацию снэпшотов, потом извлечение 200GB происходит только сутки.
Если у меня будет резервный сервер, который готов принимать пул с боевого сервера, то мне достаточно один раз передать полный снэпшот, потом я уже буду пересылать инкременты.
По идее же мне только останется просто загрузиться с бэкап пула на резервном сервере, в случае какого-либо сбоя на основном.


да ради бога, как это сделать - намекнули, возьмите и проверьте - потренируйтесь на виртуалках.

Цитата:
А это в пределах получаса у меня уже работающий сервер.
Я сейчас не могу сложить в голове как мне это организовать грамотно, два пула или один пул, может использовать не фрибсд а еще какую-то ось для бэкап сервера. Но задача стоит такая - организовать сервер репликацию боевого.


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

Можете воспользоваться готовым решением на базе HAST, в handbook расписано - но придется
опять же тренироваться на виртуалках, подводные камни объявятся только в боевом режиме.

Любая репликация - это затраты:
- пропускная способность сети (интерфейс лучше 10Gbit)
- нагрузка I/O (тут сами решайте: Enterprise HDD SAS на 15K rpm, SSD, NVME)

Ну и репликация скажется на производительности боевого сервера и БД.

Если про решения для других ОС: Linux + DRBD.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пн 28 янв, 2019 4:16 pm 
Не в сети

Зарегистрирован: Ср 11 апр, 2018 6:15 pm
Сообщения: 17
Люди то выкладывают готовые скрипты, причем которые отлично работают.
Я проверял, грузился с livecd, прописывал сеть, делал разметку диска и принимал снэпшот, но это будет работать до первого отключения электричества, потом опять грузиться с livecd и прописывать всё руками?
Я и пытаюсь узнать тут как подготовить сервер приемник на постоянное принятие снэпшотов?
Код:
#!/bin/sh

# Setup/variables:

# Each snapshot name must be unique, timestamp is a good choice.
# You can also use Solaris date, but I don't know the correct syntax.
snapshot_string=DO_NOT_DELETE_remote_replication_
timestamp=$(/usr/gnu/bin/date '+%Y%m%d%H%M%S')
source_pool=tank
destination_pool=tank
new_snap="$source_pool"@"$snapshot_string""$timestamp"
destination_host=remotehostname

# Initial send:

# Create first recursive snapshot of the whole pool.
zfs snapshot -r "$new_snap"
# Initial replication via SSH.
zfs send -R "$new_snap" | ssh "$destination_host" zfs recv -Fdu "$destination_pool"

# Incremental sends:

# Get old snapshot name.
old_snap=$(zfs list -H -o name -t snapshot -r "$source_pool" | grep "$source_pool"@"$snapshot_string" | tail --lines=1)
# Create new recursive snapshot of the whole pool.
zfs snapshot -r "$new_snap"
# Incremental replication via SSH.
zfs send -R -I "$old_snap" "$new_snap" | ssh "$destination_host" zfs recv -Fdu "$destination_pool"
# Delete older snaps on the local source (grep -v inverts the selection)
delete_from=$(zfs list -H -o name -t snapshot -r "$source_pool" | grep "$snapshot_string" | grep -v "$timestamp")
for snap in $delete_from; do
    zfs destroy "$snap"
done


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вт 29 янв, 2019 12:29 pm 
Не в сети

Зарегистрирован: Пт 03 сен, 2004 1:26 pm
Сообщения: 2354
ramzes508 писал(а):
Люди то выкладывают готовые скрипты, причем которые отлично работают.
Я проверял, грузился с livecd, прописывал сеть, делал разметку диска и принимал снэпшот, но это будет работать до первого отключения электричества, потом опять грузиться с livecd и прописывать всё руками?
Я и пытаюсь узнать тут как подготовить сервер приемник на постоянное принятие снэпшотов?
Код:
#!/bin/sh

# Setup/variables:

# Each snapshot name must be unique, timestamp is a good choice.
# You can also use Solaris date, but I don't know the correct syntax.
snapshot_string=DO_NOT_DELETE_remote_replication_
timestamp=$(/usr/gnu/bin/date '+%Y%m%d%H%M%S')
source_pool=tank
destination_pool=tank
new_snap="$source_pool"@"$snapshot_string""$timestamp"
destination_host=remotehostname

# Initial send:

# Create first recursive snapshot of the whole pool.
zfs snapshot -r "$new_snap"
# Initial replication via SSH.
zfs send -R "$new_snap" | ssh "$destination_host" zfs recv -Fdu "$destination_pool"

# Incremental sends:

# Get old snapshot name.
old_snap=$(zfs list -H -o name -t snapshot -r "$source_pool" | grep "$source_pool"@"$snapshot_string" | tail --lines=1)
# Create new recursive snapshot of the whole pool.
zfs snapshot -r "$new_snap"
# Incremental replication via SSH.
zfs send -R -I "$old_snap" "$new_snap" | ssh "$destination_host" zfs recv -Fdu "$destination_pool"
# Delete older snaps on the local source (grep -v inverts the selection)
delete_from=$(zfs list -H -o name -t snapshot -r "$source_pool" | grep "$snapshot_string" | grep -v "$timestamp")
for snap in $delete_from; do
    zfs destroy "$snap"
done


Те Вам нужно готовое решение, ищите - google в руки.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Ср 30 янв, 2019 1:54 pm 
Не в сети

Зарегистрирован: Ср 11 апр, 2018 6:15 pm
Сообщения: 17
Цитата:
Те Вам нужно готовое решение, ищите - google в руки.

У меня уже есть своё готовое решение, я написал bash-скрипт по автоматической выгрузке снэпшотов в архив (каждая вторая суббота полный, остальные инкременты) с проверками, лок-файлами и прочим и передачу на файловый сервер по сети.
Я хочу настроить всё это на передачу из zfs в zfs, но говорю же, что столкнулся с проблемой: если переключиться на загрузку с pool2, в который передавались снэпшоты и следом переключиться на загрузку с pool1, ловлю ошибку internal error: failed to initialize ZFS library при выполнении zpool import pool2 .
Можно, конечно, дописать скрипт, чтобы при обратном переключении на pool1 выполнялись операции gpart destroy/create/zpool create pool2 и снова передача полного снэпшота в только что созданный пул, а далее инкрементами, но будет это мягко говоря костыль.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Ср 30 янв, 2019 4:56 pm 
Не в сети

Зарегистрирован: Пт 03 сен, 2004 1:26 pm
Сообщения: 2354
ramzes508 писал(а):
Цитата:
Те Вам нужно готовое решение, ищите - google в руки.

У меня уже есть своё готовое решение, я написал bash-скрипт по автоматической выгрузке снэпшотов в архив (каждая вторая суббота полный, остальные инкременты) с проверками, лок-файлами и прочим и передачу на файловый сервер по сети.
Я хочу настроить всё это на передачу из zfs в zfs, но говорю же, что столкнулся с проблемой: если переключиться на загрузку с pool2, в который передавались снэпшоты и следом переключиться на загрузку с pool1, ловлю ошибку internal error: failed to initialize ZFS library при выполнении zpool import pool2 .
Можно, конечно, дописать скрипт, чтобы при обратном переключении на pool1 выполнялись операции gpart destroy/create/zpool create pool2 и снова передача полного снэпшота в только что созданный пул, а далее инкрементами, но будет это мягко говоря костыль.


Ну раз у Вас есть готовое решение, значит все замечательно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пн 04 фев, 2019 12:59 pm 
Не в сети

Зарегистрирован: Ср 11 апр, 2018 6:15 pm
Сообщения: 17
lavr писал(а):
ramzes508 писал(а):
Цитата:
Те Вам нужно готовое решение, ищите - google в руки.

У меня уже есть своё готовое решение, я написал bash-скрипт по автоматической выгрузке снэпшотов в архив (каждая вторая суббота полный, остальные инкременты) с проверками, лок-файлами и прочим и передачу на файловый сервер по сети.
Я хочу настроить всё это на передачу из zfs в zfs, но говорю же, что столкнулся с проблемой: если переключиться на загрузку с pool2, в который передавались снэпшоты и следом переключиться на загрузку с pool1, ловлю ошибку internal error: failed to initialize ZFS library при выполнении zpool import pool2 .
Можно, конечно, дописать скрипт, чтобы при обратном переключении на pool1 выполнялись операции gpart destroy/create/zpool create pool2 и снова передача полного снэпшота в только что созданный пул, а далее инкрементами, но будет это мягко говоря костыль.


Ну раз у Вас есть готовое решение, значит все замечательно.

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пн 04 фев, 2019 3:44 pm 
Не в сети

Зарегистрирован: Пт 03 сен, 2004 1:26 pm
Сообщения: 2354
ramzes508 писал(а):
lavr писал(а):

Ну раз у Вас есть готовое решение, значит все замечательно.

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

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


Вы читать умеете?
Цитата:
Ну это мелочи, Вы хотите реализовать технологию: multiple bootable root pool zfs?

Единственное что приходит в голову, реализовать с помощью BootManager(вместо выбора в BIOS), других вариантов
исходя из реализации zfsboot и gptzfsboot, imho нет.
Попробовать GRUB2 для BIOS и UEFI, в случае UEFI - rEFInd.


1. zpool import - подготавливает пул к работе и производит автомонтирование,
что тут непонятно? Оба пула у Вас имеют корень и /usr, /var - Вы их на лету пытаетесь
перемонтировать, что тут непонятно? Было сказано - если не понимаете что происходит
во время импорта - попробуйте руками перемонтировать корень, /usr и /var - получите
пердимоноколь, который Вы успешно и получаете из-за нежелания думать. Теперь понятно?

2. У Вас два диска, на каждом загрузочный пул (rpool), если верхнее до Вас дошло,
то загрузку с разных пулов можно организовать через BootManager:
- Grub2
- или rEFInd в случае UEFI (возможно и через efivar - я не пробовал)

В случае BootManager - FreeBSD будет загружаться через меню
- Пул A , для монтирования пула B написать скрипт и монтировать, например в /mnt
- Пул B, ^^^^^^^^^^^^^ аналогично

Возможно, поможет beadm или bectl (bectl - замена beadm, интегрирована в ОС), но
работу с ними тоже нужно изучать, что Вы заведомо исключаете.

Что еще Вам разжевать, раз уж Вы упорно не желаете ничего изучать?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вт 05 фев, 2019 12:04 pm 
Не в сети

Зарегистрирован: Ср 14 окт, 2009 2:26 pm
Сообщения: 589
Уже было сказано:
lavr писал(а):
Можете воспользоваться готовым решением на базе HAST, в handbook расписано - но придется
опять же тренироваться на виртуалках, подводные камни объявятся только в боевом режиме.

У Вас задача - отладить самописный велосипед, или сделать отказоустойчивую систему с предсказуемыми нагрузками на сеть и IO?
Если второе, то я тоже за HAST.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
Яндекс.Метрика