Решение состоит в ограничении портов, которые vsftpd назначает для соединений данных в стиле PASV в файле конфигурации. В файле vsftpd.conf добавьте две строки:
pasv _ min _ port = 12000
pasv _ max _ port = 12100
Затем необходимо открыть эти порты в Google Developers Console в разделе Сеть, правила брандмауэра (см. рисунок).
Можно также добавить следующую строку, чтобы переопределить IP-адрес, объявленный vsftpd в ответ на команду PASV:
pasv _ address = xxx.xxx.xxx.xxx
Внешний IP-адрес экземпляра виртуальной машины.
Я также использую порт FTP 211 вместо 21 по соображениям безопасности:
listen _ port = 211
-121--119471-
В конце концов я заставил его работать с mplayer. Оказывается, у mplayer были недопустимые значения оттенка и насыщенности. Не знаю почему, но я видел, как другие люди жаловались на это тоже. Это команда, которую я в итоге использовал:
mplayer -really-quiet -tv driver=v4l2:height=320:width=240:quality=1:hue=35:saturation=-80:brightness=99:contrast=-88:fps=8:device=/dev/video0 tv:// -vo jpeg -saturation -50 -contrast -3 &
Она сбрасывает jpegs в папку на 8fps, что достаточно для моих нужд.
Наряду с этим сценарием я запускаю сценарий, который удаляет из папки изображения старше 8 секунд. Я использовал 8 секунд, чтобы поддерживать низкое использование ЦП, так как это ценный ресурс на pi:
cd /home/pi/webcam_frames
while true; do
find . -not -newermt '-8 seconds' -delete
sleep 8;
done
И сценарий, который создает symlink к последнему изображению 10 раз в секунду.
cd /home/pi/public
sleep 2
rm -rf latest.jpg
while true; do
ln -s -f /home/pi/webcam_frames/`ls -rt /home/pi/webcam_frames | tail -n1` latest.jpg
sleep 0.1
done
Эта symlink находится в общедоступном каталоге, который доступен из браузера через nodejs:
var express = require('express'),
app = express(),
port = 8888;
app.use(express.static('/home/pi/public'));
app.listen(port);
У меня есть простая html + js страница, которая несколько раз в секунду извлекает из nodejs символьное изображение, и, таким образом, у меня есть 5-8fps видео, которое работает на каждом устройстве, которое может обрабатывать javascript.
Это уродливое решение с уродливым результатом, но это именно то, что мне нужно.
-121--243568-
Просто
lvresize -L +100g oktestlb1/pool
или, как правило:
lvresize -L +100g volgroup/poolname
Это должно немедленно разморозить том, если вы решили не использовать автоматическое изменение размера на основе событий. Конечно, для этого вам нужна комната в вашем фотоаппарате.