Page 1 of 1

Как правильно пересобрать RAID

Posted: 15 Jan 2020 13:37
by dorson
Железка HP Microserver N54L
Сейчас имею зеркало из двух 2Тб дисков, настроен трансмишен и самба, несколько папок расшарены.
Докупил еще два диска на 2Тб. Хочу пересобрать диски в RAIDZ1 (аналог RAID5). Правильно я понимаю что под данные будет 6Тб, а один диск уйдет на четность?
Как правильно сделать что бы ошибок не было?
Как я мыслю:
Скопировать на сторону данные
Отключить трансмишн
В самбе поудалять все шары
Выключить самбу
Дальше действую как тут описано https://2gusia.livejournal.com/130035.html
Данные возвращаю на пул
Настраиваю шары на самбе
Перенастраиваю трансмишн

И что бы два раза не вставать
Вчера обновил Nas4Free 10.2 на XigmaNas 12.1
на обновленном в логах

Code: Select all

 WARNING: The "null passwords" option is deprecated
 [2020/01/15 15:05:06.898028, 1] ../../lib/param/loadparm.c:1822(lpcfg_do_global_parameter)

Re: Как правильно пересобрать RAID

Posted: 15 Jan 2020 14:28
by alexey123
Ход мыслей правильный.
Ябы остановил не только самбу с трансмишеном, но и вообще все сервисы, кроме SSH
Да, самба должна быть теперь под паролем.

Re: Как правильно пересобрать RAID

