Скрипт для подмены диска TrueNas

Делимся опытом, как и какие решения применяете к своим пк. Игры, программы, виртуализация и т.д.
Ответить
KasperZzz(22)
Site Admin
Сообщения: 37
Зарегистрирован: Чт апр 04, 2024 12:01 am

Скрипт для подмены диска TrueNas

Сообщение KasperZzz(22) »

Инструкция:

-----Настройка скрипта на сервере трунас------


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

Командой zfs list мы находим нужный нам пул(который смонтирован у вас для игр).
zfs list работает только из под sudo. Sudo требует пароль(Это от входа в TrueNas), когда пишете пароль он не отображается, но на самом деле он пишется просто вводите пароль и нажимайте Enter.

Код: Выделить всё

truenas_admin@truenas[~]$ sudo su
[sudo] password for truenas_admin: 
root@truenas[/home/truenas_admin]# zfs list
NAME                                                       USED  AVAIL  REFER  MOUNTPOINT
boot-pool                                                 2.63G   459G    96K  none
boot-pool/ROOT                                            2.62G   459G    96K  none
boot-pool/ROOT/24.10.2                                    2.62G   459G   168M  legacy
boot-pool/ROOT/24.10.2/audit                               240K   459G   240K  /audit
boot-pool/ROOT/24.10.2/conf                               6.82M   459G  6.82M  /conf
boot-pool/ROOT/24.10.2/data                                276K   459G   276K  /data
boot-pool/ROOT/24.10.2/etc                                7.43M   459G  6.47M  /etc
boot-pool/ROOT/24.10.2/home                                144K   459G   144K  /home
boot-pool/ROOT/24.10.2/mnt                                  96K   459G    96K  /mnt
boot-pool/ROOT/24.10.2/opt                                  96K   459G    96K  /opt
boot-pool/ROOT/24.10.2/root                                140K   459G   140K  /root
boot-pool/ROOT/24.10.2/usr                                2.40G   459G  2.40G  /usr
boot-pool/ROOT/24.10.2/var                                39.5M   459G  32.2M  /var
boot-pool/ROOT/24.10.2/var/ca-certificates                  96K   459G    96K  /var/local/ca-certificates
boot-pool/ROOT/24.10.2/var/log                            6.19M   459G  2.25M  /var/log
boot-pool/ROOT/24.10.2/var/log/journal                    3.93M   459G  3.93M  /var/log/journal
boot-pool/grub                                            8.41M   459G  8.41M  legacy
new_ssd                                                   5.23T  1.89T    96K  /mnt/new_ssd
new_ssd/.system                                           81.2M  1.89T   104K  legacy
new_ssd/.system/configs-ae32c386e13840b2bf9c0083275e7941   248K  1.89T   248K  legacy
new_ssd/.system/cores                                       96K  1024M    96K  legacy
new_ssd/.system/netdata-ae32c386e13840b2bf9c0083275e7941  80.4M  1.89T  80.4M  legacy
new_ssd/.system/nfs                                        104K  1.89T   104K  legacy
new_ssd/.system/samba4                                     220K  1.89T   220K  legacy
new_ssd/ssd_games                                         5.23T  1.89T  5.23T  -
ssd_old                                                   6.43M  3.58T    96K  /mnt/ssd_old
ssd_old/ssd_old_games                                     5.48M  3.58T  5.48M  -
root@truenas[/home/truenas_admin]# mkdir /mnt/new_ssd/scripts
root@truenas[/home/truenas_admin]# cd /mnt/new_ssd/scripts 
root@truenas[/mnt/new_ssd/scripts]# nano upd.sh
root@truenas[/mnt/new_ssd/scripts]# chmod +x ./upd.sh 
root@truenas[/mnt/new_ssd/scripts]# ./upd.sh -p pc01
Теперь можно использовать команду:
/mnt/new_ssd/scripts/upd.sh -p pc01
На конце, это имя инициатора которое вы прописали в windows на каждой машине.
Команда удалит старый клон пк старый снапшот и создаст новые из оригинала.




НИЖЕ СТАРАЯ ВЕРСИЯ ИНСТРУКЦИИ. ДЛЯ СТАРЫХ ВЕРСИЙ TRUENAS

Код: Выделить всё

Заходим в " Командный интерпретатор " (Терминал). \
Создаем папку: 
mkdir scripts
Переходим в папку:
cd scripts
Создаем файл:
nano update.sh
В редакторе nano вставляем весь код из нужного вам файла.
(Заранее изменив свои настройки, пул, имя оригинала, имя второго пула и второго оригинала, так же проставьте размер блока)
Shift+Insert(Кнопка над стрелками)
Сохраняем Ctrl+O и выходим из nano Ctrl+X
Даем права на выполнение:
chmod +x update.sh
Запускаем обновление клона. 
Если у вас 1 пул и вы выбрали скрипт для одного пула (update_1_disk.sh).
./update.sh -d имяпула -o имя_ориг_диска -p pc01
Если у вас 2 пула и вы выбрали скрипт для 2ух дисков (update_2_disk.sh).
./update.sh -p pc01
----Настройка ПК-----

