SOLVED [Errno 16] Device busy: '/var/run/importcopy/tmpdir/dev/da0s1'

newaro

Dabbler
Joined
Jan 20, 2021
Messages
44
Приветствую!

Прошу помощи, всю ночь бьюсь... Читаю форумы, русские и английские - решение не нашел...

Перенес данные со всех своих дисков в пул, в разные датасеты, с помощью Import Disk. Без сучка, без задоринки.
Остался последний (по закону подлости) диск, на каких-то жалких 70ГБ и началось...

FAILED
[Errno 16] Device busy: '/var/run/importcopy/tmpdir/dev/da0s1'
Error: Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/middlewared/job.py", line 361, in run
await self.future
File "/usr/local/lib/python3.8/site-packages/middlewared/job.py", line 397, in __run_body
rv = await self.method(*([self] + args))
File "/usr/local/lib/python3.8/site-packages/middlewared/schema.py", line 973, in nf
return await f(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/middlewared/plugins/pool_/import_disk.py", line 47, in import_disk
os.rmdir(src)
OSError: [Errno 16] Device busy: '/var/run/importcopy/tmpdir/dev/da0s1'


И хоть ты тресни. И ни в какую. Ни ни туда и ни сюда, как говорится.
Перезапуск, выкл-вкл сервера, unmount, fuser -k /dev/da0s1/ - не помогают. Даже в разные порты совал диск. Менял диск и методы его подключения. После перезапуска сервера он начинает процесс, копирует файлы примерно 20 секунд и вываливается с ошибкой, что приведена выше. При повторном запуске даже не пытается ничего делать, сразу ошибка.

Подскажи, пожалуйста, куда копать? Заранее спасибо
 

newaro

Dabbler
Joined
Jan 20, 2021
Messages
44
UPDATE: сунул два диска разных, чтобы второй диск стал da0s1, а тот что косячил da0s2.
Все то же самое, причем при импорте с любого из дисков.
Короче функция importdisk заблокировалась для любых дисков теперь, как я понял.
Как быть, кроме переустановки TrueNASa?

Очистить папку tmpdir мне не дают пермишены, хотя я "царь во дворца".
 

chs

Guru
Joined
Apr 18, 2017
Messages
500
так ... теперь, как военному - медленно и 2 раза.
1. Что такое importdisk я не знаю
2. Судя по названию "/var/run/importcopy/tmpdir/dev/da0s1" это точка монтирования диска. Так что хотелось бы посмотреть команду #mount
3. Ну и вывод #ls -lo той директории из которой не удаляются файлы
 

newaro

Dabbler
Joined
Jan 20, 2021
Messages
44
так ... теперь, как военному - медленно и 2 раза.
1. Что такое importdisk я не знаю
2. Судя по названию "/var/run/importcopy/tmpdir/dev/da0s1" это точка монтирования диска. Так что хотелось бы посмотреть команду #mount
3. Ну и вывод #ls -lo той директории из которой не удаляются файлы

Есть, ать два.
1. Импорт диска - в разделе Хранилище подраздел. Подключаешь диск любой, внешний и импортируешь его содержимое в любую выбранную папку любого пула. Я так все свои внешние диски перегнал в TrueNAS, очень удобно.
2.
devfs on /dev (devfs, local, multilabel)
tmpfs on /etc (tmpfs, local)
tmpfs on /mnt (tmpfs, local)
tmpfs on /var (tmpfs, local)
fdescfs on /dev/fd (fdescfs)
Pool2x2TBRaid1 on /mnt/Pool2x2TBRaid1 (zfs, local, nfsv4acls)
Pool2x2TBRaid1/Music on /mnt/Pool2x2TBRaid1/Music (zfs, local, nfsv4acls)
Pool2x2TBRaid1/LifeBackup on /mnt/Pool2x2TBRaid1/LifeBackup (zfs, local, nfsv4acls)
Pool2x2TBRaid1/Photo on /mnt/Pool2x2TBRaid1/Photo (zfs, local, nfsv4acls)
Pool2x2TBRaid1/iocage on /mnt/Pool2x2TBRaid1/iocage (zfs, local, nfsv4acls)
Pool2x2TBRaid1/TempDataSet on /mnt/Pool2x2TBRaid1/TempDataSet (zfs, local, nfsv4acls)
Pool2x2TBRaid1/iocage/images on /mnt/Pool2x2TBRaid1/iocage/images (zfs, local, nfsv4acls)
Pool2x2TBRaid1/iocage/jails on /mnt/Pool2x2TBRaid1/iocage/jails (zfs, local, nfsv4acls)
Pool2x2TBRaid1/iocage/download on /mnt/Pool2x2TBRaid1/iocage/download (zfs, local, nfsv4acls)
Pool2x2TBRaid1/iocage/log on /mnt/Pool2x2TBRaid1/iocage/log (zfs, local, nfsv4acls)
Pool2x2TBRaid1/iocage/templates on /mnt/Pool2x2TBRaid1/iocage/templates (zfs, local, nfsv4acls)
Pool2x2TBRaid1/iocage/releases on /mnt/Pool2x2TBRaid1/iocage/releases (zfs, local, nfsv4acls)
Pool2x2TBRaid1/iocage/download/12.1-RELEASE on /mnt/Pool2x2TBRaid1/iocage/download/12.1-RELEASE (zfs, local, nfsv4acls)
Pool2x2TBRaid1/iocage/jails/nextcloudjail on /mnt/Pool2x2TBRaid1/iocage/jails/nextcloudjail (zfs, local, nfsv4acls)
Pool2x2TBRaid1/iocage/releases/12.1-RELEASE on /mnt/Pool2x2TBRaid1/iocage/releases/12.1-RELEASE (zfs, local, nfsv4acls)
Pool2x2TBRaid1/iocage/jails/nextcloudjail/root on /mnt/Pool2x2TBRaid1/iocage/jails/nextcloudjail/root (zfs, local, nfsv4acls)
Pool2x2TBRaid1/iocage/releases/12.1-RELEASE/root on /mnt/Pool2x2TBRaid1/iocage/releases/12.1-RELEASE/root (zfs, local, nfsv4acls)
Pool2x2TBRaid1/.system on /var/db/system (zfs, local, nfsv4acls)
Pool2x2TBRaid1/.system/cores on /var/db/system/cores (zfs, local, nfsv4acls)
Pool2x2TBRaid1/.system/samba4 on /var/db/system/samba4 (zfs, local, nfsv4acls)
Pool2x2TBRaid1/.system/syslog-43605a5648aa4408841ff841a4100068 on /var/db/system/syslog-43605a5648aa4408841ff841a4100068 (zfs, local, nfsv4acls)
Pool2x2TBRaid1/.system/rrd-43605a5648aa4408841ff841a4100068 on /var/db/system/rrd-43605a5648aa4408841ff841a4100068 (zfs, local, nfsv4acls)
Pool2x2TBRaid1/.system/configs-43605a5648aa4408841ff841a4100068 on /var/db/system/configs-43605a5648aa4408841ff841a4100068 (zfs, local, nfsv4acls)
Pool2x2TBRaid1/.system/webui on /var/db/system/webui (zfs, local, nfsv4acls)
Pool2x2TBRaid1/.system/services on /var/db/system/services (zfs, local, nfsv4acls)
/mnt/Pool2x2TBRaid1/iocage/releases/12.1-RELEASE/root/bin on /mnt/Pool2x2TBRaid1/iocage/jails/nextcloudjail/root/bin (nullfs, local, read-only)
/mnt/Pool2x2TBRaid1/iocage/releases/12.1-RELEASE/root/boot on /mnt/Pool2x2TBRaid1/iocage/jails/nextcloudjail/root/boot (nullfs, local, read-only)
/mnt/Pool2x2TBRaid1/iocage/releases/12.1-RELEASE/root/lib on /mnt/Pool2x2TBRaid1/iocage/jails/nextcloudjail/root/lib (nullfs, local, read-only)
/mnt/Pool2x2TBRaid1/iocage/releases/12.1-RELEASE/root/libexec on /mnt/Pool2x2TBRaid1/iocage/jails/nextcloudjail/root/libexec (nullfs, local, read-only)
/mnt/Pool2x2TBRaid1/iocage/releases/12.1-RELEASE/root/rescue on /mnt/Pool2x2TBRaid1/iocage/jails/nextcloudjail/root/rescue (nullfs, local, read-only)
/mnt/Pool2x2TBRaid1/iocage/releases/12.1-RELEASE/root/sbin on /mnt/Pool2x2TBRaid1/iocage/jails/nextcloudjail/root/sbin (nullfs, local, read-only)
/mnt/Pool2x2TBRaid1/iocage/releases/12.1-RELEASE/root/usr/bin on /mnt/Pool2x2TBRaid1/iocage/jails/nextcloudjail/root/usr/bin (nullfs, local, read-only)
/mnt/Pool2x2TBRaid1/iocage/releases/12.1-RELEASE/root/usr/include on /mnt/Pool2x2TBRaid1/iocage/jails/nextcloudjail/root/usr/include (nullfs, local, read-only)
/mnt/Pool2x2TBRaid1/iocage/releases/12.1-RELEASE/root/usr/lib on /mnt/Pool2x2TBRaid1/iocage/jails/nextcloudjail/root/usr/lib (nullfs, local, read-only)
/mnt/Pool2x2TBRaid1/iocage/releases/12.1-RELEASE/root/usr/libexec on /mnt/Pool2x2TBRaid1/iocage/jails/nextcloudjail/root/usr/libexec (nullfs, local, read-only)
/mnt/Pool2x2TBRaid1/iocage/releases/12.1-RELEASE/root/usr/sbin on /mnt/Pool2x2TBRaid1/iocage/jails/nextcloudjail/root/usr/sbin (nullfs, local, read-only)
/mnt/Pool2x2TBRaid1/iocage/releases/12.1-RELEASE/root/usr/share on /mnt/Pool2x2TBRaid1/iocage/jails/nextcloudjail/root/usr/share (nullfs, local, read-only)
/mnt/Pool2x2TBRaid1/iocage/releases/12.1-RELEASE/root/usr/libdata on /mnt/Pool2x2TBRaid1/iocage/jails/nextcloudjail/root/usr/libdata (nullfs, local, read-only)
/mnt/Pool2x2TBRaid1/iocage/releases/12.1-RELEASE/root/usr/lib32 on /mnt/Pool2x2TBRaid1/iocage/jails/nextcloudjail/root/usr/lib32 (nullfs, local, read-only)
devfs on /mnt/Pool2x2TBRaid1/iocage/jails/nextcloudjail/root/dev (devfs, local, multilabel)
fdescfs on /mnt/Pool2x2TBRaid1/iocage/jails/nextcloudjail/root/dev/fd (fdescfs)
3. Я только пытаясь ответить на ваш вопрос, понял что это за папка, откуда мне не дали пермишены удалить данные. Это я как раз из точки монтирования пытался удалить содержимое)))
Только с TrueNAS я начал изучать неспешно Линуксоидные системы и открытий много. Например со своим мышлением исключительно пользователя я решил, что по этому адресу, который вы назвали точкой монтирования, завалялся какой-то временный файл от операции с подключенным диском, по наличию которого система определяет наличие диска в системе. Поэтому и пытался занулить эту папку. А когда сейчас без подключенного диска полез смотреть содержимое этой "папки", до меня дошло что такое точка монтирования)

