PDA

Bekijk de volledige versie : Автоматическое монтирование в системах &



Duke
31-07-2006, 19:07
Ситуация : WL500gd, монтирую /opt с флешки (вообще CF через ридер, но не суть) в post-boot. Есть USB-коробка, надумал подцеплять ее FTP/Samba, и тут возникла проблема - т.к. коробка может подключаться как в процессе работы так и при загрузке, неясно под каким девайсом она появляется и каким девайсом становится флешка. Как результат -после ребута в /opt смонтировался хард.
Рецепт:


hostid=0
while scsidev=/proc/scsi/usb-storage-$hostid/$hostid && [ -e $scsidev ]
do
grep SN000PQI009 $scsidev && discdev=/dev/scsi/host$hostid/bus0/target0/lun0/part1 && break
let hostid+=1
done
[ -b $discdev ] && mount $discdev /opt

Первая партиция USB-Storage девайса с серийником SN000PQI009монтируется в /opt
серийник смотреть в фаликах /proc/scsi/usb-storage0/0, /proc/scsi/usb-storage1/1 и т.п.

Duke
11-08-2006, 10:57
Ухожу на работу -сутки рабоатет, на следующий день фтп не доступен - прихожу домой винт в норме, девайс не ребутился, в логах ничего подозрительнрого, самба пашет - ступид в процессах не значится. И так два раза уже - в чем проблема? :eek:

andlev
11-08-2006, 11:24
Ухожу на работу -сутки рабоатет, на следующий день фтп не доступен - прихожу домой винт в норме, девайс не ребутился, в логах ничего подозрительнрого, самба пашет - ступид в процессах не значится. И так два раза уже - в чем проблема? :eek:
Да есть такая фишка, слетают процессы, у меня thttpd слетает, stupid-ftpd пару раз слетал, но я его быстро на proftpd заменил, с ним пока проблем не было. А вообще помню такой косяк на 2.4 ядрах, там умный шедулер был, который рубил наиболее прожорливые процессы, либо те что слишком долно исполняются. Часто случалось, что под раздачу попадал рутовый процес апача, что было крайне неприятно... тут похоже таже ерунда.

Duke
11-08-2006, 16:20
Ну блин а чем там жрать он в пассивном режиме работал! самба также крутилась и ничего.. Странно...

andlev
11-08-2006, 17:29
Ну блин а чем там жрать он в пассивном режиме работал! самба также крутилась и ничего.. Странно...
Да в том и дело, что тот шедуллер процессы рубил просто так, по ходу жизни, рутовый апачевский в отличии от дочек тоже нифига не жрал, а его прибивали. Но это косяк времен 2.4.12-2.4.14 давно это было точнее не вспомню. По данной проблеме даже незнаю, можно попробовать рутовую партицию открыть на запись (она у меня на винте), и посмотреть что будет, но думаю врядли в этом ядре включена опция скидывать кору, выяснить чей это это косяк очень тяжело.

P.S. Еще неделю помучаю эту железку и думаю пора завязывать фигней маяться. Проще поставить рядом нормальный линукс бокс на VIA C3, а то как в анекдоте про самолет с бассейном...

Duke
11-08-2006, 19:54
Подсоединение/отсоединение usb-storage девайсов, особенно полезно при использовании флеш-ридера на несколько форматов


#!/bin/sh
usage="Usage: ${0##*/} {add|remove} {<host_id>|<device_serial_number>} [<bus_id> [<target_id> [<lun_id>]]]"
case $1 in
add|remove)
[ $# -lt 2 ] && echo $usage ||
(
strgpath="/proc/scsi/usb-storage-*/"
busid=${3:-0}
targetid=${4:-0}
lunid=${5:-0}
[ ${#2} -le 2 ] && hostid=$2 ||
for host in $strgpath*; do
[ -f $host ] &&
grep "Serial Number: $2" $host -q &&
grep "Attached: Yes" $host -q &&
hostid=${host#$strgpath} &&
break
done
[ -n "$hostid" ] &&
echo "scsi $1-single-device $hostid $busid $targetid $lunid" > /proc/scsi/scsi
[ "$1"=="add" ] &&
dev="/dev/scsi/host$hostid/bus$busid/target$targetid/lun$lunid" &&
[ -e $dev ] && echo $dev
)
;;
*)
echo $usage
esac


Пример использования: подключаем винт и пускаем фтп/самбу либо наоборот - гасим фтп-самбу, отключаем винт. Серийник брать в /proc/scsi/usb-storage-0/0 и т.п.


#!/bin/sh
discserial="8D88CA892915"
case $1 in
start)
discdev="$(scsi add $discserial)/part1"
[ -b $discdev ] && mount $discdev /tmp/harddisk -t vfat -o "$(nvram get usb_vfat_options)" &&
stupid-ftpd &&
nmbd -D &&
smbd -D
;;
stop)
killall -SIGTERM stupid-ftpd nmbd smbd
umount /tmp/harddisk
scsi remove $discserial
;;
*)
echo "Usage: ${0##*/} {start|stop}"
esac

Duke
20-08-2006, 16:18
Ситуация - в USB-коробке 160гб винт одним разделом FAT32. Монтируется все как положено, пишецца/читается (FTP, SAMBA, MC). Размонтируем партицию, монтируем заново - записанны етолько чтофайлы имеют нулевой размер, вод виндой нахожу потерянные цепочки с данными из файла. При mount -o remount... все данные остается на месте, но после umount все равно каюк. -o sync не спасает. :confused:

Duke
22-08-2006, 17:48
Кажется решил проблему - потер /ftp_pvt/income куда писал файликии создал заново - после этого кажется все стало нормально :)

Duke
20-10-2006, 09:13
Столкнулся с нехваткой сабжа. Можно конечно самому поднимать но хотелось бы чтобы и в веб интерфейсе все работало. Сейчас влезает только
maxfail 0 mtu 1372 nomppe ip-up-script /tmp/ppp/ip-up.ppp0, на ip-down-script уже места нет. Ограничение 80 символов на строку в NVRAM больше не запишешь или фича веб-интерфейса?

Oleg
20-10-2006, 18:55
Да, есть там ограничение. А сколько сделать? 255 хватит?

Oleg
20-10-2006, 18:58
ЗЫ: пока можно напрямую править nvram.
nvram set wan_pppoe_options_x="bla-bla-bla"

Duke
20-10-2006, 20:44
255 думаю будет в самый раз.
Про нврам ясное дело, кстати не ясно зачем у меня дублер wan0_pppoe_options_x=... присутствует

Oleg
21-10-2006, 08:31
Он у всех присутствует. wan_... это настройки веб, wan0_ - текущие рабочие.