Posted: 15 Jan 2020 15:07
by Shperrung
А можно "послать" снимок файловой системы на новый пул, созданный на новом виртуальном устройстве.
Отсоединить один диск из "зеркала" (отложить для сохранности данных.
Подключить новые диски, создать фейковые дисковые устройства как описано тут viewtopic.php?f=66&t=12339&p=77198
Собрать RAIDZ1 из реальных и фейковых дисков (количество должно быть тем, что запланировано).
Создать на новом Vdev пул с названием, отличным от исходного.
Создать рекурсивный снимок с "исходного" пула.
Послать его на новый пул. После копирования экспортировать оба пула. Затем импортировать "новый" пул со сменой названия как у "старого".
Должны появиться скопированные файлы.
После этого надо удалить снимок, которым всё это посылались и сделать замену фейковых дисковых устройств на реальные.
Я так перемещал с "зеркала" на RAIDZ1.
viewtopic.php?p=93183#p93183

Re: Как правильно пересобрать RAID

Posted: 16 Jan 2020 09:14
by dorson
А если сделать так:
Есть два новых диска и два старых в зеркале все они одного объема.
Развалить зеркало, сделать RAIDZ1 из двух новых и одного старого, переписать все данные и добавить старый диск в RAIDZ1.
Внезапно прочел в вебгуи " RAID-Z1 должен иметь 3, 5, 7 или 9 дисков в каждом виртуальном устройстве " Может лучше оставить один диск под темр либо горячую замену... Чет я совсем запутался.

Re: Как правильно пересобрать RAID

Posted: 16 Jan 2020 10:43
by Shperrung
Нет, вроде.
Сделать RAIDZ1 из трёх дисков, а потом добавить 4 диск вряд ли получится. Я у себя не вижу такой опции в веб-гуе.
Attach data device - у меня применяется только для пулов на Stripe vdev, но не для RAIDZ1 (3 HDD). То есть добавить 4тый диск, без развала существующего RAIDZ1 с переносом данных, я не могу.
Вот сделать RAIDZ1 из 3 реальных и одного фейкового дискового устройства, а потом после копирования данных сменить фейковый на настоящий - реально.

Re: Как правильно пересобрать RAID

Posted: 16 Jan 2020 10:51
by dorson
Внезапно прочел в вебгуи " RAID-Z1 должен иметь 3, 5, 7 или 9 дисков в каждом виртуальном устройстве "
Так можно делать RAID-Z1 из 4 дисков или это настоятельно не рекомендуется?

Re: Как правильно пересобрать RAID

Posted: 16 Jan 2020 13:36
by dorson
Комрады, сделал путем detach диска от зеркала. Создал RAID-Z по инструкции от уважаемого MikeMac https://2gusia.livejournal.com/130035.html
Оба пула онлайн. запустил копирование, жду. Пока жду полез в вебгуй и там в статусе увидел следующее
Total: 5.97TB | Allocated: 88.21GB | Free: 5.89TB | State: ONLINE
это новый пул, напомню создавал из трех дисков по 2 Тб. По моему пониманию, места свободного должно быть в районе 4 Тб. Правильно? Если так, то какой RAID я создал?
Status

Code: Select all

Thu Jan 16 15:38:31 MSK 2020
  pool: Data
 state: ONLINE
  scan: none requested
config:

	NAME                     STATE     READ WRITE CKSUM
	Data                     ONLINE       0     0     0
	  raidz1-0               ONLINE       0     0     0
	    gpt/28AVJ2SAS        ONLINE       0     0     0
	    gpt/WD-WCAY01708192  ONLINE       0     0     0
	    gpt/MS77215W095N0A   ONLINE       0     0     0
	    
	    
 freenas: ~# zpool list
NAME           SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
Data          5.44T   140G  5.30T        -         -     1%     2%  1.00x  ONLINE  -
Torrent_data  1.81T  1.39T   432G        -         -      -    76%  1.00x  ONLINE  -
test           230G   180G  49.5G        -         -    37%    78%  1.00x  ONLINE  -

Data новый, торент_дата старый, тест эксперементы
Смущает надпись RAIDZ1-0... Может у меня stripe получился?

Re: Как правильно пересобрать RAID

Posted: 16 Jan 2020 15:41
by alexey123
dorson wrote:
16 Jan 2020 10:51
Внезапно прочел в вебгуи " RAID-Z1 должен иметь 3, 5, 7 или 9 дисков в каждом виртуальном устройстве "
Так можно делать RAID-Z1 из 4 дисков или это настоятельно не рекомендуется?
Работает у меня на 2х насах несколько лет уже

Re: Как правильно пересобрать RAID

Posted: 16 Jan 2020 16:14
by Shperrung
У меня также в RAIDZ1 из 3 дисков по 4Тб показывает доступный объем 11.6 Тб. Однако, когда копировал пул с "зеркала" в виде снапшота, его размер на RAIDZ1 оказался больше примерно на треть. Похоже, что RAIDZ1 показывает суммарный объем всех дисков в виртуальном устройстве, но данные пишет с той самой избыточностью.

Re: Как правильно пересобрать RAID

Posted: 16 Jan 2020 16:38
by alexey123
Команда

Code: Select all

df -h
может разрешить наши сомнения

Например у меня из 4-х 2 терабайтных дисков получается 5Т места

Re: Как правильно пересобрать RAID

Posted: 16 Jan 2020 17:02
by dorson
alexey123 wrote:
16 Jan 2020 16:38
Команда

Code: Select all

df -h
может разрешить наши сомнения

Например у меня из 4-х 2 терабайтных дисков получается 5Т места
Спасибо за подсказку, действительно командную строку не обманешь

Code: Select all

freenas: ~# df -h

Data                   3.5T    283G    3.2T     8%    /mnt/Data
Но странно старый пул корректно показывает свободное место. А с новым вот не задача, так можно и до упора записать
Может это из-за того, что пул создан из командной строки, а не из вебгуя...

Re: Как правильно пересобрать RAID

Posted: 18 Jan 2020 13:37
by dorson
Проверил теорию про создание пула из вебгуя и cli на виртуалке. Информация отображаемая через веб интерфейс свободного места на пуле одинаковая.

Re: Как правильно пересобрать RAID

Posted: 03 Jun 2020 09:16
by Vlad
Автору уже наверное некритично, но мои заметки по переносу.

Добавить диск без потери данных можно только в зеркало (без расширения доступного пространства).
Чтобы добавить диск в RaidZ, прийдется развалить пул и создать заново.

Я делал так:
По Samba переносим фильмы/музычку на сторону. Остаются файлы конфигурации Transmission, различные проинсталенные аддоны и т.п. Перенастраивать все это после пересоздания пула влом.

Через GUI останавливаю все сервисы.
Захожу по ssh. Мне нужно скопировать оставшееся в pool с сохранением прав доступа и тп.
Заворачиваю в tar
cd /mnt/Pool/
tar -cvzf Pool.tar.gz ./

Забираю полученный tar к себе на машину по ssh.
Разваливаю пул (его по прежнему что-то держало, пришлось сделать zpool destroy -f )
Создаю новый с тем же именем.
Захожу по ssh, копирую на место Pool.tar.gz , разворачиваю
cd /mnt/Pool/
tar -xvf Pool.tar.gz

Ребутаюсь. Захожу в GUI и аккуратно запускаю сервисы. Все работает.