После выполнения можно зайти на пк, у которого в настройках ISCSI на вкладке "Конфигурация" Имя инициатора прописано pc01.
Проверяем что это так и идем на вкладку "Обнаружение", там прописываем ip нашего ISCSI сервера.
После идем на вкладку "Конечные объекты" и выбираем наш диск именно для этого пк.
Там будет видно все объекты, но нам нужно подключить только один! Наш конечный объект это pc01.
Выбираем его и нажимаем "Подключить".
Готово. Диски появятся у вас в сисеме, можете сразу сменить букву диску(ам).

-------------------------------------------------
Сказать спасибо можете по ссылке
Зарегестрируйтесь для просмотра ссылок.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Vladeg
Сообщения: 3
Зарегистрирован: Чт мар 06, 2025 9:24 am

Re: Скрипт для подмены диска TrueNas

Сообщение Vladeg »

Переделал скрипт для замены клонов сразу на трёх машинах и без необходимости запуска скрипта с параметрами.

Так же как в инструкции вводим свои имена для пула, zvol и инициатора.

В поле SNAPSHOT_NAMES вводим через пробел имена снимков в кавычках.

Дальше скрипт всё сделает автоматически для всех введённых имён снапшотов.

Запускается из папки scripts через команду bash ./update.sh
update_1_disk_modded.7z
У вас нет необходимых прав для просмотра вложений в этом сообщении.
diplomatq
Сообщения: 3
Зарегистрирован: Пн янв 27, 2025 11:32 pm

Re: Скрипт для подмены диска TrueNas

Сообщение diplomatq »

Что-то вы тут намудрили и усложнили. Мой скрипт создает(если нету) и подменяет образы. Создает и сохраняет уникальные serial для дисков, чтобы не было видно подмены. Размер блока указывать не надо
У вас нет необходимых прав для просмотра вложений в этом сообщении.
KasperZzz(22)
Site Admin
Сообщения: 37
Зарегистрирован: Чт апр 04, 2024 12:01 am

Re: Скрипт для подмены диска TrueNas

Сообщение KasperZzz(22) »

Спасибо за скрипт)
У тебя скрипт разом делает. Я же например по отдельности подменяю, пока другие пк заняты. Как освобождаются и им подменяю.)) Тут кому какой получается скрипт подойдет)
Evgeniy
Сообщения: 3
Зарегистрирован: Вт май 19, 2026 4:58 pm

Re: Скрипт для подмены диска TrueNas

Сообщение Evgeniy »

Уже все сильно проще и удобнее, просто программу на трунас ставите одной командой, и после трехминутной
однократной настройки хоть в два клика все обновляйте, хоть ставьте политику обновления для диска по
расписанию, и оно все просто само будет обновляться вообще без вашего участия - Зарегестрируйтесь для просмотра ссылок. .
Сайт без трехбуквенной лечилки интернета может в РФ не открыться, но качается программа нормально и
обновляется то же, есть зеркала к которым доступ из РФ не ограничен.

Выбор русского языка есть в программе и на сайте. 

Если кому тяжко открывать сайт из РФ, то есть прямой путь.
Скрипт одной командой скачивает свежий образ и запускает его, без вопросов.
Настройку (подключение программы к TrueNAS по API) вы завершаете в браузере.
Работает на TrueNAS SCALE 24.10+ (Electric Eel и новее):

0. Вход в интерфейс трунаса должен быть с правами root(может и админских хватит, я не проверял)

1. Убедитесь, что «Apps Service Running» (не «Apps Service Not Configured»; если не настроена, выберите пул для приложений, дождитесь Running)

2. В шелл вставьте:curl -fsSL Зарегестрируйтесь для просмотра ссылок. | bash
(Вставка в web-shell TrueNAS: Shift+Insert (клавиша Ins), Ctrl+V не работает в шелл трунаса.)

3. Установщик напечатает точный адрес веб-интерфейса. По умолчанию 

Код: Выделить всё

http://<адрес-NAS>:3000
 (тот же хост, что у TrueNAS, только порт 3000; если 3000 занят, напечатает свободный).

4. Откройте адрес. Создайте администратора и подключите TrueNAS (API-ключ: Credentials - API Keys).

В программе есть "Настройка и импорт" там простой и понятный мастер настройки с помощью которого можно легко и просто передать в аправление программе все диски и таргеты, которые надо.Если что не так, вот помощь и моральная поддержка) - @EvgeniyIvanov718
Ответить