
На днях я подключил жесткий диск (1 ТБ, файловая система ext3) к USB-порту моего роутера Asus RT-N56U. Я настроил Samba, добавил две папки, создал пользователя и установил права пользователя. После этого я скопировал более миллиона файлов общим объемом около 200 ГБ, разбросанных по множеству подкаталогов. Вроде бы все работало нормально, хотя и не очень быстро.
Теперь, когда устройство загружено, я не могу получить доступ к этому ресурсу Samba в течение длительного времени. Системный журнал показывает, что подготовка Samba занимает около получаса (!):
Jan 1 01:00:17 kernel: sd 0:0:0:0: [sda] Spinning up disk....ready
Jan 1 01:00:17 kernel: sd 0:0:0:0: Attached scsi generic sg0 type 0
Jan 1 01:00:26 FTP Server: daemon is stoped
Jan 1 01:00:26 Samba Server: smb daemon is stoped
Jan 1 01:01:16 ntp: start NTP update
Sep 19 18:22:52 rc_service: ntp 407:notify_rc restart_upnp
Sep 19 18:40:32 Samba Server: daemon is started
Sep 19 18:46:18 nmbd[502]: [2016/09/19 18:46:18, 0] nmbd/nmbd_become_lmb.c:become_local_master_stage2(392)
Sep 19 18:46:18 nmbd[502]: Samba name server RT-N56U is now a local master browser for workgroup WORKGROUP on subnet xxx.xxx.xxx.xxx
После этого скорость доступа к файлам и их передачи будет приемлемой.
Что здесь происходит и как я могу ускорить этот процесс?
решение1
Проблема вызвана операционной системой Linux устройства. Обычно все дисковые операции ввода-вывода Linux асинхронны (я не буду исключать некоторые дистрибутивы, чтобы быть менее недружелюбными к пользователю), и пользователь должен выполнить синхронизацию перед выключением (или во время выключения, с командой синхронизации, выполненной из скрипта выключения).
Но в маршрутизаторе нет такой команды синхронизации. Всякий раз, когда я его выключал, на диске не устанавливался маркер чистого выключения, в результате чего устройство запускало скрипты восстановления при запуске, что занимало так много времени.
Хуже того, некоторые данные были утеряны из-за отсутствия синхронизации. Соответственно, я больше не использую это устройство для samba и настоятельно рекомендую этого не делать.