Тем не менее это вопрос не решает. Ошибка как была с любым подключенным диском, так и есть. В англоязычной части форума нашел ту же проблему у человека. После кучи терок он решил все переустановкой. Но это бегство с поля боя)
 

chs

Guru
Joined
Apr 18, 2017
Messages
500
Угу ... понятно.

А на диске-то какая файловая система ? fat32 ? ntfs ?
Я правильно понимаю, что диск у Вас в системе видится как /dev/da0 ? Если да - то хотелось бы увидеть вывод #fdisk /dev/da0
Данные надо переность с permission или просто перенести ?
 

newaro

Dabbler
Joined
Jan 20, 2021
Messages
44
Угу ... понятно.

А на диске-то какая файловая система ? fat32 ? ntfs ?
Я правильно понимаю, что диск у Вас в системе видится как /dev/da0 ? Если да - то хотелось бы увидеть вывод #fdisk /dev/da0
Данные надо переность с permission или просто перенести ?

На всех дисках, что я импортировал до этого и с которых пробовал перенести последнюю порцию данных - NTFS.

Диск видится как /dev/da0s1. При подключении второго одновременно, тот видится как/dev/da0s2.

Нужно просто перенести данные. Пермишены не ставили мне палки в колеса при импорте предыдущих 5 внешних дисков и использовании затем, так что видимо при моих задачах они ничему не помеха. Хотя, если откопаю какую-то команду, которая назначит моего пользователя TrueNAS управляющим всей Вселенной без компромиссов - наверное хуже не будет. Но, очевидно, что сейчас я рассуждаю как постыдный ламер.

