Назад | Перейти на главную страницу

Монтирование 200 точек монтирования cifs съедает весь процессор. Это правильно?

Аннотация: Мне нужен способ отслеживать точки монтирования cifs, но я не знаю, как это сделать.

Привет,

У меня есть виртуальная машина с 2 процессорами и 1 ГБ ОЗУ, на которой запущен debian 5.

Он монтирует некоторые из общих папок cifs наших пользователей, около 200 точек монтирования cifs.

Имеется запущенный сервер apache, который анализирует этот cif-файл в поисках определенных файлов с именами cv.html и personal_info.txt. В apache есть немного php, чтобы сделать его приятным. ;)

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

Раз в день все перемонтируется, это из-за какой-то «проблемы с отключением», я не могу понять, как это исправить.

Это мой сценарий: (/var/www/fotos/llistat_personal.txt содержит список имен)

#!/bin/sh

#############################debug
#set -x
#############################

#############################vars
UMOUNT=/bin/umount
MOUNT=/sbin/mount.cifs
CHOWN=/bin/chown
############################

############################functions
log (){
    /usr/bin/logger -t `basename $0` $1;
}

desmontar () {
    $UMOUNT $1
    log "Umounted $1"
}

montar (){
    [ -a /var/www/$1 ] &&  chown -R www-data.www-data /var/www/$1 || mkdir -p /var/www/$1  &&  chown -R www-data.www-data /var/www/$1 || echo "Error ___ $1"
    $MOUNT //fbmfsu/home$/$1/web_pub/ /var/www/$1/ -o user=webpersonal1,pass=XXXXXXX,dom=FBM,uid=33,gid=33,ro,soft,nocase,noexec  || echo " Error___mount__$1"
    log "Mounted $1 "
}


###########################
###########################main
for i in `ls -l /var/www/personal/|grep ^d|awk '{print $8}'`
do
    desmontar $i
done

for i in ` cat /var/www/fotos/llistat_personal.txt |grep -v '^#'| cut -c 1-20`
do
    montar $i
done

exit 0

Я знаю, что это плохой сценарий, но я прошу помощи, как его улучшить.

Спасибо.

Вы монтируете только для чтения, поэтому я предполагаю, что вам не нужен доступ для записи.

Почему бы просто не смонтировать //fbmfsu/home$ один раз используя специальную учетную запись службы на вашем файловом сервере с доступом только для чтения ко всем папкам пользователя и создайте множество символических ссылок. Или используйте mod_userdir?

Или в качестве другой альтернативы используйте что-то вроде autofs который автоматически монтирует / размонтирует общие ресурсы при доступе.