Вывод из шелла TrueNAS команд fdisk /dev/da0 и fdisk /dev/da0s1 прилагаю в виде скриншотов, ибо под SSH у меня эти команды не выполняются, а из шелла копирование текста работает некорректно.
 

Attachments

  • Снимок экрана 2021-01-29 в 17.21.56.png
    Снимок экрана 2021-01-29 в 17.21.56.png
    387.9 KB · Views: 172
  • Снимок экрана 2021-01-29 в 17.22.19.png
    Снимок экрана 2021-01-29 в 17.22.19.png
    382.7 KB · Views: 165
  • Снимок экрана 2021-01-29 в 17.22.27.png
    Снимок экрана 2021-01-29 в 17.22.27.png
    159.1 KB · Views: 157

chs

Guru
Joined
Apr 18, 2017
Messages
500
Здорово.

Итак - выполните
Code:
# mkdir /mnt/exthdd
# mount -o ro -t ntfs /dev/da0s1 /mnt/exthdd  

если всё пройдёт без ошибок - посмотрите доступность файлов ( ls /mnt/exthdd или через mc зайдя в директорию /mnt/exthdd).
Если файлы доступны - скопируйте их, куда Вам надо -
Code:
# rsync  -av /mnt/exthdd/ <новое расположение файлов> 

Это скопирует все файлы в нужную директорию (исключая жёсткие ссылки). Можно конечно и в mc скопировать.
 

newaro

Dabbler
Joined
Jan 20, 2021
Messages
44
# mkdir /mnt/exthdd
# mount -o ro -t ntfs /dev/da0s1 /mnt/exthdd

Ну вот, а я так надеялся))

Директорию создал

root@truenas[~]# mkdir /mnt/exthdd
root@truenas[~]# cd /mnt/
root@truenas[/mnt]# ls

exthdd md_size pool1

А вот дальше послал меня)

root@truenas[/mnt]# mount -o ro -t ntfs /dev/da0s1 /mnt/exthdd
mount: /dev/da0s1: Operation not supported by device
 

chs

Guru
Joined
Apr 18, 2017
Messages
500
Хмммм ....

1. Проверьте, что диск отображается именно как /dev/da0 и что файловая система на /dev/da0s1 - ntfs
Code:
# file -s /dev/da0s1

2. Проверьте, что загружен модуль ядра fuse
Code:
# kldload fuse

3. Попробуйте ещё раз смонтировать партицию
Code:
# ntfs-3g -o ro /dev/da0s1 /mnt/exthdd
или
# mount -o ro -t ntfs /dev/da0s1 /mnt/exthdd
 

newaro

Dabbler
Joined
Jan 20, 2021
Messages
44
Приветствую!
Благодарю за ваше участие, очень это ценю!

# file -s /dev/da0s1
Результат:
Code:
/dev/da0s1: DOS/MBR boot sector, code offset 0x52+2, OEM-ID "NTFS    ", sectors/cluster 8, Media descriptor 0xf8, sectors/track 63, heads 255, hidden sectors 2048, dos < 4.0 BootSector (0x80), FAT (1Y bit by descriptor); NTFS, sectors/track 63, sectors 468856831, $MFT start cluster 786432, $MFTMirror start cluster 2, bytes/RecordSegment 2^(-1*246), clusters/index block 1, serial number 06668e6b068e67de5; contains bootstrap BOOTMGR


# kldload fuse
Результата в виде каких либо сообщений - не было.

# ntfs-3g -o ro /dev/da0s1 /mnt/exthdd
Результата в виде каких либо сообщений - не было. Зато ls в exthdd показал содержимое диска. Смонтировался!

# rsync -av /mnt/exthdd/ <новое расположение файлов>
Результат - понеслось копирование.

Браво, спасибо огромное еще раз!
То бишь проблема была в чем? Разовый, но застрявший в моей вселенной баг, либо моя оплошность, исправленная иной командой монтирования?
 

Attachments

  • Снимок экрана 2021-02-05 в 00.23.27.png
    Снимок экрана 2021-02-05 в 00.23.27.png
    192 KB · Views: 166

chs

Guru
Joined
Apr 18, 2017
Messages
500
Проблема была в том, что у меня этот модуль ядра (fuse) загружается по умолчанию. И я совсем забыл о том, что у кого-то это не так.
 

newaro

Dabbler
Joined
Jan 20, 2021
Messages
44
Проблема была в том, что у меня этот модуль ядра (fuse) загружается по умолчанию. И я совсем забыл о том, что у кого-то это не так.
Любопытно!
Перед этим в тот же день и без перезагрузок было импортировано 4 внешних диска.
Получается модуль слетел?
Надо про все это почитать активно.
Ещё раз спасибо!!!
 
Top